From d7ecca0e8b3dc04183fca309e5e3d87f6c4f8197 Mon Sep 17 00:00:00 2001 From: SheetJS Date: Sun, 19 Feb 2017 12:36:32 -0800 Subject: [PATCH] version bump 0.8.4: formula parsing - BIFF 2-12 formula parsing - more content type coverage - unified `.f` form: A1-style string - `.F` field for array formulae - formula output groups array formulae - bin script -A --arrays output JS row objects - whitespace robustness in inline string xml - UTF-8 parsing in rich text runs (fixes #505 h/t @fuchsc) - bold/italic/underline accept null val attr (h/t @qqilihq) - sst trimming (fixes #176 h/t @shakhal @oising) --- .gitignore | 18 +- .npmignore | 19 +- .travis.yml | 2 +- README.md | 44 +- bin/xlsx.njs | 4 +- bits/01_version.js | 2 +- bits/20_jsutils.js | 9 + bits/22_xmlutils.js | 4 +- bits/23_binutils.js | 2 + bits/25_cellutils.js | 30 +- bits/28_binstructs.js | 14 +- bits/30_ctype.js | 6 + bits/35_custprops.js | 5 +- bits/38_xlstypes.js | 12 +- bits/39_xlsbiff.js | 52 +- bits/42_sstxml.js | 17 +- bits/61_fcommon.js | 19 +- bits/62_fxls.js | 465 +++++++++++------- bits/63_fbin.js | 19 +- bits/64_ftab.js | 121 ++++- bits/67_wsxml.js | 36 +- bits/68_wsbin.js | 110 ++++- bits/73_wbbin.js | 34 +- bits/74_xmlbin.js | 6 +- bits/75_xlml.js | 28 +- bits/76_xls.js | 30 +- bits/77_parsetab.js | 14 +- bits/85_parsezip.js | 6 +- bits/90_utils.js | 17 +- dist/ods.js | 52 +- dist/ods.min.js | 2 +- dist/ods.min.map | 2 +- dist/xlsx.core.min.js | 21 +- dist/xlsx.core.min.map | 2 +- dist/xlsx.full.min.js | 22 +- dist/xlsx.full.min.map | 2 +- dist/xlsx.js | 1052 +++++++++++++++++++++++++++++---------- dist/xlsx.min.js | 20 +- dist/xlsx.min.map | 2 +- ods.flow.js | 54 +- ods.js | 52 +- odsbits/50_formula.js | 11 + odsbits/60_content.js | 41 +- odsbits/85_write.js | 2 +- package.json | 2 +- xlsx.flow.js | 1058 +++++++++++++++++++++++++++++----------- xlsx.js | 1052 +++++++++++++++++++++++++++++---------- 47 files changed, 3402 insertions(+), 1192 deletions(-) create mode 100644 odsbits/50_formula.js diff --git a/.gitignore b/.gitignore index da20e17..1acd54f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,17 +4,15 @@ misc/prof.js v8.log tmp *.txt -*.csv -*.dif -*.prn -*.slk +*.[cC][sS][vV] +*.[dD][iI][fF] +*.[pP][rR][nN] +*.[sS][lL][kK] *.socialcalc -*.xls -*.xlsb -*.xlsm -*.xlsx -*.ods -*.xml +*.[xX][lL][sSwW] +*.[xX][lL][sS][xXmMbB] +*.[oO][dD][sS] +*.[xX][mM][lL] *.htm *.html *.sheetjs diff --git a/.npmignore b/.npmignore index d761aa5..a024678 100644 --- a/.npmignore +++ b/.npmignore @@ -5,18 +5,15 @@ misc/ node_modules tmp *.txt -*.csv -*.dif -*.prn -*.slk +*.[cC][sS][vV] +*.[dD][iI][fF] +*.[pP][rR][nN] +*.[sS][lL][kK] *.socialcalc -*.XLS -*.xls -*.xlsb -*.xlsm -*.xlsx -*.ods -*.xml +*.[xX][lL][sSwW] +*.[xX][lL][sS][xXmMbB] +*.[oO][dD][sS] +*.[xX][mM][lL] *.htm *.html *.sheetjs diff --git a/.travis.yml b/.travis.yml index 2c5af2a..c446298 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ node_js: - "7" - "6" - "5" - - "4.2" + - "4" - "0.12" - "0.10" - "0.9" diff --git a/README.md b/README.md index a40f5bf..9d926b2 100644 --- a/README.md +++ b/README.md @@ -366,24 +366,28 @@ for(var R = range.s.r; R <= range.e.r; ++R) { ### Cell Object -| 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 | -| `f` | cell formula (if applicable) | -| `r` | rich text encoding (if applicable) | -| `h` | HTML rendering of the rich text (if applicable) | -| `c` | comments associated with the cell ** | -| `z` | number format string associated with the cell (if requested) | -| `l` | cell hyperlink object (.Target holds link, .tooltip is tooltip) | -| `s` | the style/theme of the cell (if applicable) | +| 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 | +| `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) | +| `h` | HTML rendering of the rich text (if applicable) | +| `c` | comments associated with the cell | +| `z` | number format string associated with the cell (if requested) | +| `l` | cell hyperlink object (.Target holds link, .tooltip is tooltip) | +| `s` | the style/theme of the cell (if applicable) | Built-in export utilities (such as the CSV exporter) will use the `w` text if it is available. To change a value, be sure to delete `cell.w` (or set it to `undefined`) before attempting to export. The utilities will regenerate the `w` text from the number format (`cell.z`) and the raw value if possible. +The actual array formula is stored in the `f` field of the first cell in the +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. @@ -418,6 +422,20 @@ dates in the local timezone. js-xlsx does not correct for this error. Type `s` is the String type. `v` should be explicitly stored as a string to avoid possible confusion. +### Formulae + +The A1-style formula string is stored in the `f` field. Even though different +file formats store the formulae in different ways, the formats are converted. + +Shared formulae are decompressed and each cell has the correct formula. + +Array formulae are stored in the top-left cell of the array block. All cells +of an array formula have a `F` field corresponding to the range. A single-cell +formula can be distinguished from a plain formula by the presence of `F` field. + +The `sheet_to_formulae` method generates one line per formula or array formula. +Array formulae are rendered in the form `range=formula` while plain cells are +rendered in the form `cell=formula or value`. ### Worksheet Object @@ -619,6 +637,8 @@ OSP-covered specifications: - [MS-OLEDS]: Object Linking and Embedding (OLE) Data Structures - [MS-OLEPS]: Object Linking and Embedding (OLE) Property Set Data Structures - [MS-OSHARED]: Office Common Data Types and Objects Structures + - [MS-ODRAW]: Office Drawing Binary File Format + - [MS-ODRAWXML]: Office Drawing Extensions to Office Open XML Structure - [MS-OVBA]: Office VBA File Format Structure - [MS-CTXLS]: Excel Custom Toolbar Binary File Format - [MS-XLDM]: Spreadsheet Data Model File Format diff --git a/bin/xlsx.njs b/bin/xlsx.njs index 150495b..7cd50a9 100755 --- a/bin/xlsx.njs +++ b/bin/xlsx.njs @@ -21,6 +21,7 @@ program .option('-S, --formulae', 'print formulae') .option('-j, --json', 'emit formatted JSON (all fields text)') .option('-J, --raw-js', 'emit raw JS object (raw numbers)') + .option('-A, --arrays', 'emit rows as JS objects (raw numbers)') .option('-F, --field-sep ', 'CSV field separator', ",") .option('-R, --row-sep ', 'CSV row separator', "\n") .option('-n, --sheet-rows ', 'Number of rows to process (0=all rows)') @@ -77,7 +78,7 @@ if(program.xlsx || program.xlsm || program.xlsb) { opts.cellNF = true; if(program.output) sheetname = program.output; } -else if(program.formulae); +else if(program.formulae) opts.cellFormula = true; else opts.cellFormula = false; if(program.all) { @@ -142,6 +143,7 @@ if(!program.quiet) console.error(target_sheet); if(program.formulae) oo = X.utils.get_formulae(ws).join("\n"); else if(program.json) oo = JSON.stringify(X.utils.sheet_to_row_object_array(ws)); else if(program.rawJs) oo = JSON.stringify(X.utils.sheet_to_row_object_array(ws,{raw:true})); +else if(program.arrays) oo = JSON.stringify(X.utils.sheet_to_row_object_array(ws,{raw:true, header:1})); else oo = X.utils.make_csv(ws, {FS:program.fieldSep, RS:program.rowSep}); if(program.output) fs.writeFileSync(program.output, oo); diff --git a/bits/01_version.js b/bits/01_version.js index d1338ea..259cc6c 100644 --- a/bits/01_version.js +++ b/bits/01_version.js @@ -1 +1 @@ -XLSX.version = '0.8.3'; +XLSX.version = '0.8.4'; diff --git a/bits/20_jsutils.js b/bits/20_jsutils.js index 12b6378..260934e 100644 --- a/bits/20_jsutils.js +++ b/bits/20_jsutils.js @@ -42,3 +42,12 @@ function cc2str(arr/*:Array*/)/*:string*/ { return o; } +function dup(o/*:any*/)/*:any*/ { + if(typeof JSON != 'undefined') return JSON.parse(JSON.stringify(o)); + if(typeof o != 'object' || !o) return o; + var out = {}; + for(var k in o) if(o.hasOwnProperty(k)) out[k] = dup(o[k]); + return out; +} + +function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return o; } diff --git a/bits/22_xmlutils.js b/bits/22_xmlutils.js index cec5b56..82222c9 100644 --- a/bits/22_xmlutils.js +++ b/bits/22_xmlutils.js @@ -115,9 +115,9 @@ var matchtag = (function() { var vtregex = (function(){ var vt_cache = {}; return function vt_regex(bt) { if(vt_cache[bt] !== undefined) return vt_cache[bt]; - return (vt_cache[bt] = new RegExp("(.*?)", 'g') ); + return (vt_cache[bt] = new RegExp("<(?:vt:)?" + bt + ">(.*?)", 'g') ); };})(); -var vtvregex = /<\/?vt:variant>/g, vtmregex = /]*)>(.*)/g, vtmregex = /<(:?vt:)?([^>]*)>(.*)= 0x100) cell.c -= 0x100; - while(cell.r >= 0x10000) cell.r -= 0x10000; - return cell; + if(!opts || opts.biff < 12) { + while(out.c >= 0x100) out.c -= 0x100; + while(out.r >= 0x10000) out.r -= 0x10000; + } + return out; } function shift_range_xls(cell, range) { @@ -19,3 +21,13 @@ function shift_range_xls(cell, range) { return cell; } +function encode_cell_xls(c)/*:string*/ { + var s = encode_cell(c); + if(c.cRel === 0) s = fix_col(s); + if(c.rRel === 0) s = fix_row(s); + return s; +} + +function encode_range_xls(r)/*:string*/ { + return encode_cell_xls(r.s) + ":" + encode_cell_xls(r.e); +} diff --git a/bits/28_binstructs.js b/bits/28_binstructs.js index d00cb1b..a16474b 100644 --- a/bits/28_binstructs.js +++ b/bits/28_binstructs.js @@ -76,6 +76,10 @@ function write_XLWideString(data/*:string*/, o) { return o; } +/* [MS-XLSB] 2.5.165 */ +var parse_XLNameWideString = parse_XLWideString; +var write_XLNameWideString = write_XLWideString; + /* [MS-XLSB] 2.5.114 */ var parse_RelID = parse_XLNullableWideString; var write_RelID = write_XLNullableWideString; @@ -101,8 +105,8 @@ function write_RkNumber(data/*:number*/, o) { } -/* [MS-XLSB] 2.5.153 */ -function parse_UncheckedRfX(data)/*:Range*/ { +/* [MS-XLSB] 2.5.117 RfX */ +function parse_RfX(data)/*:Range*/ { var cell/*:Range*/ = ({s: {}, e: {}}/*:any*/); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); @@ -111,7 +115,7 @@ function parse_UncheckedRfX(data)/*:Range*/ { return cell; } -function write_UncheckedRfX(r/*:Range*/, o) { +function write_RfX(r/*:Range*/, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); o.write_shift(4, r.e.r); @@ -120,6 +124,10 @@ function write_UncheckedRfX(r/*:Range*/, o) { return o; } +/* [MS-XLSB] 2.5.153 UncheckedRfX */ +var parse_UncheckedRfX = parse_RfX; +var write_UncheckedRfX = write_RfX; + /* [MS-XLSB] 2.5.171 */ /* [MS-XLS] 2.5.342 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ diff --git a/bits/30_ctype.js b/bits/30_ctype.js index d083929..9e735c7 100644 --- a/bits/30_ctype.js +++ b/bits/30_ctype.js @@ -40,6 +40,12 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", + /* Chart Colors */ + "application/vnd.ms-office.chartcolorstyle+xml": "TODO", + + /* Chart Style */ + "application/vnd.ms-office.chartstyle+xml": "TODO", + /* Calculation Chain */ "application/vnd.ms-excel.calcChain": "calcchains", "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", diff --git a/bits/35_custprops.js b/bits/35_custprops.js index b2f1e68..ea5eb38 100644 --- a/bits/35_custprops.js +++ b/bits/35_custprops.js @@ -10,10 +10,7 @@ function parse_cust_props(data/*:string*/, opts) { var x = m[i], y = parsexmltag(x); switch(y[0]) { case '': name = null; break; default: if (x.indexOf('= 12 ? 2 : 1); var width = 1, encoding = 'sbcs-cont'; var cp = current_codepage; if(opts && opts.biff >= 8) current_codepage = 1200; - if(opts === undefined || opts.biff !== 5) { + if(!opts || opts.biff == 8 ) { var fHighByte = blob.read_shift(1); if(fHighByte) { width = 2; encoding = 'dbcs-cont'; } + } else if(opts.biff == 12) { + width = 2; encoding = 'wstr'; } var o = cch ? blob.read_shift(cch, encoding) : ""; current_codepage = cp; @@ -340,6 +342,10 @@ function parse_XLUnicodeRichExtendedString(blob) { /* 2.5.296 XLUnicodeStringNoCch */ function parse_XLUnicodeStringNoCch(blob, cch, opts) { var retval; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'sbcs-cont'); + if(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont'); + } var fHighByte = blob.read_shift(1); if(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); } else { retval = blob.read_shift(cch, 'dbcs-cont'); } @@ -348,7 +354,7 @@ function parse_XLUnicodeStringNoCch(blob, cch, opts) { /* 2.5.294 XLUnicodeString */ function parse_XLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts !== undefined && opts.biff > 0 && opts.biff < 8 ? 1 : 2); + var cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); if(cch === 0) { blob.l++; return ""; } return parse_XLUnicodeStringNoCch(blob, cch, opts); } diff --git a/bits/39_xlsbiff.js b/bits/39_xlsbiff.js index 3f048df..8d31d8b 100644 --- a/bits/39_xlsbiff.js +++ b/bits/39_xlsbiff.js @@ -39,10 +39,10 @@ function parse_RkRec(blob, length) { } /* 2.5.1 */ -function parse_AddinUdf(blob, length) { +function parse_AddinUdf(blob, length, opts) { blob.l += 4; length -= 4; var l = blob.l + length; - var udfName = parse_ShortXLUnicodeString(blob, length); + var udfName = parse_ShortXLUnicodeString(blob, length, opts); var cb = blob.read_shift(2); l -= blob.l; if(cb !== l) throw "Malformed AddinUdf: padding = " + l + " != " + cb; @@ -272,8 +272,10 @@ function parse_LabelSst(blob, length) { /* 2.4.148 */ function parse_Label(blob, length, opts) { + var target = blob.l + length; var cell = parse_XLSCell(blob, 6); - var str = parse_XLUnicodeString(blob, length-6, opts); + if(opts.biff == 2) blob.l++; + var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; } @@ -287,11 +289,12 @@ function parse_Format(blob, length, opts) { var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ -function parse_Dimensions(blob, length) { - var w = length === 10 ? 2 : 4; +function parse_Dimensions(blob, length, opts) { + var end = blob.l + length; + var w = opts.biff == 8 || !opts.biff ? 4 : 2; var r = blob.read_shift(w), R = blob.read_shift(w), c = blob.read_shift(2), C = blob.read_shift(2); - blob.l += 2; + blob.l = end; return {s: {r:r, c:c}, e: {r:R, c:C}}; } @@ -392,7 +395,7 @@ function parse_ExternName(blob, length, opts) { cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 }/*:any*/); - if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); + if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); return o; @@ -404,12 +407,15 @@ function parse_Lbl(blob, length, opts) { var flags = blob.read_shift(2); var chKey = blob.read_shift(1); var cch = blob.read_shift(1); - var cce = blob.read_shift(2); - blob.l += 2; - var itab = blob.read_shift(2); - blob.l += 4; + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + if(!opts || opts.biff >= 5) { + blob.l += 2; + var itab = blob.read_shift(2); + blob.l += 4; + } var name = parse_XLUnicodeStringNoCch(blob, cch, opts); - var rgce = parse_NameParsedFormula(blob, target - blob.l, opts, cce); + var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen; + var rgce = target == blob.l || cce == 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce); return { chKey: chKey, Name: name, @@ -441,7 +447,12 @@ function parse_ShrFmla(blob, length, opts) { /* 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); - blob.l += 6; length -= 12; /* TODO: fAlwaysCalc */ + /* TODO: fAlwaysCalc */ + switch(opts.biff) { + case 2: blob.l ++; length -= 7; break; + case 3: case 4: blob.l += 2; length -= 8; break; + default: blob.l += 6; length -= 12; + } return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } @@ -904,6 +915,7 @@ function parse_BIFF2STR(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var str = parse_XLUnicodeString2(blob, length-7, opts); + cell.t = 'str'; cell.val = str; return cell; } @@ -912,6 +924,7 @@ function parse_BIFF2NUM(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = parse_Xnum(blob, 8); + cell.t = 'n'; cell.val = num; return cell; } @@ -920,6 +933,7 @@ function parse_BIFF2INT(blob, length) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = blob.read_shift(2); + cell.t = 'n'; cell.val = num; return cell; } @@ -939,3 +953,15 @@ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 1; // font family blob.l += length - 9; } + +/* TODO: parse rich text runs */ +function parse_RString(blob, length, opts) { + var end = blob.l + length; + var cell = parse_XLSCell(blob, 6); + var cch = blob.read_shift(2); + var str = parse_XLUnicodeStringNoCch(blob, cch, opts); + blob.l = end; + cell.t = 'str'; + cell.val = str; + return cell; +} diff --git a/bits/42_sstxml.js b/bits/42_sstxml.js index 2ee9ca7..c3d6f81 100644 --- a/bits/42_sstxml.js +++ b/bits/42_sstxml.js @@ -70,21 +70,21 @@ var parse_rs = (function parse_rs_factory() { /* 18.4.13 u CT_UnderlineProperty */ case '': font.u = 1; break; case '': break; /* 18.8.2 b */ case '': font.b = 1; break; case '': break; /* 18.8.26 i */ case '': font.i = 1; break; case '': break; @@ -142,16 +142,17 @@ function parse_si(x, opts) { if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + // TODO: is whitespace actually valid here? + if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)) { z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); - z.r = x; + z.r = utf8read(x); if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { - z.r = x; + z.r = utf8read(x); z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); - if(html) z.h = parse_rs(x); + if(html) z.h = parse_rs(z.r); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ /* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */ @@ -170,7 +171,7 @@ function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { if(isval(sst)/*:: && sst*/) { ss = sst[2].replace(sstr1,"").split(sstr2); for(var i = 0; i != ss.length; ++i) { - var o = parse_si(ss[i], opts); + var o = parse_si(ss[i].trim(), opts); if(o != null) s[s.length] = o; } sst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount; diff --git a/bits/61_fcommon.js b/bits/61_fcommon.js index 08a9754..1dd7b7d 100644 --- a/bits/61_fcommon.js +++ b/bits/61_fcommon.js @@ -5,9 +5,10 @@ var rc_to_a1 = (function(){ function rcfunc($$,$1,$2,$3,$4,$5) { var R = $3.length>0?parseInt($3,10)|0:0, C = $5.length>0?parseInt($5,10)|0:0; if(C<0 && $4.length === 0) C=0; - if($4.length > 0) C += rcbase.c; - if($2.length > 0) R += rcbase.r; - return $1 + encode_col(C) + encode_row(R); + var cRel = false, rRel = false; + if($4.length > 0 || $5.length == 0) cRel = true; if(cRel) C += rcbase.c; else --C; + if($2.length > 0 || $3.length == 0) rRel = true; if(rRel) R += rcbase.r; else --R; + return $1 + (cRel ? "" : "$") + encode_col(C) + (rRel ? "" : "$") + encode_row(R); } return function rc_to_a1(fstr, base) { rcbase = base; @@ -15,3 +16,15 @@ var rc_to_a1 = (function(){ }; })(); +/* TODO actually parse the formula */ +function shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ { + return f.replace(/(^|[^A-Z0-9])([$]?)([A-Z]+)([$]?)(\d+)/g, function($0, $1, $2, $3, $4, $5, off, str) { + return $1+($2=="$" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4=="$" ? $4+$5 : encode_row(decode_row($5) + delta.r)); + }); +} + +function shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ { + var r = decode_range(range), s = r.s, c = decode_cell(cell); + var delta = {r:c.r - s.r, c:c.c - s.c}; + return shift_formula_str(f, delta); +} diff --git a/bits/62_fxls.js b/bits/62_fxls.js index 84d8c95..018c4bd 100644 --- a/bits/62_fxls.js +++ b/bits/62_fxls.js @@ -7,17 +7,30 @@ function parseread1(blob, length) { blob.l+=1; return; } /* 2.5.51 */ function parse_ColRelU(blob, length) { - var c = blob.read_shift(2); + var c = blob.read_shift(length == 1 ? 1 : 2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* 2.5.198.105 */ -function parse_RgceArea(blob, length) { - var r=blob.read_shift(2), R=blob.read_shift(2); +/* [MS-XLS] 2.5.198.105 */ +/* [MS-XLSB] 2.5.97.89 */ +function parse_RgceArea(blob, length, opts) { + var w = 2; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts); + else if(opts.biff == 12) w = 4; + } + var r=blob.read_shift(w), R=blob.read_shift(w); var c=parse_ColRelU(blob, 2); var C=parse_ColRelU(blob, 2); 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]} }; } +/* BIFF 2-5 encodes flags in the row field */ +function parse_RgceArea_BIFF2(blob, length, opts) { + var r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2); + var c=blob.read_shift(1); + var C=blob.read_shift(1); + 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 */ function parse_RgceAreaRel(blob, length) { @@ -28,36 +41,61 @@ function parse_RgceAreaRel(blob, length) { } /* 2.5.198.109 */ -function parse_RgceLoc(blob, length) { - var r = blob.read_shift(2); +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); var c = parse_ColRelU(blob, 2); return {r:r, c:c[0], cRel:c[1], rRel:c[2]}; } +function parse_RgceLoc_BIFF2(blob, length, opts) { + var r = parse_ColRelU(blob, 2); + var c = blob.read_shift(1); + return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; +} -/* 2.5.198.111 */ -function parse_RgceLocRel(blob, length) { - var r = blob.read_shift(2); +/* [MS-XLS] 2.5.198.111 TODO */ +/* [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); + var r = blob.read_shift(biff >= 12 ? 4 : 2); var cl = blob.read_shift(2); var cRel = (cl & 0x8000) >> 15, rRel = (cl & 0x4000) >> 14; cl &= 0x3FFF; - if(cRel !== 0) while(cl >= 0x100) cl -= 0x100; + if(rRel == 1) while(r > 0x7FFFF) r -= 0x100000; + if(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000; return {r:r,c:cl,cRel:cRel,rRel:rRel}; } +function parse_RgceLocRel_BIFF2(blob, length) { + var rl = blob.read_shift(2); + var c = blob.read_shift(1); + var rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14; + rl &= 0x3FFF; + if(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000; + if(cRel == 1 && c >= 0x80) c = c - 0x100; + return {r:rl,c:c,cRel:cRel,rRel:rRel}; +} /* Ptg Tokens */ /* 2.5.198.27 */ -function parse_PtgArea(blob, length) { +function parse_PtgArea(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceArea(blob, 8); + var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); return [type, area]; } -/* 2.5.198.28 */ -function parse_PtgArea3d(blob, length) { +/* [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); - var area = parse_RgceArea(blob, 8); + var ixti = blob.read_shift(2, 'i'); + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + var area = parse_RgceArea(blob, w, opts); return [type, ixti, area]; } @@ -68,10 +106,15 @@ function parse_PtgAreaErr(blob, length) { return [type]; } /* 2.5.198.30 */ -function parse_PtgAreaErr3d(blob, length) { +function parse_PtgAreaErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); - blob.l += 8; + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + blob.l += w; return [type, ixti]; } @@ -82,10 +125,11 @@ function parse_PtgAreaN(blob, length) { return [type, area]; } -/* 2.5.198.32 -- ignore this and look in PtgExtraArray for shape + values */ -function parse_PtgArray(blob, length) { +/* [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 += 7; + blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; return [type]; } @@ -98,33 +142,40 @@ function parse_PtgAttrBaxcel(blob, length) { } /* 2.5.198.34 */ -function parse_PtgAttrChoose(blob, length) { +function parse_PtgAttrChoose(blob, length, opts) { blob.l +=2; - var offset = blob.read_shift(2); + var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); var o = []; /* offset is 1 less than the number of elements */ - for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(2)); + for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2)); return o; } /* 2.5.198.35 */ -function parse_PtgAttrGoto(blob, length) { +function parse_PtgAttrGoto(blob, length, opts) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; - return [bitGoto, blob.read_shift(2)]; + return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; } /* 2.5.198.36 */ -function parse_PtgAttrIf(blob, length) { +function parse_PtgAttrIf(blob, length, opts) { + var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; + blob.l += 2; + return [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; +} + +/* [MS-XLSB] 2.5.97.28 */ +function parse_PtgAttrIfError(blob, length) { var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; return [bitIf, blob.read_shift(2)]; } /* 2.5.198.37 */ -function parse_PtgAttrSemi(blob, length) { +function parse_PtgAttrSemi(blob, length, opts) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += 4; + blob.l += opts && opts.biff == 2 ? 3 : 4; return [bitSemi]; } @@ -147,46 +198,44 @@ function parse_PtgAttrSpaceSemi(blob, length) { } /* 2.5.198.84 TODO */ -function parse_PtgRef(blob, length) { +function parse_PtgRef(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); return [type, loc]; } /* 2.5.198.88 TODO */ -function parse_PtgRefN(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRefN(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLocRel(blob,4); + var loc = parse_RgceLocRel(blob, 0, opts); return [type, loc]; } /* 2.5.198.85 TODO */ -function parse_PtgRef3d(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRef3d(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel return [type, ixti, loc]; } /* 2.5.198.62 TODO */ -function parse_PtgFunc(blob, length) { +function parse_PtgFunc(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var iftab = blob.read_shift(2); - return [FtabArgc[iftab], Ftab[iftab]]; + var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); + return [FtabArgc[iftab], Ftab[iftab], type]; } /* 2.5.198.63 TODO */ -function parse_PtgFuncVar(blob, length) { +function parse_PtgFuncVar(blob, length, opts) { blob.l++; - var cparams = blob.read_shift(1), tab = parsetab(blob); + var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); return [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]]; } @@ -195,22 +244,26 @@ function parsetab(blob, length) { } /* 2.5.198.41 */ -var parse_PtgAttrSum = parseread(4); +function parse_PtgAttrSum(blob, length, opts) { + blob.l += opts && opts.biff == 2 ? 3 : 4; return; +} + /* 2.5.198.43 */ var parse_PtgConcat = parseread1; /* 2.5.198.58 */ -function parse_PtgExp(blob, length) { +function parse_PtgExp(blob, length, opts) { blob.l++; + if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; var row = blob.read_shift(2); - var col = blob.read_shift(2); + var col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [row, col]; } /* 2.5.198.57 */ function parse_PtgErr(blob, length) { blob.l++; return BErr[blob.read_shift(1)]; } -/* 2.5.198.66 TODO */ +/* 2.5.198.66 */ function parse_PtgInt(blob, length) { blob.l++; return blob.read_shift(2); } /* 2.5.198.42 */ @@ -220,12 +273,19 @@ function parse_PtgBool(blob, length) { blob.l++; return blob.read_shift(1)!==0;} function parse_PtgNum(blob, length) { blob.l++; return parse_Xnum(blob, 8); } /* 2.5.198.89 */ -function parse_PtgStr(blob, length) { blob.l++; return parse_ShortXLUnicodeString(blob); } +function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } -/* 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ -function parse_SerAr(blob) { - var val = []; - switch((val[0] = blob.read_shift(1))) { +/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ +/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */ +function parse_SerAr(blob, biff/*:number*/) { + var val = [blob.read_shift(1)]; + if(biff == 12) switch(val[0]) { + case 0x02: val[0] = 0x04; break; /* SerBool */ + case 0x04: val[0] = 0x10; break; /* SerErr */ + case 0x00: val[0] = 0x01; break; /* SerNum */ + 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'; @@ -242,7 +302,7 @@ function parse_SerAr(blob) { val[1] = parse_Xnum(blob, 8); break; /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ - val[1] = parse_XLUnicodeString(blob); break; + val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; @@ -257,49 +317,72 @@ function parse_PtgExtraMem(blob, cce) { } /* 2.5.198.59 */ -function parse_PtgExtraArray(blob) { - var cols = 1 + blob.read_shift(1); //DColByteU - var rows = 1 + blob.read_shift(2); //DRw +function parse_PtgExtraArray(blob, length, opts) { + var rows = 0, cols = 0; + if(opts.biff == 12) { + rows = blob.read_shift(4); // DRw + cols = blob.read_shift(4); // DCol + } else { + cols = 1 + blob.read_shift(1); //DColByteU + rows = 1 + blob.read_shift(2); //DRw + } + if(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; } for(var i = 0, o=[]; i != rows && (o[i] = []); ++i) - for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob); + for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff); return o; } /* 2.5.198.76 */ -function parse_PtgName(blob, length) { +function parse_PtgName(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var nameindex = blob.read_shift(4); + var w = (!opts || (opts.biff >= 8)) ? 4 : 2; + var nameindex = blob.read_shift(w); + switch(opts.biff) { + case 2: blob.l += 5; break; + case 3: case 4: blob.l += 8; break; + case 5: blob.l += 12; break; + } return [type, 0, nameindex]; } /* 2.5.198.77 */ -function parse_PtgNameX(blob, length) { +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; var ixti = blob.read_shift(2); // XtiIndex var nameindex = blob.read_shift(4); return [type, ixti, nameindex]; } +function parse_PtgNameX_BIFF5(blob, length, opts) { + var type = (blob.read_shift(1) >>> 5) & 0x03; + var ixti = blob.read_shift(2, 'i'); // XtiIndex + blob.l += 8; + var nameindex = blob.read_shift(2); + blob.l += 12; + return [type, ixti, nameindex]; +} /* 2.5.198.70 */ -function parse_PtgMemArea(blob, length) { +function parse_PtgMemArea(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += 4; - var cce = blob.read_shift(2); + blob.l += (opts && opts.biff == 2 ? 3 : 4); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.72 */ -function parse_PtgMemFunc(blob, length) { +function parse_PtgMemFunc(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(2); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.86 */ -function parse_PtgRefErr(blob, length) { +function parse_PtgRefErr(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; + if(opts.biff == 12) blob.l += 2; return [type]; } @@ -425,7 +508,10 @@ var PtgDupes = { }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); -var Ptg18 = {}; +var Ptg18 = { +// /*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList }, // TODO +// /*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName }, // TODO +}; var Ptg19 = { /*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, /*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf }, @@ -435,11 +521,13 @@ var Ptg19 = { /*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, /*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, /*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, + /*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, /*::[*/0xFF/*::]*/: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { + var end = blob.l + length; var cell = parse_XLSCell(blob, 6); if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); @@ -450,10 +538,7 @@ function parse_Formula(blob, length, opts) { var chn = blob.read_shift(4); } } - var cbf = ""; - if(opts.biff < 5) blob.l += length-16; - else if(opts.biff === 5) blob.l += length-20; - else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); + var cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -472,23 +557,29 @@ function parse_FormulaValue(blob) { /* 2.5.198.103 */ function parse_RgbExtra(blob, length, rgce, opts) { - if(opts.biff < 8) return parsenoop(blob, length); var target = blob.l + length; var o = []; for(var i = 0; i !== rgce.length; ++i) { switch(rgce[i][0]) { case 'PtgArray': /* PtgArray -> PtgExtraArray */ - rgce[i][1] = parse_PtgExtraArray(blob); + rgce[i][1] = parse_PtgExtraArray(blob, 0, opts); o.push(rgce[i][1]); break; case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]); o.push(rgce[i][2]); break; + case 'PtgExp': /* PtgExp -> PtgExtraCol */ + if(opts && opts.biff == 12) { + rgce[i][1][1] = blob.read_shift(4); + o.push(rgce[i][1]); + } break; default: break; } } length = target - blob.l; + /* note: this is technically an error but Excel disregards */ + //if(target !== blob.l && blob.l !== target - length) throw new Error(target + " != " + blob.l); if(length !== 0) o.push(parsenoop(blob, length)); return o; } @@ -496,7 +587,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { /* 2.5.198.21 */ function parse_NameParsedFormula(blob, length, opts, cce) { var target = blob.l + length; - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); var rgcb; if(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts); return [rgce, rgcb]; @@ -504,11 +595,11 @@ function parse_NameParsedFormula(blob, length, opts, cce) { /* 2.5.198.3 TODO */ function parse_XLSCellParsedFormula(blob, length, opts) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, length - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } @@ -516,7 +607,7 @@ function parse_XLSCellParsedFormula(blob, length, opts) { function parse_SharedParsedFormula(blob, length, opts) { var target = blob.l + length; var rgcb, cce = blob.read_shift(2); // length of rgce - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; @@ -524,41 +615,71 @@ function parse_SharedParsedFormula(blob, length, opts) { /* 2.5.198.1 TODO */ function parse_ArrayParsedFormula(blob, length, opts, ref) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } /* 2.5.198.104 */ -function parse_Rgce(blob, length) { +var gcnt = 0; +function parse_Rgce(blob, length, opts) { var target = blob.l + length; var R, id, ptgs = []; while(target != blob.l) { length = target - blob.l; id = blob[blob.l]; R = PtgTypes[id]; - //console.log("ptg", id, R) if(id === 0x18 || id === 0x19) { id = blob[blob.l + 1]; R = (id === 0x18 ? Ptg18 : Ptg19)[id]; } if(!R || !R.f) { ptgs.push(parsenoop(blob, length)); } - else { ptgs.push([R.n, R.f(blob, length)]); } + else { ptgs.push([R.n, R.f(blob, length, opts)]); } } return ptgs; } -function mapper(x) { return x.map(function f2(y) { return y[1];}).join(",");} +function stringify_array(f) { + var o = []; + for(var i = 0; i < f.length; ++i) { + var x = f[i], r = []; + for(var j = 0; j < x.length; ++j) { + var y = x[j]; + if(y) switch(y[0]) { + // TODO: handle embedded quotes + case 0x02: r.push('"' + y[1].replace(/"/g,'""') + '"'); break; + default: r.push(y[1]); + } else r.push(""); + } + o.push(r.join(",")); + } + return o.join(";"); +} -/* 2.2.2 + Magic TODO */ +/* [MS-XLS] 2.2.2 TODO */ +/* [MS-XLSB] 2.2.2 */ +var PtgBinOp = { + PtgAdd: "+", + PtgConcat: "&", + PtgDiv: "/", + PtgEq: "=", + PtgGe: ">=", + PtgGt: ">", + PtgLe: "<=", + PtgLt: "<", + PtgMul: "*", + PtgNe: "<>", + PtgPower: "^", + PtgSub: "-" +}; function stringify_formula(formula, range, cell, supbooks, opts) { - if(opts !== undefined && opts.biff === 5) return "BIFF5??"; - var _range = range !== undefined ? range : {s:{c:0, r:0}}; - var stack = [], e1, e2, type, c, ixti, nameidx, r; + var _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}}; + var stack = [], e1, e2, type, c, ixti, nameidx, r, sname=""; if(!formula[0] || !formula[0][0]) return ""; + var last_sp = -1, sp = ""; //console.log("--",cell,formula[0]) for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { var f = formula[0][ff]; @@ -573,65 +694,31 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgPercent': stack.push(stack.pop() + "%"); break; /* 2.2.2.1 Binary Value Operator Token */ - /* 2.5.198.26 */ - case 'PtgAdd': + 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 */ e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"+"+e1); - break; - /* 2.5.198.90 */ - case 'PtgSub': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"-"+e1); - break; - /* 2.5.198.75 */ - case 'PtgMul': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"*"+e1); - break; - /* 2.5.198.45 */ - case 'PtgDiv': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"/"+e1); - break; - /* 2.5.198.82 */ - case 'PtgPower': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"^"+e1); - break; - /* 2.5.198.43 */ - case 'PtgConcat': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"&"+e1); - break; - /* 2.5.198.69 */ - case 'PtgLt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<"+e1); - break; - /* 2.5.198.68 */ - case 'PtgLe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<="+e1); - break; - /* 2.5.198.56 */ - case 'PtgEq': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"="+e1); - break; - /* 2.5.198.64 */ - case 'PtgGe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">="+e1); - break; - /* 2.5.198.65 */ - case 'PtgGt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">"+e1); - break; - /* 2.5.198.78 */ - case 'PtgNe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<>"+e1); + if(last_sp >= 0) { + switch(formula[0][last_sp][1][0]) { + case 0: sp = fill(" ", formula[0][last_sp][1][1]); break; + case 1: sp = fill("\r", formula[0][last_sp][1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + e2 = e2 + sp; + last_sp = -1; + } + stack.push(e2+PtgBinOp[f[0]]+e1); break; /* 2.2.2.1 Binary Reference Operator Token */ @@ -644,7 +731,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+","+e1); break; - case 'PtgRange': break; + case 'PtgRange': + e1 = stack.pop(); e2 = stack.pop(); + stack.push(e2+":"+e1); + break; /* 2.2.2.3 Control Tokens "can be ignored" */ /* 2.5.198.34 */ @@ -653,21 +743,24 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgAttrGoto': break; /* 2.5.198.36 */ case 'PtgAttrIf': break; + /* [MS-XLSB] 2.5.97.28 */ + case 'PtgAttrIfError': break; /* 2.5.198.84 */ case 'PtgRef': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), _range); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], _range, opts); + stack.push(encode_cell_xls(c)); break; /* 2.5.198.88 */ case 'PtgRefN': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), cell); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], cell, opts); + stack.push(encode_cell_xls(c)); break; case 'PtgRef3d': // TODO: lots of stuff - type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range); - stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c)); + type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range, opts); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_cell(c)); break; /* Function Call */ @@ -675,10 +768,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgFunc': /* 2.5.198.63 */ case 'PtgFuncVar': - /* f[1] = [argc, func] */ + /* f[1] = [argc, func, type] */ var argc = f[1][0], func = f[1][1]; if(!argc) argc = 0; - var args = stack.slice(-argc); + var args = argc == 0 ? [] : stack.slice(-argc); stack.length -= argc; if(func === 'User') func = args.shift(); stack.push(func + "(" + args.join(",") + ")"); @@ -697,12 +790,13 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.27 TODO: fixed points */ case 'PtgArea': type = f[1][0]; r = shift_range_xls(f[1][1], _range); - stack.push(encode_range(r)); + stack.push(encode_range_xls(r)); break; /* 2.5.198.28 */ case 'PtgArea3d': // TODO: lots of stuff type = f[1][0]; ixti = f[1][1]; r = f[1][2]; - stack.push(supbooks[1][ixti+1]+"!"+encode_range(r)); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_range(r)); break; /* 2.5.198.41 */ case 'PtgAttrSum': @@ -718,7 +812,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, 0, nameindex */ nameidx = f[1][2]; var lbl = supbooks[0][nameidx]; - var name = lbl.Name; + var name = lbl ? lbl.Name : "**MISSING**" + nameidx; if(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name]; stack.push(name); break; @@ -728,15 +822,35 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, ixti, nameindex */ var bookidx = f[1][1]; nameidx = f[1][2]; var externbook; /* TODO: Properly handle missing values */ - if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; - else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + //console.log(bookidx, supbooks); + if(opts.biff == 5) { + if(bookidx < 0) bookidx = -bookidx; + if(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx]; + } else { + if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; + else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + } if(!externbook) externbook = {body: "??NAMEX??"}; stack.push(externbook.body); break; /* 2.2.2.4 Display Tokens */ /* 2.5.198.80 */ - case 'PtgParen': stack.push('(' + stack.pop() + ')'); break; + case 'PtgParen': + var lp = '(', rp = ')'; + if(last_sp >= 0) { + sp = ""; + switch(formula[0][last_sp][1][0]) { + case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + case 4: rp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 5: rp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + default: + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + last_sp = -1; + } + stack.push(lp + stack.pop() + rp); break; /* 2.5.198.86 */ case 'PtgRefErr': stack.push('#REF!'); break; @@ -758,6 +872,8 @@ function stringify_formula(formula, range, cell, supbooks, opts) { if(c.c < e2[0].s.c || c.c > e2[0].e.c) continue; if(c.r < e2[0].s.r || c.r > e2[0].e.r) continue; stack.push(stringify_formula(e2[1], _range, q, supbooks, opts)); + fnd = true; + break; } if(!fnd) stack.push(f[1]); } @@ -765,7 +881,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.32 TODO */ case 'PtgArray': - stack.push("{" + f[1].map(mapper).join(";") + "}"); + stack.push("{" + stringify_array(f[1]) + "}"); break; /* 2.2.2.5 Mem Tokens */ @@ -774,8 +890,11 @@ function stringify_formula(formula, range, cell, supbooks, opts) { //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - /* 2.5.198.38 TODO */ - case 'PtgAttrSpace': break; + /* 2.5.198.38 */ + case 'PtgAttrSpace': + case 'PtgAttrSpaceSemi': + last_sp = ff; + break; /* 2.5.198.92 TODO */ case 'PtgTbl': break; @@ -802,9 +921,23 @@ function stringify_formula(formula, range, cell, supbooks, opts) { default: throw 'Unrecognized Formula Token: ' + f; } + var PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto']; + if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) { + f = formula[0][last_sp]; + switch(f[1][0]) { + case 0: sp = fill(" ", f[1][1]); break; + case 1: sp = fill("\r", f[1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + f[1][0]); + } + stack.push(sp + stack.pop()); + last_sp = -1; + } //console.log("::",f, stack) } //console.log("--",stack); + if(stack.length > 1 && opts.WTF) throw new Error("bad formula stack"); return stack[0]; } diff --git a/bits/63_fbin.js b/bits/63_fbin.js index a3244a7..101947a 100644 --- a/bits/63_fbin.js +++ b/bits/63_fbin.js @@ -1,5 +1,18 @@ -/* [MS-XLSB] 2.5.97.4 CellParsedFormula TODO: use similar logic to js-xls */ -function parse_XLSBCellParsedFormula(data, length) { +/* 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); - return parsenoop(data, length-4); + var rgce = parse_Rgce(data, cce, opts); + var cb = data.read_shift(4); + var rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null; + return [rgce, rgcb]; } + +/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */ +var parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.4 CellParsedFormula */ +var parse_XLSBCellParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.12 NameParsedFormula */ +var parse_XLSBNameParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */ +var parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula; diff --git a/bits/64_ftab.js b/bits/64_ftab.js index 1bf7124..36beab5 100644 --- a/bits/64_ftab.js +++ b/bits/64_ftab.js @@ -406,6 +406,7 @@ var Cetab = { }; /* [MS-XLS] 2.5.198.17 */ +/* [MS-XLSB] 2.5.97.10 */ var Ftab = { /*::[*/0x0000/*::]*/: 'COUNT', /*::[*/0x0001/*::]*/: 'IF', @@ -779,7 +780,113 @@ var Ftab = { /*::[*/0x0178/*::]*/: 'ROUNDBAHTDOWN', /*::[*/0x0179/*::]*/: 'ROUNDBAHTUP', /*::[*/0x017A/*::]*/: 'THAIYEAR', - /*::[*/0x017B/*::]*/: 'RTD' + /*::[*/0x017B/*::]*/: 'RTD', + + /*::[*/0x017C/*::]*/: 'CUBEVALUE', + /*::[*/0x017D/*::]*/: 'CUBEMEMBER', + /*::[*/0x017E/*::]*/: 'CUBEMEMBERPROPERTY', + /*::[*/0x017F/*::]*/: 'CUBERANKEDMEMBER', + /*::[*/0x0180/*::]*/: 'HEX2BIN', + /*::[*/0x0181/*::]*/: 'HEX2DEC', + /*::[*/0x0182/*::]*/: 'HEX2OCT', + /*::[*/0x0183/*::]*/: 'DEC2BIN', + /*::[*/0x0184/*::]*/: 'DEC2HEX', + /*::[*/0x0185/*::]*/: 'DEC2OCT', + /*::[*/0x0186/*::]*/: 'OCT2BIN', + /*::[*/0x0187/*::]*/: 'OCT2HEX', + /*::[*/0x0188/*::]*/: 'OCT2DEC', + /*::[*/0x0189/*::]*/: 'BIN2DEC', + /*::[*/0x018A/*::]*/: 'BIN2OCT', + /*::[*/0x018B/*::]*/: 'BIN2HEX', + /*::[*/0x018C/*::]*/: 'IMSUB', + /*::[*/0x018D/*::]*/: 'IMDIV', + /*::[*/0x018E/*::]*/: 'IMPOWER', + /*::[*/0x018F/*::]*/: 'IMABS', + /*::[*/0x0190/*::]*/: 'IMSQRT', + /*::[*/0x0191/*::]*/: 'IMLN', + /*::[*/0x0192/*::]*/: 'IMLOG2', + /*::[*/0x0193/*::]*/: 'IMLOG10', + /*::[*/0x0194/*::]*/: 'IMSIN', + /*::[*/0x0195/*::]*/: 'IMCOS', + /*::[*/0x0196/*::]*/: 'IMEXP', + /*::[*/0x0197/*::]*/: 'IMARGUMENT', + /*::[*/0x0198/*::]*/: 'IMCONJUGATE', + /*::[*/0x0199/*::]*/: 'IMAGINARY', + /*::[*/0x019A/*::]*/: 'IMREAL', + /*::[*/0x019B/*::]*/: 'COMPLEX', + /*::[*/0x019C/*::]*/: 'IMSUM', + /*::[*/0x019D/*::]*/: 'IMPRODUCT', + /*::[*/0x019E/*::]*/: 'SERIESSUM', + /*::[*/0x019F/*::]*/: 'FACTDOUBLE', + /*::[*/0x01A0/*::]*/: 'SQRTPI', + /*::[*/0x01A1/*::]*/: 'QUOTIENT', + /*::[*/0x01A2/*::]*/: 'DELTA', + /*::[*/0x01A3/*::]*/: 'GESTEP', + /*::[*/0x01A4/*::]*/: 'ISEVEN', + /*::[*/0x01A5/*::]*/: 'ISODD', + /*::[*/0x01A6/*::]*/: 'MROUND', + /*::[*/0x01A7/*::]*/: 'ERF', + /*::[*/0x01A8/*::]*/: 'ERFC', + /*::[*/0x01A9/*::]*/: 'BESSELJ', + /*::[*/0x01AA/*::]*/: 'BESSELK', + /*::[*/0x01AB/*::]*/: 'BESSELY', + /*::[*/0x01AC/*::]*/: 'BESSELI', + /*::[*/0x01AD/*::]*/: 'XIRR', + /*::[*/0x01AE/*::]*/: 'XNPV', + /*::[*/0x01AF/*::]*/: 'PRICEMAT', + /*::[*/0x01B0/*::]*/: 'YIELDMAT', + /*::[*/0x01B1/*::]*/: 'INTRATE', + /*::[*/0x01B2/*::]*/: 'RECEIVED', + /*::[*/0x01B3/*::]*/: 'DISC', + /*::[*/0x01B4/*::]*/: 'PRICEDISC', + /*::[*/0x01B5/*::]*/: 'YIELDDISC', + /*::[*/0x01B6/*::]*/: 'TBILLEQ', + /*::[*/0x01B7/*::]*/: 'TBILLPRICE', + /*::[*/0x01B8/*::]*/: 'TBILLYIELD', + /*::[*/0x01B9/*::]*/: 'PRICE', + /*::[*/0x01BA/*::]*/: 'YIELD', + /*::[*/0x01BB/*::]*/: 'DOLLARDE', + /*::[*/0x01BC/*::]*/: 'DOLLARFR', + /*::[*/0x01BD/*::]*/: 'NOMINAL', + /*::[*/0x01BE/*::]*/: 'EFFECT', + /*::[*/0x01BF/*::]*/: 'CUMPRINC', + /*::[*/0x01C0/*::]*/: 'CUMIPMT', + /*::[*/0x01C1/*::]*/: 'EDATE', + /*::[*/0x01C2/*::]*/: 'EOMONTH', + /*::[*/0x01C3/*::]*/: 'YEARFRAC', + /*::[*/0x01C4/*::]*/: 'COUPDAYBS', + /*::[*/0x01C5/*::]*/: 'COUPDAYS', + /*::[*/0x01C6/*::]*/: 'COUPDAYSNC', + /*::[*/0x01C7/*::]*/: 'COUPNCD', + /*::[*/0x01C8/*::]*/: 'COUPNUM', + /*::[*/0x01C9/*::]*/: 'COUPPCD', + /*::[*/0x01CA/*::]*/: 'DURATION', + /*::[*/0x01CB/*::]*/: 'MDURATION', + /*::[*/0x01CC/*::]*/: 'ODDLPRICE', + /*::[*/0x01CD/*::]*/: 'ODDLYIELD', + /*::[*/0x01CE/*::]*/: 'ODDFPRICE', + /*::[*/0x01CF/*::]*/: 'ODDFYIELD', + /*::[*/0x01D0/*::]*/: 'RANDBETWEEN', + /*::[*/0x01D1/*::]*/: 'WEEKNUM', + /*::[*/0x01D2/*::]*/: 'AMORDEGRC', + /*::[*/0x01D3/*::]*/: 'AMORLINC', + /*::[*/0x01D4/*::]*/: 'SHEETJS', + /*::[*/0x01D5/*::]*/: 'ACCRINT', + /*::[*/0x01D6/*::]*/: 'ACCRINTM', + /*::[*/0x01D7/*::]*/: 'WORKDAY', + /*::[*/0x01D8/*::]*/: 'NETWORKDAYS', + /*::[*/0x01D9/*::]*/: 'GCD', + /*::[*/0x01DA/*::]*/: 'MULTINOMIAL', + /*::[*/0x01DB/*::]*/: 'LCM', + /*::[*/0x01DC/*::]*/: 'FVSCHEDULE', + /*::[*/0x01DD/*::]*/: 'CUBEKPIMEMBER', + /*::[*/0x01DE/*::]*/: 'CUBESET', + /*::[*/0x01DF/*::]*/: 'CUBESETCOUNT', + /*::[*/0x01E0/*::]*/: 'IFERROR', + /*::[*/0x01E1/*::]*/: 'COUNTIFS', + /*::[*/0x01E2/*::]*/: 'SUMIFS', + /*::[*/0x01E3/*::]*/: 'AVERAGEIF', + /*::[*/0x01E4/*::]*/: 'AVERAGEIFS' }; var FtabArgc = { /*::[*/0x0002/*::]*/: 1, /* ISNA */ @@ -788,6 +895,7 @@ var FtabArgc = { /*::[*/0x0010/*::]*/: 1, /* COS */ /*::[*/0x0011/*::]*/: 1, /* TAN */ /*::[*/0x0012/*::]*/: 1, /* ATAN */ + /*::[*/0x0013/*::]*/: 0, /* PI */ /*::[*/0x0014/*::]*/: 1, /* SQRT */ /*::[*/0x0015/*::]*/: 1, /* EXP */ /*::[*/0x0016/*::]*/: 1, /* LN */ @@ -817,6 +925,7 @@ var FtabArgc = { /*::[*/0x0043/*::]*/: 1, /* DAY */ /*::[*/0x0044/*::]*/: 1, /* MONTH */ /*::[*/0x0045/*::]*/: 1, /* YEAR */ + /*::[*/0x0046/*::]*/: 1, /* WEEKDAY */ /*::[*/0x0047/*::]*/: 1, /* HOUR */ /*::[*/0x0048/*::]*/: 1, /* MINUTE */ /*::[*/0x0049/*::]*/: 1, /* SECOND */ @@ -826,11 +935,14 @@ var FtabArgc = { /*::[*/0x004F/*::]*/: 2, /* ABSREF */ /*::[*/0x0050/*::]*/: 2, /* RELREF */ /*::[*/0x0053/*::]*/: 1, /* TRANSPOSE */ + /*::[*/0x0055/*::]*/: 0, /* STEP */ /*::[*/0x0056/*::]*/: 1, /* TYPE */ /*::[*/0x005A/*::]*/: 1, /* DEREF */ /*::[*/0x0061/*::]*/: 2, /* ATAN2 */ /*::[*/0x0062/*::]*/: 1, /* ASIN */ /*::[*/0x0063/*::]*/: 1, /* ACOS */ + /*::[*/0x0065/*::]*/: 3, /* HLOOKUP */ + /*::[*/0x0066/*::]*/: 3, /* VLOOKUP */ /*::[*/0x0069/*::]*/: 1, /* ISREF */ /*::[*/0x006F/*::]*/: 1, /* CHAR */ /*::[*/0x0070/*::]*/: 1, /* LOWER */ @@ -856,6 +968,7 @@ var FtabArgc = { /*::[*/0x008D/*::]*/: 1, /* TIMEVALUE */ /*::[*/0x008E/*::]*/: 3, /* SLN */ /*::[*/0x008F/*::]*/: 4, /* SYD */ + /*::[*/0x0090/*::]*/: 4, /* DDB */ /*::[*/0x00A2/*::]*/: 1, /* CLEAN */ /*::[*/0x00A3/*::]*/: 1, /* MDETERM */ /*::[*/0x00A4/*::]*/: 1, /* MINVERSE */ @@ -871,6 +984,7 @@ var FtabArgc = { /*::[*/0x00BE/*::]*/: 1, /* ISNONTEXT */ /*::[*/0x00C3/*::]*/: 3, /* DSTDEVP */ /*::[*/0x00C4/*::]*/: 3, /* DVARP */ + /*::[*/0x00C5/*::]*/: 1, /* TRUNC */ /*::[*/0x00C6/*::]*/: 1, /* ISLOGICAL */ /*::[*/0x00C7/*::]*/: 3, /* DCOUNTA */ /*::[*/0x00C9/*::]*/: 1, /* UNREGISTER */ @@ -889,6 +1003,7 @@ var FtabArgc = { /*::[*/0x00EA/*::]*/: 1, /* ATANH */ /*::[*/0x00EB/*::]*/: 3, /* DGET */ /*::[*/0x00F4/*::]*/: 1, /* INFO */ + /*::[*/0x00F7/*::]*/: 4, /* DB */ /*::[*/0x00FC/*::]*/: 2, /* FREQUENCY */ /*::[*/0x0101/*::]*/: 1, /* EVALUATE */ /*::[*/0x0105/*::]*/: 1, /* ERROR.TYPE */ @@ -964,9 +1079,13 @@ var FtabArgc = { /*::[*/0x0178/*::]*/: 1, /* ROUNDBAHTDOWN */ /*::[*/0x0179/*::]*/: 1, /* ROUNDBAHTUP */ /*::[*/0x017A/*::]*/: 1, /* THAIYEAR */ + /*::[*/0x01A0/*::]*/: 1, /* SQRTPI */ + /*::[*/0x01C1/*::]*/: 2, /* EDATE */ + /*::[*/0x01C2/*::]*/: 2, /* EOMONTH */ /*::[*/0xFFFF/*::]*/: 0 }; /* [MS-XLSX] 2.2.3 Functions */ +/* [MS-XLSB] 2.5.97.10 Ftab */ var XLSXFutureFunctions = { "_xlfn.ACOT": "ACOT", "_xlfn.ACOTH": "ACOTH", diff --git a/bits/67_wsxml.js b/bits/67_wsxml.js index 2cbb0d1..f493106 100644 --- a/bits/67_wsxml.js +++ b/bits/67_wsxml.js @@ -8,10 +8,10 @@ var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; var dimregex = /"(\w*:\w*)"/; var colregex = /<(?:\w*:)?col[^>]*\/>/g; /* 18.3 Worksheets */ -function parse_ws_xml(data/*:?string*/, opts, rels) { +function parse_ws_xml(data/*:?string*/, opts, rels)/*:Worksheet*/ { if(!data) return data; /* 18.3.1.99 worksheet CT_Worksheet */ - var s = {}; + var s = ({}/*:any*/); /* 18.3.1.35 dimension CT_SheetDimension ? */ // $FlowIgnore @@ -166,13 +166,16 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; + var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; - var sstr; + var sstr, ftag; var fmtid = 0, fillid = 0, do_format = Array.isArray(styles.CellXf), cf; + var arrayf = []; + var sharedf = []; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -209,10 +212,29 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { d = x.substr(i); p = ({t:""}/*:any*/); - // $FlowIgnore - if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); - // $FlowIgnore - if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); + if((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]); + if(opts.cellFormula) { + if((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') { + p.f=unescapexml(utf8read(cref[1])); + if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + sharedf[parseInt(ftag.si, 10)] = [ftag, unescapexml(utf8read(cref[1]))]; + } + } else if((cref=d.match(/]*\/>/))) { + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][0].ref, tag.r); + } + /* TODO: factor out contains logic */ + var _tag = decode_cell(tag.r); + for(i = 0; i < arrayf.length; ++i) + if(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r) + if(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c) + p.F = arrayf[i][1]; + } /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { diff --git a/bits/68_wsbin.js b/bits/68_wsbin.js index 077066c..ceb9ff3 100644 --- a/bits/68_wsbin.js +++ b/bits/68_wsbin.js @@ -145,53 +145,65 @@ function write_BrtCellSt(cell, ncell, o) { /* [MS-XLSB] 2.4.647 BrtFmlaBool */ function parse_BrtFmlaBool(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'b']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.648 BrtFmlaError */ function parse_BrtFmlaError(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'e']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.649 BrtFmlaNum */ function parse_BrtFmlaNum(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_Xnum(data); var o = [cell, value, 'n']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length - 16); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-16; + else data.l = end; return o; } /* [MS-XLSB] 2.4.650 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { - var start = data.l; + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_XLWideString(data); var o = [cell, value, 'str']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, start + length - data.l); + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l = start + length; + else data.l = end; return o; } @@ -210,8 +222,34 @@ function parse_BrtHLink(data, length, opts) { return {rfx:rfx, relId:relId, loc:loc, tooltip:tooltip, display:display}; } +/* [MS-XLSB] 2.4.6 BrtArrFmla */ +function parse_BrtArrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_RfX(data, 16); + var fAlwaysCalc = data.read_shift(1); + var o = [rfx, null, fAlwaysCalc]; + if(opts.cellFormula) { + var formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts); + o[1] = formula; + } else data.l = end; + return o; +} + +/* [MS-XLSB] 2.4.742 BrtShrFmla */ +function parse_BrtShrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_UncheckedRfX(data, 16); + var o = [rfx, null]; + if(opts.cellFormula) { + var formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts); + o[1] = formula; + data.l = end; + } else data.l = end; + return o; +} + /* [MS-XLSB] 2.1.7.61 Worksheet */ -function parse_ws_bin(data, opts, rels) { +function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { if(!data) return data; if(!rels) rels = {'!id':{}}; var s = {}; @@ -222,8 +260,22 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; + if(!opts) opts = {}; + opts.biff = 12; + opts['!row'] = 0; + + var ai = 0, af = false; + + var array_formulae = []; + var shared_formulae = {}; + var supbooks = ([[]]/*:any*/); + supbooks.sharedf = shared_formulae; + supbooks.arrayf = array_formulae; + opts.supbooks = supbooks; + + for(var i = 0; i < wb.Names['!names'].length; ++i) supbooks[0][i+1] = wb.Names[wb.Names['!names'][i]]; + recordhopper(data, function ws_parse(val, Record) { - //console.log(Record); if(end) return; switch(Record.n) { case 'BrtWsDim': ref = val; break; @@ -231,6 +283,7 @@ function parse_ws_bin(data, opts, rels) { row = val; if(opts.sheetRows && opts.sheetRows <= row.r) end=true; rr = encode_row(row.r); + opts['!row'] = row.r; break; case 'BrtFmlaBool': @@ -251,9 +304,19 @@ function parse_ws_bin(data, opts, rels) { case 'e': p.v = val[1]; p.w = BErr[p.v]; break; case 'str': p.t = 's'; p.v = utf8read(val[1]); break; } - if(opts.cellFormula && val.length > 3) p.f = val[3]; if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.ifmt,null,opts); s[encode_col(C=val[0].c) + rr] = p; + if(opts.cellFormula) { + af = false; + for(ai = 0; ai < array_formulae.length; ++ai) { + var aii = array_formulae[ai]; + if(row.r >= aii[0].s.r && row.r <= aii[0].e.r) + if(C >= aii[0].s.c && C <= aii[0].e.c) { + p.F = encode_range(aii[0]); af = true; + } + } + if(!af && val.length > 3) p.f = val[3]; + } if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; if(refguess.e.r < row.r) refguess.e.r = row.r; @@ -288,8 +351,17 @@ function parse_ws_bin(data, opts, rels) { } break; - case 'BrtArrFmla': break; // TODO - case 'BrtShrFmla': break; // TODO + case 'BrtArrFmla': if(!opts.cellFormula) break; + array_formulae.push(val); + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + s[encode_col(C) + rr].F = encode_range(val[0]); + break; + case 'BrtShrFmla': if(!opts.cellFormula) break; + // TODO + shared_formulae[encode_cell(val[0].s)] = val[1]; + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + break; + case 'BrtBeginSheet': break; case 'BrtWsProp': break; // TODO case 'BrtSheetCalcProp': break; // TODO @@ -400,6 +472,10 @@ function parse_ws_bin(data, opts, rels) { default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); + + delete opts.supbooks; + delete opts['!row']; + if(!s["!ref"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s["!ref"] = encode_range(ref || refguess); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); diff --git a/bits/73_wbbin.js b/bits/73_wbbin.js index 71dbfa5..38bcc9e 100644 --- a/bits/73_wbbin.js +++ b/bits/73_wbbin.js @@ -38,15 +38,43 @@ function parse_BrtFRTArchID$(data, length) { return o; } +/* [MS-XLSB] 2.4.680 BrtName */ +function parse_BrtName(data, length, opts) { + var end = data.l + length; + var flags = data.read_shift(4); + var chKey = data.read_shift(1); + var itab = data.read_shift(4); + var name = parse_XLNameWideString(data); + var formula = parse_XLSBNameParsedFormula(data, 0, opts); + var comment = parse_XLNullableWideString(data); + if(0 /* fProc */) { + // unusedstring1: XLNullableWideString + // description: XLNullableWideString + // helpTopic: XLNullableWideString + // unusedstring2: XLNullableWideString + } + data.l = end; + return {Name:name, Ptg:formula, Comment:comment}; +} + /* [MS-XLSB] 2.1.7.60 Workbook */ function parse_wb_bin(data, opts) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, z; + if(!opts) opts = {}; + opts.biff = 12; + + var Names = {}, NameList = []; + recordhopper(data, function hopper_wb(val, R) { switch(R.n) { case 'BrtBundleSh': wb.Sheets.push(val); break; + case 'BrtName': + Names[val.Name] = val; NameList.push(val.Name); + break; + case 'BrtBeginBook': break; case 'BrtFileVersion': break; case 'BrtWbProp14': case 'BrtWbProp': break; @@ -68,7 +96,6 @@ function parse_wb_bin(data, opts) { case 'BrtSupBookSrc': break; case 'BrtExternSheet': break; case 'BrtEndExternals': break; - case 'BrtName': break; case 'BrtCalcProp': break; case 'BrtUserBookView': break; case 'BrtBeginPivotCacheIDs': break; @@ -95,10 +122,13 @@ function parse_wb_bin(data, opts) { case 'BrtEndBook': break; default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); } - }); + }, opts); parse_wb_defaults(wb); + Names['!names'] = NameList; + wb.Names = Names; + return wb; } diff --git a/bits/74_xmlbin.js b/bits/74_xmlbin.js index 9e661ed..4ccb81b 100644 --- a/bits/74_xmlbin.js +++ b/bits/74_xmlbin.js @@ -3,9 +3,9 @@ function parse_wb(data, name/*:string*/, opts)/*:Workbook*/ { return parse_wb_xml((data/*:any*/), opts); } -function parse_ws(data, name/*:string*/, opts, rels)/*:Worksheet*/ { - if(name.substr(name.length-4)===".bin") return parse_ws_bin((data/*:any*/), opts, rels); - return parse_ws_xml((data/*:any*/), opts, rels); +function parse_ws(data, name/*:string*/, opts, rels, wb)/*:Worksheet*/ { + if(name.substr(name.length-4)===".bin") return parse_ws_bin((data/*:any*/), opts, rels, wb); + return parse_ws_xml((data/*:any*/), opts, rels, wb); } function parse_sty(data, name/*:string*/, opts) { diff --git a/bits/75_xlml.js b/bits/75_xlml.js index 5879fb0..13819c3 100644 --- a/bits/75_xlml.js +++ b/bits/75_xlml.js @@ -82,7 +82,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, o)/*:Workbook*/ { +function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o)/*:Workbook*/ { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; if(sid === undefined && row) sid = row.StyleID; @@ -100,7 +100,7 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, o break; case 'String': cell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml)); - cell.v = xml.indexOf("<") > -1 ? ss : cell.r; + cell.v = xml.indexOf("<") > -1 ? unescapexml(ss) : cell.r; break; case 'DateTime': cell.v = (Date.parse(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); @@ -116,9 +116,24 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, o default: cell.t = 's'; cell.v = xlml_fixstr(ss); break; } safe_format_xlml(cell, nf, o); - if(o.cellFormula != null && cell.Formula) { - cell.f = rc_to_a1(unescapexml(cell.Formula), base); - cell.Formula = undefined; + if(o.cellFormula != null) { + if(cell.Formula) { + var fstr = unescapexml(cell.Formula); + /* strictly speaking, the leading = is required but some writers omit */ + if(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.substr(1); + cell.f = rc_to_a1(fstr, base); + cell.Formula = undefined; + if(cell.ArrayRange == "RC") cell.F = rc_to_a1("RC:RC", base); + else if(cell.ArrayRange) { + cell.F = rc_to_a1(cell.ArrayRange, base); + arrayf.push([safe_decode_range(cell.F), cell.F]); + } + } else { + for(i = 0; i < arrayf.length; ++i) + if(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r) + if(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c) + cell.F = arrayf[i][1]; + } } if(o.cellStyles) { interiors.forEach(function(x) { @@ -157,11 +172,12 @@ function parse_xlml_xml(d, opts) { var Props = {}, Custprops = {}, pidx = 0, cp = {}; var comments = [], comment = {}; var cstys = [], csty; + var arrayf = []; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { case 'Data': if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'Cell': diff --git a/bits/76_xls.js b/bits/76_xls.js index c4f9770..2c6de55 100644 --- a/bits/76_xls.js +++ b/bits/76_xls.js @@ -304,7 +304,15 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { default: temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); + if(options.cellFormula) { + var _f = val.formula; + if(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') { + var _fr = _f[0][0][1][0], _fc = _f[0][0][1][1]; + var _fe = encode_cell({r:_fr, c:_fc}); + if(shared_formulae[_fe]) temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + else temp_val.F = (out[_fe] || {}).F; + } else temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + } safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -315,7 +323,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { last_formula.val = val; temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + if(options.cellFormula) temp_val.f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -323,12 +331,19 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { } break; case 'Array': { array_formulae.push(val); + if(options.cellFormula && out[last_cell]) { + out[last_cell].f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + out[last_cell].F = encode_range(val[0]); + } } break; case 'ShrFmla': { if(!cell_valid) break; - //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); - /* TODO: capture range */ - if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(!options.cellFormula) break; + if(last_cell) { + /* TODO: capture range */ + shared_formulae[encode_cell(last_formula.cell)]= val[0]; + (out[encode_cell(last_formula.cell)]||{}).f = stringify_formula(val[0], range, lastcell, supbooks, opts); + } } break; case 'LabelSst': temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); @@ -336,6 +351,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; + case 'RString': case 'Label': case 'BIFF2STR': temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; @@ -609,14 +625,12 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; - case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; /* BIFF2-4 records */ - case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break; case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; - case 'Dimension': break; /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': diff --git a/bits/77_parsetab.js b/bits/77_parsetab.js index 6376355..8bcd2c0 100644 --- a/bits/77_parsetab.js +++ b/bits/77_parsetab.js @@ -33,7 +33,7 @@ var XLSBRecordEnum = { /*::[*/0x0024/*::]*/: { n:"BrtFRTEnd", f:parsenoop }, /*::[*/0x0025/*::]*/: { n:"BrtACBegin", f:parsenoop }, /*::[*/0x0026/*::]*/: { n:"BrtACEnd", f:parsenoop }, - /*::[*/0x0027/*::]*/: { n:"BrtName", f:parsenoop }, + /*::[*/0x0027/*::]*/: { n:"BrtName", f:parse_BrtName }, /*::[*/0x0028/*::]*/: { n:"BrtIndexRowBlock", f:parsenoop }, /*::[*/0x002A/*::]*/: { n:"BrtIndexBlock", f:parsenoop }, /*::[*/0x002B/*::]*/: { n:"BrtFont", f:parse_BrtFont }, @@ -356,8 +356,8 @@ var XLSBRecordEnum = { /*::[*/0x01A7/*::]*/: { n:"BrtBeginUserShView", f:parsenoop }, /*::[*/0x01A8/*::]*/: { n:"BrtEndUserShView", f:parsenoop }, /*::[*/0x01A9/*::]*/: { n:"BrtEndUserShViews", f:parsenoop }, - /*::[*/0x01AA/*::]*/: { n:"BrtArrFmla", f:parsenoop }, - /*::[*/0x01AB/*::]*/: { n:"BrtShrFmla", f:parsenoop }, + /*::[*/0x01AA/*::]*/: { n:"BrtArrFmla", f:parse_BrtArrFmla }, + /*::[*/0x01AB/*::]*/: { n:"BrtShrFmla", f:parse_BrtShrFmla }, /*::[*/0x01AC/*::]*/: { n:"BrtTable", f:parsenoop }, /*::[*/0x01AD/*::]*/: { n:"BrtBeginExtConnections", f:parsenoop }, /*::[*/0x01AE/*::]*/: { n:"BrtEndExtConnections", f:parsenoop }, @@ -1019,6 +1019,7 @@ var XLSRecordEnum = { /*::[*/0x0203/*::]*/: { n:"Number", f:parse_Number }, /*::[*/0x0204/*::]*/: { n:"Label", f:parse_Label }, /*::[*/0x0205/*::]*/: { n:"BoolErr", f:parse_BoolErr }, + /*::[*/0x0206/*::]*/: { n:"Formula", f:parse_Formula }, /*::[*/0x0207/*::]*/: { n:"String", f:parse_String }, /*::[*/0x0208/*::]*/: { n:'Row', f:parse_Row }, /*::[*/0x020b/*::]*/: { n:"Index", f:parse_Index }, @@ -1028,6 +1029,7 @@ var XLSRecordEnum = { /*::[*/0x023e/*::]*/: { n:"Window2", f:parse_Window2 }, /*::[*/0x027e/*::]*/: { n:"RK", f:parse_RK }, /*::[*/0x0293/*::]*/: { n:"Style", f:parse_Style }, + /*::[*/0x0406/*::]*/: { n:"Formula", f:parse_Formula }, /*::[*/0x0418/*::]*/: { n:"BigName", f:parse_BigName }, /*::[*/0x041e/*::]*/: { n:"Format", f:parse_Format }, /*::[*/0x043c/*::]*/: { n:"ContinueBigName", f:parse_ContinueBigName }, @@ -1184,7 +1186,7 @@ var XLSRecordEnum = { /*::[*/0x1068/*::]*/: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ - /*::[*/0x0000/*::]*/: { n:"Dimension", f:parsenoop }, + /*::[*/0x0000/*::]*/: { n:"Dimensions", f:parse_Dimensions }, /*::[*/0x0002/*::]*/: { n:"BIFF2INT", f:parse_BIFF2INT }, /*::[*/0x0005/*::]*/: { n:"BoolErr", f:parse_BoolErr }, /*::[*/0x0007/*::]*/: { n:"String", f:parse_BIFF2STRING }, @@ -1193,6 +1195,7 @@ var XLSRecordEnum = { /*::[*/0x001e/*::]*/: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, /*::[*/0x001f/*::]*/: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ /*::[*/0x0016/*::]*/: { n:"ExternCount", f:parsenoop }, + /*::[*/0x0021/*::]*/: { n:"Array", f:parse_Array }, /*::[*/0x0025/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, /*::[*/0x0032/*::]*/: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, /*::[*/0x003e/*::]*/: { n:"BIFF2WINDOW2", f:parsenoop }, @@ -1212,7 +1215,7 @@ var XLSRecordEnum = { /*::[*/0x00bc/*::]*/: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ /*::[*/0x00c2/*::]*/: { n:"AddMenu", f:parsenoop }, /*::[*/0x00c3/*::]*/: { n:"DelMenu", f:parsenoop }, - /*::[*/0x00d6/*::]*/: { n:"RString", f:parsenoop }, + /*::[*/0x00d6/*::]*/: { n:"RString", f:parse_RString }, /*::[*/0x00df/*::]*/: { n:"UDDesc", f:parsenoop }, /*::[*/0x00ea/*::]*/: { n:"TabIdConf", f:parsenoop }, /*::[*/0x0162/*::]*/: { n:"XL5Modify", f:parsenoop }, @@ -1221,7 +1224,6 @@ var XLSRecordEnum = { /*::[*/0x0218/*::]*/: { n:"Lbl", f:parse_Lbl }, /*::[*/0x0223/*::]*/: { n:"ExternName", f:parse_ExternName }, /*::[*/0x0231/*::]*/: { n:"Font", f:parsenoop }, - /*::[*/0x0406/*::]*/: { n:"Formula", f:parse_Formula }, /*::[*/0x0409/*::]*/: { n:'BOF', f:parse_BOF }, /*::[*/0x086d/*::]*/: { n:"FeatInfo", f:parsenoop }, /*::[*/0x0873/*::]*/: { n:"FeatInfo11", f:parsenoop }, diff --git a/bits/85_parsezip.js b/bits/85_parsezip.js index 3189995..716ffde 100644 --- a/bits/85_parsezip.js +++ b/bits/85_parsezip.js @@ -6,10 +6,10 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } -function safe_parse_ws(zip, path/*:string*/, relsPath/*:string*/, sheet, sheetRels, sheets, opts) { +function safe_parse_ws(zip, path/*:string*/, relsPath/*:string*/, sheet, sheetRels, sheets, opts, wb) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); - sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]); + sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet], wb); } catch(e) { if(opts.WTF) throw e; } } @@ -110,7 +110,7 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { path = path.replace(/sheet0\./,"sheet."); } relsPath = path.replace(/^(.*)(\/)([^\/]*)$/, "$1/_rels/$3.rels"); - safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts); + safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts, wb); } if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); diff --git a/bits/90_utils.js b/bits/90_utils.js index 903c42c..60bda36 100644 --- a/bits/90_utils.js +++ b/bits/90_utils.js @@ -156,11 +156,11 @@ function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { } var make_csv = sheet_to_csv; -function sheet_to_formulae(sheet/*:Worksheet*/) { - var cmds, y = "", x, val=""; - if(sheet == null || sheet["!ref"] == null) return ""; +function sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ { + var y = "", x, val=""; + if(sheet == null || sheet["!ref"] == null) return []; var r = safe_decode_range(sheet['!ref']), rr = "", cols = [], C; - cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); + var cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); var i = 0; for(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C); for(var R = r.s.r; R <= r.e.r; ++R) { @@ -170,9 +170,18 @@ function sheet_to_formulae(sheet/*:Worksheet*/) { x = sheet[y]; val = ""; if(x === undefined) continue; + else if(x.F != null) { + y = x.F; + if(!x.f) continue; + val = x.f; + if(y.indexOf(":") == -1) y = y + ":" + y; + } if(x.f != null) val = x.f; + else if(x.t == 'n' && x.v != null) val = "" + x.v; + else if(x.t == 'b') val = x.v ? "TRUE" : "FALSE"; else if(x.w !== undefined) val = "'" + x.w; else if(x.v === undefined) continue; + else if(x.t == 's') val = "'" + x.v; else val = ""+x.v; cmds[i++] = y + "=" + val; } diff --git a/dist/ods.js b/dist/ods.js index f0b2aa1..d88c484 100644 --- a/dist/ods.js +++ b/dist/ods.js @@ -239,6 +239,17 @@ var utf8read = function utf8reada(orig) { } return out; }; +/* Part 3 TODO: actually parse formulae */ +function ods_to_csf_formula(f) { + if(f.substr(0,3) == "of:") f = f.substr(3); + /* 5.2 Basic Expressions */ + if(f.charCodeAt(0) == 61) { + f = f.substr(1); + if(f.charCodeAt(0) == 61) f = f.substr(1); + } + /* Part 3 Section 5.8 References */ + return f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g, "$1").replace(/\./g, ""); +} var parse_content_xml = (function() { var number_formats = { @@ -266,7 +277,9 @@ var parse_content_xml = (function() { var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var number_format_map = {}; var merges = [], mrange = {}, mR = 0, mC = 0; - var rept = 1; + var arrayf = []; + var rept = 1, isstub = false; + var i = 0; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { @@ -305,7 +318,21 @@ var parse_content_xml = (function() { if(C < range.s.c) range.s.c = C; if(R < range.s.r) range.s.r = R; ctag = parsexmltag(Rn[0], false); - q = {t:ctag['value-type'], v:null}; + q = ({t:ctag['value-type'], v:null}); + if(opts.cellFormula) { + if(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) { + mR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0; + mC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0; + mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; + q.F = get_utils().encode_range(mrange); + arrayf.push([mrange, q.F]); + } + if(ctag.formula) q.f = ods_to_csf_formula(ctag.formula); + else for(i = 0; i < arrayf.length; ++i) + if(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r) + if(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c) + q.F = arrayf[i][1]; + } if(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) { mR = parseInt(ctag['number-rows-spanned'],10) || 0; mC = parseInt(ctag['number-columns-spanned'],10) || 0; @@ -331,13 +358,19 @@ var parse_content_xml = (function() { } else throw new Error('Unsupported value type ' + q.t); } } else { - if(q.t === 's') q.v = textp || ''; - if(textp) q.w = textp; - if(!(opts.sheetRows && opts.sheetRows < R)) { - ws[get_utils().encode_cell({r:R,c:C})] = q; - while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); - if(range.e.c <= C) range.e.c = C; + isstub = false; + if(q.t === 's') { + q.v = textp || ''; + isstub = textpidx == 0; } + if(textp) q.w = textp; + if(!isstub || opts.cellStubs) { + if(!(opts.sheetRows && opts.sheetRows < R)) { + ws[get_utils().encode_cell({r:R,c:C})] = q; + while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); + if(range.e.c <= C) range.e.c = C; + } + } else { C += rept; rept = 0; } q = {}; textp = ""; } @@ -364,6 +397,7 @@ var parse_content_xml = (function() { case 'annotation': // 14.1 if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp;} else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]); + textp = ""; textpidx = 0; break; case 'number-style': // 16.27.2 @@ -616,7 +650,7 @@ var zip = new jszip(); f = "mimetype"; zip.file(f, "application/vnd.oasis.opendocument.spreadsheet"); - /* Part 2 Section 2.2 Documents */ + /* Part 1 Section 2.2 Documents */ f = "content.xml"; zip.file(f, write_content_xml(wb, opts)); manifest.push([f, "text/xml"]); diff --git a/dist/ods.min.js b/dist/ods.min.js index 493b004..1c02672 100644 --- a/dist/ods.min.js +++ b/dist/ods.min.js @@ -1,2 +1,2 @@ /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var ODS={};(function make_ods(ODS){var get_utils=function(){if(typeof XLSX!=="undefined")return XLSX.utils;if(typeof module!=="undefined"&&typeof require!=="undefined")try{return require("../"+"xlsx").utils}catch(e){try{return require("./"+"xlsx").utils}catch(ee){return require("xl"+"sx").utils}}throw new Error("Cannot find XLSX utils")};var has_buf=typeof Buffer!=="undefined";function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function dup(o){if(typeof JSON!="undefined")return JSON.parse(JSON.stringify(o));if(typeof o!="object"||!o)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function getdata(data){if(!data)return null;if(data.data)return data.data;if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer().toString("binary");if(data.asBinary)return data.asBinary();if(data._data&&data._data.getContent)return cc2str(Array.prototype.slice.call(data._data.getContent(),0));return null}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/\b[\w:-]+=["'][^"]*['"]/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding={'"':""","'":"'",">":">","<":"<","&":"&"};var rencstr="&<>'\"".split("");var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}function parsexmlbool(value){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}function datenum(v){var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function parse_isodur(s){var sec=0,mt=0,time=false;var m=s.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!m)throw new Error("|"+s+"| is not an ISO8601 Duration");for(var i=1;i!=m.length;++i){if(!m[i])continue;mt=1;if(i>3)time=true;switch(m[i].substr(m[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+m[i].substr(m[i].length-1));case"D":mt*=24;case"H":mt*=60;case"M":if(!time)throw new Error("Unsupported ISO Duration Field: M");else mt*=60;case"S":break}sec+=mt*parseInt(m[i],10)}return sec}var XML_HEADER='\r\n';function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw"badf"}var xlmlregex=/<(\/?)([a-z0-9]*:|)([\w-]+)[^>]*>/gm;var CT_ODS="application/vnd.oasis.opendocument.spreadsheet";function parse_manifest(d,opts){var str=xlml_normalize(d);var Rn;var FEtag;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"manifest":break;case"file-entry":FEtag=parsexmltag(Rn[0],false);if(FEtag.path=="/"&&FEtag.type!==CT_ODS)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(opts&&opts.WTF)throw Rn}}function write_manifest(manifest,opts){var o=[XML_HEADER];o.push('\n');o.push(' \n');for(var i=0;i\n');o.push("");return o.join("")}function write_rdf_type(file,res,tag){return[' \n',' \n'," \n"].join("")}function write_rdf_has(base,file){return[' \n',' \n'," \n"].join("")}function write_rdf(rdf,opts){var o=[XML_HEADER];o.push('\n');for(var i=0;i!=rdf.length;++i){o.push(write_rdf_type(rdf[i][0],rdf[i][1]));o.push(write_rdf_has("",rdf[i][0]))}o.push(write_rdf_type("","Document","pkg"));o.push("");return o.join("")}var parse_text_p=function(text,tag){return unescapexml(utf8read(text.replace(//g," ").replace(/<[^>]*>/g,"")))};var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};var parse_content_xml=function(){var number_formats={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"]};return function pcx(d,opts){var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var Sheets={},SheetNames=[],ws={};var Rn,q;var ctag={value:""};var textp="",textpidx=0,textptag;var R=-1,C=-1,range={s:{r:1e6,c:1e7},e:{r:0,c:0}};var number_format_map={};var merges=[],mrange={},mR=0,mC=0;var rept=1;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"table":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=get_utils().encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag.name);SheetNames.push(sheetag.name);Sheets[sheetag.name]=ws}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){sheetag=parsexmltag(Rn[0],false);R=C=-1;range.s.r=range.s.c=1e7;range.e.r=range.e.c=0;ws={};merges=[]}break;case"table-row":if(Rn[1]==="/")break;++R;C=-1;break;case"covered-table-cell":++C;break;case"table-cell":if(Rn[0].charAt(Rn[0].length-2)==="/"){ctag=parsexmltag(Rn[0],false);if(ctag["number-columns-repeated"])C+=parseInt(ctag["number-columns-repeated"],10);else++C}else if(Rn[1]!=="/"){++C;rept=1;if(C>range.e.c)range.e.c=C;if(R>range.e.r)range.e.r=R;if(C0)ws[get_utils().encode_cell({r:R,c:++C})]=dup(q);if(range.e.c<=C)range.e.c=C}q={};textp=""}break;case"document-content":case"spreadsheet":case"scripts":case"font-face-decls":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"annotation":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],false]);break;case"number-style":case"percentage-style":case"date-style":case"time-style":if(Rn[1]==="/"){number_format_map[NFtag.name]=NF;if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){NF="";NFtag=parsexmltag(Rn[0],false);state.push([Rn[3],true])}break;case"script":break;case"automatic-styles":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(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.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(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.style==="long"?1:0];break}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")switch(state[state.length-1][0]){case"number-style":case"date-style":case"time-style":NF+=str.slice(pidx,Rn.index);break}else pidx=Rn.index+Rn[0].length;break;case"text-content":break;case"text-properties":break;case"body":break;case"forms":break;case"table-column":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"named-range":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"span":break;case"line-break":break;case"p":if(Rn[1]==="/")textp=parse_text_p(str.slice(textpidx,Rn.index),textptag);else{textptag=parsexmltag(Rn[0],false);textpidx=Rn.index+Rn[0].length}break;case"s":break;case"date":break;case"object":break;case"title":break;case"desc":break;case"table-source":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"error-message":break;case"database-ranges":break;case"database-range":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"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":break;case"table-protection":break;case"data-pilot-grand-total":break;default:if(Rn[2]==="dc:")break;if(Rn[2]==="draw:")break;if(Rn[2]==="calcext:")break;if(opts.WTF)throw Rn}var out={Sheets:Sheets,SheetNames:SheetNames};return out}}();var write_content_xml=function(){var null_cell_xml=" \n";var write_ws=function(ws,wb,i,opts){var o=[];o.push(' \n');var R=0,C=0,range=get_utils().decode_range(ws["!ref"]);for(R=0;R\n");for(;R<=range.e.r;++R){o.push(" \n");for(C=0;C'+(cell.v?"TRUE":"FALSE")+"\n");break;case"n":o.push(' '+(cell.w||cell.v)+"\n");break;case"s":case"str":o.push(' '+escapexml(cell.v)+"\n");break;default:o.push(null_cell_xml)}else o.push(null_cell_xml)}o.push(" \n")}o.push(" \n");return o.join("")};return function wcx(wb,opts){var o=[XML_HEADER];o.push('\n');o.push(" \n");o.push(" \n");for(var i=0;i!=wb.SheetNames.length;++i)o.push(write_ws(wb.Sheets[wb.SheetNames[i]],wb,i,opts));o.push(" \n");o.push(" \n");o.push("");return o.join("")}}();function parse_ods(zip,opts){opts=opts||{};var manifest=parse_manifest(getzipdata(zip,"META-INF/manifest.xml"),opts);return parse_content_xml(getzipdata(zip,"content.xml"),opts)}function write_ods(wb,opts){var zip=new jszip;var f="";var manifest=[];var rdf=[];f="mimetype";zip.file(f,"application/vnd.oasis.opendocument.spreadsheet");f="content.xml";zip.file(f,write_content_xml(wb,opts));manifest.push([f,"text/xml"]);rdf.push([f,"ContentFile"]);f="manifest.rdf";zip.file(f,write_rdf(rdf,opts));manifest.push([f,"application/rdf+xml"]);f="META-INF/manifest.xml";zip.file(f,write_manifest(manifest,opts));return zip}ODS.parse_ods=parse_ods;ODS.write_ods=write_ods})(typeof exports!=="undefined"?exports:ODS); +var ODS={};(function make_ods(ODS){var get_utils=function(){if(typeof XLSX!=="undefined")return XLSX.utils;if(typeof module!=="undefined"&&typeof require!=="undefined")try{return require("../"+"xlsx").utils}catch(e){try{return require("./"+"xlsx").utils}catch(ee){return require("xl"+"sx").utils}}throw new Error("Cannot find XLSX utils")};var has_buf=typeof Buffer!=="undefined";function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function dup(o){if(typeof JSON!="undefined")return JSON.parse(JSON.stringify(o));if(typeof o!="object"||!o)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function getdata(data){if(!data)return null;if(data.data)return data.data;if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer().toString("binary");if(data.asBinary)return data.asBinary();if(data._data&&data._data.getContent)return cc2str(Array.prototype.slice.call(data._data.getContent(),0));return null}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/\b[\w:-]+=["'][^"]*['"]/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding={'"':""","'":"'",">":">","<":"<","&":"&"};var rencstr="&<>'\"".split("");var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}function parsexmlbool(value){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}function datenum(v){var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function parse_isodur(s){var sec=0,mt=0,time=false;var m=s.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);if(!m)throw new Error("|"+s+"| is not an ISO8601 Duration");for(var i=1;i!=m.length;++i){if(!m[i])continue;mt=1;if(i>3)time=true;switch(m[i].substr(m[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+m[i].substr(m[i].length-1));case"D":mt*=24;case"H":mt*=60;case"M":if(!time)throw new Error("Unsupported ISO Duration Field: M");else mt*=60;case"S":break}sec+=mt*parseInt(m[i],10)}return sec}var XML_HEADER='\r\n';function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw"badf"}var xlmlregex=/<(\/?)([a-z0-9]*:|)([\w-]+)[^>]*>/gm;var CT_ODS="application/vnd.oasis.opendocument.spreadsheet";function parse_manifest(d,opts){var str=xlml_normalize(d);var Rn;var FEtag;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"manifest":break;case"file-entry":FEtag=parsexmltag(Rn[0],false);if(FEtag.path=="/"&&FEtag.type!==CT_ODS)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(opts&&opts.WTF)throw Rn}}function write_manifest(manifest,opts){var o=[XML_HEADER];o.push('\n');o.push(' \n');for(var i=0;i\n');o.push("");return o.join("")}function write_rdf_type(file,res,tag){return[' \n',' \n'," \n"].join("")}function write_rdf_has(base,file){return[' \n',' \n'," \n"].join("")}function write_rdf(rdf,opts){var o=[XML_HEADER];o.push('\n');for(var i=0;i!=rdf.length;++i){o.push(write_rdf_type(rdf[i][0],rdf[i][1]));o.push(write_rdf_has("",rdf[i][0]))}o.push(write_rdf_type("","Document","pkg"));o.push("");return o.join("")}var parse_text_p=function(text,tag){return unescapexml(utf8read(text.replace(//g," ").replace(/<[^>]*>/g,"")))};var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};function ods_to_csf_formula(f){if(f.substr(0,3)=="of:")f=f.substr(3);if(f.charCodeAt(0)==61){f=f.substr(1);if(f.charCodeAt(0)==61)f=f.substr(1)}return f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,"$1").replace(/\./g,"")}var parse_content_xml=function(){var number_formats={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"]};return function pcx(d,opts){var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var Sheets={},SheetNames=[],ws={};var Rn,q;var ctag={value:""};var textp="",textpidx=0,textptag;var R=-1,C=-1,range={s:{r:1e6,c:1e7},e:{r:0,c:0}};var number_format_map={};var merges=[],mrange={},mR=0,mC=0;var arrayf=[];var rept=1,isstub=false;var i=0;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"table":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=get_utils().encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag.name);SheetNames.push(sheetag.name);Sheets[sheetag.name]=ws}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){sheetag=parsexmltag(Rn[0],false);R=C=-1;range.s.r=range.s.c=1e7;range.e.r=range.e.c=0;ws={};merges=[]}break;case"table-row":if(Rn[1]==="/")break;++R;C=-1;break;case"covered-table-cell":++C;break;case"table-cell":if(Rn[0].charAt(Rn[0].length-2)==="/"){ctag=parsexmltag(Rn[0],false);if(ctag["number-columns-repeated"])C+=parseInt(ctag["number-columns-repeated"],10);else++C}else if(Rn[1]!=="/"){++C;rept=1;if(C>range.e.c)range.e.c=C;if(R>range.e.r)range.e.r=R;if(C=arrayf[i][0].s.r&&R<=arrayf[i][0].e.r)if(C>=arrayf[i][0].s.c&&C<=arrayf[i][0].e.c)q.F=arrayf[i][1]}if(ctag["number-columns-spanned"]||ctag["number-rows-spanned"]){mR=parseInt(ctag["number-rows-spanned"],10)||0;mC=parseInt(ctag["number-columns-spanned"],10)||0;mrange={s:{r:R,c:C},e:{r:R+mR-1,c:C+mC-1}};merges.push(mrange)}if(ctag["number-columns-repeated"])rept=parseInt(ctag["number-columns-repeated"],10);switch(q.t){case"boolean":q.t="b";q.v=parsexmlbool(ctag["boolean-value"]);break;case"float":q.t="n";q.v=parseFloat(ctag.value);break;case"percentage":q.t="n";q.v=parseFloat(ctag.value);break;case"currency":q.t="n";q.v=parseFloat(ctag.value);break;case"date":q.t="n";q.v=datenum(ctag["date-value"]);q.z="m/d/yy";break;case"time":q.t="n";q.v=parse_isodur(ctag["time-value"])/86400;break;default:if(q.t==="string"||!q.t){q.t="s";if(ctag["string-value"]!=null)textp=ctag["string-value"]}else throw new Error("Unsupported value type "+q.t)}}else{isstub=false;if(q.t==="s"){q.v=textp||"";isstub=textpidx==0}if(textp)q.w=textp;if(!isstub||opts.cellStubs){if(!(opts.sheetRows&&opts.sheetRows0)ws[get_utils().encode_cell({r:R,c:++C})]=dup(q);if(range.e.c<=C)range.e.c=C}}else{C+=rept;rept=0}q={};textp=""}break;case"document-content":case"spreadsheet":case"scripts":case"font-face-decls":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"annotation":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],false]);textp="";textpidx=0;break;case"number-style":case"percentage-style":case"date-style":case"time-style":if(Rn[1]==="/"){number_format_map[NFtag.name]=NF;if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/"){NF="";NFtag=parsexmltag(Rn[0],false);state.push([Rn[3],true])}break;case"script":break;case"automatic-styles":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(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.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(state[state.length-1][0]){case"time-style":case"date-style":tag=parsexmltag(Rn[0],false);NF+=number_formats[Rn[3]][tag.style==="long"?1:0];break}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")switch(state[state.length-1][0]){case"number-style":case"date-style":case"time-style":NF+=str.slice(pidx,Rn.index);break}else pidx=Rn.index+Rn[0].length;break;case"text-content":break;case"text-properties":break;case"body":break;case"forms":break;case"table-column":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"named-range":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"span":break;case"line-break":break;case"p":if(Rn[1]==="/")textp=parse_text_p(str.slice(textpidx,Rn.index),textptag);else{textptag=parsexmltag(Rn[0],false);textpidx=Rn.index+Rn[0].length}break;case"s":break;case"date":break;case"object":break;case"title":break;case"desc":break;case"table-source":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"error-message":break;case"database-ranges":break;case"database-range":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"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":break;case"table-protection":break;case"data-pilot-grand-total":break;default:if(Rn[2]==="dc:")break;if(Rn[2]==="draw:")break;if(Rn[2]==="calcext:")break;if(opts.WTF)throw Rn}var out={Sheets:Sheets,SheetNames:SheetNames};return out}}();var write_content_xml=function(){var null_cell_xml=" \n";var write_ws=function(ws,wb,i,opts){var o=[];o.push(' \n');var R=0,C=0,range=get_utils().decode_range(ws["!ref"]);for(R=0;R\n");for(;R<=range.e.r;++R){o.push(" \n");for(C=0;C'+(cell.v?"TRUE":"FALSE")+"\n");break;case"n":o.push(' '+(cell.w||cell.v)+"\n");break;case"s":case"str":o.push(' '+escapexml(cell.v)+"\n");break;default:o.push(null_cell_xml)}else o.push(null_cell_xml)}o.push(" \n")}o.push(" \n");return o.join("")};return function wcx(wb,opts){var o=[XML_HEADER];o.push('\n');o.push(" \n");o.push(" \n");for(var i=0;i!=wb.SheetNames.length;++i)o.push(write_ws(wb.Sheets[wb.SheetNames[i]],wb,i,opts));o.push(" \n");o.push(" \n");o.push("");return o.join("")}}();function parse_ods(zip,opts){opts=opts||{};var manifest=parse_manifest(getzipdata(zip,"META-INF/manifest.xml"),opts);return parse_content_xml(getzipdata(zip,"content.xml"),opts)}function write_ods(wb,opts){var zip=new jszip;var f="";var manifest=[];var rdf=[];f="mimetype";zip.file(f,"application/vnd.oasis.opendocument.spreadsheet");f="content.xml";zip.file(f,write_content_xml(wb,opts));manifest.push([f,"text/xml"]);rdf.push([f,"ContentFile"]);f="manifest.rdf";zip.file(f,write_rdf(rdf,opts));manifest.push([f,"application/rdf+xml"]);f="META-INF/manifest.xml";zip.file(f,write_manifest(manifest,opts));return zip}ODS.parse_ods=parse_ods;ODS.write_ods=write_ods})(typeof exports!=="undefined"?exports:ODS); diff --git a/dist/ods.min.map b/dist/ods.min.map index 5c36027..a7e19f1 100644 --- a/dist/ods.min.map +++ b/dist/ods.min.map @@ -1 +1 @@ -{"version":3,"sources":["ods.js"],"names":["ODS","make_ods","get_utils","XLSX","utils","module","require","e","ee","Error","has_buf","Buffer","cc2str","arr","o","i","length","String","fromCharCode","dup","JSON","parse","stringify","out","k","hasOwnProperty","getdata","data","asNodeBuffer","toString","asBinary","_data","getContent","Array","prototype","slice","call","safegetzipfile","zip","file","f","files","toLowerCase","replace","getzipfile","getzipdata","safe","_fs","jszip","JSZip","exports","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","c","charCodeAt","substr","m","match","j","v","q","cc","substring","strip_ns","x","encodings",""","'",">","<","&","rencoding","\"","'",">","<","&","rencstr","split","encregex","coderegex","unescapexml","text","s","$$","parseInt","decregex","charegex","escapexml","y","parsexmlbool","value","datenum","epoch","Date","parse_isodur","sec","mt","time","XML_HEADER","xlml_normalize","d","isBuffer","xlmlregex","CT_ODS","parse_manifest","opts","str","Rn","FEtag","exec","path","type","WTF","write_manifest","manifest","push","join","write_rdf_type","res","write_rdf_has","base","write_rdf","rdf","parse_text_p","utf8read","utf8reada","orig","w","parse_content_xml","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","state","tmp","NFtag","name","NF","pidx","sheetag","Sheets","SheetNames","ws","ctag","textp","textpidx","textptag","R","C","range","r","number_format_map","merges","mrange","mR","mC","rept","lastIndex","encode_range","charAt","t","parseFloat","sheetRows","encode_cell","pop","style","index","write_content_xml","null_cell_xml","write_ws","wb","decode_range","ref","cell","wcx","parse_ods","write_ods"],"mappings":"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","file":"dist/ods.min.js"} \ No newline at end of file +{"version":3,"sources":["ods.js"],"names":["ODS","make_ods","get_utils","XLSX","utils","module","require","e","ee","Error","has_buf","Buffer","cc2str","arr","o","i","length","String","fromCharCode","dup","JSON","parse","stringify","out","k","hasOwnProperty","getdata","data","asNodeBuffer","toString","asBinary","_data","getContent","Array","prototype","slice","call","safegetzipfile","zip","file","f","files","toLowerCase","replace","getzipfile","getzipdata","safe","_fs","jszip","JSZip","exports","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","c","charCodeAt","substr","m","match","j","v","q","cc","substring","strip_ns","x","encodings",""","'",">","<","&","rencoding","\"","'",">","<","&","rencstr","split","encregex","coderegex","unescapexml","text","s","$$","parseInt","decregex","charegex","escapexml","y","parsexmlbool","value","datenum","epoch","Date","parse_isodur","sec","mt","time","XML_HEADER","xlml_normalize","d","isBuffer","xlmlregex","CT_ODS","parse_manifest","opts","str","Rn","FEtag","exec","path","type","WTF","write_manifest","manifest","push","join","write_rdf_type","res","write_rdf_has","base","write_rdf","rdf","parse_text_p","utf8read","utf8reada","orig","w","ods_to_csf_formula","parse_content_xml","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","state","tmp","NFtag","name","NF","pidx","sheetag","Sheets","SheetNames","ws","ctag","textp","textpidx","textptag","R","C","range","r","number_format_map","merges","mrange","mR","mC","arrayf","rept","isstub","lastIndex","encode_range","charAt","t","cellFormula","F","formula","parseFloat","cellStubs","sheetRows","encode_cell","pop","style","index","write_content_xml","null_cell_xml","write_ws","wb","decode_range","ref","cell","wcx","parse_ods","write_ods"],"mappings":"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","file":"dist/ods.min.js"} \ No newline at end of file diff --git a/dist/xlsx.core.min.js b/dist/xlsx.core.min.js index 2729bab..50276d2 100644 --- a/dist/xlsx.core.min.js +++ b/dist/xlsx.core.min.js @@ -2,13 +2,14 @@ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.JSZip=e()}}(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o>2;enc2=(chr1&3)<<4|chr2>>4;enc3=(chr2&15)<<2|chr3>>6;enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64}else if(isNaN(chr3)){enc4=64}output=output+_keyStr.charAt(enc1)+_keyStr.charAt(enc2)+_keyStr.charAt(enc3)+_keyStr.charAt(enc4)}return output};exports.decode=function(input,utf8){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2)}if(enc4!=64){output=output+String.fromCharCode(chr3)}}return output}},{}],2:[function(_dereq_,module,exports){"use strict";function CompressedObject(){this.compressedSize=0;this.uncompressedSize=0;this.crc32=0;this.compressionMethod=null;this.compressedContent=null}CompressedObject.prototype={getContent:function(){return null},getCompressedContent:function(){return null}};module.exports=CompressedObject},{}],3:[function(_dereq_,module,exports){"use strict";exports.STORE={magic:"\0\0",compress:function(content){return content},uncompress:function(content){return content},compressInputType:null,uncompressInputType:null};exports.DEFLATE=_dereq_("./flate")},{"./flate":8}],4:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var table=[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];module.exports=function crc32(input,crc){if(typeof input==="undefined"||!input.length){return 0}var isArray=utils.getTypeOf(input)!=="string";if(typeof crc=="undefined"){crc=0}var x=0;var y=0;var b=0;crc=crc^-1;for(var i=0,iTop=input.length;i>>8^x}return crc^-1}},{"./utils":21}],5:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");function DataReader(data){this.data=null;this.length=0;this.index=0}DataReader.prototype={checkOffset:function(offset){this.checkIndex(this.index+offset)},checkIndex:function(newIndex){if(this.length=this.index;i--){result=(result<<8)+this.byteAt(i)}this.index+=size;return result},readString:function(size){return utils.transformTo("string",this.readData(size))},readData:function(size){},lastIndexOfSignature:function(sig){},readDate:function(){var dostime=this.readInt(4);return new Date((dostime>>25&127)+1980,(dostime>>21&15)-1,dostime>>16&31,dostime>>11&31,dostime>>5&63,(dostime&31)<<1)}};module.exports=DataReader},{"./utils":21}],6:[function(_dereq_,module,exports){"use strict";exports.base64=false;exports.binary=false;exports.dir=false;exports.createFolders=false;exports.date=null;exports.compression=null;exports.comment=null},{}],7:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");exports.string2binary=function(str){return utils.string2binary(str)};exports.string2Uint8Array=function(str){return utils.transformTo("uint8array",str)};exports.uint8Array2String=function(array){return utils.transformTo("string",array)};exports.string2Blob=function(str){var buffer=utils.transformTo("arraybuffer",str);return utils.arrayBuffer2Blob(buffer)};exports.arrayBuffer2Blob=function(buffer){return utils.arrayBuffer2Blob(buffer)};exports.transformTo=function(outputType,input){return utils.transformTo(outputType,input)};exports.getTypeOf=function(input){return utils.getTypeOf(input)};exports.checkSupport=function(type){return utils.checkSupport(type)};exports.MAX_VALUE_16BITS=utils.MAX_VALUE_16BITS;exports.MAX_VALUE_32BITS=utils.MAX_VALUE_32BITS;exports.pretty=function(str){return utils.pretty(str)};exports.findCompression=function(compressionMethod){return utils.findCompression(compressionMethod)};exports.isRegExp=function(object){return utils.isRegExp(object)}},{"./utils":21}],8:[function(_dereq_,module,exports){"use strict";var USE_TYPEDARRAY=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Uint32Array!=="undefined";var pako=_dereq_("pako");exports.uncompressInputType=USE_TYPEDARRAY?"uint8array":"array";exports.compressInputType=USE_TYPEDARRAY?"uint8array":"array";exports.magic="\b\0";exports.compress=function(input){return pako.deflateRaw(input)};exports.uncompress=function(input){return pako.inflateRaw(input)}},{pako:24}],9:[function(_dereq_,module,exports){"use strict";var base64=_dereq_("./base64");function JSZip(data,options){if(!(this instanceof JSZip))return new JSZip(data,options);this.files={};this.comment=null;this.root="";if(data){this.load(data,options)}this.clone=function(){var newObj=new JSZip;for(var i in this){if(typeof this[i]!=="function"){newObj[i]=this[i]}}return newObj}}JSZip.prototype=_dereq_("./object");JSZip.prototype.load=_dereq_("./load");JSZip.support=_dereq_("./support");JSZip.defaults=_dereq_("./defaults");JSZip.utils=_dereq_("./deprecatedPublicUtils");JSZip.base64={encode:function(input){return base64.encode(input)},decode:function(input){return base64.decode(input)}};JSZip.compressions=_dereq_("./compressions");module.exports=JSZip},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(_dereq_,module,exports){"use strict";var base64=_dereq_("./base64");var ZipEntries=_dereq_("./zipEntries");module.exports=function(data,options){var files,zipEntries,i,input;options=options||{};if(options.base64){data=base64.decode(data)}zipEntries=new ZipEntries(data,options);files=zipEntries.files;for(i=0;i>>8}return hex};var extend=function(){var result={},i,attr;for(i=0;i0?path.substring(0,lastSlash):""};var folderAdd=function(name,createFolders){if(name.slice(-1)!="/"){name+="/"}createFolders=typeof createFolders!=="undefined"?createFolders:false;if(!this.files[name]){fileAdd.call(this,name,null,{dir:true,createFolders:createFolders})}return this.files[name]};var generateCompressedObjectFrom=function(file,compression){var result=new CompressedObject,content;if(file._data instanceof CompressedObject){result.uncompressedSize=file._data.uncompressedSize;result.crc32=file._data.crc32;if(result.uncompressedSize===0||file.dir){compression=compressions["STORE"];result.compressedContent="";result.crc32=0}else if(file._data.compressionMethod===compression.magic){result.compressedContent=file._data.getCompressedContent()}else{content=file._data.getContent();result.compressedContent=compression.compress(utils.transformTo(compression.compressInputType,content))}}else{content=getBinaryData(file);if(!content||content.length===0||file.dir){compression=compressions["STORE"];content=""}result.uncompressedSize=content.length;result.crc32=crc32(content);result.compressedContent=compression.compress(utils.transformTo(compression.compressInputType,content))}result.compressedSize=result.compressedContent.length;result.compressionMethod=compression.magic;return result};var generateZipParts=function(name,file,compressedObject,offset){var data=compressedObject.compressedContent,utfEncodedFileName=utils.transformTo("string",utf8.utf8encode(file.name)),comment=file.comment||"",utfEncodedComment=utils.transformTo("string",utf8.utf8encode(comment)),useUTF8ForFileName=utfEncodedFileName.length!==file.name.length,useUTF8ForComment=utfEncodedComment.length!==comment.length,o=file.options,dosTime,dosDate,extraFields="",unicodePathExtraField="",unicodeCommentExtraField="",dir,date;if(file._initialMetadata.dir!==file.dir){dir=file.dir}else{dir=o.dir}if(file._initialMetadata.date!==file.date){date=file.date}else{date=o.date}dosTime=date.getHours();dosTime=dosTime<<6;dosTime=dosTime|date.getMinutes();dosTime=dosTime<<5;dosTime=dosTime|date.getSeconds()/2;dosDate=date.getFullYear()-1980;dosDate=dosDate<<4;dosDate=dosDate|date.getMonth()+1;dosDate=dosDate<<5;dosDate=dosDate|date.getDate();if(useUTF8ForFileName){unicodePathExtraField=decToHex(1,1)+decToHex(crc32(utfEncodedFileName),4)+utfEncodedFileName;extraFields+="up"+decToHex(unicodePathExtraField.length,2)+unicodePathExtraField}if(useUTF8ForComment){unicodeCommentExtraField=decToHex(1,1)+decToHex(this.crc32(utfEncodedComment),4)+utfEncodedComment;extraFields+="uc"+decToHex(unicodeCommentExtraField.length,2)+unicodeCommentExtraField}var header="";header+="\n\0";header+=useUTF8ForFileName||useUTF8ForComment?"\0\b":"\0\0";header+=compressedObject.compressionMethod;header+=decToHex(dosTime,2);header+=decToHex(dosDate,2);header+=decToHex(compressedObject.crc32,4);header+=decToHex(compressedObject.compressedSize,4);header+=decToHex(compressedObject.uncompressedSize,4);header+=decToHex(utfEncodedFileName.length,2);header+=decToHex(extraFields.length,2);var fileRecord=signature.LOCAL_FILE_HEADER+header+utfEncodedFileName+extraFields;var dirRecord=signature.CENTRAL_FILE_HEADER+"\0"+header+decToHex(utfEncodedComment.length,2)+"\0\0"+"\0\0"+(dir===true?"\0\0\0":"\0\0\0\0")+decToHex(offset,4)+utfEncodedFileName+extraFields+utfEncodedComment;return{fileRecord:fileRecord,dirRecord:dirRecord,compressedObject:compressedObject}};var out={load:function(stream,options){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(search){var result=[],filename,relativePath,file,fileClone;for(filename in this.files){if(!this.files.hasOwnProperty(filename)){continue}file=this.files[filename];fileClone=new ZipObject(file.name,file._data,extend(file.options));relativePath=filename.slice(this.root.length,filename.length);if(filename.slice(0,this.root.length)===this.root&&search(relativePath,fileClone)){result.push(fileClone)}}return result},file:function(name,data,o){if(arguments.length===1){if(utils.isRegExp(name)){var regexp=name;return this.filter(function(relativePath,file){return!file.dir&®exp.test(relativePath)})}else{return this.filter(function(relativePath,file){return!file.dir&&relativePath===name})[0]||null}}else{name=this.root+name;fileAdd.call(this,name,data,o)}return this},folder:function(arg){if(!arg){return this}if(utils.isRegExp(arg)){return this.filter(function(relativePath,file){return file.dir&&arg.test(relativePath)})}var name=this.root+arg;var newFolder=folderAdd.call(this,name);var ret=this.clone();ret.root=newFolder.name;return ret},remove:function(name){name=this.root+name;var file=this.files[name];if(!file){if(name.slice(-1)!="/"){name+="/"}file=this.files[name]}if(file&&!file.dir){delete this.files[name]}else{var kids=this.filter(function(relativePath,file){return file.name.slice(0,name.length)===name});for(var i=0;i=0;--i){if(this.data[i]===sig0&&this.data[i+1]===sig1&&this.data[i+2]===sig2&&this.data[i+3]===sig3){return i}}return-1};Uint8ArrayReader.prototype.readData=function(size){this.checkOffset(size);if(size===0){return new Uint8Array(0)}var result=this.data.subarray(this.index,this.index+size);this.index+=size;return result};module.exports=Uint8ArrayReader},{"./dataReader":5}],19:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var Uint8ArrayWriter=function(length){this.data=new Uint8Array(length);this.index=0};Uint8ArrayWriter.prototype={append:function(input){if(input.length!==0){input=utils.transformTo("uint8array",input);this.data.set(input,this.index);this.index+=input.length}},finalize:function(){return this.data}};module.exports=Uint8ArrayWriter},{"./utils":21}],20:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("./utils");var support=_dereq_("./support");var nodeBuffer=_dereq_("./nodeBuffer");var _utf8len=new Array(256);for(var i=0;i<256;i++){_utf8len[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1}_utf8len[254]=_utf8len[254]=1;var string2buf=function(str){var buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos>>6;buf[i++]=128|c&63}else if(c<65536){buf[i++]=224|c>>>12;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}else{buf[i++]=240|c>>>18;buf[i++]=128|c>>>12&63;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}}return buf};var utf8border=function(buf,max){var pos;max=max||buf.length;if(max>buf.length){max=buf.length}pos=max-1;while(pos>=0&&(buf[pos]&192)===128){pos--}if(pos<0){return max}if(pos===0){return max}return pos+_utf8len[buf[pos]]>max?pos:max};var buf2string=function(buf){var str,i,out,c,c_len;var len=buf.length;var utf16buf=new Array(len*2);for(out=0,i=0;i4){utf16buf[out++]=65533;i+=c_len-1;continue}c&=c_len===2?31:c_len===3?15:7;while(c_len>1&&i1){utf16buf[out++]=65533;continue}if(c<65536){utf16buf[out++]=c}else{c-=65536;utf16buf[out++]=55296|c>>10&1023;utf16buf[out++]=56320|c&1023}}if(utf16buf.length!==out){if(utf16buf.subarray){utf16buf=utf16buf.subarray(0,out)}else{utf16buf.length=out}}return utils.applyFromCharCode(utf16buf)};exports.utf8encode=function utf8encode(str){if(support.nodebuffer){return nodeBuffer(str,"utf-8")}return string2buf(str)};exports.utf8decode=function utf8decode(buf){if(support.nodebuffer){return utils.transformTo("nodebuffer",buf).toString("utf-8")}buf=utils.transformTo(support.uint8array?"uint8array":"array",buf);var result=[],k=0,len=buf.length,chunk=65536;while(k1){try{if(type==="array"||type==="nodebuffer"){result.push(String.fromCharCode.apply(null,array.slice(k,Math.min(k+chunk,len))))}else{result.push(String.fromCharCode.apply(null,array.subarray(k,Math.min(k+chunk,len))))}k+=chunk}catch(e){chunk=Math.floor(chunk/2)}}return result.join("")}exports.applyFromCharCode=arrayLikeToString;function arrayLikeToArrayLike(arrayFrom,arrayTo){for(var i=0;i1){throw new Error("Multi-volumes zip are not supported")}},readLocalFiles:function(){var i,file;for(i=0;i0){opt.windowBits=-opt.windowBits}else if(opt.gzip&&opt.windowBits>0&&opt.windowBits<16){opt.windowBits+=16}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new zstream;this.strm.avail_out=0;var status=zlib_deflate.deflateInit2(this.strm,opt.level,opt.method,opt.windowBits,opt.memLevel,opt.strategy);if(status!==Z_OK){throw new Error(msg[status])}if(opt.header){zlib_deflate.deflateSetHeader(this.strm,opt.header)}};Deflate.prototype.push=function(data,mode){var strm=this.strm;var chunkSize=this.options.chunkSize;var status,_mode;if(this.ended){return false}_mode=mode===~~mode?mode:mode===true?Z_FINISH:Z_NO_FLUSH;if(typeof data==="string"){strm.input=strings.string2buf(data)}else{strm.input=data}strm.next_in=0;strm.avail_in=strm.input.length;do{if(strm.avail_out===0){strm.output=new utils.Buf8(chunkSize);strm.next_out=0;strm.avail_out=chunkSize}status=zlib_deflate.deflate(strm,_mode);if(status!==Z_STREAM_END&&status!==Z_OK){this.onEnd(status);this.ended=true;return false}if(strm.avail_out===0||strm.avail_in===0&&_mode===Z_FINISH){if(this.options.to==="string"){this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output,strm.next_out)))}else{this.onData(utils.shrinkBuf(strm.output,strm.next_out))}}}while((strm.avail_in>0||strm.avail_out===0)&&status!==Z_STREAM_END);if(_mode===Z_FINISH){status=zlib_deflate.deflateEnd(this.strm);this.onEnd(status);this.ended=true;return status===Z_OK}return true};Deflate.prototype.onData=function(chunk){this.chunks.push(chunk)};Deflate.prototype.onEnd=function(status){if(status===Z_OK){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=utils.flattenChunks(this.chunks)}}this.chunks=[];this.err=status;this.msg=this.strm.msg};function deflate(input,options){var deflator=new Deflate(options);deflator.push(input,true);if(deflator.err){throw deflator.msg}return deflator.result}function deflateRaw(input,options){options=options||{};options.raw=true;return deflate(input,options)}function gzip(input,options){options=options||{};options.gzip=true;return deflate(input,options)}exports.Deflate=Deflate;exports.deflate=deflate;exports.deflateRaw=deflateRaw;exports.gzip=gzip},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(_dereq_,module,exports){"use strict";var zlib_inflate=_dereq_("./zlib/inflate.js");var utils=_dereq_("./utils/common");var strings=_dereq_("./utils/strings");var c=_dereq_("./zlib/constants");var msg=_dereq_("./zlib/messages");var zstream=_dereq_("./zlib/zstream");var gzheader=_dereq_("./zlib/gzheader");var Inflate=function(options){this.options=utils.assign({chunkSize:16384,windowBits:0,to:""},options||{});var opt=this.options;if(opt.raw&&opt.windowBits>=0&&opt.windowBits<16){opt.windowBits=-opt.windowBits;if(opt.windowBits===0){opt.windowBits=-15}}if(opt.windowBits>=0&&opt.windowBits<16&&!(options&&options.windowBits)){opt.windowBits+=32}if(opt.windowBits>15&&opt.windowBits<48){if((opt.windowBits&15)===0){opt.windowBits|=15}}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new zstream;this.strm.avail_out=0;var status=zlib_inflate.inflateInit2(this.strm,opt.windowBits);if(status!==c.Z_OK){throw new Error(msg[status])}this.header=new gzheader;zlib_inflate.inflateGetHeader(this.strm,this.header)};Inflate.prototype.push=function(data,mode){var strm=this.strm;var chunkSize=this.options.chunkSize;var status,_mode;var next_out_utf8,tail,utf8str;if(this.ended){return false}_mode=mode===~~mode?mode:mode===true?c.Z_FINISH:c.Z_NO_FLUSH;if(typeof data==="string"){strm.input=strings.binstring2buf(data)}else{strm.input=data}strm.next_in=0;strm.avail_in=strm.input.length;do{if(strm.avail_out===0){strm.output=new utils.Buf8(chunkSize);strm.next_out=0;strm.avail_out=chunkSize}status=zlib_inflate.inflate(strm,c.Z_NO_FLUSH);if(status!==c.Z_STREAM_END&&status!==c.Z_OK){this.onEnd(status);this.ended=true;return false}if(strm.next_out){if(strm.avail_out===0||status===c.Z_STREAM_END||strm.avail_in===0&&_mode===c.Z_FINISH){if(this.options.to==="string"){next_out_utf8=strings.utf8border(strm.output,strm.next_out);tail=strm.next_out-next_out_utf8;utf8str=strings.buf2string(strm.output,next_out_utf8);strm.next_out=tail;strm.avail_out=chunkSize-tail;if(tail){utils.arraySet(strm.output,strm.output,next_out_utf8,tail,0)}this.onData(utf8str)}else{this.onData(utils.shrinkBuf(strm.output,strm.next_out))}}}}while(strm.avail_in>0&&status!==c.Z_STREAM_END);if(status===c.Z_STREAM_END){_mode=c.Z_FINISH}if(_mode===c.Z_FINISH){status=zlib_inflate.inflateEnd(this.strm);this.onEnd(status);this.ended=true;return status===c.Z_OK}return true};Inflate.prototype.onData=function(chunk){this.chunks.push(chunk)};Inflate.prototype.onEnd=function(status){if(status===c.Z_OK){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=utils.flattenChunks(this.chunks)}}this.chunks=[];this.err=status;this.msg=this.strm.msg};function inflate(input,options){var inflator=new Inflate(options);inflator.push(input,true);if(inflator.err){throw inflator.msg}return inflator.result}function inflateRaw(input,options){options=options||{};options.raw=true;return inflate(input,options)}exports.Inflate=Inflate;exports.inflate=inflate;exports.inflateRaw=inflateRaw;exports.ungzip=inflate},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(_dereq_,module,exports){"use strict";var TYPED_OK=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Int32Array!=="undefined";exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source){continue}if(typeof source!=="object"){throw new TypeError(source+"must be non-object")}for(var p in source){if(source.hasOwnProperty(p)){obj[p]=source[p]}}}return obj};exports.shrinkBuf=function(buf,size){if(buf.length===size){return buf}if(buf.subarray){return buf.subarray(0,size)}buf.length=size;return buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1}_utf8len[254]=_utf8len[254]=1;exports.string2buf=function(str){var buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos>>6;buf[i++]=128|c&63}else if(c<65536){buf[i++]=224|c>>>12;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}else{buf[i++]=240|c>>>18;buf[i++]=128|c>>>12&63;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}}return buf};function buf2binstring(buf,len){if(len<65537){if(buf.subarray&&STR_APPLY_UIA_OK||!buf.subarray&&STR_APPLY_OK){return String.fromCharCode.apply(null,utils.shrinkBuf(buf,len))}}var result="";for(var i=0;i4){utf16buf[out++]=65533;i+=c_len-1;continue}c&=c_len===2?31:c_len===3?15:7;while(c_len>1&&i1){utf16buf[out++]=65533;continue}if(c<65536){utf16buf[out++]=c}else{c-=65536;utf16buf[out++]=55296|c>>10&1023;utf16buf[out++]=56320|c&1023}}return buf2binstring(utf16buf,out)};exports.utf8border=function(buf,max){var pos;max=max||buf.length;if(max>buf.length){max=buf.length}pos=max-1;while(pos>=0&&(buf[pos]&192)===128){pos--}if(pos<0){return max}if(pos===0){return max}return pos+_utf8len[buf[pos]]>max?pos:max}},{"./common":27}],29:[function(_dereq_,module,exports){"use strict";function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2e3?2e3:len;len-=n;do{s1=s1+buf[pos++]|0;s2=s2+s1|0}while(--n);s1%=65521;s2%=65521}return s1|s2<<16|0}module.exports=adler32},{}],30:[function(_dereq_,module,exports){module.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(_dereq_,module,exports){"use strict";function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc=crc^-1;for(var i=pos;i>>8^t[(crc^buf[i])&255]}return crc^-1}module.exports=crc32},{}],32:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var trees=_dereq_("./trees");var adler32=_dereq_("./adler32");var crc32=_dereq_("./crc32");var msg=_dereq_("./messages");var Z_NO_FLUSH=0;var Z_PARTIAL_FLUSH=1;var Z_FULL_FLUSH=3;var Z_FINISH=4;var Z_BLOCK=5;var Z_OK=0;var Z_STREAM_END=1;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_BUF_ERROR=-5;var Z_DEFAULT_COMPRESSION=-1;var Z_FILTERED=1;var Z_HUFFMAN_ONLY=2;var Z_RLE=3;var Z_FIXED=4;var Z_DEFAULT_STRATEGY=0;var Z_UNKNOWN=2;var Z_DEFLATED=8;var MAX_MEM_LEVEL=9;var MAX_WBITS=15;var DEF_MEM_LEVEL=8;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var MIN_MATCH=3;var MAX_MATCH=258;var MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1;var PRESET_DICT=32;var INIT_STATE=42;var EXTRA_STATE=69;var NAME_STATE=73;var COMMENT_STATE=91;var HCRC_STATE=103;var BUSY_STATE=113;var FINISH_STATE=666;var BS_NEED_MORE=1;var BS_BLOCK_DONE=2;var BS_FINISH_STARTED=3;var BS_FINISH_DONE=4;var OS_CODE=3;function err(strm,errorCode){strm.msg=msg[errorCode];return errorCode}function rank(f){return(f<<1)-(f>4?9:0)}function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}function flush_pending(strm){var s=strm.state;var len=s.pending;if(len>strm.avail_out){len=strm.avail_out}if(len===0){return}utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out);strm.next_out+=len;s.pending_out+=len;strm.total_out+=len;strm.avail_out-=len;s.pending-=len;if(s.pending===0){s.pending_out=0}}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0?s.block_start:-1,s.strstart-s.block_start,last);s.block_start=s.strstart;flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255;s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size){len=size}if(len===0){return 0}strm.avail_in-=len;utils.arraySet(buf,strm.input,strm.next_in,len,start);if(strm.state.wrap===1){strm.adler=adler32(strm.adler,buf,len,start)}else if(strm.state.wrap===2){strm.adler=crc32(strm.adler,buf,len,start)}strm.next_in+=len;strm.total_in+=len;return len}function longest_match(s,cur_match){var chain_length=s.max_chain_length;var scan=s.strstart;var match;var len;var best_len=s.prev_length;var nice_match=s.nice_match;var limit=s.strstart>s.w_size-MIN_LOOKAHEAD?s.strstart-(s.w_size-MIN_LOOKAHEAD):0;var _win=s.window;var wmask=s.w_mask;var prev=s.prev;var strend=s.strstart+MAX_MATCH;var scan_end1=_win[scan+best_len-1];var scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match){chain_length>>=2}if(nice_match>s.lookahead){nice_match=s.lookahead}do{match=cur_match;if(_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1]){continue}scan+=2;match++;do{}while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scanbest_len){s.match_start=cur_match;best_len=len;if(len>=nice_match){break}scan_end1=_win[scan+best_len-1];scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead){return best_len}return s.lookahead}function fill_window(s){var _w_size=s.w_size;var p,n,m,more,str;do{more=s.window_size-s.lookahead-s.strstart;if(s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0);s.match_start-=_w_size;s.strstart-=_w_size;s.block_start-=_w_size;n=s.hash_size;p=n;do{m=s.head[--p];s.head[p]=m>=_w_size?m-_w_size:0}while(--n);n=_w_size;p=n;do{m=s.prev[--p];s.prev[p]=m>=_w_size?m-_w_size:0}while(--n);more+=_w_size}if(s.strm.avail_in===0){break}n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more);s.lookahead+=n;if(s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert;s.ins_h=s.window[str];s.ins_h=(s.ins_h<s.pending_buf_size-5){max_block_size=s.pending_buf_size-5}for(;;){if(s.lookahead<=1){fill_window(s);if(s.lookahead===0&&flush===Z_NO_FLUSH){return BS_NEED_MORE}if(s.lookahead===0){break}}s.strstart+=s.lookahead;s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){s.lookahead=s.strstart-max_start;s.strstart=max_start;flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.strstart>s.block_start){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head;var bflush;for(;;){if(s.lookahead=MIN_MATCH){s.ins_h=(s.ins_h<=MIN_MATCH){bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;if(s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do{s.strstart++;s.ins_h=(s.ins_h<=MIN_MATCH){s.ins_h=(s.ins_h<4096)){s.match_length=MIN_MATCH-1}}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH;bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH);s.lookahead-=s.prev_length-1;s.prev_length-=2;do{if(++s.strstart<=max_insert){s.ins_h=(s.ins_h<=MIN_MATCH&&s.strstart>0){scan=s.strstart-1;prev=_win[scan];if(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do{}while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scans.lookahead){s.match_length=s.lookahead}}}if(s.match_length>=MIN_MATCH){bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH);s.lookahead-=s.match_length;s.strstart+=s.match_length;s.match_length=0}else{bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++}if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}function deflate_huff(s,flush){ var bflush;for(;;){if(s.lookahead===0){fill_window(s);if(s.lookahead===0){if(flush===Z_NO_FLUSH){return BS_NEED_MORE}break}}s.match_length=0;bflush=trees._tr_tally(s,0,s.window[s.strstart]);s.lookahead--;s.strstart++;if(bflush){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}}s.insert=0;if(flush===Z_FINISH){flush_block_only(s,true);if(s.strm.avail_out===0){return BS_FINISH_STARTED}return BS_FINISH_DONE}if(s.last_lit){flush_block_only(s,false);if(s.strm.avail_out===0){return BS_NEED_MORE}}return BS_BLOCK_DONE}var Config=function(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length;this.max_lazy=max_lazy;this.nice_length=nice_length;this.max_chain=max_chain;this.func=func};var configuration_table;configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size;zero(s.head);s.max_lazy_match=configuration_table[s.level].max_lazy;s.good_match=configuration_table[s.level].good_length;s.nice_match=configuration_table[s.level].nice_length;s.max_chain_length=configuration_table[s.level].max_chain;s.strstart=0;s.block_start=0;s.lookahead=0;s.insert=0;s.match_length=s.prev_length=MIN_MATCH-1;s.match_available=0;s.ins_h=0}function DeflateState(){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=Z_DEFLATED;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 utils.Buf16(HEAP_SIZE*2);this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2);this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2);zero(this.dyn_ltree);zero(this.dyn_dtree);zero(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new utils.Buf16(MAX_BITS+1);this.heap=new utils.Buf16(2*L_CODES+1);zero(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new utils.Buf16(2*L_CODES+1);zero(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 deflateResetKeep(strm){var s;if(!strm||!strm.state){return err(strm,Z_STREAM_ERROR)}strm.total_in=strm.total_out=0;strm.data_type=Z_UNKNOWN;s=strm.state;s.pending=0;s.pending_out=0;if(s.wrap<0){s.wrap=-s.wrap}s.status=s.wrap?INIT_STATE:BUSY_STATE;strm.adler=s.wrap===2?0:1;s.last_flush=Z_NO_FLUSH;trees._tr_init(s);return Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK){lm_init(strm.state)}return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state){return Z_STREAM_ERROR}if(strm.state.wrap!==2){return Z_STREAM_ERROR}strm.state.gzhead=head;return Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm){return Z_STREAM_ERROR}var wrap=1;if(level===Z_DEFAULT_COMPRESSION){level=6}if(windowBits<0){wrap=0;windowBits=-windowBits}else if(windowBits>15){wrap=2;windowBits-=16}if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED){return err(strm,Z_STREAM_ERROR)}if(windowBits===8){windowBits=9}var s=new DeflateState;strm.state=s;s.strm=strm;s.wrap=wrap;s.gzhead=null;s.w_bits=windowBits;s.w_size=1<>1;s.l_buf=(1+2)*s.lit_bufsize;s.level=level;s.strategy=strategy;s.method=method;return deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s;var beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0){return strm?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR}s=strm.state;if(!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH){return err(strm,strm.avail_out===0?Z_BUF_ERROR:Z_STREAM_ERROR)}s.strm=strm;old_flush=s.last_flush;s.last_flush=flush;if(s.status===INIT_STATE){if(s.wrap===2){strm.adler=0;put_byte(s,31);put_byte(s,139);put_byte(s,8);if(!s.gzhead){put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,0);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,OS_CODE);s.status=BUSY_STATE}else{put_byte(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(!s.gzhead.extra?0:4)+(!s.gzhead.name?0:8)+(!s.gzhead.comment?0:16));put_byte(s,s.gzhead.time&255);put_byte(s,s.gzhead.time>>8&255);put_byte(s,s.gzhead.time>>16&255);put_byte(s,s.gzhead.time>>24&255);put_byte(s,s.level===9?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0);put_byte(s,s.gzhead.os&255);if(s.gzhead.extra&&s.gzhead.extra.length){put_byte(s,s.gzhead.extra.length&255);put_byte(s,s.gzhead.extra.length>>8&255)}if(s.gzhead.hcrc){strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0)}s.gzindex=0;s.status=EXTRA_STATE}}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8;var level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2){level_flags=0}else if(s.level<6){level_flags=1}else if(s.level===6){level_flags=2}else{level_flags=3}header|=level_flags<<6;if(s.strstart!==0){header|=PRESET_DICT}header+=31-header%31;s.status=BUSY_STATE;putShortMSB(s,header);if(s.strstart!==0){putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}strm.adler=1}}if(s.status===EXTRA_STATE){if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){break}}put_byte(s,s.gzhead.extra[s.gzindex]&255);s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(s.gzindex===s.gzhead.extra.length){s.gzindex=0;s.status=NAME_STATE}}else{s.status=NAME_STATE}}if(s.status===NAME_STATE){if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.gzindex=0;s.status=COMMENT_STATE}}else{s.status=COMMENT_STATE}}if(s.status===COMMENT_STATE){if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}flush_pending(strm);beg=s.pending;if(s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg){strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg)}if(val===0){s.status=HCRC_STATE}}else{s.status=HCRC_STATE}}if(s.status===HCRC_STATE){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size){flush_pending(strm)}if(s.pending+2<=s.pending_buf_size){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);strm.adler=0;s.status=BUSY_STATE}}else{s.status=BUSY_STATE}}if(s.pending!==0){flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH){return err(strm,Z_BUF_ERROR)}if(s.status===FINISH_STATE&&strm.avail_in!==0){return err(strm,Z_BUF_ERROR)}if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY?deflate_huff(s,flush):s.strategy===Z_RLE?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE){s.status=FINISH_STATE}if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0){s.last_flush=-1}return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH){trees._tr_align(s)}else if(flush!==Z_BLOCK){trees._tr_stored_block(s,0,0,false);if(flush===Z_FULL_FLUSH){zero(s.head);if(s.lookahead===0){s.strstart=0;s.block_start=0;s.insert=0}}}flush_pending(strm);if(strm.avail_out===0){s.last_flush=-1;return Z_OK}}}if(flush!==Z_FINISH){return Z_OK}if(s.wrap<=0){return Z_STREAM_END}if(s.wrap===2){put_byte(s,strm.adler&255);put_byte(s,strm.adler>>8&255);put_byte(s,strm.adler>>16&255);put_byte(s,strm.adler>>24&255);put_byte(s,strm.total_in&255);put_byte(s,strm.total_in>>8&255);put_byte(s,strm.total_in>>16&255);put_byte(s,strm.total_in>>24&255)}else{putShortMSB(s,strm.adler>>>16);putShortMSB(s,strm.adler&65535)}flush_pending(strm);if(s.wrap>0){s.wrap=-s.wrap}return s.pending!==0?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state){return Z_STREAM_ERROR}status=strm.state.status;if(status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE){return err(strm,Z_STREAM_ERROR)}strm.state=null;return status===BUSY_STATE?err(strm,Z_DATA_ERROR):Z_OK}exports.deflateInit=deflateInit;exports.deflateInit2=deflateInit2;exports.deflateReset=deflateReset;exports.deflateResetKeep=deflateResetKeep;exports.deflateSetHeader=deflateSetHeader;exports.deflate=deflate;exports.deflateEnd=deflateEnd;exports.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(_dereq_,module,exports){"use strict";function GZheader(){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}module.exports=GZheader},{}],34:[function(_dereq_,module,exports){"use strict";var BAD=30;var TYPE=12;module.exports=function inflate_fast(strm,start){var state;var _in;var last;var _out;var beg;var end;var dmax;var wsize;var whave;var wnext;var window;var hold;var bits;var lcode;var dcode;var lmask;var dmask;var here;var op;var len;var dist;var from;var from_source;var input,output;state=strm.state;_in=strm.next_in;input=strm.input;last=_in+(strm.avail_in-5);_out=strm.next_out;output=strm.output;beg=_out-(start-strm.avail_out);end=_out+(strm.avail_out-257);dmax=state.dmax;wsize=state.wsize;whave=state.whave;wnext=state.wnext;window=state.window;hold=state.hold;bits=state.bits;lcode=state.lencode;dcode=state.distcode;lmask=(1<>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op===0){output[_out++]=here&65535}else if(op&16){len=here&65535;op&=15;if(op){if(bits>>=op;bits-=op}if(bits<15){hold+=input[_in++]<>>24;hold>>>=op;bits-=op;op=here>>>16&255;if(op&16){dist=here&65535;op&=15;if(bitsdmax){strm.msg="invalid distance too far back";state.mode=BAD;break top}hold>>>=op;bits-=op;op=_out-beg;if(dist>op){op=dist-op;if(op>whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break top}}from=0;from_source=window;if(wnext===0){from+=wsize-op;if(op2){output[_out++]=from_source[from++];output[_out++]=from_source[from++];output[_out++]=from_source[from++];len-=3}if(len){output[_out++]=from_source[from++];if(len>1){output[_out++]=from_source[from++]}}}else{from=_out-dist;do{output[_out++]=output[from++];output[_out++]=output[from++];output[_out++]=output[from++];len-=3}while(len>2);if(len){output[_out++]=output[from++];if(len>1){output[_out++]=output[from++]}}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<>3;_in-=len;bits-=len<<3;hold&=(1<>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){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 utils.Buf16(320);this.work=new utils.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;strm.total_in=strm.total_out=state.total=0;strm.msg="";if(state.wrap){strm.adler=state.wrap&1}state.mode=HEAD;state.last=0;state.havedict=0;state.dmax=32768;state.head=null;state.hold=0;state.bits=0;state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS);state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS);state.sane=1;state.back=-1;return Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;state.wsize=0;state.whave=0;state.wnext=0;return inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap;var state;if(!strm||!strm.state){return Z_STREAM_ERROR}state=strm.state;if(windowBits<0){wrap=0;windowBits=-windowBits}else{wrap=(windowBits>>4)+1;if(windowBits<48){windowBits&=15}}if(windowBits&&(windowBits<8||windowBits>15)){return Z_STREAM_ERROR}if(state.window!==null&&state.wbits!==windowBits){state.window=null}state.wrap=wrap;state.wbits=windowBits;return inflateReset(strm)}function inflateInit2(strm,windowBits){var ret;var state;if(!strm){return Z_STREAM_ERROR}state=new InflateState;strm.state=state;state.window=null;ret=inflateReset2(strm,windowBits);if(ret!==Z_OK){strm.state=null}return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=true;var lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512);distfix=new utils.Buf32(32);sym=0;while(sym<144){state.lens[sym++]=8}while(sym<256){state.lens[sym++]=9}while(sym<280){state.lens[sym++]=7}while(sym<288){state.lens[sym++]=8}inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9});sym=0;while(sym<32){state.lens[sym++]=5}inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5});virgin=false}state.lencode=lenfix;state.lenbits=9;state.distcode=distfix;state.distbits=5}function updatewindow(strm,src,end,copy){var dist;var state=strm.state;if(state.window===null){state.wsize=1<=state.wsize){utils.arraySet(state.window,src,end-state.wsize,state.wsize,0);state.wnext=0;state.whave=state.wsize}else{dist=state.wsize-state.wnext;if(dist>copy){dist=copy}utils.arraySet(state.window,src,end-copy,dist,state.wnext);copy-=dist;if(copy){utils.arraySet(state.window,src,end-copy,copy,0);state.wnext=copy;state.whave=state.wsize}else{state.wnext+=dist;if(state.wnext===state.wsize){state.wnext=0}if(state.whave>>8&255;state.check=crc32(state.check,hbuf,2,0);hold=0;bits=0;state.mode=FLAGS;break}state.flags=0;if(state.head){state.head.done=false}if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg="incorrect header check";state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg="unknown compression method";state.mode=BAD;break}hold>>>=4;bits-=4;len=(hold&15)+8;if(state.wbits===0){state.wbits=len}else if(len>state.wbits){strm.msg="invalid window size";state.mode=BAD;break}state.dmax=1<>8&1}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=TIME;case TIME:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>8&255;hbuf[2]=hold>>>16&255;hbuf[3]=hold>>>24&255;state.check=crc32(state.check,hbuf,4,0)}hold=0;bits=0;state.mode=OS;case OS:while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<>8}if(state.flags&512){hbuf[0]=hold&255;hbuf[1]=hold>>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0;state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0){break inf_leave}have--;hold+=input[next++]<>>8&255;state.check=crc32(state.check,hbuf,2,0)}hold=0;bits=0}else if(state.head){state.head.extra=null}state.mode=EXTRA;case EXTRA:if(state.flags&1024){copy=state.length;if(copy>have){copy=have}if(copy){if(state.head){len=state.head.extra_len-state.length;if(!state.head.extra){state.head.extra=new Array(state.head.extra_len)}utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512){state.check=crc32(state.check,input,copy,next)}have-=copy;next+=copy;state.length-=copy}if(state.length){break inf_leave}}state.length=0;state.mode=NAME;case NAME:if(state.flags&2048){if(have===0){break inf_leave}copy=0;do{len=input[next+copy++];if(state.head&&len&&state.length<65536){state.head.name+=String.fromCharCode(len)}}while(len&©>9&1;state.head.done=true}strm.adler=state.check=0;state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=bits&7;bits-=bits&7;state.mode=CHECK;break}while(bits<3){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=1;bits-=1;switch(hold&3){case 0:state.mode=STORED;break;case 1:fixedtables(state);state.mode=LEN_;if(flush===Z_TREES){hold>>>=2;bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg="invalid block type";state.mode=BAD}hold>>>=2;bits-=2;break;case STORED:hold>>>=bits&7;bits-=bits&7;while(bits<32){if(have===0){break inf_leave}have--;hold+=input[next++]<>>16^65535)){strm.msg="invalid stored block lengths";state.mode=BAD;break}state.length=hold&65535;hold=0;bits=0;state.mode=COPY_;if(flush===Z_TREES){break inf_leave}case COPY_:state.mode=COPY;case COPY:copy=state.length;if(copy){if(copy>have){copy=have}if(copy>left){copy=left}if(copy===0){break inf_leave}utils.arraySet(output,input,next,copy,put);have-=copy;next+=copy;left-=copy;put+=copy;state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0){break inf_leave}have--;hold+=input[next++]<>>=5;bits-=5;state.ndist=(hold&31)+1;hold>>>=5;bits-=5;state.ncode=(hold&15)+4;hold>>>=4;bits-=4;if(state.nlen>286||state.ndist>30){strm.msg="too many length or distance symbols";state.mode=BAD;break}state.have=0;state.mode=LENLENS;case LENLENS:while(state.have>>=3;bits-=3}while(state.have<19){state.lens[order[state.have++]]=0}state.lencode=state.lendyn;state.lenbits=7;opts={bits:state.lenbits};ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid code lengths set";state.mode=BAD;break}state.have=0;state.mode=CODELENS;case CODELENS:while(state.have>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=here_bits;bits-=here_bits;state.lens[state.have++]=here_val}else{if(here_val===16){n=here_bits+2;while(bits>>=here_bits;bits-=here_bits;if(state.have===0){strm.msg="invalid bit length repeat";state.mode=BAD;break}len=state.lens[state.have-1];copy=3+(hold&3);hold>>>=2;bits-=2}else if(here_val===17){n=here_bits+3;while(bits>>=here_bits;bits-=here_bits;len=0;copy=3+(hold&7);hold>>>=3;bits-=3}else{n=here_bits+7;while(bits>>=here_bits;bits-=here_bits;len=0;copy=11+(hold&127);hold>>>=7;bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg="invalid bit length repeat";state.mode=BAD;break}while(copy--){state.lens[state.have++]=len}}}if(state.mode===BAD){break}if(state.lens[256]===0){strm.msg="invalid code -- missing end-of-block";state.mode=BAD;break}state.lenbits=9;opts={bits:state.lenbits};ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts);state.lenbits=opts.bits;if(ret){strm.msg="invalid literal/lengths set";state.mode=BAD;break}state.distbits=6;state.distcode=state.distdyn;opts={bits:state.distbits};ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts);state.distbits=opts.bits;if(ret){strm.msg="invalid distances set";state.mode=BAD;break}state.mode=LEN_;if(flush===Z_TREES){break inf_leave}case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){strm.next_out=put;strm.avail_out=left;strm.next_in=next;strm.avail_in=have;state.hold=hold;state.bits=bits;inflate_fast(strm,_out);put=strm.next_out;output=strm.output;left=strm.avail_out;next=strm.next_in;input=strm.input;have=strm.avail_in;hold=state.hold;bits=state.bits;if(state.mode===TYPE){state.back=-1}break}state.back=0;for(;;){here=state.lencode[hold&(1<>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;state.length=here_val;if(here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1;state.mode=TYPE;break}if(here_op&64){strm.msg="invalid literal/length code";state.mode=BAD;break}state.extra=here_op&15;state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits>>=state.extra;bits-=state.extra;state.back+=state.extra}state.was=state.length;state.mode=DIST;case DIST:for(;;){here=state.distcode[hold&(1<>>24;here_op=here>>>16&255;here_val=here&65535;if(here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>last_bits)];here_bits=here>>>24;here_op=here>>>16&255;here_val=here&65535;if(last_bits+here_bits<=bits){break}if(have===0){break inf_leave}have--;hold+=input[next++]<>>=last_bits;bits-=last_bits;state.back+=last_bits}hold>>>=here_bits;bits-=here_bits;state.back+=here_bits;if(here_op&64){strm.msg="invalid distance code";state.mode=BAD;break}state.offset=here_val;state.extra=here_op&15;state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits>>=state.extra;bits-=state.extra;state.back+=state.extra}if(state.offset>state.dmax){strm.msg="invalid distance too far back";state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0){break inf_leave}copy=_out-left;if(state.offset>copy){copy=state.offset-copy;if(copy>state.whave){if(state.sane){strm.msg="invalid distance too far back";state.mode=BAD;break}}if(copy>state.wnext){copy-=state.wnext;from=state.wsize-copy}else{from=state.wnext-copy}if(copy>state.length){copy=state.length}from_source=state.window}else{from_source=output;from=put-state.offset;copy=state.length}if(copy>left){copy=left}left-=copy;state.length-=copy;do{output[put++]=from_source[from++]}while(--copy);if(state.length===0){state.mode=LEN}break;case LIT:if(left===0){break inf_leave}output[put++]=state.length;left--;state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0){break inf_leave}have--;hold|=input[next++]<=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":27}],37:[function(_dereq_,module,exports){"use strict";module.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(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var extra_lbits=[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 extra_dbits=[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 extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":27}],39:[function(_dereq_,module,exports){"use strict";function ZStream(){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}module.exports=ZStream},{}]},{},[9])(9)});var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.3";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["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 frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return sign+(base===0?"":""+base)+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad_(myn,r[1].length)+r[2]+"/"+r[3]+pad0(myd,r[4].length))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,"."); -}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";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){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}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];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdatastr(data){if(!data)return null;if(data.data)return debom_xml(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));return null}function getdatabin(data){if(!data)return null;if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent());return null}function getdata(data){return data&&data.name.substr(data.name.length-4)===".bin"?getdatabin(data):getdatastr(data)}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}function getzipstr(zip,file,safe){if(!safe)return getdatastr(getzipfile(zip,file));if(!file)return null;try{return getzipstr(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={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"};XMLNS.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"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8; -return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}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")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={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 XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([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]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"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.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+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":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","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.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":"TODO","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",sheet:"js"};var CT_LIST=function(){var o={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",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["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"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(cp.CreatedDate!=null)cp_doit("dcterms:created",typeof cp.CreatedDate==="string"?cp.CreatedDate:write_w3cdtf(cp.CreatedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);if(cp.ModifiedDate!=null)cp_doit("dcterms:modified",typeof cp.ModifiedDate==="string"?cp.ModifiedDate:write_w3cdtf(cp.ModifiedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["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"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){ -FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function parse_LongRGBA(blob,length){var r=blob.read_shift(1),g=blob.read_shift(1),b=blob.read_shift(1),a=blob.read_shift(1);return[r,g,b,a]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){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);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var cell=parse_XLSCell(blob,6);var str=parse_XLUnicodeString(blob,length-6,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length){var w=length===10?2:4;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l+=2;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){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]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(2);blob.l+=2;var itab=blob.read_shift(2);blob.l+=4;var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var rgce=parse_NameParsedFormula(blob,target-blob.l,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);blob.l+=6;length-=12;return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop;var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}var CS2CP={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 parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=x;z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(x)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i],opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16); -return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[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 Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[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(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements");m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;if($4.length>0)C+=rcbase.c;if($2.length>0)R+=rcbase.r;return $1+encode_col(C)+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2); -var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceLoc(blob,length){var r=blob.read_shift(2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLocRel(blob,length){var r=blob.read_shift(2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(cRel!==0)while(cl>=256)cl-=256;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,8);return[type,area]}function parse_PtgArea3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var area=parse_RgceArea(blob,8);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);blob.l+=8;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length){blob.l+=2;var offset=blob.read_shift(2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(2));return o}function parse_PtgAttrGoto(blob,length){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(2)]}function parse_PtgAttrIf(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,4);return[type,loc]}function parse_PtgRefN(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,4);return[type,loc]}function parse_PtgRef3d(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,4);return[type,ixti,loc]}function parse_PtgFunc(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(2);return[FtabArgc[iftab],Ftab[iftab]]}function parse_PtgFuncVar(blob,length){blob.l++;var cparams=blob.read_shift(1),tab=parsetab(blob);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}var parse_PtgAttrSum=parseread(4);var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length){blob.l++;var row=blob.read_shift(2);var col=blob.read_shift(2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length){blob.l++;return parse_ShortXLUnicodeString(blob)}function parse_SerAr(blob){var val=[];switch(val[0]=blob.read_shift(1)){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString(blob);break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob){var cols=1+blob.read_shift(1);var rows=1+blob.read_shift(2);for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob);return o}function parse_PtgName(blob,length){var type=blob.read_shift(1)>>>5&3;var nameindex=blob.read_shift(4);return[type,0,nameindex]}function parse_PtgNameX(blob,length){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgMemFunc(blob,length){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgRefErr(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={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 y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},255:{}};function parse_Formula(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf="";if(opts.biff<5)blob.l+=length-16;else if(opts.biff===5)blob.l+=length-20;else cbf=parse_XLSCellParsedFormula(blob,length-20,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){if(opts.biff<8)return parsenoop(blob,length);var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,length-cce-2,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_Rgce(blob,length){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length)])}}return ptgs}function mapper(x){return x.map(function f2(y){return y[1]}).join(",")}function stringify_formula(formula,range,cell,supbooks,opts){if(opts!==undefined&&opts.biff===5)return"BIFF5??";var _range=range!==undefined?range:{s:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r;if(!formula[0]||!formula[0][0])return"";for(var ff=0,fflen=formula[0].length;ff="+e1);break;case"PtgGt":e1=stack.pop();e2=stack.pop();stack.push(e2+">"+e1);break;case"PtgNe":e1=stack.pop();e2=stack.pop();stack.push(e2+"<>"+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),_range);stack.push(encode_cell(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),cell);stack.push(encode_cell(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range);stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];stack.push(supbooks[1][ixti+1]+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl.Name;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx];if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":stack.push("("+stack.pop()+")");break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts))}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+f[1].map(mapper).join(";")+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}}return stack[0]}function parse_XLSBCellParsedFormula(data,length){var cce=data.read_shift(4);return parsenoop(data,length-4)}var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={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 Ftab={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"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,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,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,86:1,90:1,97:2,98:1,99:1,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,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,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,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,65535:0};var XLSXFutureFunctions={"_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.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.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.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_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.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.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.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"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!=null&&cref[1]!=="")p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,Record){if(end)return;switch(Record.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels);return parse_ws_xml(data,opts,rels)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior); -if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":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(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[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":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}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"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[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:seen=false}break;case"ComponentOptions":switch(Rn[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:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){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"Date1904":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:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":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:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[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:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[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:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[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:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[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:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;if(last_formula)shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":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"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":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":{}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"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":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.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"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":break;case"Dimension":break;case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion", -f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter", -f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimension",f:parsenoop},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; +exports.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var MAXBITS=15;var ENOUGH_LENS=852;var ENOUGH_DISTS=592;var CODES=0;var LENS=1;var DISTS=2;var lbase=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0];var lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78];var dbase=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0];var dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits;var len=0;var sym=0;var min=0,max=0;var root=0;var curr=0;var drop=0;var left=0;var used=0;var huff=0;var incr;var fill;var low;var mask;var next;var base=null;var base_index=0;var end;var count=new utils.Buf16(MAXBITS+1);var offs=new utils.Buf16(MAXBITS+1);var extra=null;var extra_index=0;var here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++){count[len]=0}for(sym=0;sym=1;max--){if(count[max]!==0){break}}if(root>max){root=max}if(max===0){table[table_index++]=1<<24|64<<16|0;table[table_index++]=1<<24|64<<16|0;opts.bits=1;return 0}for(min=1;min0&&(type===CODES||max!==1)){return-1}offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}var i=0;for(;;){i++;here_bits=len-drop;if(work[sym]end){here_op=extra[extra_index+work[sym]];here_val=base[base_index+work[sym]]}else{here_op=32+64;here_val=0}incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0}while(fill!==0);incr=1<>=1}if(incr!==0){huff&=incr-1;huff+=incr}else{huff=0}sym++;if(--count[len]===0){if(len===max){break}len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0){drop=root}next+=min;curr=len-drop;left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS){return 1}low=huff&mask;table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0){table[next+huff]=len-drop<<24|64<<16|0}opts.bits=root;return 0}},{"../utils/common":27}],37:[function(_dereq_,module,exports){"use strict";module.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(_dereq_,module,exports){"use strict";var utils=_dereq_("../utils/common");var Z_FIXED=4;var Z_BINARY=0;var Z_TEXT=1;var Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0){buf[len]=0}}var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=LITERALS+1+LENGTH_CODES;var D_CODES=30;var BL_CODES=19;var HEAP_SIZE=2*L_CODES+1;var MAX_BITS=15;var Buf_size=16;var MAX_BL_BITS=7;var END_BLOCK=256;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var extra_lbits=[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 extra_dbits=[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 extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var DIST_CODE_LEN=512;var static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);var StaticTreeDesc=function(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree;this.extra_bits=extra_bits;this.extra_base=extra_base;this.elems=elems;this.max_length=max_length;this.has_stree=static_tree&&static_tree.length};var static_l_desc;var static_d_desc;var static_bl_desc;var TreeDesc=function(dyn_tree,stat_desc){this.dyn_tree=dyn_tree;this.max_code=0;this.stat_desc=stat_desc};function d_code(dist){return dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255;s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length){s.bi_buf|=value<>Buf_size-s.bi_valid;s.bi_valid+=length-Buf_size}else{s.bi_buf|=value<>>=1;res<<=1}while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16){put_short(s,s.bi_buf);s.bi_buf=0;s.bi_valid=0}else if(s.bi_valid>=8){s.pending_buf[s.pending++]=s.bi_buf&255;s.bi_buf>>=8;s.bi_valid-=8}}function gen_bitlen(s,desc){var tree=desc.dyn_tree;var max_code=desc.max_code;var stree=desc.stat_desc.static_tree;var has_stree=desc.stat_desc.has_stree;var extra=desc.stat_desc.extra_bits;var base=desc.stat_desc.extra_base;var max_length=desc.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(has_stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>max_code){continue}if(tree[m*2+1]!==bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1);var code=0;var bits;var n;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=code+bl_count[bits-1]<<1}for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n;var bits;var length;var code;var dist;var bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8){put_short(s,s.bi_buf)}else if(s.bi_valid>0){s.pending_buf[s.pending++]=s.bi_buf}s.bi_buf=0;s.bi_valid=0}function copy_block(s,buf,len,header){bi_windup(s);if(header){put_short(s,len);put_short(s,~len)}utils.arraySet(s.pending_buf,s.window,buf,len,s.pending);s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2;var _m2=m*2;return tree[_n2]>1;n>=1;n--){pqdownheap(s,tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];pqdownheap(s,tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=tree[n*2]+tree[m*2];s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s,desc);gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count=3;max_blindex--){if(s.bl_tree[bl_order[max_blindex]*2+1]!==0){break}}s.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5);send_bits(s,dcodes-1,5);send_bits(s,blcodes-4,4);for(rank=0;rank>>=1){if(black_mask&1&&s.dyn_ltree[n*2]!==0){return Z_BINARY}}if(s.dyn_ltree[9*2]!==0||s.dyn_ltree[10*2]!==0||s.dyn_ltree[13*2]!==0){return Z_TEXT}for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN){s.strm.data_type=detect_data_type(s)}build_tree(s,s.l_desc);build_tree(s,s.d_desc);max_blindex=build_bl_tree(s);opt_lenb=s.opt_len+3+7>>>3;static_lenb=s.static_len+3+7>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if(stored_len+4<=opt_lenb&&buf!==-1){_tr_stored_block(s,buf,stored_len,last)}else if(s.strategy===Z_FIXED||static_lenb===opt_lenb){send_bits(s,(STATIC_TREES<<1)+(last?1:0),3);compress_block(s,static_ltree,static_dtree)}else{send_bits(s,(DYN_TREES<<1)+(last?1:0),3);send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1);compress_block(s,s.dyn_ltree,s.dyn_dtree)}init_block(s);if(last){bi_windup(s)}}function _tr_tally(s,dist,lc){s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255;s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255;s.pending_buf[s.l_buf+s.last_lit]=lc&255;s.last_lit++;if(dist===0){s.dyn_ltree[lc*2]++}else{s.matches++;dist--;s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++;s.dyn_dtree[d_code(dist)*2]++}return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init;exports._tr_stored_block=_tr_stored_block;exports._tr_flush_block=_tr_flush_block;exports._tr_tally=_tr_tally;exports._tr_align=_tr_align},{"../utils/common":27}],39:[function(_dereq_,module,exports){"use strict";function ZStream(){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}module.exports=ZStream},{}]},{},[9])(9)});var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.4";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["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 frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return sign+(base===0?"":""+base)+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad_(myn,r[1].length)+r[2]+"/"+r[3]+pad0(myd,r[4].length))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,"."); +}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";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){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}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];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function dup(o){if(typeof JSON!="undefined")return JSON.parse(JSON.stringify(o));if(typeof o!="object"||!o)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function fill(c,l){var o="";while(o.length]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("<(?:vt:)?"+bt+">(.*?)","g")}}();var vtvregex=/<\/?(:?vt:)?variant>/g,vtmregex=/<(:?vt:)?([^>]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={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"};XMLNS.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"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"wstr":o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));size=2*size;break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join(""); +break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt,opts){var out=dup(cell);if(tgt.s){if(out.cRel)out.c+=tgt.s.c;if(out.rRel)out.r+=tgt.s.r}else{out.c+=tgt.c;out.r+=tgt.r}if(!opts||opts.biff<12){while(out.c>=256)out.c-=256;while(out.r>=65536)out.r-=65536}return out}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}function encode_cell_xls(c){var s=encode_cell(c);if(c.cRel===0)s=fix_col(s);if(c.rRel===0)s=fix_row(s);return s}function encode_range_xls(r){return encode_cell_xls(r.s)+":"+encode_cell_xls(r.e)}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_XLNameWideString=parse_XLWideString;var write_XLNameWideString=write_XLWideString;var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_RfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);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);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}var parse_UncheckedRfX=parse_RfX;var write_UncheckedRfX=write_RfX;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")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={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 XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([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]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"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.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","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":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","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.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":"TODO","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",sheet:"js"};var CT_LIST=function(){var o={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",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["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"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(cp.CreatedDate!=null)cp_doit("dcterms:created",typeof cp.CreatedDate==="string"?cp.CreatedDate:write_w3cdtf(cp.CreatedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);if(cp.ModifiedDate!=null)cp_doit("dcterms:modified",typeof cp.ModifiedDate==="string"?cp.ModifiedDate:write_w3cdtf(cp.ModifiedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["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"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4; +val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=12?2:1);var width=1,encoding="sbcs-cont";var cp=current_codepage;if(opts&&opts.biff>=8)current_codepage=1200;if(!opts||opts.biff==8){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}else if(opts.biff==12){width=2;encoding="wstr"}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;if(opts){if(opts.biff>=2&&opts.biff<=5)return blob.read_shift(cch,"sbcs-cont");if(opts.biff>=12)return blob.read_shift(cch,"dbcs-cont")}var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts&&opts.biff==2?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function parse_LongRGBA(blob,length){var r=blob.read_shift(1),g=blob.read_shift(1),b=blob.read_shift(1),a=blob.read_shift(1);return[r,g,b,a]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length,opts){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length,opts);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){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);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var target=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)blob.l++;var str=parse_XLUnicodeString(blob,target-blob.l,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length,opts){var end=blob.l+length;var w=opts.biff==8||!opts.biff?4:2;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l=end;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){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]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2,opts);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(opts&&opts.biff==2?1:2);if(!opts||opts.biff>=5){blob.l+=2;var itab=blob.read_shift(2);blob.l+=4}var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var npflen=target-blob.l;if(opts&&opts.biff==2)--npflen;var rgce=target==blob.l||cce==0?[]:parse_NameParsedFormula(blob,npflen,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);switch(opts.biff){case 2:blob.l++;length-=7;break;case 3:case 4:blob.l+=2;length-=8;break;default:blob.l+=6;length-=12}return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop;var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.t="str";cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.t="n";cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.t="n";cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}function parse_RString(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);var cch=blob.read_shift(2);var str=parse_XLUnicodeStringNoCch(blob,cch,opts);blob.l=end;cell.t="str";cell.val=str;return cell}var CS2CP={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 parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=utf8read(x);if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=utf8read(x);z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(z.r)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i].trim(),opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16);return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[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 Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[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(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements");m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s); +data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;var cRel=false,rRel=false;if($4.length>0||$5.length==0)cRel=true;if(cRel)C+=rcbase.c;else--C;if($2.length>0||$3.length==0)rRel=true;if(rRel)R+=rcbase.r;else--R;return $1+(cRel?"":"$")+encode_col(C)+(rRel?"":"$")+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function shift_formula_str(f,delta){return f.replace(/(^|[^A-Z0-9])([$]?)([A-Z]+)([$]?)(\d+)/g,function($0,$1,$2,$3,$4,$5,off,str){return $1+($2=="$"?$2+$3:encode_col(decode_col($3)+delta.c))+($4=="$"?$4+$5:encode_row(decode_row($5)+delta.r))})}function shift_formula_xlsx(f,range,cell){var r=decode_range(range),s=r.s,c=decode_cell(cell);var delta={r:c.r-s.r,c:c.c-s.c};return shift_formula_str(f,delta)}function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(length==1?1:2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length,opts){var w=2;if(opts){if(opts.biff>=2&&opts.biff<=5)return parse_RgceArea_BIFF2(blob,length,opts);else if(opts.biff==12)w=4}var r=blob.read_shift(w),R=blob.read_shift(w);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceArea_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2),R=parse_ColRelU(blob,2);var c=blob.read_shift(1);var C=blob.read_shift(1);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]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}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);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLoc_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2);var c=blob.read_shift(1);return{r:r[0],c:c,cRel:r[1],rRel:r[2]}}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);var r=blob.read_shift(biff>=12?4:2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(rRel==1)while(r>524287)r-=1048576;if(cRel==1)while(cl>8191)cl=cl-16384;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_RgceLocRel_BIFF2(blob,length){var rl=blob.read_shift(2);var c=blob.read_shift(1);var rRel=(rl&32768)>>15,cRel=(rl&16384)>>14;rl&=16383;if(rRel==1&&rl>=8192)rl=rl-16384;if(cRel==1&&c>=128)c=c-256;return{r:rl,c:c,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,opts.biff>=2&&opts.biff<=5?6:8,opts);return[type,area]}function parse_PtgArea3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2,"i");var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}var area=parse_RgceArea(blob,w,opts);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}blob.l+=w;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts.biff==2?6:opts.biff==12?14:7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length,opts){blob.l+=2;var offset=blob.read_shift(opts&&opts.biff==2?1:2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(opts&&opts.biff==2?1:2));return o}function parse_PtgAttrGoto(blob,length,opts){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIf(blob,length,opts){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIfError(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length,opts){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=opts&&opts.biff==2?3:4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,0,opts);return[type,loc]}function parse_PtgRefN(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,0,opts);return[type,loc]}function parse_PtgRef3d(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,0,opts);return[type,ixti,loc]}function parse_PtgFunc(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(opts&&opts.biff<=3?1:2);return[FtabArgc[iftab],Ftab[iftab],type]}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);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}function parse_PtgAttrSum(blob,length,opts){blob.l+=opts&&opts.biff==2?3:4;return}var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length,opts){blob.l++;if(opts&&opts.biff==12)return[blob.read_shift(4,"i"),0];var row=blob.read_shift(2);var col=blob.read_shift(opts&&opts.biff==2?1:2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length,opts){blob.l++;return parse_ShortXLUnicodeString(blob,length-1,opts)}function parse_SerAr(blob,biff){var val=[blob.read_shift(1)];if(biff==12)switch(val[0]){case 2:val[0]=4;break;case 4:val[0]=16;break;case 0:val[0]=1;break;case 1:val[0]=2;break}switch(val[0]){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString2(blob,0,{biff:biff>0&&biff<8?2:biff});break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob,length,opts){var rows=0,cols=0;if(opts.biff==12){rows=blob.read_shift(4);cols=blob.read_shift(4)}else{cols=1+blob.read_shift(1);rows=1+blob.read_shift(2)}if(opts.biff>=2&&opts.biff<8){--rows;if(--cols==0)cols=256}for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob,opts.biff);return o}function parse_PtgName(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var w=!opts||opts.biff>=8?4:2;var nameindex=blob.read_shift(w);switch(opts.biff){case 2:blob.l+=5;break;case 3:case 4:blob.l+=8;break;case 5:blob.l+=12;break}return[type,0,nameindex]}function parse_PtgNameX(blob,length,opts){if(opts.biff==5)return parse_PtgNameX_BIFF5(blob,length,opts);var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgNameX_BIFF5(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2,"i");blob.l+=8;var nameindex=blob.read_shift(2);blob.l+=12;return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=opts&&opts.biff==2?3:4;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgMemFunc(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgRefErr(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=4;if(opts.biff==12)blob.l+=2;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={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 y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},128:{n:"PtgAttrIfError",f:parse_PtgAttrIfError},255:{}};function parse_Formula(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf=parse_XLSCellParsedFormula(blob,end-blob.l,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob,0,opts);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;case"PtgExp":if(opts&&opts.biff==12){rgce[i][1][1]=blob.read_shift(4);o.push(rgce[i][1])}break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce,opts);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce,opts);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);return[rgce,rgcb]}var gcnt=0;function parse_Rgce(blob,length,opts){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length,opts)])}}return ptgs}function stringify_array(f){var o=[];for(var i=0;i=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function stringify_formula(formula,range,cell,supbooks,opts){var _range={s:{c:0,r:0},e:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r,sname="";if(!formula[0]||!formula[0][0])return"";var last_sp=-1,sp="";for(var ff=0,fflen=formula[0].length;ff=0){switch(formula[0][last_sp][1][0]){case 0:sp=fill(" ",formula[0][last_sp][1][1]);break;case 1:sp=fill("\r",formula[0][last_sp][1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgSpace type "+formula[0][last_sp][1][0])}e2=e2+sp;last_sp=-1}stack.push(e2+PtgBinOp[f[0]]+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":e1=stack.pop();e2=stack.pop();stack.push(e2+":"+e1);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(f[1][1],_range,opts);stack.push(encode_cell_xls(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(f[1][1],cell,opts);stack.push(encode_cell_xls(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range,opts);sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=argc==0?[]:stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range_xls(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl?lbl.Name:"**MISSING**"+nameidx;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(opts.biff==5){if(bookidx<0)bookidx=-bookidx;if(supbooks[bookidx])externbook=supbooks[bookidx][nameidx]}else{if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx]}if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":var lp="(",rp=")";if(last_sp>=0){sp="";switch(formula[0][last_sp][1][0]){case 2:lp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 3:lp=fill("\r",formula[0][last_sp][1][1])+lp;break;case 4:rp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+lp;break;default:if(opts.WTF)throw new Error("Unexpected PtgSpace type "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts));fnd=true;break}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+stringify_array(f[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":last_sp=ff;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];switch(f[1][0]){case 0:sp=fill(" ",f[1][1]);break;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgSpace type "+f[1][0])}stack.push(sp+stack.pop());last_sp=-1}}if(stack.length>1&&opts.WTF)throw new Error("bad formula stack");return stack[0]}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);var rgcb=cb>0?parse_RgbExtra(data,cb,rgce,opts):null;return[rgce,rgcb]}var parse_XLSBArrayParsedFormula=parse_XLSBParsedFormula;var parse_XLSBCellParsedFormula=parse_XLSBParsedFormula;var parse_XLSBNameParsedFormula=parse_XLSBParsedFormula;var parse_XLSBSharedParsedFormula=parse_XLSBParsedFormula;var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={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 Ftab={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:"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 FtabArgc={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,416:1,449:2,450:2,65535:0};var XLSXFutureFunctions={"_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.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.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.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_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.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.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.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"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var refregex=/ref=["']([^"']*)["']/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr,ftag;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;var arrayf=[];var sharedf=[];for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula){if((cref=d.match(match_f))!=null&&cref[1]!==""){p.f=unescapexml(utf8read(cref[1]));if(cref[0].indexOf('t="array"')>-1){p.F=(d.match(refregex)||[])[1];if(p.F.indexOf(":")>-1)arrayf.push([safe_decode_range(p.F),p.F])}else if(cref[0].indexOf('t="shared"')>-1){ftag=parsexmltag(cref[0]);sharedf[parseInt(ftag.si,10)]=[ftag,unescapexml(utf8read(cref[1]))]}}else if(cref=d.match(/]*\/>/)){ftag=parsexmltag(cref[0]);if(sharedf[ftag.si])p.f=shift_formula_xlsx(sharedf[ftag.si][1],sharedf[ftag.si][0].ref,tag.r)}var _tag=decode_cell(tag.r);for(i=0;i=arrayf[i][0].s.r&&_tag.r<=arrayf[i][0].e.r)if(_tag.c>=arrayf[i][0].s.c&&_tag.c<=arrayf[i][0].e.c)p.F=arrayf[i][1]}if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaError(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaNum(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaString(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_BrtArrFmla(data,length,opts){var end=data.l+length;var rfx=parse_RfX(data,16);var fAlwaysCalc=data.read_shift(1);var o=[rfx,null,fAlwaysCalc];if(opts.cellFormula){var formula=parse_XLSBArrayParsedFormula(data,end-data.l,opts);o[1]=formula}else data.l=end;return o}function parse_BrtShrFmla(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var o=[rfx,null];if(opts.cellFormula){var formula=parse_XLSBSharedParsedFormula(data,end-data.l,opts);o[1]=formula;data.l=end}else data.l=end;return o}function parse_ws_bin(data,opts,rels,wb){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];if(!opts)opts={};opts.biff=12;opts["!row"]=0;var ai=0,af=false;var array_formulae=[];var shared_formulae={};var supbooks=[[]];supbooks.sharedf=shared_formulae;supbooks.arrayf=array_formulae;opts.supbooks=supbooks;for(var i=0;i=aii[0].s.r&&row.r<=aii[0].e.r)if(C>=aii[0].s.c&&C<=aii[0].e.c){p.F=encode_range(aii[0]);af=true}}if(!af&&val.length>3)p.f=val[3]}if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[], +CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_BrtName(data,length,opts){var end=data.l+length;var flags=data.read_shift(4);var chKey=data.read_shift(1);var itab=data.read_shift(4);var name=parse_XLNameWideString(data);var formula=parse_XLSBNameParsedFormula(data,0,opts);var comment=parse_XLNullableWideString(data);if(0){}data.l=end;return{Name:name,Ptg:formula,Comment:comment}}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;if(!opts)opts={};opts.biff=12;var Names={},NameList=[];recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtName":Names[val.Name]=val;NameList.push(val.Name);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}},opts);parse_wb_defaults(wb);Names["!names"]=NameList;wb.Names=Names;return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels,wb);return parse_ws_xml(data,opts,rels,wb)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,arrayf,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?unescapexml(ss):cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null){if(cell.Formula){var fstr=unescapexml(cell.Formula);if(fstr.charCodeAt(0)==61)fstr=fstr.substr(1);cell.f=rc_to_a1(fstr,base);cell.Formula=undefined;if(cell.ArrayRange=="RC")cell.F=rc_to_a1("RC:RC",base);else if(cell.ArrayRange){cell.F=rc_to_a1(cell.ArrayRange,base);arrayf.push([safe_decode_range(cell.F),cell.F])}}else{for(i=0;i=arrayf[i][0].s.r&&base.r<=arrayf[i][0].e.r)if(base.c>=arrayf[i][0].s.c&&base.c<=arrayf[i][0].e.c)cell.F=arrayf[i][1]}}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;var arrayf=[];xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,arrayf,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":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(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[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":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}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"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[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:seen=false}break;case"ComponentOptions":switch(Rn[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:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){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"Date1904":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:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":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:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[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:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[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:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[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:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[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:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options); +}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula){var _f=val.formula;if(_f&&_f[0]&&_f[0][0]&&_f[0][0][0]=="PtgExp"){var _fr=_f[0][0][1][0],_fc=_f[0][0][1][1];var _fe=encode_cell({r:_fr,c:_fc});if(shared_formulae[_fe])temp_val.f=stringify_formula(val.formula,range,val.cell,supbooks,opts);else temp_val.F=(out[_fe]||{}).F}else temp_val.f=stringify_formula(val.formula,range,val.cell,supbooks,opts)}safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f=stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val);if(options.cellFormula&&out[last_cell]){out[last_cell].f=stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);out[last_cell].F=encode_range(val[0])}}break;case"ShrFmla":{if(!cell_valid)break;if(!options.cellFormula)break;if(last_cell){shared_formulae[encode_cell(last_formula.cell)]=val[0];(out[encode_cell(last_formula.cell)]||{}).f=stringify_formula(val[0],range,lastcell,supbooks,opts)}}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"RString":case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":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"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":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":{}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"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":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.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"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;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;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parse_BrtName},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parse_BrtArrFmla},427:{n:"BrtShrFmla",f:parse_BrtShrFmla},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso", +f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},518:{n:"Formula",f:parse_Formula},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1030:{n:"Formula",f:parse_Formula},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimensions",f:parse_Dimensions},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},33:{n:"Array",f:parse_Array},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parse_RString},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts,wb)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true); +}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var y="",x,val="";if(sheet==null||sheet["!ref"]==null)return[];var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;var cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;else if(x.F!=null){y=x.F;if(!x.f)continue;val=x.f;if(y.indexOf(":")==-1)y=y+":"+y}if(x.f!=null)val=x.f;else if(x.t=="n"&&x.v!=null)val=""+x.v;else if(x.t=="b")val=x.v?"TRUE":"FALSE";else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else if(x.t=="s")val="'"+x.v;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; diff --git a/dist/xlsx.core.min.map b/dist/xlsx.core.min.map index c8400db..a5b54d5 100644 --- a/dist/xlsx.core.min.map +++ b/dist/xlsx.core.min.map @@ -1 +1 @@ -{"version":3,"sources":["jszip.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","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_cptable","cptable","reset_cp","set_cp","cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","map","c1","c3","e1","e2","e3","e4","b64_decode","has_buf","new_raw_buf","s2a","split","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","d","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","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","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","M","S","date1904","setDate","getDay","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","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","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","format","_table","load_entry","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","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdatastr","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","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","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","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.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+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.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","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","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","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","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_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","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","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","trim","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","126","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","150","151","152","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","200","201","202","203","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","_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.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.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_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.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.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_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","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","Record","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","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","1033","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","402","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","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","write_zip_type","oopts","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.core.min.js"} \ No newline at end of file +{"version":3,"sources":["jszip.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","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_cptable","cptable","reset_cp","set_cp","cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","map","c1","c3","e1","e2","e3","e4","b64_decode","has_buf","new_raw_buf","s2a","split","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","d","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","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","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","M","S","date1904","setDate","getDay","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","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","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","format","_table","load_entry","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","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","dup","JSON","stringify","getdatastr","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_XLNameWideString","write_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","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","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","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","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.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","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.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","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","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","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","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_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","trim","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","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","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","shift_formula_str","delta","$0","off","decode_col","decode_row","shift_formula_xlsx","decode_range","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","area","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","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","rows","cols","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","gcnt","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","stringify_formula","supbooks","_range","stack","nameidx","sname","last_sp","sp","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","126","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","150","151","152","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","200","201","202","203","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","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.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.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_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.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.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","ftag","do_format","marr","marrlen","xlen","cellFormula","F","si","_tag","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_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","parse_BrtHLink","relId","tooltip","display","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","parse_ws_bin","!id","ai","af","array_formulae","shared_formulae","Names","ws_parse","Record","aii","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","Comment","parse_wb_bin","NameList","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","_f","_fr","_fc","_fe","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","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","1033","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","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","write_zip_type","oopts","writeSync","rowstr","unfix_row","cstr","colstr","unfix_col","split_cell","splt","fix_cell","unfix_cell","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.core.min.js"} \ No newline at end of file diff --git a/dist/xlsx.full.min.js b/dist/xlsx.full.min.js index d899339..8eb7425 100644 --- a/dist/xlsx.full.min.js +++ b/dist/xlsx.full.min.js @@ -7,14 +7,14 @@ for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60 for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�".split("");for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}D[250]="����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}D[253]="����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[253].length;++j)if(D[253][j].charCodeAt(0)!==65533){e[D[253][j]]=64768+j;d[64768+j]=D[253][j]}D[254]="����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[254].length;++j)if(D[254][j].charCodeAt(0)!==65533){e[D[254][j]]=65024+j;d[65024+j]=D[254][j]}return{enc:e,dec:d}}();cptable[949]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[129]="�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�".split("");for(j=0;j!=D[129].length;++j)if(D[129][j].charCodeAt(0)!==65533){e[D[129][j]]=33024+j;d[33024+j]=D[129][j]}D[130]="�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�".split("");for(j=0;j!=D[130].length;++j)if(D[130][j].charCodeAt(0)!==65533){e[D[130][j]]=33280+j;d[33280+j]=D[130][j]}D[131]="�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�".split("");for(j=0;j!=D[131].length;++j)if(D[131][j].charCodeAt(0)!==65533){e[D[131][j]]=33536+j;d[33536+j]=D[131][j]}D[132]="�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�".split("");for(j=0;j!=D[132].length;++j)if(D[132][j].charCodeAt(0)!==65533){e[D[132][j]]=33792+j;d[33792+j]=D[132][j]}D[133]="�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�".split("");for(j=0;j!=D[133].length;++j)if(D[133][j].charCodeAt(0)!==65533){e[D[133][j]]=34048+j;d[34048+j]=D[133][j]}D[134]="�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�".split("");for(j=0;j!=D[134].length;++j)if(D[134][j].charCodeAt(0)!==65533){e[D[134][j]]=34304+j;d[34304+j]=D[134][j]}D[135]="�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�".split("");for(j=0;j!=D[135].length;++j)if(D[135][j].charCodeAt(0)!==65533){e[D[135][j]]=34560+j;d[34560+j]=D[135][j]}D[136]="�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�".split("");for(j=0;j!=D[136].length;++j)if(D[136][j].charCodeAt(0)!==65533){e[D[136][j]]=34816+j;d[34816+j]=D[136][j]}D[137]="�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�".split("");for(j=0;j!=D[137].length;++j)if(D[137][j].charCodeAt(0)!==65533){e[D[137][j]]=35072+j;d[35072+j]=D[137][j]}D[138]="�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�".split("");for(j=0;j!=D[138].length;++j)if(D[138][j].charCodeAt(0)!==65533){e[D[138][j]]=35328+j;d[35328+j]=D[138][j]}D[139]="�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�".split("");for(j=0;j!=D[139].length;++j)if(D[139][j].charCodeAt(0)!==65533){e[D[139][j]]=35584+j;d[35584+j]=D[139][j]}D[140]="�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�".split("");for(j=0;j!=D[140].length;++j)if(D[140][j].charCodeAt(0)!==65533){e[D[140][j]]=35840+j;d[35840+j]=D[140][j]}D[141]="�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�".split("");for(j=0;j!=D[141].length;++j)if(D[141][j].charCodeAt(0)!==65533){e[D[141][j]]=36096+j;d[36096+j]=D[141][j]}D[142]="�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�".split("");for(j=0;j!=D[142].length;++j)if(D[142][j].charCodeAt(0)!==65533){e[D[142][j]]=36352+j;d[36352+j]=D[142][j]}D[143]="�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�".split("");for(j=0;j!=D[143].length;++j)if(D[143][j].charCodeAt(0)!==65533){e[D[143][j]]=36608+j;d[36608+j]=D[143][j]}D[144]="�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�".split("");for(j=0;j!=D[144].length;++j)if(D[144][j].charCodeAt(0)!==65533){e[D[144][j]]=36864+j;d[36864+j]=D[144][j]}D[145]="�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�".split("");for(j=0;j!=D[145].length;++j)if(D[145][j].charCodeAt(0)!==65533){e[D[145][j]]=37120+j;d[37120+j]=D[145][j]}D[146]="�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�".split("");for(j=0;j!=D[146].length;++j)if(D[146][j].charCodeAt(0)!==65533){e[D[146][j]]=37376+j;d[37376+j]=D[146][j]}D[147]="�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�".split("");for(j=0;j!=D[147].length;++j)if(D[147][j].charCodeAt(0)!==65533){e[D[147][j]]=37632+j;d[37632+j]=D[147][j]}D[148]="�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�".split("");for(j=0;j!=D[148].length;++j)if(D[148][j].charCodeAt(0)!==65533){e[D[148][j]]=37888+j;d[37888+j]=D[148][j]}D[149]="�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�".split("");for(j=0;j!=D[149].length;++j)if(D[149][j].charCodeAt(0)!==65533){e[D[149][j]]=38144+j;d[38144+j]=D[149][j]}D[150]="�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�".split("");for(j=0;j!=D[150].length;++j)if(D[150][j].charCodeAt(0)!==65533){e[D[150][j]]=38400+j;d[38400+j]=D[150][j]}D[151]="�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�".split("");for(j=0;j!=D[151].length;++j)if(D[151][j].charCodeAt(0)!==65533){e[D[151][j]]=38656+j;d[38656+j]=D[151][j]}D[152]="�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�".split("");for(j=0;j!=D[152].length;++j)if(D[152][j].charCodeAt(0)!==65533){e[D[152][j]]=38912+j;d[38912+j]=D[152][j]}D[153]="�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�".split("");for(j=0;j!=D[153].length;++j)if(D[153][j].charCodeAt(0)!==65533){e[D[153][j]]=39168+j;d[39168+j]=D[153][j]}D[154]="�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�".split("");for(j=0;j!=D[154].length;++j)if(D[154][j].charCodeAt(0)!==65533){e[D[154][j]]=39424+j;d[39424+j]=D[154][j]}D[155]="�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�".split("");for(j=0;j!=D[155].length;++j)if(D[155][j].charCodeAt(0)!==65533){e[D[155][j]]=39680+j;d[39680+j]=D[155][j]}D[156]="�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�".split("");for(j=0;j!=D[156].length;++j)if(D[156][j].charCodeAt(0)!==65533){e[D[156][j]]=39936+j;d[39936+j]=D[156][j]}D[157]="�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�".split("");for(j=0;j!=D[157].length;++j)if(D[157][j].charCodeAt(0)!==65533){e[D[157][j]]=40192+j;d[40192+j]=D[157][j]}D[158]="�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�".split("");for(j=0;j!=D[158].length;++j)if(D[158][j].charCodeAt(0)!==65533){e[D[158][j]]=40448+j;d[40448+j]=D[158][j]}D[159]="�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�".split("");for(j=0;j!=D[159].length;++j)if(D[159][j].charCodeAt(0)!==65533){e[D[159][j]]=40704+j;d[40704+j]=D[159][j]}D[160]="�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�".split("");for(j=0;j!=D[160].length;++j)if(D[160][j].charCodeAt(0)!==65533){e[D[160][j]]=40960+j;d[40960+j]=D[160][j]}D[161]="�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������".split(""); for(j=0;j!=D[165].length;++j)if(D[165][j].charCodeAt(0)!==65533){e[D[165][j]]=42240+j;d[42240+j]=D[165][j]}D[166]="�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������".split("");for(j=0;j!=D[166].length;++j)if(D[166][j].charCodeAt(0)!==65533){e[D[166][j]]=42496+j;d[42496+j]=D[166][j]}D[167]="�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������".split("");for(j=0;j!=D[167].length;++j)if(D[167][j].charCodeAt(0)!==65533){e[D[167][j]]=42752+j;d[42752+j]=D[167][j]}D[168]="�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�".split("");for(j=0;j!=D[168].length;++j)if(D[168][j].charCodeAt(0)!==65533){e[D[168][j]]=43008+j;d[43008+j]=D[168][j]}D[169]="�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�".split("");for(j=0;j!=D[169].length;++j)if(D[169][j].charCodeAt(0)!==65533){e[D[169][j]]=43264+j;d[43264+j]=D[169][j]}D[170]="�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������".split("");for(j=0;j!=D[170].length;++j)if(D[170][j].charCodeAt(0)!==65533){e[D[170][j]]=43520+j;d[43520+j]=D[170][j]}D[171]="�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������".split("");for(j=0;j!=D[171].length;++j)if(D[171][j].charCodeAt(0)!==65533){e[D[171][j]]=43776+j;d[43776+j]=D[171][j]}D[172]="�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������".split("");for(j=0;j!=D[172].length;++j)if(D[172][j].charCodeAt(0)!==65533){e[D[172][j]]=44032+j;d[44032+j]=D[172][j]}D[173]="�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[173].length;++j)if(D[173][j].charCodeAt(0)!==65533){e[D[173][j]]=44288+j;d[44288+j]=D[173][j]}D[174]="�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[174].length;++j)if(D[174][j].charCodeAt(0)!==65533){e[D[174][j]]=44544+j;d[44544+j]=D[174][j]}D[175]="�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[175].length;++j)if(D[175][j].charCodeAt(0)!==65533){e[D[175][j]]=44800+j;d[44800+j]=D[175][j]}D[176]="�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�".split("");for(j=0;j!=D[176].length;++j)if(D[176][j].charCodeAt(0)!==65533){e[D[176][j]]=45056+j;d[45056+j]=D[176][j]}D[177]="�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�".split("");for(j=0;j!=D[177].length;++j)if(D[177][j].charCodeAt(0)!==65533){e[D[177][j]]=45312+j;d[45312+j]=D[177][j]}D[178]="�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�".split("");for(j=0;j!=D[178].length;++j)if(D[178][j].charCodeAt(0)!==65533){e[D[178][j]]=45568+j;d[45568+j]=D[178][j]}D[179]="�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�".split("");for(j=0;j!=D[179].length;++j)if(D[179][j].charCodeAt(0)!==65533){e[D[179][j]]=45824+j;d[45824+j]=D[179][j]}D[180]="�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�".split("");for(j=0;j!=D[180].length;++j)if(D[180][j].charCodeAt(0)!==65533){e[D[180][j]]=46080+j;d[46080+j]=D[180][j]}D[181]="�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�".split("");for(j=0;j!=D[181].length;++j)if(D[181][j].charCodeAt(0)!==65533){e[D[181][j]]=46336+j;d[46336+j]=D[181][j]}D[182]="�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�".split("");for(j=0;j!=D[182].length;++j)if(D[182][j].charCodeAt(0)!==65533){e[D[182][j]]=46592+j;d[46592+j]=D[182][j]}D[183]="�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�".split("");for(j=0;j!=D[183].length;++j)if(D[183][j].charCodeAt(0)!==65533){e[D[183][j]]=46848+j;d[46848+j]=D[183][j]}D[184]="�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�".split("");for(j=0;j!=D[184].length;++j)if(D[184][j].charCodeAt(0)!==65533){e[D[184][j]]=47104+j;d[47104+j]=D[184][j]}D[185]="�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�".split("");for(j=0;j!=D[185].length;++j)if(D[185][j].charCodeAt(0)!==65533){e[D[185][j]]=47360+j;d[47360+j]=D[185][j]}D[186]="�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�".split("");for(j=0;j!=D[186].length;++j)if(D[186][j].charCodeAt(0)!==65533){e[D[186][j]]=47616+j;d[47616+j]=D[186][j]}D[187]="�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�".split("");for(j=0;j!=D[187].length;++j)if(D[187][j].charCodeAt(0)!==65533){e[D[187][j]]=47872+j;d[47872+j]=D[187][j]}D[188]="�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�".split("");for(j=0;j!=D[188].length;++j)if(D[188][j].charCodeAt(0)!==65533){e[D[188][j]]=48128+j;d[48128+j]=D[188][j]}D[189]="�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�".split("");for(j=0;j!=D[189].length;++j)if(D[189][j].charCodeAt(0)!==65533){e[D[189][j]]=48384+j;d[48384+j]=D[189][j]}D[190]="�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�".split("");for(j=0;j!=D[190].length;++j)if(D[190][j].charCodeAt(0)!==65533){e[D[190][j]]=48640+j;d[48640+j]=D[190][j]}D[191]="�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�".split("");for(j=0;j!=D[191].length;++j)if(D[191][j].charCodeAt(0)!==65533){e[D[191][j]]=48896+j;d[48896+j]=D[191][j]}D[192]="�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�".split("");for(j=0;j!=D[192].length;++j)if(D[192][j].charCodeAt(0)!==65533){e[D[192][j]]=49152+j;d[49152+j]=D[192][j]}D[193]="�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�".split("");for(j=0;j!=D[193].length;++j)if(D[193][j].charCodeAt(0)!==65533){e[D[193][j]]=49408+j;d[49408+j]=D[193][j]}D[194]="�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�".split("");for(j=0;j!=D[194].length;++j)if(D[194][j].charCodeAt(0)!==65533){e[D[194][j]]=49664+j;d[49664+j]=D[194][j]}D[195]="�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�".split("");for(j=0;j!=D[195].length;++j)if(D[195][j].charCodeAt(0)!==65533){e[D[195][j]]=49920+j;d[49920+j]=D[195][j]}D[196]="�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�".split("");for(j=0;j!=D[196].length;++j)if(D[196][j].charCodeAt(0)!==65533){e[D[196][j]]=50176+j;d[50176+j]=D[196][j]}D[197]="�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�".split("");for(j=0;j!=D[197].length;++j)if(D[197][j].charCodeAt(0)!==65533){e[D[197][j]]=50432+j;d[50432+j]=D[197][j]}D[198]="�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�".split("");for(j=0;j!=D[198].length;++j)if(D[198][j].charCodeAt(0)!==65533){e[D[198][j]]=50688+j;d[50688+j]=D[198][j]}D[199]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�".split("");for(j=0;j!=D[199].length;++j)if(D[199][j].charCodeAt(0)!==65533){e[D[199][j]]=50944+j;d[50944+j]=D[199][j]}D[200]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�".split("");for(j=0;j!=D[200].length;++j)if(D[200][j].charCodeAt(0)!==65533){e[D[200][j]]=51200+j;d[51200+j]=D[200][j]}D[202]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�".split("");for(j=0;j!=D[202].length;++j)if(D[202][j].charCodeAt(0)!==65533){e[D[202][j]]=51712+j;d[51712+j]=D[202][j]}D[203]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�".split("");for(j=0;j!=D[203].length;++j)if(D[203][j].charCodeAt(0)!==65533){e[D[203][j]]=51968+j;d[51968+j]=D[203][j]}D[204]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�".split("");for(j=0;j!=D[204].length;++j)if(D[204][j].charCodeAt(0)!==65533){e[D[204][j]]=52224+j;d[52224+j]=D[204][j]}D[205]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�".split("");for(j=0;j!=D[205].length;++j)if(D[205][j].charCodeAt(0)!==65533){e[D[205][j]]=52480+j;d[52480+j]=D[205][j]}D[206]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�".split("");for(j=0;j!=D[206].length;++j)if(D[206][j].charCodeAt(0)!==65533){e[D[206][j]]=52736+j;d[52736+j]=D[206][j]}D[207]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�".split("");for(j=0;j!=D[207].length;++j)if(D[207][j].charCodeAt(0)!==65533){e[D[207][j]]=52992+j;d[52992+j]=D[207][j]}D[208]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�".split("");for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�".split("");for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}D[250]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�".split(""); for(j=0;j!=D[250].length;++j)if(D[250][j].charCodeAt(0)!==65533){e[D[250][j]]=64e3+j;d[64e3+j]=D[250][j]}D[251]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�".split("");for(j=0;j!=D[251].length;++j)if(D[251][j].charCodeAt(0)!==65533){e[D[251][j]]=64256+j;d[64256+j]=D[251][j]}D[252]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�".split("");for(j=0;j!=D[252].length;++j)if(D[252][j].charCodeAt(0)!==65533){e[D[252][j]]=64512+j;d[64512+j]=D[252][j]}D[253]="�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�".split("");for(j=0;j!=D[253].length;++j)if(D[253][j].charCodeAt(0)!==65533){e[D[253][j]]=64768+j;d[64768+j]=D[253][j]}return{enc:e,dec:d}}();cptable[950]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[0].length;++j)if(D[0][j].charCodeAt(0)!==65533){e[D[0][j]]=0+j;d[0+j]=D[0][j]}D[161]="���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�".split("");for(j=0;j!=D[161].length;++j)if(D[161][j].charCodeAt(0)!==65533){e[D[161][j]]=41216+j;d[41216+j]=D[161][j]}D[162]="����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�".split("");for(j=0;j!=D[162].length;++j)if(D[162][j].charCodeAt(0)!==65533){e[D[162][j]]=41472+j;d[41472+j]=D[162][j]}D[163]="����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������".split("");for(j=0;j!=D[163].length;++j)if(D[163][j].charCodeAt(0)!==65533){e[D[163][j]]=41728+j;d[41728+j]=D[163][j]}D[164]="����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�".split("");for(j=0;j!=D[164].length;++j)if(D[164][j].charCodeAt(0)!==65533){e[D[164][j]]=41984+j;d[41984+j]=D[164][j]}D[165]="����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�".split("");for(j=0;j!=D[165].length;++j)if(D[165][j].charCodeAt(0)!==65533){e[D[165][j]]=42240+j;d[42240+j]=D[165][j]}D[166]="����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�".split("");for(j=0;j!=D[166].length;++j)if(D[166][j].charCodeAt(0)!==65533){e[D[166][j]]=42496+j;d[42496+j]=D[166][j]}D[167]="����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�".split("");for(j=0;j!=D[167].length;++j)if(D[167][j].charCodeAt(0)!==65533){e[D[167][j]]=42752+j;d[42752+j]=D[167][j]}D[168]="����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�".split("");for(j=0;j!=D[168].length;++j)if(D[168][j].charCodeAt(0)!==65533){e[D[168][j]]=43008+j;d[43008+j]=D[168][j]}D[169]="����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�".split("");for(j=0;j!=D[169].length;++j)if(D[169][j].charCodeAt(0)!==65533){e[D[169][j]]=43264+j;d[43264+j]=D[169][j]}D[170]="����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�".split("");for(j=0;j!=D[170].length;++j)if(D[170][j].charCodeAt(0)!==65533){e[D[170][j]]=43520+j;d[43520+j]=D[170][j]}D[171]="����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�".split("");for(j=0;j!=D[171].length;++j)if(D[171][j].charCodeAt(0)!==65533){e[D[171][j]]=43776+j;d[43776+j]=D[171][j]}D[172]="����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�".split("");for(j=0;j!=D[172].length;++j)if(D[172][j].charCodeAt(0)!==65533){e[D[172][j]]=44032+j;d[44032+j]=D[172][j]}D[173]="����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�".split("");for(j=0;j!=D[173].length;++j)if(D[173][j].charCodeAt(0)!==65533){e[D[173][j]]=44288+j;d[44288+j]=D[173][j]}D[174]="����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�".split("");for(j=0;j!=D[174].length;++j)if(D[174][j].charCodeAt(0)!==65533){e[D[174][j]]=44544+j;d[44544+j]=D[174][j]}D[175]="����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�".split("");for(j=0;j!=D[175].length;++j)if(D[175][j].charCodeAt(0)!==65533){e[D[175][j]]=44800+j;d[44800+j]=D[175][j]}D[176]="����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�".split("");for(j=0;j!=D[176].length;++j)if(D[176][j].charCodeAt(0)!==65533){e[D[176][j]]=45056+j;d[45056+j]=D[176][j]}D[177]="����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�".split("");for(j=0;j!=D[177].length;++j)if(D[177][j].charCodeAt(0)!==65533){e[D[177][j]]=45312+j;d[45312+j]=D[177][j]}D[178]="����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�".split("");for(j=0;j!=D[178].length;++j)if(D[178][j].charCodeAt(0)!==65533){e[D[178][j]]=45568+j;d[45568+j]=D[178][j]}D[179]="����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�".split("");for(j=0;j!=D[179].length;++j)if(D[179][j].charCodeAt(0)!==65533){e[D[179][j]]=45824+j;d[45824+j]=D[179][j]}D[180]="����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�".split("");for(j=0;j!=D[180].length;++j)if(D[180][j].charCodeAt(0)!==65533){e[D[180][j]]=46080+j;d[46080+j]=D[180][j]}D[181]="����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�".split("");for(j=0;j!=D[181].length;++j)if(D[181][j].charCodeAt(0)!==65533){e[D[181][j]]=46336+j;d[46336+j]=D[181][j]}D[182]="����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�".split("");for(j=0;j!=D[182].length;++j)if(D[182][j].charCodeAt(0)!==65533){e[D[182][j]]=46592+j;d[46592+j]=D[182][j]}D[183]="����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�".split("");for(j=0;j!=D[183].length;++j)if(D[183][j].charCodeAt(0)!==65533){e[D[183][j]]=46848+j;d[46848+j]=D[183][j]}D[184]="����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�".split("");for(j=0;j!=D[184].length;++j)if(D[184][j].charCodeAt(0)!==65533){e[D[184][j]]=47104+j;d[47104+j]=D[184][j]}D[185]="����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�".split("");for(j=0;j!=D[185].length;++j)if(D[185][j].charCodeAt(0)!==65533){e[D[185][j]]=47360+j;d[47360+j]=D[185][j]}D[186]="����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�".split("");for(j=0;j!=D[186].length;++j)if(D[186][j].charCodeAt(0)!==65533){e[D[186][j]]=47616+j;d[47616+j]=D[186][j]}D[187]="����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�".split("");for(j=0;j!=D[187].length;++j)if(D[187][j].charCodeAt(0)!==65533){e[D[187][j]]=47872+j;d[47872+j]=D[187][j]}D[188]="����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�".split("");for(j=0;j!=D[188].length;++j)if(D[188][j].charCodeAt(0)!==65533){e[D[188][j]]=48128+j;d[48128+j]=D[188][j]}D[189]="����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�".split("");for(j=0;j!=D[189].length;++j)if(D[189][j].charCodeAt(0)!==65533){e[D[189][j]]=48384+j;d[48384+j]=D[189][j]}D[190]="����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�".split("");for(j=0;j!=D[190].length;++j)if(D[190][j].charCodeAt(0)!==65533){e[D[190][j]]=48640+j;d[48640+j]=D[190][j]}D[191]="����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�".split("");for(j=0;j!=D[191].length;++j)if(D[191][j].charCodeAt(0)!==65533){e[D[191][j]]=48896+j;d[48896+j]=D[191][j]}D[192]="����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�".split("");for(j=0;j!=D[192].length;++j)if(D[192][j].charCodeAt(0)!==65533){e[D[192][j]]=49152+j;d[49152+j]=D[192][j]}D[193]="����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�".split("");for(j=0;j!=D[193].length;++j)if(D[193][j].charCodeAt(0)!==65533){e[D[193][j]]=49408+j;d[49408+j]=D[193][j]}D[194]="����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�".split("");for(j=0;j!=D[194].length;++j)if(D[194][j].charCodeAt(0)!==65533){e[D[194][j]]=49664+j;d[49664+j]=D[194][j]}D[195]="����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�".split("");for(j=0;j!=D[195].length;++j)if(D[195][j].charCodeAt(0)!==65533){e[D[195][j]]=49920+j;d[49920+j]=D[195][j]}D[196]="����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�".split("");for(j=0;j!=D[196].length;++j)if(D[196][j].charCodeAt(0)!==65533){e[D[196][j]]=50176+j;d[50176+j]=D[196][j]}D[197]="����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�".split("");for(j=0;j!=D[197].length;++j)if(D[197][j].charCodeAt(0)!==65533){e[D[197][j]]=50432+j;d[50432+j]=D[197][j]}D[198]="����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������".split("");for(j=0;j!=D[198].length;++j)if(D[198][j].charCodeAt(0)!==65533){e[D[198][j]]=50688+j;d[50688+j]=D[198][j]}D[201]="����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�".split("");for(j=0;j!=D[201].length;++j)if(D[201][j].charCodeAt(0)!==65533){e[D[201][j]]=51456+j;d[51456+j]=D[201][j]}D[202]="����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�".split("");for(j=0;j!=D[202].length;++j)if(D[202][j].charCodeAt(0)!==65533){e[D[202][j]]=51712+j;d[51712+j]=D[202][j]}D[203]="����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�".split("");for(j=0;j!=D[203].length;++j)if(D[203][j].charCodeAt(0)!==65533){e[D[203][j]]=51968+j;d[51968+j]=D[203][j]}D[204]="����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�".split("");for(j=0;j!=D[204].length;++j)if(D[204][j].charCodeAt(0)!==65533){e[D[204][j]]=52224+j;d[52224+j]=D[204][j]}D[205]="����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�".split("");for(j=0;j!=D[205].length;++j)if(D[205][j].charCodeAt(0)!==65533){e[D[205][j]]=52480+j;d[52480+j]=D[205][j]}D[206]="����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�".split("");for(j=0;j!=D[206].length;++j)if(D[206][j].charCodeAt(0)!==65533){e[D[206][j]]=52736+j;d[52736+j]=D[206][j]}D[207]="����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�".split("");for(j=0;j!=D[207].length;++j)if(D[207][j].charCodeAt(0)!==65533){e[D[207][j]]=52992+j;d[52992+j]=D[207][j]}D[208]="����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�".split("");for(j=0;j!=D[208].length;++j)if(D[208][j].charCodeAt(0)!==65533){e[D[208][j]]=53248+j;d[53248+j]=D[208][j]}D[209]="����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�".split("");for(j=0;j!=D[209].length;++j)if(D[209][j].charCodeAt(0)!==65533){e[D[209][j]]=53504+j;d[53504+j]=D[209][j]}D[210]="����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�".split("");for(j=0;j!=D[210].length;++j)if(D[210][j].charCodeAt(0)!==65533){e[D[210][j]]=53760+j;d[53760+j]=D[210][j]}D[211]="����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�".split("");for(j=0;j!=D[211].length;++j)if(D[211][j].charCodeAt(0)!==65533){e[D[211][j]]=54016+j;d[54016+j]=D[211][j]}D[212]="����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�".split("");for(j=0;j!=D[212].length;++j)if(D[212][j].charCodeAt(0)!==65533){e[D[212][j]]=54272+j;d[54272+j]=D[212][j]}D[213]="����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�".split("");for(j=0;j!=D[213].length;++j)if(D[213][j].charCodeAt(0)!==65533){e[D[213][j]]=54528+j;d[54528+j]=D[213][j]}D[214]="����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�".split("");for(j=0;j!=D[214].length;++j)if(D[214][j].charCodeAt(0)!==65533){e[D[214][j]]=54784+j;d[54784+j]=D[214][j]}D[215]="����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�".split("");for(j=0;j!=D[215].length;++j)if(D[215][j].charCodeAt(0)!==65533){e[D[215][j]]=55040+j;d[55040+j]=D[215][j]}D[216]="����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�".split("");for(j=0;j!=D[216].length;++j)if(D[216][j].charCodeAt(0)!==65533){e[D[216][j]]=55296+j;d[55296+j]=D[216][j]}D[217]="����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�".split("");for(j=0;j!=D[217].length;++j)if(D[217][j].charCodeAt(0)!==65533){e[D[217][j]]=55552+j;d[55552+j]=D[217][j]}D[218]="����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�".split("");for(j=0;j!=D[218].length;++j)if(D[218][j].charCodeAt(0)!==65533){e[D[218][j]]=55808+j;d[55808+j]=D[218][j]}D[219]="����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�".split("");for(j=0;j!=D[219].length;++j)if(D[219][j].charCodeAt(0)!==65533){e[D[219][j]]=56064+j;d[56064+j]=D[219][j]}D[220]="����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�".split("");for(j=0;j!=D[220].length;++j)if(D[220][j].charCodeAt(0)!==65533){e[D[220][j]]=56320+j;d[56320+j]=D[220][j]}D[221]="����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�".split("");for(j=0;j!=D[221].length;++j)if(D[221][j].charCodeAt(0)!==65533){e[D[221][j]]=56576+j;d[56576+j]=D[221][j]}D[222]="����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�".split("");for(j=0;j!=D[222].length;++j)if(D[222][j].charCodeAt(0)!==65533){e[D[222][j]]=56832+j;d[56832+j]=D[222][j]}D[223]="����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�".split("");for(j=0;j!=D[223].length;++j)if(D[223][j].charCodeAt(0)!==65533){e[D[223][j]]=57088+j;d[57088+j]=D[223][j]}D[224]="����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�".split("");for(j=0;j!=D[224].length;++j)if(D[224][j].charCodeAt(0)!==65533){e[D[224][j]]=57344+j;d[57344+j]=D[224][j]}D[225]="����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�".split("");for(j=0;j!=D[225].length;++j)if(D[225][j].charCodeAt(0)!==65533){e[D[225][j]]=57600+j;d[57600+j]=D[225][j]}D[226]="����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�".split("");for(j=0;j!=D[226].length;++j)if(D[226][j].charCodeAt(0)!==65533){e[D[226][j]]=57856+j;d[57856+j]=D[226][j]}D[227]="����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�".split("");for(j=0;j!=D[227].length;++j)if(D[227][j].charCodeAt(0)!==65533){e[D[227][j]]=58112+j;d[58112+j]=D[227][j]}D[228]="����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�".split("");for(j=0;j!=D[228].length;++j)if(D[228][j].charCodeAt(0)!==65533){e[D[228][j]]=58368+j;d[58368+j]=D[228][j]}D[229]="����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�".split("");for(j=0;j!=D[229].length;++j)if(D[229][j].charCodeAt(0)!==65533){e[D[229][j]]=58624+j;d[58624+j]=D[229][j]}D[230]="����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�".split("");for(j=0;j!=D[230].length;++j)if(D[230][j].charCodeAt(0)!==65533){e[D[230][j]]=58880+j;d[58880+j]=D[230][j]}D[231]="����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�".split("");for(j=0;j!=D[231].length;++j)if(D[231][j].charCodeAt(0)!==65533){e[D[231][j]]=59136+j;d[59136+j]=D[231][j]}D[232]="����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�".split("");for(j=0;j!=D[232].length;++j)if(D[232][j].charCodeAt(0)!==65533){e[D[232][j]]=59392+j;d[59392+j]=D[232][j]}D[233]="����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�".split("");for(j=0;j!=D[233].length;++j)if(D[233][j].charCodeAt(0)!==65533){e[D[233][j]]=59648+j;d[59648+j]=D[233][j]}D[234]="����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�".split("");for(j=0;j!=D[234].length;++j)if(D[234][j].charCodeAt(0)!==65533){e[D[234][j]]=59904+j;d[59904+j]=D[234][j]}D[235]="����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�".split("");for(j=0;j!=D[235].length;++j)if(D[235][j].charCodeAt(0)!==65533){e[D[235][j]]=60160+j;d[60160+j]=D[235][j]}D[236]="����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�".split("");for(j=0;j!=D[236].length;++j)if(D[236][j].charCodeAt(0)!==65533){e[D[236][j]]=60416+j;d[60416+j]=D[236][j]}D[237]="����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�".split("");for(j=0;j!=D[237].length;++j)if(D[237][j].charCodeAt(0)!==65533){e[D[237][j]]=60672+j;d[60672+j]=D[237][j]}D[238]="����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�".split("");for(j=0;j!=D[238].length;++j)if(D[238][j].charCodeAt(0)!==65533){e[D[238][j]]=60928+j;d[60928+j]=D[238][j]}D[239]="����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�".split("");for(j=0;j!=D[239].length;++j)if(D[239][j].charCodeAt(0)!==65533){e[D[239][j]]=61184+j;d[61184+j]=D[239][j]}D[240]="����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�".split("");for(j=0;j!=D[240].length;++j)if(D[240][j].charCodeAt(0)!==65533){e[D[240][j]]=61440+j;d[61440+j]=D[240][j]}D[241]="����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�".split("");for(j=0;j!=D[241].length;++j)if(D[241][j].charCodeAt(0)!==65533){e[D[241][j]]=61696+j;d[61696+j]=D[241][j]}D[242]="����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�".split(""); -for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}return{enc:e,dec:d}}();cptable[1250]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1251]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1252]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1253]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1254]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1255]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1256]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1257]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1258]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1e4]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10006]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10007]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10029]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10079]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10081]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();if(typeof module!=="undefined"&&module.exports)module.exports=cptable;(function(root,factory){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var cpt=require("./cpt"+"able");if(typeof module!=="undefined"&&module.exports)module.exports=factory(cpt);else root.cptable=factory(cpt)}else throw new Error("cptable not found")}else cptable=factory(cptable)})(this,function(cpt){"use strict";var magic={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var sbcs_cache=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var dbcs_cache=[932,936,949,950];var magic_cache=[65001];var magic_decode={};var magic_encode={};var cpdcache={};var cpecache={};var sfcc=function sfcc(x){return String.fromCharCode(x)};var cca=function cca(x){return x.charCodeAt(0)};var has_buf=typeof Buffer!=="undefined";if(has_buf){var mdl=1024,mdb=new Buffer(mdl);var make_EE=function make_EE(E){var EE=new Buffer(65536);for(var i=0;i<65536;++i)EE[i]=0;var keys=Object.keys(E),len=keys.length;for(var ee=0,e=keys[ee];ee>10&1023)];out[j++]=EE[56320+(w&1023)]}}}out=out.slice(0,j)}else{out=new Buffer(len);for(i=0;i>8}return function sbcs_d(data){var len=data.length,i=0,j=0;if(2*len>mdl){mdl=2*len;mdb=new Buffer(mdl)}if(Buffer.isBuffer(data)){for(i=0;i>8}return function dbcs_e(data,ofmt){var len=data.length,out=new Buffer(2*len),i=0,j=0,jj=0,k=0,D=0;if(typeof data==="string"){for(i=k=0;i0)out[k++]=EE[j]}out=out.slice(0,k)}else if(Buffer.isBuffer(data)){for(i=k=0;i0)out[k++]=EE[j]}else{jj=j-65536;j=2*(55296+(jj>>10&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j];j=2*(56320+(jj&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j]}}out=out.slice(0,k)}else{for(i=k=0;i0)out[k++]=EE[j]}}if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)}};var dbcs_decode=function make_dbcs_decode(cp){var D=cpt[cp].dec;var DD=new Buffer(131072),d=0,c,w=0,j=0,i=0;for(i=0;i<65536;++i){DD[2*i]=255;DD[2*i+1]=253}for(d=0;d>8}return function dbcs_d(data){var len=data.length,out=new Buffer(2*len),i=0,j=0,k=0;if(Buffer.isBuffer(data)){for(i=0;imdl){mdl=4*len;mdb=new Buffer(mdl)}var i=0;if(len>=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(var j=1,k=0,D=0;i>8}else{w-=65536;ww=55296+(w>>10&1023);w=56320+(w&1023);mdb[k++]=ww&255;mdb[k++]=ww>>>8;mdb[k++]=w&255;mdb[k++]=w>>>8&255}}return mdb.slice(0,k).toString("ucs2")};magic_encode[65001]=function utf8_e(data,ofmt){if(has_buf&&Buffer.isBuffer(data)){if(!ofmt||ofmt==="buf")return data;if(ofmt!=="arr")return data.toString("binary");return[].slice.call(data)}var len=data.length,w=0,ww=0,j=0;var direct=typeof data==="string";if(4*len>mdl){mdl=4*len;mdb=new Buffer(mdl)}for(var i=0;i>6);mdb[j++]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;++i;ww=(direct?data.charCodeAt(i):data[i].charCodeAt(0))-56320+(w<<10);mdb[j++]=240+(ww>>>18&7);mdb[j++]=144+(ww>>>12&63);mdb[j++]=128+(ww>>>6&63);mdb[j++]=128+(ww&63)}else{mdb[j++]=224+(w>>12);mdb[j++]=128+(w>>6&63);mdb[j++]=128+(w&63)}}if(!ofmt||ofmt==="buf")return mdb.slice(0,j);if(ofmt!=="arr")return mdb.slice(0,j).toString("binary");return[].slice.call(mdb,0,j)}}var encache=function encache(){if(has_buf){if(cpdcache[sbcs_cache[0]])return;var i=0,s=0;for(i=0;i255){out[j]=w>>8;out[++j]=w&255}else out[j]=w&255}else if(M=magic[cp])switch(M){case"utf8":if(has_buf&&isstr){out=new Buffer(data,M);j=out.length;break}for(i=0;i>6);out[++j]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;ww=(isstr?data.charCodeAt(++i):data[++i].charCodeAt(0))-56320+(w<<10);out[j]=240+(ww>>>18&7);out[++j]=144+(ww>>>12&63);out[++j]=128+(ww>>>6&63);out[++j]=128+(ww&63)}else{out[j]=224+(w>>12);out[++j]=128+(w>>6&63);out[++j]=128+(w&63)}}break;case"ascii":if(has_buf&&typeof data==="string"){out=new Buffer(data,M);j=out.length;break}for(i=0;i>8}break;case"utf16be":for(i=0;i>8;out[j++]=w&255}break;case"utf32le":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255}break;case"utf32be":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j+3]=w&255;w>>=8;out[j+2]=w&255;w>>=8;out[j+1]=w&255;w>>=8;out[j]=w&255;j+=4}break;case"utf7":for(i=0;i-1){out[j++]=c.charCodeAt(0);continue}var tt=encode(1201,c);out[j++]=43;out[j++]=BM.charCodeAt(tt[0]>>2);out[j++]=BM.charCodeAt(((tt[0]&3)<<4)+((tt[1]||0)>>4));out[j++]=BM.charCodeAt(((tt[1]&15)<<2)+((tt[2]||0)>>6));out[j++]=45}break;default:throw new Error("Unsupported magic: "+cp+" "+magic[cp])}else throw new Error("Unrecognized CP: "+cp);out=out.slice(0,j);if(!has_buf)return ofmt=="str"?out.map(sfcc).join(""):out;if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)};var decode=function decode(cp,data){var F;if(F=cpdcache[cp])return F(data);if(typeof data==="string")return decode(cp,data.split("").map(cca));var len=data.length,out=new Array(len),s="",w=0,i=0,j=1,k=0,ww=0;var C=cpt[cp],D,M="";if(C&&(D=C.dec)){for(i=0;i=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(;i>10&1023);w=56320+(w&1023);out[k++]=String.fromCharCode(ww);out[k++]=String.fromCharCode(w)}}break;case"ascii":if(has_buf&&Buffer.isBuffer(data))return data.toString(M);for(i=0;i=2&&data[0]==255)if(data[1]==254)i=2;if(has_buf&&Buffer.isBuffer(data))return data.toString(M);j=2;for(;i+1=2&&data[0]==254)if(data[1]==255)i=2;j=2;for(;i+1=4&&data[0]==255)if(data[1]==254&&data[2]===0&&data[3]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf32be":if(len>=4&&data[3]==255)if(data[2]==254&&data[1]===0&&data[0]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf7":if(len>=4&&data[0]==43&&data[1]==47&&data[2]==118){if(len>=5&&data[3]==56&&data[4]==45)i=5;else if(data[3]==56||data[3]==57||data[3]==43||data[3]==47)i=4}for(;i>4;tt.push(c1);e3=BM.indexOf(String.fromCharCode(data[i+l++]));if(e3===-1)break;c2=(e2&15)<<4|e3>>2;tt.push(c2);e4=BM.indexOf(String.fromCharCode(data[i+l++]));if(e4===-1)break;c3=(e3&3)<<6|e4;if(e4<64)tt.push(c3)}o64=decode(1201,tt);for(l=0;l>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["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 frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee); -while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return sign+(base===0?"":""+base)+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad_(myn,r[1].length)+r[2]+"/"+r[3]+pad0(myd,r[4].length))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";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){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}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];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdatastr(data){if(!data)return null;if(data.data)return debom_xml(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));return null}function getdatabin(data){if(!data)return null;if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent());return null}function getdata(data){return data&&data.name.substr(data.name.length-4)===".bin"?getdatabin(data):getdatastr(data)}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}function getzipstr(zip,file,safe){if(!safe)return getdatastr(getzipfile(zip,file));if(!file)return null;try{return getzipstr(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={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"};XMLNS.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"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}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")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={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 XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([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]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"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.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+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":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","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.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":"TODO","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",sheet:"js"};var CT_LIST=function(){var o={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",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["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"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(cp.CreatedDate!=null)cp_doit("dcterms:created",typeof cp.CreatedDate==="string"?cp.CreatedDate:write_w3cdtf(cp.CreatedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);if(cp.ModifiedDate!=null)cp_doit("dcterms:modified",typeof cp.ModifiedDate==="string"?cp.ModifiedDate:write_w3cdtf(cp.ModifiedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["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"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x); -switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function parse_LongRGBA(blob,length){var r=blob.read_shift(1),g=blob.read_shift(1),b=blob.read_shift(1),a=blob.read_shift(1);return[r,g,b,a]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){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);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var cell=parse_XLSCell(blob,6);var str=parse_XLUnicodeString(blob,length-6,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length){var w=length===10?2:4;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l+=2;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){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]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(2);blob.l+=2;var itab=blob.read_shift(2);blob.l+=4;var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var rgce=parse_NameParsedFormula(blob,target-blob.l,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);blob.l+=6;length-=12;return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop; -var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}var CS2CP={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 parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=x;z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(x)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i],opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16);return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[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 Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[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(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements");m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]=""; -o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;if($4.length>0)C+=rcbase.c;if($2.length>0)R+=rcbase.r;return $1+encode_col(C)+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceLoc(blob,length){var r=blob.read_shift(2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLocRel(blob,length){var r=blob.read_shift(2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(cRel!==0)while(cl>=256)cl-=256;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,8);return[type,area]}function parse_PtgArea3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var area=parse_RgceArea(blob,8);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);blob.l+=8;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length){blob.l+=2;var offset=blob.read_shift(2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(2));return o}function parse_PtgAttrGoto(blob,length){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(2)]}function parse_PtgAttrIf(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,4);return[type,loc]}function parse_PtgRefN(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,4);return[type,loc]}function parse_PtgRef3d(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,4);return[type,ixti,loc]}function parse_PtgFunc(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(2);return[FtabArgc[iftab],Ftab[iftab]]}function parse_PtgFuncVar(blob,length){blob.l++;var cparams=blob.read_shift(1),tab=parsetab(blob);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}var parse_PtgAttrSum=parseread(4);var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length){blob.l++;var row=blob.read_shift(2);var col=blob.read_shift(2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length){blob.l++;return parse_ShortXLUnicodeString(blob)}function parse_SerAr(blob){var val=[];switch(val[0]=blob.read_shift(1)){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString(blob);break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob){var cols=1+blob.read_shift(1);var rows=1+blob.read_shift(2);for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob);return o}function parse_PtgName(blob,length){var type=blob.read_shift(1)>>>5&3;var nameindex=blob.read_shift(4);return[type,0,nameindex]}function parse_PtgNameX(blob,length){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgMemFunc(blob,length){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgRefErr(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={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 y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},255:{}};function parse_Formula(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf="";if(opts.biff<5)blob.l+=length-16;else if(opts.biff===5)blob.l+=length-20;else cbf=parse_XLSCellParsedFormula(blob,length-20,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){if(opts.biff<8)return parsenoop(blob,length);var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,length-cce-2,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_Rgce(blob,length){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length)])}}return ptgs}function mapper(x){return x.map(function f2(y){return y[1]}).join(",")}function stringify_formula(formula,range,cell,supbooks,opts){if(opts!==undefined&&opts.biff===5)return"BIFF5??";var _range=range!==undefined?range:{s:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r;if(!formula[0]||!formula[0][0])return"";for(var ff=0,fflen=formula[0].length;ff="+e1);break;case"PtgGt":e1=stack.pop();e2=stack.pop();stack.push(e2+">"+e1);break;case"PtgNe":e1=stack.pop();e2=stack.pop();stack.push(e2+"<>"+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),_range);stack.push(encode_cell(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),cell);stack.push(encode_cell(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range);stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];stack.push(supbooks[1][ixti+1]+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl.Name;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx];if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":stack.push("("+stack.pop()+")");break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts))}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+f[1].map(mapper).join(";")+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}}return stack[0]}function parse_XLSBCellParsedFormula(data,length){var cce=data.read_shift(4);return parsenoop(data,length-4)}var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={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 Ftab={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"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,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,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,86:1,90:1,97:2,98:1,99:1,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,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,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,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,65535:0};var XLSXFutureFunctions={"_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.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.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.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_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.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.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.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"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!=null&&cref[1]!=="")p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,Record){if(end)return;switch(Record.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4); -z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels);return parse_ws_xml(data,opts,rels)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":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(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[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":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}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"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[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:seen=false}break;case"ComponentOptions":switch(Rn[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:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){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"Date1904":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:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":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:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[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:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[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:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[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:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[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:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;if(last_formula)shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":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"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":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":{}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"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":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.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"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":break;case"Dimension":break;case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt", -f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimension",f:parsenoop},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break; -case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; +for(j=0;j!=D[242].length;++j)if(D[242][j].charCodeAt(0)!==65533){e[D[242][j]]=61952+j;d[61952+j]=D[242][j]}D[243]="����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�".split("");for(j=0;j!=D[243].length;++j)if(D[243][j].charCodeAt(0)!==65533){e[D[243][j]]=62208+j;d[62208+j]=D[243][j]}D[244]="����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�".split("");for(j=0;j!=D[244].length;++j)if(D[244][j].charCodeAt(0)!==65533){e[D[244][j]]=62464+j;d[62464+j]=D[244][j]}D[245]="����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�".split("");for(j=0;j!=D[245].length;++j)if(D[245][j].charCodeAt(0)!==65533){e[D[245][j]]=62720+j;d[62720+j]=D[245][j]}D[246]="����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�".split("");for(j=0;j!=D[246].length;++j)if(D[246][j].charCodeAt(0)!==65533){e[D[246][j]]=62976+j;d[62976+j]=D[246][j]}D[247]="����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�".split("");for(j=0;j!=D[247].length;++j)if(D[247][j].charCodeAt(0)!==65533){e[D[247][j]]=63232+j;d[63232+j]=D[247][j]}D[248]="����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�".split("");for(j=0;j!=D[248].length;++j)if(D[248][j].charCodeAt(0)!==65533){e[D[248][j]]=63488+j;d[63488+j]=D[248][j]}D[249]="����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�".split("");for(j=0;j!=D[249].length;++j)if(D[249][j].charCodeAt(0)!==65533){e[D[249][j]]=63744+j;d[63744+j]=D[249][j]}return{enc:e,dec:d}}();cptable[1250]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1251]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1252]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1253]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1254]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1255]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1256]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1257]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1258]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[1e4]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10006]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10007]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10029]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10079]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();cptable[10081]=function(){var d="\0\b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ",D=[],e={};for(var i=0;i!=d.length;++i){if(d.charCodeAt(i)!==65533)e[d.charAt(i)]=i;D[i]=d.charAt(i)}return{enc:e,dec:D}}();if(typeof module!=="undefined"&&module.exports)module.exports=cptable;(function(root,factory){"use strict";if(typeof cptable==="undefined"){if(typeof require!=="undefined"){var cpt=require("./cpt"+"able");if(typeof module!=="undefined"&&module.exports)module.exports=factory(cpt);else root.cptable=factory(cpt)}else throw new Error("cptable not found")}else cptable=factory(cptable)})(this,function(cpt){"use strict";var magic={1200:"utf16le",1201:"utf16be",12000:"utf32le",12001:"utf32be",16969:"utf64le",20127:"ascii",65000:"utf7",65001:"utf8"};var sbcs_cache=[874,1250,1251,1252,1253,1254,1255,1256,1e4];var dbcs_cache=[932,936,949,950];var magic_cache=[65001];var magic_decode={};var magic_encode={};var cpdcache={};var cpecache={};var sfcc=function sfcc(x){return String.fromCharCode(x)};var cca=function cca(x){return x.charCodeAt(0)};var has_buf=typeof Buffer!=="undefined";if(has_buf){var mdl=1024,mdb=new Buffer(mdl);var make_EE=function make_EE(E){var EE=new Buffer(65536);for(var i=0;i<65536;++i)EE[i]=0;var keys=Object.keys(E),len=keys.length;for(var ee=0,e=keys[ee];ee>10&1023)];out[j++]=EE[56320+(w&1023)]}}}out=out.slice(0,j)}else{out=new Buffer(len);for(i=0;i>8}return function sbcs_d(data){var len=data.length,i=0,j=0;if(2*len>mdl){mdl=2*len;mdb=new Buffer(mdl)}if(Buffer.isBuffer(data)){for(i=0;i>8}return function dbcs_e(data,ofmt){var len=data.length,out=new Buffer(2*len),i=0,j=0,jj=0,k=0,D=0;if(typeof data==="string"){for(i=k=0;i0)out[k++]=EE[j]}out=out.slice(0,k)}else if(Buffer.isBuffer(data)){for(i=k=0;i0)out[k++]=EE[j]}else{jj=j-65536;j=2*(55296+(jj>>10&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j];j=2*(56320+(jj&1023));out[k++]=EE[j+1]||EE[j];if(EE[j+1]>0)out[k++]=EE[j]}}out=out.slice(0,k)}else{for(i=k=0;i0)out[k++]=EE[j]}}if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)}};var dbcs_decode=function make_dbcs_decode(cp){var D=cpt[cp].dec;var DD=new Buffer(131072),d=0,c,w=0,j=0,i=0;for(i=0;i<65536;++i){DD[2*i]=255;DD[2*i+1]=253}for(d=0;d>8}return function dbcs_d(data){var len=data.length,out=new Buffer(2*len),i=0,j=0,k=0;if(Buffer.isBuffer(data)){for(i=0;imdl){mdl=4*len;mdb=new Buffer(mdl)}var i=0;if(len>=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(var j=1,k=0,D=0;i>8}else{w-=65536;ww=55296+(w>>10&1023);w=56320+(w&1023);mdb[k++]=ww&255;mdb[k++]=ww>>>8;mdb[k++]=w&255;mdb[k++]=w>>>8&255}}return mdb.slice(0,k).toString("ucs2")};magic_encode[65001]=function utf8_e(data,ofmt){if(has_buf&&Buffer.isBuffer(data)){if(!ofmt||ofmt==="buf")return data;if(ofmt!=="arr")return data.toString("binary");return[].slice.call(data)}var len=data.length,w=0,ww=0,j=0;var direct=typeof data==="string";if(4*len>mdl){mdl=4*len;mdb=new Buffer(mdl)}for(var i=0;i>6);mdb[j++]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;++i;ww=(direct?data.charCodeAt(i):data[i].charCodeAt(0))-56320+(w<<10);mdb[j++]=240+(ww>>>18&7);mdb[j++]=144+(ww>>>12&63);mdb[j++]=128+(ww>>>6&63);mdb[j++]=128+(ww&63)}else{mdb[j++]=224+(w>>12);mdb[j++]=128+(w>>6&63);mdb[j++]=128+(w&63)}}if(!ofmt||ofmt==="buf")return mdb.slice(0,j);if(ofmt!=="arr")return mdb.slice(0,j).toString("binary");return[].slice.call(mdb,0,j)}}var encache=function encache(){if(has_buf){if(cpdcache[sbcs_cache[0]])return;var i=0,s=0;for(i=0;i255){out[j]=w>>8;out[++j]=w&255}else out[j]=w&255}else if(M=magic[cp])switch(M){case"utf8":if(has_buf&&isstr){out=new Buffer(data,M);j=out.length;break}for(i=0;i>6);out[++j]=128+(w&63)}else if(w>=55296&&w<=57343){w-=55296;ww=(isstr?data.charCodeAt(++i):data[++i].charCodeAt(0))-56320+(w<<10);out[j]=240+(ww>>>18&7);out[++j]=144+(ww>>>12&63);out[++j]=128+(ww>>>6&63);out[++j]=128+(ww&63)}else{out[j]=224+(w>>12);out[++j]=128+(w>>6&63);out[++j]=128+(w&63)}}break;case"ascii":if(has_buf&&typeof data==="string"){out=new Buffer(data,M);j=out.length;break}for(i=0;i>8}break;case"utf16be":for(i=0;i>8;out[j++]=w&255}break;case"utf32le":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255;w>>=8;out[j++]=w&255}break;case"utf32be":for(i=0;i=55296&&w<=57343)w=65536+(w-55296<<10)+(data[++i].charCodeAt(0)-56320);out[j+3]=w&255;w>>=8;out[j+2]=w&255;w>>=8;out[j+1]=w&255;w>>=8;out[j]=w&255;j+=4}break;case"utf7":for(i=0;i-1){out[j++]=c.charCodeAt(0);continue}var tt=encode(1201,c);out[j++]=43;out[j++]=BM.charCodeAt(tt[0]>>2);out[j++]=BM.charCodeAt(((tt[0]&3)<<4)+((tt[1]||0)>>4));out[j++]=BM.charCodeAt(((tt[1]&15)<<2)+((tt[2]||0)>>6));out[j++]=45}break;default:throw new Error("Unsupported magic: "+cp+" "+magic[cp])}else throw new Error("Unrecognized CP: "+cp);out=out.slice(0,j);if(!has_buf)return ofmt=="str"?out.map(sfcc).join(""):out;if(!ofmt||ofmt==="buf")return out;if(ofmt!=="arr")return out.toString("binary");return[].slice.call(out)};var decode=function decode(cp,data){var F;if(F=cpdcache[cp])return F(data);if(typeof data==="string")return decode(cp,data.split("").map(cca));var len=data.length,out=new Array(len),s="",w=0,i=0,j=1,k=0,ww=0;var C=cpt[cp],D,M="";if(C&&(D=C.dec)){for(i=0;i=3&&data[0]==239)if(data[1]==187&&data[2]==191)i=3;for(;i>10&1023);w=56320+(w&1023);out[k++]=String.fromCharCode(ww);out[k++]=String.fromCharCode(w)}}break;case"ascii":if(has_buf&&Buffer.isBuffer(data))return data.toString(M);for(i=0;i=2&&data[0]==255)if(data[1]==254)i=2;if(has_buf&&Buffer.isBuffer(data))return data.toString(M);j=2;for(;i+1=2&&data[0]==254)if(data[1]==255)i=2;j=2;for(;i+1=4&&data[0]==255)if(data[1]==254&&data[2]===0&&data[3]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf32be":if(len>=4&&data[3]==255)if(data[2]==254&&data[1]===0&&data[0]===0)i=4;j=4;for(;i65535){w-=65536;out[k++]=String.fromCharCode(55296+(w>>10&1023));out[k++]=String.fromCharCode(56320+(w&1023))}else out[k++]=String.fromCharCode(w)}break;case"utf7":if(len>=4&&data[0]==43&&data[1]==47&&data[2]==118){if(len>=5&&data[3]==56&&data[4]==45)i=5;else if(data[3]==56||data[3]==57||data[3]==43||data[3]==47)i=4}for(;i>4;tt.push(c1);e3=BM.indexOf(String.fromCharCode(data[i+l++]));if(e3===-1)break;c2=(e2&15)<<4|e3>>2;tt.push(c2);e4=BM.indexOf(String.fromCharCode(data[i+l++]));if(e4===-1)break;c3=(e3&3)<<6|e4;if(e4<64)tt.push(c3)}o64=decode(1201,tt);for(l=0;l>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["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 frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee); +while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return sign+(base===0?"":""+base)+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad_(myn,r[1].length)+r[2]+"/"+r[3]+pad0(myd,r[4].length))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";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){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}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];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function dup(o){if(typeof JSON!="undefined")return JSON.parse(JSON.stringify(o));if(typeof o!="object"||!o)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function fill(c,l){var o="";while(o.length]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt]; +return vt_cache[bt]=new RegExp("<(?:vt:)?"+bt+">(.*?)","g")}}();var vtvregex=/<\/?(:?vt:)?variant>/g,vtmregex=/<(:?vt:)?([^>]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={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"};XMLNS.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"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"wstr":o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));size=2*size;break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt,opts){var out=dup(cell);if(tgt.s){if(out.cRel)out.c+=tgt.s.c;if(out.rRel)out.r+=tgt.s.r}else{out.c+=tgt.c;out.r+=tgt.r}if(!opts||opts.biff<12){while(out.c>=256)out.c-=256;while(out.r>=65536)out.r-=65536}return out}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}function encode_cell_xls(c){var s=encode_cell(c);if(c.cRel===0)s=fix_col(s);if(c.rRel===0)s=fix_row(s);return s}function encode_range_xls(r){return encode_cell_xls(r.s)+":"+encode_cell_xls(r.e)}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_XLNameWideString=parse_XLWideString;var write_XLNameWideString=write_XLWideString;var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_RfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);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);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}var parse_UncheckedRfX=parse_RfX;var write_UncheckedRfX=write_RfX;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")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={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 XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([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]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"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.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","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":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","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.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":"TODO","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",sheet:"js"};var CT_LIST=function(){var o={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",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["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"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(cp.CreatedDate!=null)cp_doit("dcterms:created",typeof cp.CreatedDate==="string"?cp.CreatedDate:write_w3cdtf(cp.CreatedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);if(cp.ModifiedDate!=null)cp_doit("dcterms:modified",typeof cp.ModifiedDate==="string"?cp.ModifiedDate:write_w3cdtf(cp.ModifiedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["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"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v); +});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=12?2:1);var width=1,encoding="sbcs-cont";var cp=current_codepage;if(opts&&opts.biff>=8)current_codepage=1200;if(!opts||opts.biff==8){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}else if(opts.biff==12){width=2;encoding="wstr"}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;if(opts){if(opts.biff>=2&&opts.biff<=5)return blob.read_shift(cch,"sbcs-cont");if(opts.biff>=12)return blob.read_shift(cch,"dbcs-cont")}var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts&&opts.biff==2?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function parse_LongRGBA(blob,length){var r=blob.read_shift(1),g=blob.read_shift(1),b=blob.read_shift(1),a=blob.read_shift(1);return[r,g,b,a]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length,opts){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length,opts);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){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);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var target=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)blob.l++;var str=parse_XLUnicodeString(blob,target-blob.l,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length,opts){var end=blob.l+length;var w=opts.biff==8||!opts.biff?4:2;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l=end;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){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]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2,opts);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(opts&&opts.biff==2?1:2);if(!opts||opts.biff>=5){blob.l+=2;var itab=blob.read_shift(2);blob.l+=4}var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var npflen=target-blob.l;if(opts&&opts.biff==2)--npflen;var rgce=target==blob.l||cce==0?[]:parse_NameParsedFormula(blob,npflen,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);switch(opts.biff){case 2:blob.l++;length-=7;break;case 3:case 4:blob.l+=2;length-=8;break;default:blob.l+=6;length-=12}return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop; +var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop;var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.t="str";cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.t="n";cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.t="n";cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}function parse_RString(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);var cch=blob.read_shift(2);var str=parse_XLUnicodeStringNoCch(blob,cch,opts);blob.l=end;cell.t="str";cell.val=str;return cell}var CS2CP={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 parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=utf8read(x);if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=utf8read(x);z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(z.r)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i].trim(),opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16);return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[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 Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[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(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements");m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]=''; +o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;var cRel=false,rRel=false;if($4.length>0||$5.length==0)cRel=true;if(cRel)C+=rcbase.c;else--C;if($2.length>0||$3.length==0)rRel=true;if(rRel)R+=rcbase.r;else--R;return $1+(cRel?"":"$")+encode_col(C)+(rRel?"":"$")+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function shift_formula_str(f,delta){return f.replace(/(^|[^A-Z0-9])([$]?)([A-Z]+)([$]?)(\d+)/g,function($0,$1,$2,$3,$4,$5,off,str){return $1+($2=="$"?$2+$3:encode_col(decode_col($3)+delta.c))+($4=="$"?$4+$5:encode_row(decode_row($5)+delta.r))})}function shift_formula_xlsx(f,range,cell){var r=decode_range(range),s=r.s,c=decode_cell(cell);var delta={r:c.r-s.r,c:c.c-s.c};return shift_formula_str(f,delta)}function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(length==1?1:2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length,opts){var w=2;if(opts){if(opts.biff>=2&&opts.biff<=5)return parse_RgceArea_BIFF2(blob,length,opts);else if(opts.biff==12)w=4}var r=blob.read_shift(w),R=blob.read_shift(w);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceArea_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2),R=parse_ColRelU(blob,2);var c=blob.read_shift(1);var C=blob.read_shift(1);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]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}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);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLoc_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2);var c=blob.read_shift(1);return{r:r[0],c:c,cRel:r[1],rRel:r[2]}}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);var r=blob.read_shift(biff>=12?4:2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(rRel==1)while(r>524287)r-=1048576;if(cRel==1)while(cl>8191)cl=cl-16384;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_RgceLocRel_BIFF2(blob,length){var rl=blob.read_shift(2);var c=blob.read_shift(1);var rRel=(rl&32768)>>15,cRel=(rl&16384)>>14;rl&=16383;if(rRel==1&&rl>=8192)rl=rl-16384;if(cRel==1&&c>=128)c=c-256;return{r:rl,c:c,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,opts.biff>=2&&opts.biff<=5?6:8,opts);return[type,area]}function parse_PtgArea3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2,"i");var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}var area=parse_RgceArea(blob,w,opts);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}blob.l+=w;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts.biff==2?6:opts.biff==12?14:7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length,opts){blob.l+=2;var offset=blob.read_shift(opts&&opts.biff==2?1:2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(opts&&opts.biff==2?1:2));return o}function parse_PtgAttrGoto(blob,length,opts){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIf(blob,length,opts){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIfError(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length,opts){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=opts&&opts.biff==2?3:4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,0,opts);return[type,loc]}function parse_PtgRefN(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,0,opts);return[type,loc]}function parse_PtgRef3d(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,0,opts);return[type,ixti,loc]}function parse_PtgFunc(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(opts&&opts.biff<=3?1:2);return[FtabArgc[iftab],Ftab[iftab],type]}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);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}function parse_PtgAttrSum(blob,length,opts){blob.l+=opts&&opts.biff==2?3:4;return}var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length,opts){blob.l++;if(opts&&opts.biff==12)return[blob.read_shift(4,"i"),0];var row=blob.read_shift(2);var col=blob.read_shift(opts&&opts.biff==2?1:2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length,opts){blob.l++;return parse_ShortXLUnicodeString(blob,length-1,opts)}function parse_SerAr(blob,biff){var val=[blob.read_shift(1)];if(biff==12)switch(val[0]){case 2:val[0]=4;break;case 4:val[0]=16;break;case 0:val[0]=1;break;case 1:val[0]=2;break}switch(val[0]){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString2(blob,0,{biff:biff>0&&biff<8?2:biff});break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob,length,opts){var rows=0,cols=0;if(opts.biff==12){rows=blob.read_shift(4);cols=blob.read_shift(4)}else{cols=1+blob.read_shift(1);rows=1+blob.read_shift(2)}if(opts.biff>=2&&opts.biff<8){--rows;if(--cols==0)cols=256}for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob,opts.biff);return o}function parse_PtgName(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var w=!opts||opts.biff>=8?4:2;var nameindex=blob.read_shift(w);switch(opts.biff){case 2:blob.l+=5;break;case 3:case 4:blob.l+=8;break;case 5:blob.l+=12;break}return[type,0,nameindex]}function parse_PtgNameX(blob,length,opts){if(opts.biff==5)return parse_PtgNameX_BIFF5(blob,length,opts);var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgNameX_BIFF5(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2,"i");blob.l+=8;var nameindex=blob.read_shift(2);blob.l+=12;return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=opts&&opts.biff==2?3:4;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgMemFunc(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgRefErr(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=4;if(opts.biff==12)blob.l+=2;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={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 y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},128:{n:"PtgAttrIfError",f:parse_PtgAttrIfError},255:{}};function parse_Formula(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf=parse_XLSCellParsedFormula(blob,end-blob.l,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob,0,opts);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;case"PtgExp":if(opts&&opts.biff==12){rgce[i][1][1]=blob.read_shift(4);o.push(rgce[i][1])}break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce,opts);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce,opts);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);return[rgce,rgcb]}var gcnt=0;function parse_Rgce(blob,length,opts){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length,opts)])}}return ptgs}function stringify_array(f){var o=[];for(var i=0;i=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function stringify_formula(formula,range,cell,supbooks,opts){var _range={s:{c:0,r:0},e:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r,sname="";if(!formula[0]||!formula[0][0])return"";var last_sp=-1,sp="";for(var ff=0,fflen=formula[0].length;ff=0){switch(formula[0][last_sp][1][0]){case 0:sp=fill(" ",formula[0][last_sp][1][1]);break;case 1:sp=fill("\r",formula[0][last_sp][1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgSpace type "+formula[0][last_sp][1][0])}e2=e2+sp;last_sp=-1}stack.push(e2+PtgBinOp[f[0]]+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":e1=stack.pop();e2=stack.pop();stack.push(e2+":"+e1);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(f[1][1],_range,opts);stack.push(encode_cell_xls(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(f[1][1],cell,opts);stack.push(encode_cell_xls(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range,opts);sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=argc==0?[]:stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range_xls(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl?lbl.Name:"**MISSING**"+nameidx;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(opts.biff==5){if(bookidx<0)bookidx=-bookidx;if(supbooks[bookidx])externbook=supbooks[bookidx][nameidx]}else{if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx]}if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":var lp="(",rp=")";if(last_sp>=0){sp="";switch(formula[0][last_sp][1][0]){case 2:lp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 3:lp=fill("\r",formula[0][last_sp][1][1])+lp;break;case 4:rp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+lp;break;default:if(opts.WTF)throw new Error("Unexpected PtgSpace type "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts));fnd=true;break}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+stringify_array(f[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":last_sp=ff;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];switch(f[1][0]){case 0:sp=fill(" ",f[1][1]);break;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgSpace type "+f[1][0])}stack.push(sp+stack.pop());last_sp=-1}}if(stack.length>1&&opts.WTF)throw new Error("bad formula stack");return stack[0]}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);var rgcb=cb>0?parse_RgbExtra(data,cb,rgce,opts):null;return[rgce,rgcb]}var parse_XLSBArrayParsedFormula=parse_XLSBParsedFormula;var parse_XLSBCellParsedFormula=parse_XLSBParsedFormula;var parse_XLSBNameParsedFormula=parse_XLSBParsedFormula;var parse_XLSBSharedParsedFormula=parse_XLSBParsedFormula;var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={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 Ftab={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:"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 FtabArgc={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,416:1,449:2,450:2,65535:0};var XLSXFutureFunctions={"_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.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.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.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_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.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.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.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"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var refregex=/ref=["']([^"']*)["']/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr,ftag;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;var arrayf=[];var sharedf=[];for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula){if((cref=d.match(match_f))!=null&&cref[1]!==""){p.f=unescapexml(utf8read(cref[1]));if(cref[0].indexOf('t="array"')>-1){p.F=(d.match(refregex)||[])[1];if(p.F.indexOf(":")>-1)arrayf.push([safe_decode_range(p.F),p.F])}else if(cref[0].indexOf('t="shared"')>-1){ftag=parsexmltag(cref[0]);sharedf[parseInt(ftag.si,10)]=[ftag,unescapexml(utf8read(cref[1]))]}}else if(cref=d.match(/]*\/>/)){ftag=parsexmltag(cref[0]);if(sharedf[ftag.si])p.f=shift_formula_xlsx(sharedf[ftag.si][1],sharedf[ftag.si][0].ref,tag.r)}var _tag=decode_cell(tag.r);for(i=0;i=arrayf[i][0].s.r&&_tag.r<=arrayf[i][0].e.r)if(_tag.c>=arrayf[i][0].s.c&&_tag.c<=arrayf[i][0].e.c)p.F=arrayf[i][1]}if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaError(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaNum(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaString(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_BrtArrFmla(data,length,opts){var end=data.l+length;var rfx=parse_RfX(data,16);var fAlwaysCalc=data.read_shift(1);var o=[rfx,null,fAlwaysCalc];if(opts.cellFormula){var formula=parse_XLSBArrayParsedFormula(data,end-data.l,opts);o[1]=formula}else data.l=end;return o}function parse_BrtShrFmla(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var o=[rfx,null];if(opts.cellFormula){var formula=parse_XLSBSharedParsedFormula(data,end-data.l,opts);o[1]=formula;data.l=end}else data.l=end;return o}function parse_ws_bin(data,opts,rels,wb){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];if(!opts)opts={};opts.biff=12;opts["!row"]=0;var ai=0,af=false;var array_formulae=[];var shared_formulae={};var supbooks=[[]];supbooks.sharedf=shared_formulae;supbooks.arrayf=array_formulae;opts.supbooks=supbooks;for(var i=0;i=aii[0].s.r&&row.r<=aii[0].e.r)if(C>=aii[0].s.c&&C<=aii[0].e.c){p.F=encode_range(aii[0]);af=true}}if(!af&&val.length>3)p.f=val[3]}if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_BrtName(data,length,opts){var end=data.l+length;var flags=data.read_shift(4);var chKey=data.read_shift(1);var itab=data.read_shift(4);var name=parse_XLNameWideString(data);var formula=parse_XLSBNameParsedFormula(data,0,opts);var comment=parse_XLNullableWideString(data);if(0){}data.l=end;return{Name:name,Ptg:formula,Comment:comment}}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;if(!opts)opts={};opts.biff=12;var Names={},NameList=[];recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtName":Names[val.Name]=val;NameList.push(val.Name);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}},opts);parse_wb_defaults(wb);Names["!names"]=NameList;wb.Names=Names;return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels,wb);return parse_ws_xml(data,opts,rels,wb)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,arrayf,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?unescapexml(ss):cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null){if(cell.Formula){var fstr=unescapexml(cell.Formula);if(fstr.charCodeAt(0)==61)fstr=fstr.substr(1);cell.f=rc_to_a1(fstr,base);cell.Formula=undefined;if(cell.ArrayRange=="RC")cell.F=rc_to_a1("RC:RC",base);else if(cell.ArrayRange){cell.F=rc_to_a1(cell.ArrayRange,base);arrayf.push([safe_decode_range(cell.F),cell.F])}}else{for(i=0;i=arrayf[i][0].s.r&&base.r<=arrayf[i][0].e.r)if(base.c>=arrayf[i][0].s.c&&base.c<=arrayf[i][0].e.c)cell.F=arrayf[i][1]}}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;var arrayf=[];xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,arrayf,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":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(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[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":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}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"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[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:seen=false}break;case"ComponentOptions":switch(Rn[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:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){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"Date1904":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:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":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:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[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:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[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:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[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:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[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:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){ +case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula){var _f=val.formula;if(_f&&_f[0]&&_f[0][0]&&_f[0][0][0]=="PtgExp"){var _fr=_f[0][0][1][0],_fc=_f[0][0][1][1];var _fe=encode_cell({r:_fr,c:_fc});if(shared_formulae[_fe])temp_val.f=stringify_formula(val.formula,range,val.cell,supbooks,opts);else temp_val.F=(out[_fe]||{}).F}else temp_val.f=stringify_formula(val.formula,range,val.cell,supbooks,opts)}safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f=stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val);if(options.cellFormula&&out[last_cell]){out[last_cell].f=stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);out[last_cell].F=encode_range(val[0])}}break;case"ShrFmla":{if(!cell_valid)break;if(!options.cellFormula)break;if(last_cell){shared_formulae[encode_cell(last_formula.cell)]=val[0];(out[encode_cell(last_formula.cell)]||{}).f=stringify_formula(val[0],range,lastcell,supbooks,opts)}}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"RString":case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":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"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":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":{}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"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":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.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"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;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;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parse_BrtName},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parse_BrtArrFmla},427:{n:"BrtShrFmla",f:parse_BrtShrFmla},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette", +f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},518:{n:"Formula",f:parse_Formula},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1030:{n:"Formula",f:parse_Formula},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimensions",f:parse_Dimensions},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},33:{n:"Array",f:parse_Array},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parse_RString},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2); +out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts,wb)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var y="",x,val="";if(sheet==null||sheet["!ref"]==null)return[];var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;var cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;else if(x.F!=null){y=x.F;if(!x.f)continue;val=x.f;if(y.indexOf(":")==-1)y=y+":"+y}if(x.f!=null)val=x.f;else if(x.t=="n"&&x.v!=null)val=""+x.v;else if(x.t=="b")val=x.v?"TRUE":"FALSE";else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else if(x.t=="s")val="'"+x.v;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; diff --git a/dist/xlsx.full.min.map b/dist/xlsx.full.min.map index c93eb94..e55ce07 100644 --- a/dist/xlsx.full.min.map +++ b/dist/xlsx.full.min.map @@ -1 +1 @@ -{"version":3,"sources":["jszip.js","dist/cpexcel.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","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","cptable","version","d","D","enc","split","factory","cpt","1200","1201","12000","12001","16969","20127","65000","65001","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","has_buf","mdl","mdb","make_EE","E","EE","keys","ee","sbcs_encode","make_sbcs_encode","cp","sbcs_e","ofmt","sbcs_decode","make_sbcs_decode","DD","sbcs_d","dbcs_encode","make_dbcs_encode","dbcs_e","jj","dbcs_decode","make_dbcs_decode","dbcs_d","utf8_d","map","ww","utf8_e","direct","encache","null_enc","cp_decache","decache","forEach","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","C","M","isstr","tt","F","dash","o64","c1","c3","e1","e2","e3","e4","hascp","XLSX","make_xlsx","current_codepage","current_cptable","reset_cp","set_cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","b64_decode","new_raw_buf","s2a","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","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","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","S","date1904","setDate","getDay","write_date","fmt","ss0","ss","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","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","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","format","_table","load_entry","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","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdatastr","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","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","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","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.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+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.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","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","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","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","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_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","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","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","trim","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","126","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","150","151","152","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","200","201","202","203","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","_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.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.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_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.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.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_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","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","Record","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","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","1033","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","402","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","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","write_zip_type","oopts","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.full.min.js"} \ No newline at end of file +{"version":3,"sources":["jszip.js","dist/cpexcel.js","xlsx.js"],"names":["e","exports","module","define","amd","f","window","global","self","JSZip","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","cptable","version","d","D","enc","split","factory","cpt","1200","1201","12000","12001","16969","20127","65000","65001","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","has_buf","mdl","mdb","make_EE","E","EE","keys","ee","sbcs_encode","make_sbcs_encode","cp","sbcs_e","ofmt","sbcs_decode","make_sbcs_decode","DD","sbcs_d","dbcs_encode","make_dbcs_encode","dbcs_e","jj","dbcs_decode","make_dbcs_decode","dbcs_d","utf8_d","map","ww","utf8_e","direct","encache","null_enc","cp_decache","decache","forEach","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","C","M","isstr","tt","F","dash","o64","c1","c3","e1","e2","e3","e4","hascp","XLSX","make_xlsx","current_codepage","current_cptable","reset_cp","set_cp","char_codes","debom_xml","_getchar","_gc1","substr","_gc2","Base64","make_b64","b64_decode","new_raw_buf","s2a","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","table_fmt","40","45","46","47","48","49","56","65535","days","months","frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","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","abs","LOG10E","_general_num","general_fmt","_general","fix_hijri","parse_date_code","b2","dow","dout","T","H","S","date1904","setDate","getDay","write_date","fmt","ss0","ss","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","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","flr","write_num_flt","ffmt","oo","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","format","_table","load_entry","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","DO_NOT_EXPORT_CFB","CFB","_CFB","parse","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","find_path","make_find_path","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","pl","dad","UCFullPaths","UCPaths","UCPath","cnt","sector","__readInt32LE","get_sector_list","chkd","sl","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","ct","read_date","mt","storage","MSSZ","__readUInt32LE","fs","readFileSync","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","evert_key","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","dup","JSON","stringify","getdatastr","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","safe","getzipstr","_fs","jszip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","utf8read","utf8reada","orig","utf8readb","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","utf16le_b","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","shift_cell_xls","cell","tgt","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_XLNameWideString","write_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","255","RBErr","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","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","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","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.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","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.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","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","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","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","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_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","trim","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","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","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","shift_formula_str","delta","$0","off","decode_col","decode_row","shift_formula_xlsx","decode_range","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","area","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","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","rows","cols","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","gcnt","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","stringify_formula","supbooks","_range","stack","nameidx","sname","last_sp","sp","fflen","argc","args","lbl","XLSXFutureFunctions","bookidx","externbook","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","PtgDataType","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","126","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","150","151","152","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","200","201","202","203","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","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.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.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_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.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.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","ftag","do_format","marr","marrlen","xlen","cellFormula","si","_tag","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_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","parse_BrtHLink","relId","tooltip","display","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","parse_ws_bin","!id","ai","af","array_formulae","shared_formulae","Names","ws_parse","Record","aii","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","Comment","parse_wb_bin","NameList","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","_f","_fr","_fc","_fe","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","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","1033","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","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","write_zip_type","oopts","writeSync","rowstr","unfix_row","cstr","colstr","unfix_col","split_cell","splt","fix_cell","unfix_cell","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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AAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,SAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY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","file":"dist/xlsx.full.min.js"} \ No newline at end of file diff --git a/dist/xlsx.js b/dist/xlsx.js index 4fbd855..c344ba2 100644 --- a/dist/xlsx.js +++ b/dist/xlsx.js @@ -4,7 +4,7 @@ /*jshint funcscope:true, eqnull:true */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.8.3'; +XLSX.version = '0.8.4'; var current_codepage = 1200, current_cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel'); @@ -1297,6 +1297,15 @@ function cc2str(arr) { return o; } +function dup(o) { + if(typeof JSON != 'undefined') return JSON.parse(JSON.stringify(o)); + if(typeof o != 'object' || !o) return o; + var out = {}; + for(var k in o) if(o.hasOwnProperty(k)) out[k] = dup(o[k]); + return out; +} + +function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } function getdatastr(data) { if(!data) return null; if(data.data) return debom_xml(data.data); @@ -1466,9 +1475,9 @@ var matchtag = (function() { var vtregex = (function(){ var vt_cache = {}; return function vt_regex(bt) { if(vt_cache[bt] !== undefined) return vt_cache[bt]; - return (vt_cache[bt] = new RegExp("(.*?)", 'g') ); + return (vt_cache[bt] = new RegExp("<(?:vt:)?" + bt + ">(.*?)", 'g') ); };})(); -var vtvregex = /<\/?vt:variant>/g, vtmregex = /]*)>(.*)/g, vtmregex = /<(:?vt:)?([^>]*)>(.*) 0 && is_buf(payload)) ba.push(payload); } /* XLS ranges enforced */ -function shift_cell_xls(cell, tgt) { +function shift_cell_xls(cell, tgt, opts) { + var out = dup(cell); if(tgt.s) { - if(cell.cRel) cell.c += tgt.s.c; - if(cell.rRel) cell.r += tgt.s.r; + if(out.cRel) out.c += tgt.s.c; + if(out.rRel) out.r += tgt.s.r; } else { - cell.c += tgt.c; - cell.r += tgt.r; + out.c += tgt.c; + out.r += tgt.r; } - cell.cRel = cell.rRel = 0; - while(cell.c >= 0x100) cell.c -= 0x100; - while(cell.r >= 0x10000) cell.r -= 0x10000; - return cell; + if(!opts || opts.biff < 12) { + while(out.c >= 0x100) out.c -= 0x100; + while(out.r >= 0x10000) out.r -= 0x10000; + } + return out; } function shift_range_xls(cell, range) { @@ -1793,6 +1806,16 @@ function shift_range_xls(cell, range) { return cell; } +function encode_cell_xls(c) { + var s = encode_cell(c); + if(c.cRel === 0) s = fix_col(s); + if(c.rRel === 0) s = fix_row(s); + return s; +} + +function encode_range_xls(r) { + return encode_cell_xls(r.s) + ":" + encode_cell_xls(r.e); +} var OFFCRYPTO = {}; var make_offcrypto = function(O, _crypto) { var crypto; @@ -1905,6 +1928,10 @@ function write_XLWideString(data, o) { return o; } +/* [MS-XLSB] 2.5.165 */ +var parse_XLNameWideString = parse_XLWideString; +var write_XLNameWideString = write_XLWideString; + /* [MS-XLSB] 2.5.114 */ var parse_RelID = parse_XLNullableWideString; var write_RelID = write_XLNullableWideString; @@ -1930,8 +1957,8 @@ function write_RkNumber(data, o) { } -/* [MS-XLSB] 2.5.153 */ -function parse_UncheckedRfX(data) { +/* [MS-XLSB] 2.5.117 RfX */ +function parse_RfX(data) { var cell = ({s: {}, e: {}}); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); @@ -1940,7 +1967,7 @@ function parse_UncheckedRfX(data) { return cell; } -function write_UncheckedRfX(r, o) { +function write_RfX(r, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); o.write_shift(4, r.e.r); @@ -1949,6 +1976,10 @@ function write_UncheckedRfX(r, o) { return o; } +/* [MS-XLSB] 2.5.153 UncheckedRfX */ +var parse_UncheckedRfX = parse_RfX; +var write_UncheckedRfX = write_RfX; + /* [MS-XLSB] 2.5.171 */ /* [MS-XLS] 2.5.342 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ @@ -2304,6 +2335,12 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", + /* Chart Colors */ + "application/vnd.ms-office.chartcolorstyle+xml": "TODO", + + /* Chart Style */ + "application/vnd.ms-office.chartstyle+xml": "TODO", + /* Calculation Chain */ "application/vnd.ms-excel.calcChain": "calcchains", "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", @@ -2737,10 +2774,7 @@ function parse_cust_props(data, opts) { var x = m[i], y = parsexmltag(x); switch(y[0]) { case '': name = null; break; default: if (x.indexOf('= 12 ? 2 : 1); var width = 1, encoding = 'sbcs-cont'; var cp = current_codepage; if(opts && opts.biff >= 8) current_codepage = 1200; - if(opts === undefined || opts.biff !== 5) { + if(!opts || opts.biff == 8 ) { var fHighByte = blob.read_shift(1); if(fHighByte) { width = 2; encoding = 'dbcs-cont'; } + } else if(opts.biff == 12) { + width = 2; encoding = 'wstr'; } var o = cch ? blob.read_shift(cch, encoding) : ""; current_codepage = cp; @@ -3145,6 +3181,10 @@ function parse_XLUnicodeRichExtendedString(blob) { /* 2.5.296 XLUnicodeStringNoCch */ function parse_XLUnicodeStringNoCch(blob, cch, opts) { var retval; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'sbcs-cont'); + if(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont'); + } var fHighByte = blob.read_shift(1); if(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); } else { retval = blob.read_shift(cch, 'dbcs-cont'); } @@ -3153,7 +3193,7 @@ function parse_XLUnicodeStringNoCch(blob, cch, opts) { /* 2.5.294 XLUnicodeString */ function parse_XLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts !== undefined && opts.biff > 0 && opts.biff < 8 ? 1 : 2); + var cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); if(cch === 0) { blob.l++; return ""; } return parse_XLUnicodeStringNoCch(blob, cch, opts); } @@ -3284,10 +3324,10 @@ function parse_RkRec(blob, length) { } /* 2.5.1 */ -function parse_AddinUdf(blob, length) { +function parse_AddinUdf(blob, length, opts) { blob.l += 4; length -= 4; var l = blob.l + length; - var udfName = parse_ShortXLUnicodeString(blob, length); + var udfName = parse_ShortXLUnicodeString(blob, length, opts); var cb = blob.read_shift(2); l -= blob.l; if(cb !== l) throw "Malformed AddinUdf: padding = " + l + " != " + cb; @@ -3517,8 +3557,10 @@ function parse_LabelSst(blob, length) { /* 2.4.148 */ function parse_Label(blob, length, opts) { + var target = blob.l + length; var cell = parse_XLSCell(blob, 6); - var str = parse_XLUnicodeString(blob, length-6, opts); + if(opts.biff == 2) blob.l++; + var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; } @@ -3532,11 +3574,12 @@ function parse_Format(blob, length, opts) { var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ -function parse_Dimensions(blob, length) { - var w = length === 10 ? 2 : 4; +function parse_Dimensions(blob, length, opts) { + var end = blob.l + length; + var w = opts.biff == 8 || !opts.biff ? 4 : 2; var r = blob.read_shift(w), R = blob.read_shift(w), c = blob.read_shift(2), C = blob.read_shift(2); - blob.l += 2; + blob.l = end; return {s: {r:r, c:c}, e: {r:R, c:C}}; } @@ -3637,7 +3680,7 @@ function parse_ExternName(blob, length, opts) { cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 }); - if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); + if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); return o; @@ -3649,12 +3692,15 @@ function parse_Lbl(blob, length, opts) { var flags = blob.read_shift(2); var chKey = blob.read_shift(1); var cch = blob.read_shift(1); - var cce = blob.read_shift(2); - blob.l += 2; - var itab = blob.read_shift(2); - blob.l += 4; + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + if(!opts || opts.biff >= 5) { + blob.l += 2; + var itab = blob.read_shift(2); + blob.l += 4; + } var name = parse_XLUnicodeStringNoCch(blob, cch, opts); - var rgce = parse_NameParsedFormula(blob, target - blob.l, opts, cce); + var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen; + var rgce = target == blob.l || cce == 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce); return { chKey: chKey, Name: name, @@ -3686,7 +3732,12 @@ function parse_ShrFmla(blob, length, opts) { /* 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); - blob.l += 6; length -= 12; /* TODO: fAlwaysCalc */ + /* TODO: fAlwaysCalc */ + switch(opts.biff) { + case 2: blob.l ++; length -= 7; break; + case 3: case 4: blob.l += 2; length -= 8; break; + default: blob.l += 6; length -= 12; + } return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } @@ -4149,6 +4200,7 @@ function parse_BIFF2STR(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var str = parse_XLUnicodeString2(blob, length-7, opts); + cell.t = 'str'; cell.val = str; return cell; } @@ -4157,6 +4209,7 @@ function parse_BIFF2NUM(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = parse_Xnum(blob, 8); + cell.t = 'n'; cell.val = num; return cell; } @@ -4165,6 +4218,7 @@ function parse_BIFF2INT(blob, length) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = blob.read_shift(2); + cell.t = 'n'; cell.val = num; return cell; } @@ -4184,6 +4238,18 @@ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 1; // font family blob.l += length - 9; } + +/* TODO: parse rich text runs */ +function parse_RString(blob, length, opts) { + var end = blob.l + length; + var cell = parse_XLSCell(blob, 6); + var cch = blob.read_shift(2); + var str = parse_XLUnicodeStringNoCch(blob, cch, opts); + blob.l = end; + cell.t = 'str'; + cell.val = str; + return cell; +} /* 18.4.1 charset to codepage mapping */ var CS2CP = ({ 0: 1252, /* ANSI */ @@ -4256,21 +4322,21 @@ var parse_rs = (function parse_rs_factory() { /* 18.4.13 u CT_UnderlineProperty */ case '': font.u = 1; break; case '': break; /* 18.8.2 b */ case '': font.b = 1; break; case '': break; /* 18.8.26 i */ case '': font.i = 1; break; case '': break; @@ -4328,16 +4394,17 @@ function parse_si(x, opts) { if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + // TODO: is whitespace actually valid here? + if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)) { z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); - z.r = x; + z.r = utf8read(x); if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { - z.r = x; + z.r = utf8read(x); z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); - if(html) z.h = parse_rs(x); + if(html) z.h = parse_rs(z.r); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ /* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */ @@ -4356,7 +4423,7 @@ function parse_sst_xml(data, opts) { if(isval(sst)) { ss = sst[2].replace(sstr1,"").split(sstr2); for(var i = 0; i != ss.length; ++i) { - var o = parse_si(ss[i], opts); + var o = parse_si(ss[i].trim(), opts); if(o != null) s[s.length] = o; } sst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount; @@ -5540,9 +5607,10 @@ var rc_to_a1 = (function(){ function rcfunc($$,$1,$2,$3,$4,$5) { var R = $3.length>0?parseInt($3,10)|0:0, C = $5.length>0?parseInt($5,10)|0:0; if(C<0 && $4.length === 0) C=0; - if($4.length > 0) C += rcbase.c; - if($2.length > 0) R += rcbase.r; - return $1 + encode_col(C) + encode_row(R); + var cRel = false, rRel = false; + if($4.length > 0 || $5.length == 0) cRel = true; if(cRel) C += rcbase.c; else --C; + if($2.length > 0 || $3.length == 0) rRel = true; if(rRel) R += rcbase.r; else --R; + return $1 + (cRel ? "" : "$") + encode_col(C) + (rRel ? "" : "$") + encode_row(R); } return function rc_to_a1(fstr, base) { rcbase = base; @@ -5550,6 +5618,18 @@ var rc_to_a1 = (function(){ }; })(); +/* TODO actually parse the formula */ +function shift_formula_str(f, delta) { + return f.replace(/(^|[^A-Z0-9])([$]?)([A-Z]+)([$]?)(\d+)/g, function($0, $1, $2, $3, $4, $5, off, str) { + return $1+($2=="$" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4=="$" ? $4+$5 : encode_row(decode_row($5) + delta.r)); + }); +} + +function shift_formula_xlsx(f, range, cell) { + var r = decode_range(range), s = r.s, c = decode_cell(cell); + var delta = {r:c.r - s.r, c:c.c - s.c}; + return shift_formula_str(f, delta); +} /* --- formula references point to MS-XLS --- */ /* Small helpers */ function parseread(l) { return function(blob, length) { blob.l+=l; return; }; } @@ -5559,17 +5639,30 @@ function parseread1(blob, length) { blob.l+=1; return; } /* 2.5.51 */ function parse_ColRelU(blob, length) { - var c = blob.read_shift(2); + var c = blob.read_shift(length == 1 ? 1 : 2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* 2.5.198.105 */ -function parse_RgceArea(blob, length) { - var r=blob.read_shift(2), R=blob.read_shift(2); +/* [MS-XLS] 2.5.198.105 */ +/* [MS-XLSB] 2.5.97.89 */ +function parse_RgceArea(blob, length, opts) { + var w = 2; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts); + else if(opts.biff == 12) w = 4; + } + var r=blob.read_shift(w), R=blob.read_shift(w); var c=parse_ColRelU(blob, 2); var C=parse_ColRelU(blob, 2); 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]} }; } +/* BIFF 2-5 encodes flags in the row field */ +function parse_RgceArea_BIFF2(blob, length, opts) { + var r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2); + var c=blob.read_shift(1); + var C=blob.read_shift(1); + 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 */ function parse_RgceAreaRel(blob, length) { @@ -5580,36 +5673,61 @@ function parse_RgceAreaRel(blob, length) { } /* 2.5.198.109 */ -function parse_RgceLoc(blob, length) { - var r = blob.read_shift(2); +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); var c = parse_ColRelU(blob, 2); return {r:r, c:c[0], cRel:c[1], rRel:c[2]}; } +function parse_RgceLoc_BIFF2(blob, length, opts) { + var r = parse_ColRelU(blob, 2); + var c = blob.read_shift(1); + return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; +} -/* 2.5.198.111 */ -function parse_RgceLocRel(blob, length) { - var r = blob.read_shift(2); +/* [MS-XLS] 2.5.198.111 TODO */ +/* [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); + var r = blob.read_shift(biff >= 12 ? 4 : 2); var cl = blob.read_shift(2); var cRel = (cl & 0x8000) >> 15, rRel = (cl & 0x4000) >> 14; cl &= 0x3FFF; - if(cRel !== 0) while(cl >= 0x100) cl -= 0x100; + if(rRel == 1) while(r > 0x7FFFF) r -= 0x100000; + if(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000; return {r:r,c:cl,cRel:cRel,rRel:rRel}; } +function parse_RgceLocRel_BIFF2(blob, length) { + var rl = blob.read_shift(2); + var c = blob.read_shift(1); + var rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14; + rl &= 0x3FFF; + if(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000; + if(cRel == 1 && c >= 0x80) c = c - 0x100; + return {r:rl,c:c,cRel:cRel,rRel:rRel}; +} /* Ptg Tokens */ /* 2.5.198.27 */ -function parse_PtgArea(blob, length) { +function parse_PtgArea(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceArea(blob, 8); + var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); return [type, area]; } -/* 2.5.198.28 */ -function parse_PtgArea3d(blob, length) { +/* [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); - var area = parse_RgceArea(blob, 8); + var ixti = blob.read_shift(2, 'i'); + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + var area = parse_RgceArea(blob, w, opts); return [type, ixti, area]; } @@ -5620,10 +5738,15 @@ function parse_PtgAreaErr(blob, length) { return [type]; } /* 2.5.198.30 */ -function parse_PtgAreaErr3d(blob, length) { +function parse_PtgAreaErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); - blob.l += 8; + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + blob.l += w; return [type, ixti]; } @@ -5634,10 +5757,11 @@ function parse_PtgAreaN(blob, length) { return [type, area]; } -/* 2.5.198.32 -- ignore this and look in PtgExtraArray for shape + values */ -function parse_PtgArray(blob, length) { +/* [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 += 7; + blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; return [type]; } @@ -5650,33 +5774,40 @@ function parse_PtgAttrBaxcel(blob, length) { } /* 2.5.198.34 */ -function parse_PtgAttrChoose(blob, length) { +function parse_PtgAttrChoose(blob, length, opts) { blob.l +=2; - var offset = blob.read_shift(2); + var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); var o = []; /* offset is 1 less than the number of elements */ - for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(2)); + for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2)); return o; } /* 2.5.198.35 */ -function parse_PtgAttrGoto(blob, length) { +function parse_PtgAttrGoto(blob, length, opts) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; - return [bitGoto, blob.read_shift(2)]; + return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; } /* 2.5.198.36 */ -function parse_PtgAttrIf(blob, length) { +function parse_PtgAttrIf(blob, length, opts) { + var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; + blob.l += 2; + return [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; +} + +/* [MS-XLSB] 2.5.97.28 */ +function parse_PtgAttrIfError(blob, length) { var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; return [bitIf, blob.read_shift(2)]; } /* 2.5.198.37 */ -function parse_PtgAttrSemi(blob, length) { +function parse_PtgAttrSemi(blob, length, opts) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += 4; + blob.l += opts && opts.biff == 2 ? 3 : 4; return [bitSemi]; } @@ -5699,46 +5830,44 @@ function parse_PtgAttrSpaceSemi(blob, length) { } /* 2.5.198.84 TODO */ -function parse_PtgRef(blob, length) { +function parse_PtgRef(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); return [type, loc]; } /* 2.5.198.88 TODO */ -function parse_PtgRefN(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRefN(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLocRel(blob,4); + var loc = parse_RgceLocRel(blob, 0, opts); return [type, loc]; } /* 2.5.198.85 TODO */ -function parse_PtgRef3d(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRef3d(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel return [type, ixti, loc]; } /* 2.5.198.62 TODO */ -function parse_PtgFunc(blob, length) { +function parse_PtgFunc(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var iftab = blob.read_shift(2); - return [FtabArgc[iftab], Ftab[iftab]]; + var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); + return [FtabArgc[iftab], Ftab[iftab], type]; } /* 2.5.198.63 TODO */ -function parse_PtgFuncVar(blob, length) { +function parse_PtgFuncVar(blob, length, opts) { blob.l++; - var cparams = blob.read_shift(1), tab = parsetab(blob); + var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); return [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]]; } @@ -5747,22 +5876,26 @@ function parsetab(blob, length) { } /* 2.5.198.41 */ -var parse_PtgAttrSum = parseread(4); +function parse_PtgAttrSum(blob, length, opts) { + blob.l += opts && opts.biff == 2 ? 3 : 4; return; +} + /* 2.5.198.43 */ var parse_PtgConcat = parseread1; /* 2.5.198.58 */ -function parse_PtgExp(blob, length) { +function parse_PtgExp(blob, length, opts) { blob.l++; + if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; var row = blob.read_shift(2); - var col = blob.read_shift(2); + var col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [row, col]; } /* 2.5.198.57 */ function parse_PtgErr(blob, length) { blob.l++; return BErr[blob.read_shift(1)]; } -/* 2.5.198.66 TODO */ +/* 2.5.198.66 */ function parse_PtgInt(blob, length) { blob.l++; return blob.read_shift(2); } /* 2.5.198.42 */ @@ -5772,12 +5905,19 @@ function parse_PtgBool(blob, length) { blob.l++; return blob.read_shift(1)!==0;} function parse_PtgNum(blob, length) { blob.l++; return parse_Xnum(blob, 8); } /* 2.5.198.89 */ -function parse_PtgStr(blob, length) { blob.l++; return parse_ShortXLUnicodeString(blob); } +function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } -/* 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ -function parse_SerAr(blob) { - var val = []; - switch((val[0] = blob.read_shift(1))) { +/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ +/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */ +function parse_SerAr(blob, biff) { + var val = [blob.read_shift(1)]; + if(biff == 12) switch(val[0]) { + case 0x02: val[0] = 0x04; break; /* SerBool */ + case 0x04: val[0] = 0x10; break; /* SerErr */ + case 0x00: val[0] = 0x01; break; /* SerNum */ + 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'; @@ -5794,7 +5934,7 @@ function parse_SerAr(blob) { val[1] = parse_Xnum(blob, 8); break; /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ - val[1] = parse_XLUnicodeString(blob); break; + val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; @@ -5809,49 +5949,72 @@ function parse_PtgExtraMem(blob, cce) { } /* 2.5.198.59 */ -function parse_PtgExtraArray(blob) { - var cols = 1 + blob.read_shift(1); //DColByteU - var rows = 1 + blob.read_shift(2); //DRw +function parse_PtgExtraArray(blob, length, opts) { + var rows = 0, cols = 0; + if(opts.biff == 12) { + rows = blob.read_shift(4); // DRw + cols = blob.read_shift(4); // DCol + } else { + cols = 1 + blob.read_shift(1); //DColByteU + rows = 1 + blob.read_shift(2); //DRw + } + if(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; } for(var i = 0, o=[]; i != rows && (o[i] = []); ++i) - for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob); + for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff); return o; } /* 2.5.198.76 */ -function parse_PtgName(blob, length) { +function parse_PtgName(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var nameindex = blob.read_shift(4); + var w = (!opts || (opts.biff >= 8)) ? 4 : 2; + var nameindex = blob.read_shift(w); + switch(opts.biff) { + case 2: blob.l += 5; break; + case 3: case 4: blob.l += 8; break; + case 5: blob.l += 12; break; + } return [type, 0, nameindex]; } /* 2.5.198.77 */ -function parse_PtgNameX(blob, length) { +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; var ixti = blob.read_shift(2); // XtiIndex var nameindex = blob.read_shift(4); return [type, ixti, nameindex]; } +function parse_PtgNameX_BIFF5(blob, length, opts) { + var type = (blob.read_shift(1) >>> 5) & 0x03; + var ixti = blob.read_shift(2, 'i'); // XtiIndex + blob.l += 8; + var nameindex = blob.read_shift(2); + blob.l += 12; + return [type, ixti, nameindex]; +} /* 2.5.198.70 */ -function parse_PtgMemArea(blob, length) { +function parse_PtgMemArea(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += 4; - var cce = blob.read_shift(2); + blob.l += (opts && opts.biff == 2 ? 3 : 4); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.72 */ -function parse_PtgMemFunc(blob, length) { +function parse_PtgMemFunc(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(2); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.86 */ -function parse_PtgRefErr(blob, length) { +function parse_PtgRefErr(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; + if(opts.biff == 12) blob.l += 2; return [type]; } @@ -5977,7 +6140,10 @@ var PtgDupes = { }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); -var Ptg18 = {}; +var Ptg18 = { +// 0x19: { n:'PtgList', f:parse_PtgList }, // TODO +// 0x1D: { n:'PtgSxName', f:parse_PtgSxName }, // TODO +}; var Ptg19 = { 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, @@ -5987,11 +6153,13 @@ var Ptg19 = { 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, +0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, 0xFF: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { + var end = blob.l + length; var cell = parse_XLSCell(blob, 6); if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); @@ -6002,10 +6170,7 @@ function parse_Formula(blob, length, opts) { var chn = blob.read_shift(4); } } - var cbf = ""; - if(opts.biff < 5) blob.l += length-16; - else if(opts.biff === 5) blob.l += length-20; - else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); + var cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -6024,23 +6189,29 @@ function parse_FormulaValue(blob) { /* 2.5.198.103 */ function parse_RgbExtra(blob, length, rgce, opts) { - if(opts.biff < 8) return parsenoop(blob, length); var target = blob.l + length; var o = []; for(var i = 0; i !== rgce.length; ++i) { switch(rgce[i][0]) { case 'PtgArray': /* PtgArray -> PtgExtraArray */ - rgce[i][1] = parse_PtgExtraArray(blob); + rgce[i][1] = parse_PtgExtraArray(blob, 0, opts); o.push(rgce[i][1]); break; case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]); o.push(rgce[i][2]); break; + case 'PtgExp': /* PtgExp -> PtgExtraCol */ + if(opts && opts.biff == 12) { + rgce[i][1][1] = blob.read_shift(4); + o.push(rgce[i][1]); + } break; default: break; } } length = target - blob.l; + /* note: this is technically an error but Excel disregards */ + //if(target !== blob.l && blob.l !== target - length) throw new Error(target + " != " + blob.l); if(length !== 0) o.push(parsenoop(blob, length)); return o; } @@ -6048,7 +6219,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { /* 2.5.198.21 */ function parse_NameParsedFormula(blob, length, opts, cce) { var target = blob.l + length; - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); var rgcb; if(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts); return [rgce, rgcb]; @@ -6056,11 +6227,11 @@ function parse_NameParsedFormula(blob, length, opts, cce) { /* 2.5.198.3 TODO */ function parse_XLSCellParsedFormula(blob, length, opts) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, length - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } @@ -6068,7 +6239,7 @@ function parse_XLSCellParsedFormula(blob, length, opts) { function parse_SharedParsedFormula(blob, length, opts) { var target = blob.l + length; var rgcb, cce = blob.read_shift(2); // length of rgce - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; @@ -6076,41 +6247,71 @@ function parse_SharedParsedFormula(blob, length, opts) { /* 2.5.198.1 TODO */ function parse_ArrayParsedFormula(blob, length, opts, ref) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } /* 2.5.198.104 */ -function parse_Rgce(blob, length) { +var gcnt = 0; +function parse_Rgce(blob, length, opts) { var target = blob.l + length; var R, id, ptgs = []; while(target != blob.l) { length = target - blob.l; id = blob[blob.l]; R = PtgTypes[id]; - //console.log("ptg", id, R) if(id === 0x18 || id === 0x19) { id = blob[blob.l + 1]; R = (id === 0x18 ? Ptg18 : Ptg19)[id]; } if(!R || !R.f) { ptgs.push(parsenoop(blob, length)); } - else { ptgs.push([R.n, R.f(blob, length)]); } + else { ptgs.push([R.n, R.f(blob, length, opts)]); } } return ptgs; } -function mapper(x) { return x.map(function f2(y) { return y[1];}).join(",");} +function stringify_array(f) { + var o = []; + for(var i = 0; i < f.length; ++i) { + var x = f[i], r = []; + for(var j = 0; j < x.length; ++j) { + var y = x[j]; + if(y) switch(y[0]) { + // TODO: handle embedded quotes + case 0x02: r.push('"' + y[1].replace(/"/g,'""') + '"'); break; + default: r.push(y[1]); + } else r.push(""); + } + o.push(r.join(",")); + } + return o.join(";"); +} -/* 2.2.2 + Magic TODO */ +/* [MS-XLS] 2.2.2 TODO */ +/* [MS-XLSB] 2.2.2 */ +var PtgBinOp = { + PtgAdd: "+", + PtgConcat: "&", + PtgDiv: "/", + PtgEq: "=", + PtgGe: ">=", + PtgGt: ">", + PtgLe: "<=", + PtgLt: "<", + PtgMul: "*", + PtgNe: "<>", + PtgPower: "^", + PtgSub: "-" +}; function stringify_formula(formula, range, cell, supbooks, opts) { - if(opts !== undefined && opts.biff === 5) return "BIFF5??"; - var _range = range !== undefined ? range : {s:{c:0, r:0}}; - var stack = [], e1, e2, type, c, ixti, nameidx, r; + var _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}}; + var stack = [], e1, e2, type, c, ixti, nameidx, r, sname=""; if(!formula[0] || !formula[0][0]) return ""; + var last_sp = -1, sp = ""; //console.log("--",cell,formula[0]) for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { var f = formula[0][ff]; @@ -6125,65 +6326,31 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgPercent': stack.push(stack.pop() + "%"); break; /* 2.2.2.1 Binary Value Operator Token */ - /* 2.5.198.26 */ - case 'PtgAdd': + 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 */ e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"+"+e1); - break; - /* 2.5.198.90 */ - case 'PtgSub': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"-"+e1); - break; - /* 2.5.198.75 */ - case 'PtgMul': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"*"+e1); - break; - /* 2.5.198.45 */ - case 'PtgDiv': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"/"+e1); - break; - /* 2.5.198.82 */ - case 'PtgPower': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"^"+e1); - break; - /* 2.5.198.43 */ - case 'PtgConcat': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"&"+e1); - break; - /* 2.5.198.69 */ - case 'PtgLt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<"+e1); - break; - /* 2.5.198.68 */ - case 'PtgLe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<="+e1); - break; - /* 2.5.198.56 */ - case 'PtgEq': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"="+e1); - break; - /* 2.5.198.64 */ - case 'PtgGe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">="+e1); - break; - /* 2.5.198.65 */ - case 'PtgGt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">"+e1); - break; - /* 2.5.198.78 */ - case 'PtgNe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<>"+e1); + if(last_sp >= 0) { + switch(formula[0][last_sp][1][0]) { + case 0: sp = fill(" ", formula[0][last_sp][1][1]); break; + case 1: sp = fill("\r", formula[0][last_sp][1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + e2 = e2 + sp; + last_sp = -1; + } + stack.push(e2+PtgBinOp[f[0]]+e1); break; /* 2.2.2.1 Binary Reference Operator Token */ @@ -6196,7 +6363,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+","+e1); break; - case 'PtgRange': break; + case 'PtgRange': + e1 = stack.pop(); e2 = stack.pop(); + stack.push(e2+":"+e1); + break; /* 2.2.2.3 Control Tokens "can be ignored" */ /* 2.5.198.34 */ @@ -6205,21 +6375,24 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgAttrGoto': break; /* 2.5.198.36 */ case 'PtgAttrIf': break; + /* [MS-XLSB] 2.5.97.28 */ + case 'PtgAttrIfError': break; /* 2.5.198.84 */ case 'PtgRef': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), _range); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], _range, opts); + stack.push(encode_cell_xls(c)); break; /* 2.5.198.88 */ case 'PtgRefN': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), cell); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], cell, opts); + stack.push(encode_cell_xls(c)); break; case 'PtgRef3d': // TODO: lots of stuff - type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range); - stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c)); + type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range, opts); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_cell(c)); break; /* Function Call */ @@ -6227,10 +6400,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgFunc': /* 2.5.198.63 */ case 'PtgFuncVar': - /* f[1] = [argc, func] */ + /* f[1] = [argc, func, type] */ var argc = f[1][0], func = f[1][1]; if(!argc) argc = 0; - var args = stack.slice(-argc); + var args = argc == 0 ? [] : stack.slice(-argc); stack.length -= argc; if(func === 'User') func = args.shift(); stack.push(func + "(" + args.join(",") + ")"); @@ -6249,12 +6422,13 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.27 TODO: fixed points */ case 'PtgArea': type = f[1][0]; r = shift_range_xls(f[1][1], _range); - stack.push(encode_range(r)); + stack.push(encode_range_xls(r)); break; /* 2.5.198.28 */ case 'PtgArea3d': // TODO: lots of stuff type = f[1][0]; ixti = f[1][1]; r = f[1][2]; - stack.push(supbooks[1][ixti+1]+"!"+encode_range(r)); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_range(r)); break; /* 2.5.198.41 */ case 'PtgAttrSum': @@ -6270,7 +6444,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, 0, nameindex */ nameidx = f[1][2]; var lbl = supbooks[0][nameidx]; - var name = lbl.Name; + var name = lbl ? lbl.Name : "**MISSING**" + nameidx; if(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name]; stack.push(name); break; @@ -6280,15 +6454,35 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, ixti, nameindex */ var bookidx = f[1][1]; nameidx = f[1][2]; var externbook; /* TODO: Properly handle missing values */ - if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; - else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + //console.log(bookidx, supbooks); + if(opts.biff == 5) { + if(bookidx < 0) bookidx = -bookidx; + if(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx]; + } else { + if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; + else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + } if(!externbook) externbook = {body: "??NAMEX??"}; stack.push(externbook.body); break; /* 2.2.2.4 Display Tokens */ /* 2.5.198.80 */ - case 'PtgParen': stack.push('(' + stack.pop() + ')'); break; + case 'PtgParen': + var lp = '(', rp = ')'; + if(last_sp >= 0) { + sp = ""; + switch(formula[0][last_sp][1][0]) { + case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + case 4: rp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 5: rp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + default: + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + last_sp = -1; + } + stack.push(lp + stack.pop() + rp); break; /* 2.5.198.86 */ case 'PtgRefErr': stack.push('#REF!'); break; @@ -6310,6 +6504,8 @@ function stringify_formula(formula, range, cell, supbooks, opts) { if(c.c < e2[0].s.c || c.c > e2[0].e.c) continue; if(c.r < e2[0].s.r || c.r > e2[0].e.r) continue; stack.push(stringify_formula(e2[1], _range, q, supbooks, opts)); + fnd = true; + break; } if(!fnd) stack.push(f[1]); } @@ -6317,7 +6513,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.32 TODO */ case 'PtgArray': - stack.push("{" + f[1].map(mapper).join(";") + "}"); + stack.push("{" + stringify_array(f[1]) + "}"); break; /* 2.2.2.5 Mem Tokens */ @@ -6326,8 +6522,11 @@ function stringify_formula(formula, range, cell, supbooks, opts) { //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - /* 2.5.198.38 TODO */ - case 'PtgAttrSpace': break; + /* 2.5.198.38 */ + case 'PtgAttrSpace': + case 'PtgAttrSpaceSemi': + last_sp = ff; + break; /* 2.5.198.92 TODO */ case 'PtgTbl': break; @@ -6354,17 +6553,44 @@ function stringify_formula(formula, range, cell, supbooks, opts) { default: throw 'Unrecognized Formula Token: ' + f; } + var PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto']; + if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) { + f = formula[0][last_sp]; + switch(f[1][0]) { + case 0: sp = fill(" ", f[1][1]); break; + case 1: sp = fill("\r", f[1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + f[1][0]); + } + stack.push(sp + stack.pop()); + last_sp = -1; + } //console.log("::",f, stack) } //console.log("--",stack); + if(stack.length > 1 && opts.WTF) throw new Error("bad formula stack"); return stack[0]; } -/* [MS-XLSB] 2.5.97.4 CellParsedFormula TODO: use similar logic to js-xls */ -function parse_XLSBCellParsedFormula(data, length) { +/* 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); - return parsenoop(data, length-4); + var rgce = parse_Rgce(data, cce, opts); + var cb = data.read_shift(4); + var rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null; + return [rgce, rgcb]; } + +/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */ +var parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.4 CellParsedFormula */ +var parse_XLSBCellParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.12 NameParsedFormula */ +var parse_XLSBNameParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */ +var parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula; /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { 0x1: "REFERENCE", // reference to range @@ -6773,6 +6999,7 @@ var Cetab = { }; /* [MS-XLS] 2.5.198.17 */ +/* [MS-XLSB] 2.5.97.10 */ var Ftab = { 0x0000: 'COUNT', 0x0001: 'IF', @@ -7146,7 +7373,113 @@ var Ftab = { 0x0178: 'ROUNDBAHTDOWN', 0x0179: 'ROUNDBAHTUP', 0x017A: 'THAIYEAR', -0x017B: 'RTD' +0x017B: 'RTD', + +0x017C: 'CUBEVALUE', +0x017D: 'CUBEMEMBER', +0x017E: 'CUBEMEMBERPROPERTY', +0x017F: 'CUBERANKEDMEMBER', +0x0180: 'HEX2BIN', +0x0181: 'HEX2DEC', +0x0182: 'HEX2OCT', +0x0183: 'DEC2BIN', +0x0184: 'DEC2HEX', +0x0185: 'DEC2OCT', +0x0186: 'OCT2BIN', +0x0187: 'OCT2HEX', +0x0188: 'OCT2DEC', +0x0189: 'BIN2DEC', +0x018A: 'BIN2OCT', +0x018B: 'BIN2HEX', +0x018C: 'IMSUB', +0x018D: 'IMDIV', +0x018E: 'IMPOWER', +0x018F: 'IMABS', +0x0190: 'IMSQRT', +0x0191: 'IMLN', +0x0192: 'IMLOG2', +0x0193: 'IMLOG10', +0x0194: 'IMSIN', +0x0195: 'IMCOS', +0x0196: 'IMEXP', +0x0197: 'IMARGUMENT', +0x0198: 'IMCONJUGATE', +0x0199: 'IMAGINARY', +0x019A: 'IMREAL', +0x019B: 'COMPLEX', +0x019C: 'IMSUM', +0x019D: 'IMPRODUCT', +0x019E: 'SERIESSUM', +0x019F: 'FACTDOUBLE', +0x01A0: 'SQRTPI', +0x01A1: 'QUOTIENT', +0x01A2: 'DELTA', +0x01A3: 'GESTEP', +0x01A4: 'ISEVEN', +0x01A5: 'ISODD', +0x01A6: 'MROUND', +0x01A7: 'ERF', +0x01A8: 'ERFC', +0x01A9: 'BESSELJ', +0x01AA: 'BESSELK', +0x01AB: 'BESSELY', +0x01AC: 'BESSELI', +0x01AD: 'XIRR', +0x01AE: 'XNPV', +0x01AF: 'PRICEMAT', +0x01B0: 'YIELDMAT', +0x01B1: 'INTRATE', +0x01B2: 'RECEIVED', +0x01B3: 'DISC', +0x01B4: 'PRICEDISC', +0x01B5: 'YIELDDISC', +0x01B6: 'TBILLEQ', +0x01B7: 'TBILLPRICE', +0x01B8: 'TBILLYIELD', +0x01B9: 'PRICE', +0x01BA: 'YIELD', +0x01BB: 'DOLLARDE', +0x01BC: 'DOLLARFR', +0x01BD: 'NOMINAL', +0x01BE: 'EFFECT', +0x01BF: 'CUMPRINC', +0x01C0: 'CUMIPMT', +0x01C1: 'EDATE', +0x01C2: 'EOMONTH', +0x01C3: 'YEARFRAC', +0x01C4: 'COUPDAYBS', +0x01C5: 'COUPDAYS', +0x01C6: 'COUPDAYSNC', +0x01C7: 'COUPNCD', +0x01C8: 'COUPNUM', +0x01C9: 'COUPPCD', +0x01CA: 'DURATION', +0x01CB: 'MDURATION', +0x01CC: 'ODDLPRICE', +0x01CD: 'ODDLYIELD', +0x01CE: 'ODDFPRICE', +0x01CF: 'ODDFYIELD', +0x01D0: 'RANDBETWEEN', +0x01D1: 'WEEKNUM', +0x01D2: 'AMORDEGRC', +0x01D3: 'AMORLINC', +0x01D4: 'SHEETJS', +0x01D5: 'ACCRINT', +0x01D6: 'ACCRINTM', +0x01D7: 'WORKDAY', +0x01D8: 'NETWORKDAYS', +0x01D9: 'GCD', +0x01DA: 'MULTINOMIAL', +0x01DB: 'LCM', +0x01DC: 'FVSCHEDULE', +0x01DD: 'CUBEKPIMEMBER', +0x01DE: 'CUBESET', +0x01DF: 'CUBESETCOUNT', +0x01E0: 'IFERROR', +0x01E1: 'COUNTIFS', +0x01E2: 'SUMIFS', +0x01E3: 'AVERAGEIF', +0x01E4: 'AVERAGEIFS' }; var FtabArgc = { 0x0002: 1, /* ISNA */ @@ -7155,6 +7488,7 @@ var FtabArgc = { 0x0010: 1, /* COS */ 0x0011: 1, /* TAN */ 0x0012: 1, /* ATAN */ +0x0013: 0, /* PI */ 0x0014: 1, /* SQRT */ 0x0015: 1, /* EXP */ 0x0016: 1, /* LN */ @@ -7184,6 +7518,7 @@ var FtabArgc = { 0x0043: 1, /* DAY */ 0x0044: 1, /* MONTH */ 0x0045: 1, /* YEAR */ +0x0046: 1, /* WEEKDAY */ 0x0047: 1, /* HOUR */ 0x0048: 1, /* MINUTE */ 0x0049: 1, /* SECOND */ @@ -7193,11 +7528,14 @@ var FtabArgc = { 0x004F: 2, /* ABSREF */ 0x0050: 2, /* RELREF */ 0x0053: 1, /* TRANSPOSE */ +0x0055: 0, /* STEP */ 0x0056: 1, /* TYPE */ 0x005A: 1, /* DEREF */ 0x0061: 2, /* ATAN2 */ 0x0062: 1, /* ASIN */ 0x0063: 1, /* ACOS */ +0x0065: 3, /* HLOOKUP */ +0x0066: 3, /* VLOOKUP */ 0x0069: 1, /* ISREF */ 0x006F: 1, /* CHAR */ 0x0070: 1, /* LOWER */ @@ -7223,6 +7561,7 @@ var FtabArgc = { 0x008D: 1, /* TIMEVALUE */ 0x008E: 3, /* SLN */ 0x008F: 4, /* SYD */ +0x0090: 4, /* DDB */ 0x00A2: 1, /* CLEAN */ 0x00A3: 1, /* MDETERM */ 0x00A4: 1, /* MINVERSE */ @@ -7238,6 +7577,7 @@ var FtabArgc = { 0x00BE: 1, /* ISNONTEXT */ 0x00C3: 3, /* DSTDEVP */ 0x00C4: 3, /* DVARP */ +0x00C5: 1, /* TRUNC */ 0x00C6: 1, /* ISLOGICAL */ 0x00C7: 3, /* DCOUNTA */ 0x00C9: 1, /* UNREGISTER */ @@ -7256,6 +7596,7 @@ var FtabArgc = { 0x00EA: 1, /* ATANH */ 0x00EB: 3, /* DGET */ 0x00F4: 1, /* INFO */ +0x00F7: 4, /* DB */ 0x00FC: 2, /* FREQUENCY */ 0x0101: 1, /* EVALUATE */ 0x0105: 1, /* ERROR.TYPE */ @@ -7331,9 +7672,13 @@ var FtabArgc = { 0x0178: 1, /* ROUNDBAHTDOWN */ 0x0179: 1, /* ROUNDBAHTUP */ 0x017A: 1, /* THAIYEAR */ +0x01A0: 1, /* SQRTPI */ +0x01C1: 2, /* EDATE */ +0x01C2: 2, /* EOMONTH */ 0xFFFF: 0 }; /* [MS-XLSX] 2.2.3 Functions */ +/* [MS-XLSB] 2.5.97.10 Ftab */ var XLSXFutureFunctions = { "_xlfn.ACOT": "ACOT", "_xlfn.ACOTH": "ACOTH", @@ -7524,7 +7869,7 @@ var colregex = /<(?:\w*:)?col[^>]*\/>/g; function parse_ws_xml(data, opts, rels) { if(!data) return data; /* 18.3.1.99 worksheet CT_Worksheet */ - var s = {}; + var s = ({}); /* 18.3.1.35 dimension CT_SheetDimension ? */ // $FlowIgnore @@ -7679,13 +8024,16 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; + var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p; var tag, tagr = 0, tagc = 0; - var sstr; + var sstr, ftag; var fmtid = 0, fillid = 0, do_format = Array.isArray(styles.CellXf), cf; + var arrayf = []; + var sharedf = []; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -7722,10 +8070,29 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { d = x.substr(i); p = ({t:""}); - // $FlowIgnore if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); - // $FlowIgnore - if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); + if(opts.cellFormula) { + if((cref=d.match(match_f))!= null && cref[1] !== '') { + p.f=unescapexml(utf8read(cref[1])); + if(cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + sharedf[parseInt(ftag.si, 10)] = [ftag, unescapexml(utf8read(cref[1]))]; + } + } else if((cref=d.match(/]*\/>/))) { + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][0].ref, tag.r); + } + /* TODO: factor out contains logic */ + var _tag = decode_cell(tag.r); + for(i = 0; i < arrayf.length; ++i) + if(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r) + if(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c) + p.F = arrayf[i][1]; + } /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -7965,53 +8332,65 @@ function write_BrtCellSt(cell, ncell, o) { /* [MS-XLSB] 2.4.647 BrtFmlaBool */ function parse_BrtFmlaBool(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'b']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.648 BrtFmlaError */ function parse_BrtFmlaError(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'e']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.649 BrtFmlaNum */ function parse_BrtFmlaNum(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_Xnum(data); var o = [cell, value, 'n']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length - 16); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-16; + else data.l = end; return o; } /* [MS-XLSB] 2.4.650 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { - var start = data.l; + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_XLWideString(data); var o = [cell, value, 'str']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, start + length - data.l); + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l = start + length; + else data.l = end; return o; } @@ -8030,8 +8409,34 @@ function parse_BrtHLink(data, length, opts) { return {rfx:rfx, relId:relId, loc:loc, tooltip:tooltip, display:display}; } +/* [MS-XLSB] 2.4.6 BrtArrFmla */ +function parse_BrtArrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_RfX(data, 16); + var fAlwaysCalc = data.read_shift(1); + var o = [rfx, null, fAlwaysCalc]; + if(opts.cellFormula) { + var formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts); + o[1] = formula; + } else data.l = end; + return o; +} + +/* [MS-XLSB] 2.4.742 BrtShrFmla */ +function parse_BrtShrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_UncheckedRfX(data, 16); + var o = [rfx, null]; + if(opts.cellFormula) { + var formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts); + o[1] = formula; + data.l = end; + } else data.l = end; + return o; +} + /* [MS-XLSB] 2.1.7.61 Worksheet */ -function parse_ws_bin(data, opts, rels) { +function parse_ws_bin(data, opts, rels, wb) { if(!data) return data; if(!rels) rels = {'!id':{}}; var s = {}; @@ -8042,8 +8447,22 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; + if(!opts) opts = {}; + opts.biff = 12; + opts['!row'] = 0; + + var ai = 0, af = false; + + var array_formulae = []; + var shared_formulae = {}; + var supbooks = ([[]]); + supbooks.sharedf = shared_formulae; + supbooks.arrayf = array_formulae; + opts.supbooks = supbooks; + + for(var i = 0; i < wb.Names['!names'].length; ++i) supbooks[0][i+1] = wb.Names[wb.Names['!names'][i]]; + recordhopper(data, function ws_parse(val, Record) { - //console.log(Record); if(end) return; switch(Record.n) { case 'BrtWsDim': ref = val; break; @@ -8051,6 +8470,7 @@ function parse_ws_bin(data, opts, rels) { row = val; if(opts.sheetRows && opts.sheetRows <= row.r) end=true; rr = encode_row(row.r); + opts['!row'] = row.r; break; case 'BrtFmlaBool': @@ -8071,9 +8491,19 @@ function parse_ws_bin(data, opts, rels) { case 'e': p.v = val[1]; p.w = BErr[p.v]; break; case 'str': p.t = 's'; p.v = utf8read(val[1]); break; } - if(opts.cellFormula && val.length > 3) p.f = val[3]; if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.ifmt,null,opts); s[encode_col(C=val[0].c) + rr] = p; + if(opts.cellFormula) { + af = false; + for(ai = 0; ai < array_formulae.length; ++ai) { + var aii = array_formulae[ai]; + if(row.r >= aii[0].s.r && row.r <= aii[0].e.r) + if(C >= aii[0].s.c && C <= aii[0].e.c) { + p.F = encode_range(aii[0]); af = true; + } + } + if(!af && val.length > 3) p.f = val[3]; + } if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; if(refguess.e.r < row.r) refguess.e.r = row.r; @@ -8108,8 +8538,17 @@ function parse_ws_bin(data, opts, rels) { } break; - case 'BrtArrFmla': break; // TODO - case 'BrtShrFmla': break; // TODO + case 'BrtArrFmla': if(!opts.cellFormula) break; + array_formulae.push(val); + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + s[encode_col(C) + rr].F = encode_range(val[0]); + break; + case 'BrtShrFmla': if(!opts.cellFormula) break; + // TODO + shared_formulae[encode_cell(val[0].s)] = val[1]; + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + break; + case 'BrtBeginSheet': break; case 'BrtWsProp': break; // TODO case 'BrtSheetCalcProp': break; // TODO @@ -8220,6 +8659,10 @@ function parse_ws_bin(data, opts, rels) { default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); + + delete opts.supbooks; + delete opts['!row']; + if(!s["!ref"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s["!ref"] = encode_range(ref || refguess); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); @@ -8620,15 +9063,43 @@ function parse_BrtFRTArchID$(data, length) { return o; } +/* [MS-XLSB] 2.4.680 BrtName */ +function parse_BrtName(data, length, opts) { + var end = data.l + length; + var flags = data.read_shift(4); + var chKey = data.read_shift(1); + var itab = data.read_shift(4); + var name = parse_XLNameWideString(data); + var formula = parse_XLSBNameParsedFormula(data, 0, opts); + var comment = parse_XLNullableWideString(data); + if(0 /* fProc */) { + // unusedstring1: XLNullableWideString + // description: XLNullableWideString + // helpTopic: XLNullableWideString + // unusedstring2: XLNullableWideString + } + data.l = end; + return {Name:name, Ptg:formula, Comment:comment}; +} + /* [MS-XLSB] 2.1.7.60 Workbook */ function parse_wb_bin(data, opts) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, z; + if(!opts) opts = {}; + opts.biff = 12; + + var Names = {}, NameList = []; + recordhopper(data, function hopper_wb(val, R) { switch(R.n) { case 'BrtBundleSh': wb.Sheets.push(val); break; + case 'BrtName': + Names[val.Name] = val; NameList.push(val.Name); + break; + case 'BrtBeginBook': break; case 'BrtFileVersion': break; case 'BrtWbProp14': case 'BrtWbProp': break; @@ -8650,7 +9121,6 @@ function parse_wb_bin(data, opts) { case 'BrtSupBookSrc': break; case 'BrtExternSheet': break; case 'BrtEndExternals': break; - case 'BrtName': break; case 'BrtCalcProp': break; case 'BrtUserBookView': break; case 'BrtBeginPivotCacheIDs': break; @@ -8677,10 +9147,13 @@ function parse_wb_bin(data, opts) { case 'BrtEndBook': break; default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); } - }); + }, opts); parse_wb_defaults(wb); + Names['!names'] = NameList; + wb.Names = Names; + return wb; } @@ -8767,9 +9240,9 @@ function parse_wb(data, name, opts) { return parse_wb_xml((data), opts); } -function parse_ws(data, name, opts, rels) { - if(name.substr(name.length-4)===".bin") return parse_ws_bin((data), opts, rels); - return parse_ws_xml((data), opts, rels); +function parse_ws(data, name, opts, rels, wb) { + if(name.substr(name.length-4)===".bin") return parse_ws_bin((data), opts, rels, wb); + return parse_ws_xml((data), opts, rels, wb); } function parse_sty(data, name, opts) { @@ -8902,7 +9375,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) { +function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; if(sid === undefined && row) sid = row.StyleID; @@ -8920,7 +9393,7 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) { break; case 'String': cell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml)); - cell.v = xml.indexOf("<") > -1 ? ss : cell.r; + cell.v = xml.indexOf("<") > -1 ? unescapexml(ss) : cell.r; break; case 'DateTime': cell.v = (Date.parse(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); @@ -8936,9 +9409,24 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) { default: cell.t = 's'; cell.v = xlml_fixstr(ss); break; } safe_format_xlml(cell, nf, o); - if(o.cellFormula != null && cell.Formula) { - cell.f = rc_to_a1(unescapexml(cell.Formula), base); - cell.Formula = undefined; + if(o.cellFormula != null) { + if(cell.Formula) { + var fstr = unescapexml(cell.Formula); + /* strictly speaking, the leading = is required but some writers omit */ + if(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.substr(1); + cell.f = rc_to_a1(fstr, base); + cell.Formula = undefined; + if(cell.ArrayRange == "RC") cell.F = rc_to_a1("RC:RC", base); + else if(cell.ArrayRange) { + cell.F = rc_to_a1(cell.ArrayRange, base); + arrayf.push([safe_decode_range(cell.F), cell.F]); + } + } else { + for(i = 0; i < arrayf.length; ++i) + if(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r) + if(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c) + cell.F = arrayf[i][1]; + } } if(o.cellStyles) { interiors.forEach(function(x) { @@ -8977,11 +9465,12 @@ function parse_xlml_xml(d, opts) { var Props = {}, Custprops = {}, pidx = 0, cp = {}; var comments = [], comment = {}; var cstys = [], csty; + var arrayf = []; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { case 'Data': if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'Cell': @@ -9828,7 +10317,15 @@ function parse_workbook(blob, options) { default: temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); + if(options.cellFormula) { + var _f = val.formula; + if(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') { + var _fr = _f[0][0][1][0], _fc = _f[0][0][1][1]; + var _fe = encode_cell({r:_fr, c:_fc}); + if(shared_formulae[_fe]) temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + else temp_val.F = (out[_fe] || {}).F; + } else temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + } safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -9839,7 +10336,7 @@ function parse_workbook(blob, options) { last_formula.val = val; temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + if(options.cellFormula) temp_val.f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -9847,12 +10344,19 @@ function parse_workbook(blob, options) { } break; case 'Array': { array_formulae.push(val); + if(options.cellFormula && out[last_cell]) { + out[last_cell].f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + out[last_cell].F = encode_range(val[0]); + } } break; case 'ShrFmla': { if(!cell_valid) break; - //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); - /* TODO: capture range */ - if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(!options.cellFormula) break; + if(last_cell) { + /* TODO: capture range */ + shared_formulae[encode_cell(last_formula.cell)]= val[0]; + (out[encode_cell(last_formula.cell)]||{}).f = stringify_formula(val[0], range, lastcell, supbooks, opts); + } } break; case 'LabelSst': temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); @@ -9860,6 +10364,7 @@ function parse_workbook(blob, options) { safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; + case 'RString': case 'Label': case 'BIFF2STR': temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; @@ -10133,14 +10638,12 @@ function parse_workbook(blob, options) { default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; - case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; /* BIFF2-4 records */ - case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break; case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; - case 'Dimension': break; /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': @@ -10245,7 +10748,7 @@ var XLSBRecordEnum = { 0x0024: { n:"BrtFRTEnd", f:parsenoop }, 0x0025: { n:"BrtACBegin", f:parsenoop }, 0x0026: { n:"BrtACEnd", f:parsenoop }, -0x0027: { n:"BrtName", f:parsenoop }, +0x0027: { n:"BrtName", f:parse_BrtName }, 0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, 0x002A: { n:"BrtIndexBlock", f:parsenoop }, 0x002B: { n:"BrtFont", f:parse_BrtFont }, @@ -10568,8 +11071,8 @@ var XLSBRecordEnum = { 0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, 0x01A8: { n:"BrtEndUserShView", f:parsenoop }, 0x01A9: { n:"BrtEndUserShViews", f:parsenoop }, -0x01AA: { n:"BrtArrFmla", f:parsenoop }, -0x01AB: { n:"BrtShrFmla", f:parsenoop }, +0x01AA: { n:"BrtArrFmla", f:parse_BrtArrFmla }, +0x01AB: { n:"BrtShrFmla", f:parse_BrtShrFmla }, 0x01AC: { n:"BrtTable", f:parsenoop }, 0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, 0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, @@ -11231,6 +11734,7 @@ var XLSRecordEnum = { 0x0203: { n:"Number", f:parse_Number }, 0x0204: { n:"Label", f:parse_Label }, 0x0205: { n:"BoolErr", f:parse_BoolErr }, +0x0206: { n:"Formula", f:parse_Formula }, 0x0207: { n:"String", f:parse_String }, 0x0208: { n:'Row', f:parse_Row }, 0x020b: { n:"Index", f:parse_Index }, @@ -11240,6 +11744,7 @@ var XLSRecordEnum = { 0x023e: { n:"Window2", f:parse_Window2 }, 0x027e: { n:"RK", f:parse_RK }, 0x0293: { n:"Style", f:parse_Style }, +0x0406: { n:"Formula", f:parse_Formula }, 0x0418: { n:"BigName", f:parse_BigName }, 0x041e: { n:"Format", f:parse_Format }, 0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, @@ -11396,7 +11901,7 @@ var XLSRecordEnum = { 0x1068: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ -0x0000: { n:"Dimension", f:parsenoop }, +0x0000: { n:"Dimensions", f:parse_Dimensions }, 0x0002: { n:"BIFF2INT", f:parse_BIFF2INT }, 0x0005: { n:"BoolErr", f:parse_BoolErr }, 0x0007: { n:"String", f:parse_BIFF2STRING }, @@ -11405,6 +11910,7 @@ var XLSRecordEnum = { 0x001e: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, 0x001f: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ 0x0016: { n:"ExternCount", f:parsenoop }, +0x0021: { n:"Array", f:parse_Array }, 0x0025: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, 0x0032: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, 0x003e: { n:"BIFF2WINDOW2", f:parsenoop }, @@ -11424,7 +11930,7 @@ var XLSRecordEnum = { 0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ 0x00c2: { n:"AddMenu", f:parsenoop }, 0x00c3: { n:"DelMenu", f:parsenoop }, -0x00d6: { n:"RString", f:parsenoop }, +0x00d6: { n:"RString", f:parse_RString }, 0x00df: { n:"UDDesc", f:parsenoop }, 0x00ea: { n:"TabIdConf", f:parsenoop }, 0x0162: { n:"XL5Modify", f:parsenoop }, @@ -11433,7 +11939,6 @@ var XLSRecordEnum = { 0x0218: { n:"Lbl", f:parse_Lbl }, 0x0223: { n:"ExternName", f:parse_ExternName }, 0x0231: { n:"Font", f:parsenoop }, -0x0406: { n:"Formula", f:parse_Formula }, 0x0409: { n:'BOF', f:parse_BOF }, 0x086d: { n:"FeatInfo", f:parsenoop }, 0x0873: { n:"FeatInfo11", f:parsenoop }, @@ -11638,10 +12143,10 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } -function safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts) { +function safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts, wb) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); - sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]); + sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet], wb); } catch(e) { if(opts.WTF) throw e; } } @@ -11742,7 +12247,7 @@ function parse_zip(zip, opts) { path = path.replace(/sheet0\./,"sheet."); } relsPath = path.replace(/^(.*)(\/)([^\/]*)$/, "$1/_rels/$3.rels"); - safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts); + safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts, wb); } if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); @@ -12102,10 +12607,10 @@ function sheet_to_csv(sheet, opts) { var make_csv = sheet_to_csv; function sheet_to_formulae(sheet) { - var cmds, y = "", x, val=""; - if(sheet == null || sheet["!ref"] == null) return ""; + var y = "", x, val=""; + if(sheet == null || sheet["!ref"] == null) return []; var r = safe_decode_range(sheet['!ref']), rr = "", cols = [], C; - cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); + var cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); var i = 0; for(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C); for(var R = r.s.r; R <= r.e.r; ++R) { @@ -12115,9 +12620,18 @@ function sheet_to_formulae(sheet) { x = sheet[y]; val = ""; if(x === undefined) continue; + else if(x.F != null) { + y = x.F; + if(!x.f) continue; + val = x.f; + if(y.indexOf(":") == -1) y = y + ":" + y; + } if(x.f != null) val = x.f; + else if(x.t == 'n' && x.v != null) val = "" + x.v; + else if(x.t == 'b') val = x.v ? "TRUE" : "FALSE"; else if(x.w !== undefined) val = "'" + x.w; else if(x.v === undefined) continue; + else if(x.t == 's') val = "'" + x.v; else val = ""+x.v; cmds[i++] = y + "=" + val; } diff --git a/dist/xlsx.min.js b/dist/xlsx.min.js index 2a4f624..a48f888 100644 --- a/dist/xlsx.min.js +++ b/dist/xlsx.min.js @@ -1,11 +1,11 @@ /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.3";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["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 frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return sign+(base===0?"":""+base)+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad_(myn,r[1].length)+r[2]+"/"+r[3]+pad0(myd,r[4].length))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)]; -jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";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){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}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];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function getdatastr(data){if(!data)return null;if(data.data)return debom_xml(data.data);if(data.asNodeBuffer&&has_buf)return debom_xml(data.asNodeBuffer().toString("binary"));if(data.asBinary)return debom_xml(data.asBinary());if(data._data&&data._data.getContent)return debom_xml(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));return null}function getdatabin(data){if(!data)return null;if(data.data)return char_codes(data.data);if(data.asNodeBuffer&&has_buf)return data.asNodeBuffer();if(data._data&&data._data.getContent)return Array.prototype.slice.call(data._data.getContent());return null}function getdata(data){return data&&data.name.substr(data.name.length-4)===".bin"?getdatabin(data):getdatastr(data)}function safegetzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];return null}function getzipfile(zip,file){var o=safegetzipfile(zip,file);if(o==null)throw new Error("Cannot find file "+file+" in zip");return o}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}function getzipstr(zip,file,safe){if(!safe)return getdatastr(getzipfile(zip,file));if(!file)return null;try{return getzipstr(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof jszip==="undefined")jszip=require("./js"+"zip");_fs=require("f"+"s")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var tagregex=/<[^>]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("(.*?)","g")}}();var vtvregex=/<\/?vt:variant>/g,vtmregex=/]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={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"};XMLNS.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"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt){if(tgt.s){if(cell.cRel)cell.c+=tgt.s.c;if(cell.rRel)cell.r+=tgt.s.r}else{cell.c+=tgt.c;cell.r+=tgt.r}cell.cRel=cell.rRel=0;while(cell.c>=256)cell.c-=256;while(cell.r>=65536)cell.r-=65536;return cell}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_UncheckedRfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell}function write_UncheckedRfX(r,o){if(!o)o=new_buf(16);o.write_shift(4,r.s.r);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}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")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={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 XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([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]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"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.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+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":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","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.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":"TODO","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",sheet:"js"};var CT_LIST=function(){var o={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",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["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"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(cp.CreatedDate!=null)cp_doit("dcterms:created",typeof cp.CreatedDate==="string"?cp.CreatedDate:write_w3cdtf(cp.CreatedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);if(cp.ModifiedDate!=null)cp_doit("dcterms:modified",typeof cp.ModifiedDate==="string"?cp.ModifiedDate:write_w3cdtf(cp.ModifiedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["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"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=8)current_codepage=1200;if(opts===undefined||opts.biff!==5){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts!==undefined&&opts.biff>0&&opts.biff<8?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function parse_LongRGBA(blob,length){var r=blob.read_shift(1),g=blob.read_shift(1),b=blob.read_shift(1),a=blob.read_shift(1);return[r,g,b,a]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){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);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var cell=parse_XLSCell(blob,6);var str=parse_XLUnicodeString(blob,length-6,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length){var w=length===10?2:4;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l+=2;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){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]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(2);blob.l+=2;var itab=blob.read_shift(2);blob.l+=4;var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var rgce=parse_NameParsedFormula(blob,target-blob.l,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);blob.l+=6;length-=12;return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0;var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop;var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}var CS2CP={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 parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=x;z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(x)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i],opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16);return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[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 Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[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(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements"); -m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;if($4.length>0)C+=rcbase.c;if($2.length>0)R+=rcbase.r;return $1+encode_col(C)+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceLoc(blob,length){var r=blob.read_shift(2);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLocRel(blob,length){var r=blob.read_shift(2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(cRel!==0)while(cl>=256)cl-=256;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,8);return[type,area]}function parse_PtgArea3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var area=parse_RgceArea(blob,8);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);blob.l+=8;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length){blob.l+=2;var offset=blob.read_shift(2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(2));return o}function parse_PtgAttrGoto(blob,length){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(2)]}function parse_PtgAttrIf(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,4);return[type,loc]}function parse_PtgRefN(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,4);return[type,loc]}function parse_PtgRef3d(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,4);return[type,ixti,loc]}function parse_PtgFunc(blob,length){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(2);return[FtabArgc[iftab],Ftab[iftab]]}function parse_PtgFuncVar(blob,length){blob.l++;var cparams=blob.read_shift(1),tab=parsetab(blob);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}var parse_PtgAttrSum=parseread(4);var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length){blob.l++;var row=blob.read_shift(2);var col=blob.read_shift(2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length){blob.l++;return parse_ShortXLUnicodeString(blob)}function parse_SerAr(blob){var val=[];switch(val[0]=blob.read_shift(1)){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString(blob);break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob){var cols=1+blob.read_shift(1);var rows=1+blob.read_shift(2);for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob);return o}function parse_PtgName(blob,length){var type=blob.read_shift(1)>>>5&3;var nameindex=blob.read_shift(4);return[type,0,nameindex]}function parse_PtgNameX(blob,length){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgMemFunc(blob,length){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(2);return[type,cce]}function parse_PtgRefErr(blob,length){var type=blob.read_shift(1)>>>5&3;blob.l+=4;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={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 y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},255:{}};function parse_Formula(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf="";if(opts.biff<5)blob.l+=length-16;else if(opts.biff===5)blob.l+=length-20;else cbf=parse_XLSCellParsedFormula(blob,length-20,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){if(opts.biff<8)return parsenoop(blob,length);var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,length-cce-2,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce);if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_Rgce(blob,length){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length)])}}return ptgs}function mapper(x){return x.map(function f2(y){return y[1]}).join(",")}function stringify_formula(formula,range,cell,supbooks,opts){if(opts!==undefined&&opts.biff===5)return"BIFF5??";var _range=range!==undefined?range:{s:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r;if(!formula[0]||!formula[0][0])return"";for(var ff=0,fflen=formula[0].length;ff="+e1);break;case"PtgGt":e1=stack.pop();e2=stack.pop();stack.push(e2+">"+e1);break;case"PtgNe":e1=stack.pop();e2=stack.pop();stack.push(e2+"<>"+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),_range);stack.push(encode_cell(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(decode_cell(encode_cell(f[1][1])),cell);stack.push(encode_cell(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range);stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];stack.push(supbooks[1][ixti+1]+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl.Name;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx];if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":stack.push("("+stack.pop()+")");break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts))}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+f[1].map(mapper).join(";")+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}}return stack[0]}function parse_XLSBCellParsedFormula(data,length){var cce=data.read_shift(4);return parsenoop(data,length-4)}var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={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 Ftab={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"};var FtabArgc={2:1,3:1,15:1,16:1,17:1,18:1,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,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,86:1,90:1,97:2,98:1,99:1,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,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,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,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,65535:0};var XLSXFutureFunctions={"_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.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.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.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_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.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.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.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"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula&&(cref=d.match(match_f))!=null&&cref[1]!=="")p.f=unescapexml(cref[1]);if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue;p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaError(data,length,opts){var cell=parse_XLSBCell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o}function parse_BrtFmlaNum(data,length,opts){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o}function parse_BrtFmlaString(data,length,opts){var start=data.l;var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_XLSBCellParsedFormula(data,start+length-data.l)}else data.l=start+length;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_ws_bin(data,opts,rels){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];recordhopper(data,function ws_parse(val,Record){if(end)return;switch(Record.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;rr=encode_row(row.r);break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":sstr=strs[val[1]];p.v=sstr.t;p.r=sstr.r;break;case"b":p.v=val[1]?true:false;break;case"e":p.v=val[1];p.w=BErr[p.v];break;case"str":p.t="s";p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])safe_format(p,cf.ifmt,null,opts);s[encode_col(C=val[0].c)+rr]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}});parse_wb_defaults(wb);return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels);return parse_ws_xml(data,opts,rels)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?ss:cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null&&cell.Formula){cell.f=rc_to_a1(unescapexml(cell.Formula),base);cell.Formula=undefined}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":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(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[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":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}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"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[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:seen=false}break;case"ComponentOptions":switch(Rn[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:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){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"Date1904":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:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":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:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[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:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[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:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[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:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[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:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(val.formula,range,val.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f="="+stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val)}break;case"ShrFmla":{if(!cell_valid)break;if(last_formula)shared_formulae[encode_cell(last_formula.cell)]=val[0]}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":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"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":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":{}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"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":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.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"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;case"BIFF2FONTCLR":case"BIFF2FMTCNT":break;case"BIFF2XF":case"BIFF3XF":case"BIFF4XF":break;case"BIFF4FMTCNT":case"BIFF2ROW":case"BIFF2WINDOW2":break;case"Dimension":break;case"SCENARIO":case"DConBin":case"PicF":case"DataLabExt":case"Lel":case"BopPop":case"BopPopCustom":case"RealTimeData":case"Name":break;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{ -n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo",f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimension",f:parsenoop},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parsenoop},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var cmds,y="",x,val="";if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;if(x.f!=null)val=x.f;else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; +var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.8.4";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel");current_cptable=cptable[current_codepage]}function reset_cp(){set_cp(1200)}var set_cp=function(cp){current_codepage=cp};function char_codes(data){var o=[];for(var i=0,len=data.length;i>8])[0]}}var Base64=function make_b64(){var map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(input,utf8){var o="";var c1,c2,c3,e1,e2,e3,e4;for(var i=0;i>2;e2=(c1&3)<<4|c2>>4;e3=(c2&15)<<2|c3>>6;e4=c3&63;if(isNaN(c2)){e3=e4=64}else if(isNaN(c3)){e4=64}o+=map.charAt(e1)+map.charAt(e2)+map.charAt(e3)+map.charAt(e4)}return o},decode:function b64_decode(input,utf8){var o="";var c1,c2,c3;var e1,e2,e3,e4;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0;i>4;c2=(e2&15)<<4|e3>>2;c3=(e3&3)<<6|e4;o+=String.fromCharCode(c1);if(e3!=64){o+=String.fromCharCode(c2)}if(e4!=64){o+=String.fromCharCode(c3)}}return o}}}();var has_buf=typeof Buffer!=="undefined";function new_raw_buf(len){return new(has_buf?Buffer:Array)(len)}function s2a(s){if(has_buf)return new Buffer(s,"binary");return s.split("").map(function(x){return x.charCodeAt(0)&255})}var bconcat=function(bufs){return[].concat.apply([],bufs)};var chr0=/\u0000/g,chr1=/[\u0001-\u0006]/;var SSF={};var make_ssf=function make_ssf(SSF){SSF.version="0.8.1";function _strrev(x){var o="",i=x.length-1;while(i>=0)o+=x.charAt(i--);return o}function fill(c,l){var o="";while(o.length=d?t:fill("0",d-t.length)+t}function pad_(v,d){var t=""+v;return t.length>=d?t:fill(" ",d-t.length)+t}function rpad_(v,d){var t=""+v;return t.length>=d?t:t+fill(" ",d-t.length)}function pad0r1(v,d){var t=""+Math.round(v);return t.length>=d?t:fill("0",d-t.length)+t}function pad0r2(v,d){var t=""+v;return t.length>=d?t:fill("0",d-t.length)+t}var p2_32=Math.pow(2,32);function pad0r(v,d){if(v>p2_32||v<-p2_32)return pad0r1(v,d);var i=Math.round(v);return pad0r2(i,d)}function isgeneral(s,i){return s.length>=7+i&&(s.charCodeAt(i)|32)===103&&(s.charCodeAt(i+1)|32)===101&&(s.charCodeAt(i+2)|32)===110&&(s.charCodeAt(i+3)|32)===101&&(s.charCodeAt(i+4)|32)===114&&(s.charCodeAt(i+5)|32)===97&&(s.charCodeAt(i+6)|32)===108}var opts_fmt=[["date1904",0],["output",""],["WTF",false]];function fixopts(o){for(var y=0;y!=opts_fmt.length;++y)if(o[opts_fmt[y][0]]===undefined)o[opts_fmt[y][0]]=opts_fmt[y][1]}SSF.opts=opts_fmt;var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["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 frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]}function general_fmt_int(v,opts){return""+v}SSF._general_int=general_fmt_int;var general_fmt_num=function make_general_fmt_num(){var gnr1=/\.(\d*[1-9])0+$/,gnr2=/\.0*$/,gnr4=/\.(\d*[1-9])0+/,gnr5=/\.0*[Ee]/,gnr6=/(E[+-])(\d)$/;function gfn2(v){var w=v<0?12:11;var o=gfn5(v.toFixed(12));if(o.length<=w)return o;o=v.toPrecision(10);if(o.length<=w)return o;return v.toExponential(5)}function gfn3(v){var o=v.toFixed(11).replace(gnr1,".$1");if(o.length>(v<0?12:11))o=v.toPrecision(6);return o}function gfn4(o){for(var i=0;i!=o.length;++i)if((o.charCodeAt(i)|32)===101)return o.replace(gnr4,".$1").replace(gnr5,"E").replace("e","E").replace(gnr6,"$10$2");return o}function gfn5(o){return o.indexOf(".")>-1?o.replace(gnr2,"").replace(gnr1,".$1"):o}return function general_fmt_num(v,opts){var V=Math.floor(Math.log(Math.abs(v))*Math.LOG10E),o;if(V>=-4&&V<=-1)o=v.toPrecision(10+V);else if(Math.abs(V)<=9)o=gfn2(v);else if(V===10)o=v.toFixed(10).substr(0,12);else o=gfn3(v);return gfn5(gfn4(o))}}();SSF._general_num=general_fmt_num;function general_fmt(v,opts){switch(typeof v){case"string":return v;case"boolean":return v?"TRUE":"FALSE";case"number":return(v|0)===v?general_fmt_int(v,opts):general_fmt_num(v,opts)}throw new Error("unsupported value in General format: "+v)}SSF._general=general_fmt;function fix_hijri(date,o){return 0}function parse_date_code(v,opts,b2){if(v>2958465||v<0)return null;var date=v|0,time=Math.floor(86400*(v-date)),dow=0;var dout=[];var out={D:date,T:time,u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(out.u)<1e-6)out.u=0;fixopts(opts!=null?opts:opts=[]);if(opts.date1904)date+=1462;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out}SSF.parse_date_code=parse_date_code;function write_date(type,fmt,val,ss0){var o="",ss=0,tt=0,y=val.y,out,outl=0;switch(type){case 98:y=val.y+543;case 121:switch(fmt.length){case 1:case 2:out=y%100;outl=2;break;default:out=y%1e4;outl=4;break}break;case 109:switch(fmt.length){case 1:case 2:out=val.m;outl=fmt.length;break;case 3:return months[val.m-1][1];case 5:return months[val.m-1][0];default:return months[val.m-1][2]}break;case 100:switch(fmt.length){case 1:case 2:out=val.d;outl=fmt.length;break;case 3:return days[val.q][0];default:return days[val.q][1]}break;case 104:switch(fmt.length){case 1:case 2:out=1+(val.H+11)%12;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 72:switch(fmt.length){case 1:case 2:out=val.H;outl=fmt.length;break;default:throw"bad hour format: "+fmt}break;case 77:switch(fmt.length){case 1:case 2:out=val.M;outl=fmt.length;break;default:throw"bad minute format: "+fmt}break;case 115:if(val.u===0)switch(fmt){case"s":case"ss":return pad0(val.S,fmt.length);case".0":case".00":case".000":}switch(fmt){case"s":case"ss":case".0":case".00":case".000":if(ss0>=2)tt=ss0===3?1e3:100;else tt=ss0===1?10:1;ss=Math.round(tt*(val.S+val.u));if(ss>=60*tt)ss=0;if(fmt==="s")return ss===0?"0":""+ss/tt;o=pad0(ss,2+ss0);if(fmt==="ss")return o.substr(0,2);return"."+o.substr(2,fmt.length-1);default:throw"bad second format: "+fmt}case 90:switch(fmt){case"[h]":case"[hh]":out=val.D*24+val.H;break;case"[m]":case"[mm]":out=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":out=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}outl=fmt.length===3?1:2;break;case 101:out=y;outl=1}if(outl>0)return pad0(out,outl);else return""}function commaify(s){if(s.length<=3)return s;var j=s.length%3,o=s.substr(0,j);for(;j!=s.length;j+=3)o+=(o.length>0?",":"")+s.substr(j,3);return o}var write_num=function make_write_num(){var pct1=/%/g;function write_num_pct(type,fmt,val){var sfmt=fmt.replace(pct1,""),mul=fmt.length-sfmt.length;return write_num(type,sfmt,val*Math.pow(10,2*mul))+fill("%",mul)}function write_num_cm(type,fmt,val){var idx=fmt.length-1;while(fmt.charCodeAt(idx-1)===44)--idx;return write_num(type,fmt.substr(0,idx),val/Math.pow(10,3*(fmt.length-idx)))}function write_num_exp(fmt,val){var o;var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E)%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(o.indexOf("e")===-1){var fakee=Math.floor(Math.log(Math.abs(val))*Math.LOG10E);if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-]\d$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}var frac1=/# (\?+)( ?)\/( ?)(\d+)/;function write_num_f1(r,aval,sign){var den=parseInt(r[4]),rr=Math.round(aval*den),base=Math.floor(rr/den);var myn=rr-base*den,myd=den;return sign+(base===0?"":""+base)+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad_(myn,r[1].length)+r[2]+"/"+r[3]+pad0(myd,r[4].length))}function write_num_f2(r,aval,sign){return sign+(aval===0?"":""+aval)+fill(" ",r[1].length+2+r[4].length)}var dec1=/^#*0*\.(0+)/;var closeparen=/\).*[0#]/;var phone=/\(###\) ###\\?-####/;function hashq(str){var o="",cc;for(var i=0;i!=str.length;++i)switch(cc=str.charCodeAt(i)){case 35:break;case 63:o+=" ";break;case 48:o+="0";break;default:o+=String.fromCharCode(cc)}return o}function rnd(val,d){var dd=Math.pow(10,d);return""+Math.round(val*dd)/dd}function dec(val,d){return Math.round((val-Math.floor(val))*Math.pow(10,d))}function flr(val){if(val<2147483647&&val>-2147483648)return""+(val>=0?val|0:val-1|0);return""+Math.floor(val)}function write_num_flt(type,fmt,val){if(type.charCodeAt(0)===40&&!fmt.match(closeparen)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num_flt("n",ffmt,val);return"("+write_num_flt("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_flt(type,fmt.substr(fmt[1]==" "?2:1),val);var o,oo;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0r(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=pad0r(val,0);if(o==="0")o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=rnd(val,r[1].length).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+rnd(aval,r[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(pad0r(aval,0));if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_flt(type,fmt,-val):commaify(""+Math.floor(val))+"."+pad0(dec(val,r[1].length),r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_flt(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=0)return write_num_int("n",ffmt,val);return"("+write_num_int("n",ffmt,-val)+")"}if(fmt.charCodeAt(fmt.length-1)===44)return write_num_cm2(type,fmt,val);if(fmt.indexOf("%")!==-1)return write_num_pct2(type,fmt,val);if(fmt.indexOf("E")!==-1)return write_num_exp2(fmt,val);if(fmt.charCodeAt(0)===36)return"$"+write_num_int(type,fmt.substr(fmt[1]==" "?2:1),val);var o;var r,ri,ff,aval=Math.abs(val),sign=val<0?"-":"";if(fmt.match(/^00+$/))return sign+pad0(aval,fmt.length);if(fmt.match(/^[#?]+$/)){o=""+val;if(val===0)o="";return o.length>fmt.length?o:hashq(fmt.substr(0,fmt.length-o.length))+o}if((r=fmt.match(frac1))!==null)return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/)!==null)return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if((r=fmt.match(dec1))!==null){o=(""+val).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.(\d*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if((r=fmt.match(/^(0*)\.(#*)$/))!==null){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if((r=fmt.match(/^#,##0(\.?)$/))!==null)return sign+commaify(""+aval);if((r=fmt.match(/^#,##0\.([#0]*0)$/))!==null){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if((r=fmt.match(/^#,#*,#0/))!==null)return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if((r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/))!==null){o=_strrev(write_num_int(type,fmt.replace(/[\\-]/g,""),val));ri=0;return _strrev(_strrev(fmt.replace(/\\/g,"")).replace(/[0#]/g,function(x){return ri=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){if(dt!=null)q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";++i}if(dt==null&&q.t==="T")return"";out[out.length]=q;lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out[out.length]={t:"n",v:o};break;case"?":o=c;while(fmt[++i]===c)o+=c;q={t:c,v:o};out[out.length]=q;lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out[out.length]={t:flen===1?"t":c,v:c};++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=c;while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out[out.length]={t:"D",v:o};break;case" ":out[out.length]={t:c,v:c};++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw new Error("unrecognized character "+c+" in "+fmt);out[out.length]={t:"t",v:c};++i;break}}var bt=0,ss0=0,ssm;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(ssm=out[i].v.match(/\.0+$/))ss0=Math.max(ss0,ssm[0].length-1);if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}var nstr="",jj;for(i=0;i-1||out[jj].v===" "&&out[jj+1]!=null&&out[jj+1].t=="?"))){out[i].v+=out[jj].v;out[jj]=undefined;++jj}nstr+=out[i].v;i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}var vv="",myv,ostr;if(nstr.length>0){myv=v<0&&nstr.charCodeAt(0)===45?-v:v;ostr=write_num(nstr.charCodeAt(0)===40?"(":"n",nstr,myv);jj=ostr.length-1;var decpt=out.length;for(i=0;i-1){decpt=i;break}var lasti=out.length;if(decpt===out.length&&ostr.indexOf("E")===-1){for(i=out.length-1;i>=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;if(jj>=out[i].v.length-1){jj-=out[i].v.length;out[i].v=ostr.substr(jj+1,out[i].v.length)}else if(jj<0)out[i].v="";else{out[i].v=ostr.substr(0,jj+1);jj=-1}out[i].t="t";lasti=i}if(jj>=0&&lasti=0;--i){if(out[i]==null||"n?(".indexOf(out[i].t)===-1)continue;j=out[i].v.indexOf(".")>-1&&i===decpt?out[i].v.indexOf(".")-1:out[i].v.length-1;vv=out[i].v.substr(j+1);for(;j>=0;--j){if(jj>=0&&(out[i].v[j]==="0"||out[i].v[j]==="#"))vv=ostr[jj--]+vv}out[i].v=vv;out[i].t="t";lasti=i}if(jj>=0&&lasti-1&&i===decpt?out[i].v.indexOf(".")+1:0;vv=out[i].v.substr(0,j);for(;j-1){myv=flen>1&&v<0&&i>0&&out[i-1].v==="-"?-v:v;out[i].v=write_num(out[i].t,out[i].v,myv);out[i].t="t"}var retval="";for(i=0;i!==out.length;++i)if(out[i]!=null)retval+=out[i].v;return retval}SSF._eval=eval_fmt;var cfregex=/\[[=<>]/;var cfregex2=/\[([=<>]*)(-?\d+\.?\d*)\]/;function chkcond(v,rr){if(rr==null)return false;var thresh=parseFloat(rr[2]);switch(rr[1]){case"=":if(v==thresh)return true;break;case">":if(v>thresh)return true;break;case"<":if(v":if(v!=thresh)return true;break;case">=":if(v>=thresh)return true;break;case"<=":if(v<=thresh)return true;break}return false}function choose_fmt(f,v){var fmt=split_fmt(f);var l=fmt.length,lat=fmt[l-1].indexOf("@");if(l<4&&lat>-1)--l;if(fmt.length>4)throw"cannot find right format for |"+fmt+"|";if(typeof v!=="number")return[4,fmt.length===4||lat>-1?fmt[fmt.length-1]:"@"];switch(fmt.length){case 1:fmt=lat>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=lat>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=lat>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break}var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].indexOf("[")===-1&&fmt[1].indexOf("[")===-1)return[l,ff];if(fmt[0].match(cfregex)!=null||fmt[1].match(cfregex)!=null){var m1=fmt[0].match(cfregex2);var m2=fmt[1].match(cfregex2);return chkcond(v,m1)?[l,fmt[0]]:chkcond(v,m2)?[l,fmt[1]]:[l,fmt[m1!=null&&m2!=null?2:1]]}return[l,ff]}function format(fmt,v,o){fixopts(o!=null?o:o=[]);var sfmt="";switch(typeof fmt){case"string":sfmt=fmt;break;case"number":sfmt=(o.table!=null?o.table:table_fmt)[fmt];break}if(isgeneral(sfmt,0))return general_fmt(v,o);var f=choose_fmt(sfmt,v);if(isgeneral(f[1]))return general_fmt(v,o);if(v===true)v="TRUE";else if(v===false)v="FALSE";else if(v===""||v==null)return"";return eval_fmt(f[1],v,o,f[0])}SSF._table=table_fmt;SSF.load=function load_entry(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function get_table(){return table_fmt};SSF.load_table=function load_table(tbl){for(var i=0;i!=392;++i)if(tbl[i]!==undefined)SSF.load(tbl[i],i)}};make_ssf(SSF);var XLMLFormatMap={"General Number":"General","General Date":SSF._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":SSF._table[15],"Short Date":SSF._table[14],"Long Time":SSF._table[19],"Medium Time":SSF._table[18],"Short Time":SSF._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:SSF._table[2],Standard:SSF._table[4],Percent:SSF._table[10],Scientific:SSF._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var DO_NOT_EXPORT_CFB=true;var CFB=function _CFB(){var exports={};exports.version="0.10.2";function parse(file){var mver=3;var ssz=512;var nmfs=0;var ndfs=0;var dir_start=0;var minifat_start=0;var difat_start=0;var fat_addrs=[];var blob=file.slice(0,512);prep_blob(blob,0);var mv=check_get_mver(blob);mver=mv[0];switch(mver){case 3:ssz=512;break;case 4:ssz=4096;break;default:throw"Major Version: Expected 3 or 4 saw "+mver}if(ssz!==512){blob=file.slice(0,ssz);prep_blob(blob,28)}var header=file.slice(0,ssz);check_shifts(blob,mver);var nds=blob.read_shift(4,"i");if(mver===3&&nds!==0)throw"# Directory Sectors: Expected 0 saw "+nds;blob.l+=4;dir_start=blob.read_shift(4,"i");blob.l+=4;blob.chk("00100000","Mini Stream Cutoff Size: ");minifat_start=blob.read_shift(4,"i");nmfs=blob.read_shift(4,"i");difat_start=blob.read_shift(4,"i");ndfs=blob.read_shift(4,"i");for(var q,j=0;j<109;++j){q=blob.read_shift(4,"i");if(q<0)break;fat_addrs[j]=q}var sectors=sectorify(file,ssz);sleuth_fat(difat_start,ndfs,sectors,ssz,fat_addrs);var sector_list=make_sector_list(sectors,dir_start,fat_addrs,ssz);sector_list[dir_start].name="!Directory";if(nmfs>0&&minifat_start!==ENDOFCHAIN)sector_list[minifat_start].name="!MiniFAT";sector_list[fat_addrs[0]].name="!FAT";sector_list.fat_addrs=fat_addrs;sector_list.ssz=ssz;var files={},Paths=[],FileIndex=[],FullPaths=[],FullPathDir={};read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex);build_full_paths(FileIndex,FullPathDir,FullPaths,Paths);var root_name=Paths.shift();Paths.root=root_name;var find_path=make_find_path(FullPaths,Paths,FileIndex,files,root_name);return{raw:{header:header,sectors:sectors},FileIndex:FileIndex,FullPaths:FullPaths,FullPathDir:FullPathDir,find:find_path}}function check_get_mver(blob){blob.chk(HEADER_SIGNATURE,"Header Signature: ");blob.chk(HEADER_CLSID,"CLSID: ");var mver=blob.read_shift(2,"u");return[blob.read_shift(2,"u"),mver]}function check_shifts(blob,mver){var shift=9;blob.chk("feff","Byte Order: ");switch(shift=blob.read_shift(2)){case 9:if(mver!==3)throw"MajorVersion/SectorShift Mismatch";break;case 12:if(mver!==4)throw"MajorVersion/SectorShift Mismatch";break;default:throw"Sector Shift: Expected 9 or 12 saw "+shift}blob.chk("0600","Mini Sector Shift: ");blob.chk("000000000000","Reserved: ")}function sectorify(file,ssz){var nsectors=Math.ceil(file.length/ssz)-1;var sectors=new Array(nsectors);for(var i=1;i>>2)-1;for(var i=0;i=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)]; +jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}return{nodes:buf,data:__toBuffer([buf_chain])}}function make_sector_list(sectors,dir_start,fat_addrs,ssz){var sl=sectors.length,sector_list=new Array(sl);var chkd=new Array(sl),buf,buf_chain;var modulus=ssz-1,i,j,k,jj;for(i=0;i=sl)k-=sl;if(chkd[k]===true)continue;buf_chain=[];for(j=k;j>=0;){chkd[j]=true;buf[buf.length]=j;buf_chain.push(sectors[j]);var addr=fat_addrs[Math.floor(j*4/ssz)];jj=j*4&modulus;if(ssz<4+jj)throw"FAT boundary crossed: "+j+" 4 "+ssz;j=__readInt32LE(sectors[addr],jj)}sector_list[k]={nodes:buf,data:__toBuffer([buf_chain])}}return sector_list}function read_directory(dir_start,sector_list,sectors,Paths,nmfs,files,FileIndex){var blob;var minifat_store=0,pl=Paths.length?2:0;var sector=sector_list[dir_start].data;var i=0,namelen=0,name,o,ctime,mtime;for(;i0&&minifat_store!==ENDOFCHAIN)sector_list[minifat_store].name="!StreamData"}else if(o.size>=4096){o.storage="fat";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){o.content=sector_list[minifat_store].data.slice(o.start*MSSZ,o.start*MSSZ+o.size);prep_blob(o.content,0)}}files[name]=o;FileIndex.push(o)}}function read_date(blob,offset){return new Date((__readUInt32LE(blob,offset+4)/1e7*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7-11644473600)*1e3)}var fs;function readFileSync(filename,options){if(fs===undefined)fs=require("fs");return parse(fs.readFileSync(filename),options)}function readSync(blob,options){switch(options!==undefined&&options.type!==undefined?options.type:"base64"){case"file":return readFileSync(blob,options);case"base64":return parse(s2a(Base64.decode(blob)),options);case"binary":return parse(s2a(blob),options)}return parse(blob)}var MSSZ=64;var ENDOFCHAIN=-2;var HEADER_SIGNATURE="d0cf11e0a1b11ae1";var HEADER_CLSID="00000000000000000000000000000000";var consts={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ENDOFCHAIN,FREESECT:-1,HEADER_SIGNATURE:HEADER_SIGNATURE,HEADER_MINOR_VERSION:"3e00",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:HEADER_CLSID,EntryTypes:["unknown","storage","stream","lockbytes","property","root"]};exports.read=readSync;exports.parse=parse;exports.utils={ReadShift:ReadShift,CheckField:CheckField,prep_blob:prep_blob,bconcat:bconcat,consts:consts};return exports}();if(typeof require!=="undefined"&&typeof module!=="undefined"&&typeof DO_NOT_EXPORT_CFB==="undefined"){module.exports=CFB}function isval(x){return x!==undefined&&x!==null}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];return o}function evert(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=K[i];return o}function evert_num(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i)o[obj[K[i]]]=parseInt(K[i],10);return o}function evert_arr(obj){var o=[],K=keys(obj);for(var i=0;i!==K.length;++i){if(o[obj[K[i]]]==null)o[obj[K[i]]]=[];o[obj[K[i]]].push(K[i])}return o}function datenum(v,date1904){if(date1904)v+=1462;var epoch=Date.parse(v);return(epoch+22091616e5)/(24*60*60*1e3)}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function dup(o){if(typeof JSON!="undefined")return JSON.parse(JSON.stringify(o));if(typeof o!="object"||!o)return o;var out={};for(var k in o)if(o.hasOwnProperty(k))out[k]=dup(o[k]);return out}function fill(c,l){var o="";while(o.length]*>/g;var nsregex=/<\w*:/,nsregex2=/<(\/?)\w+:/;function parsexmltag(tag,skip_root){var z=[];var eq=0,c=0;for(;eq!==tag.length;++eq)if((c=tag.charCodeAt(eq))===32||c===10||c===13)break;if(!skip_root)z[0]=tag.substr(0,eq);if(eq===tag.length)return z;var m=tag.match(attregexg),j=0,w="",v="",i=0,q="",cc="";if(m)for(i=0;i!=m.length;++i){cc=m[i];for(c=0;c!=cc.length;++c)if(cc.charCodeAt(c)===61)break;q=cc.substr(0,c);v=cc.substring(c+2,cc.length-1);for(j=0;j!=q.length;++j)if(q.charCodeAt(j)===58)break;if(j===q.length)z[q]=v;else z[(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)]=v}return z}function strip_ns(x){return x.replace(nsregex2,"<$1")}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");var unescapexml=function(){var encregex=/&[a-z]*;/g,coderegex=/_x([\da-fA-F]+)_/g;return function unescapexml(text){var s=text+"";return s.replace(encregex,function($$){return encodings[$$]}).replace(coderegex,function(m,c){return String.fromCharCode(parseInt(c,16))})}}();var decregex=/[&<>'"]/g,charegex=/[\u0000-\u0008\u000b-\u001f]/g;function escapexml(text){var s=text+"";return s.replace(decregex,function(y){return rencoding[y]}).replace(charegex,function(s){return"_x"+("000"+s.charCodeAt(0).toString(16)).substr(-4)+"_"})}var xlml_fixstr=function(){var entregex=/&#(\d+);/g;function entrepl($$,$1){return String.fromCharCode(parseInt($1,10))}return function xlml_fixstr(str){return str.replace(entregex,entrepl)}}();function parsexmlbool(value,tag){switch(value){case"1":case"true":case"TRUE":return true;default:return false}}var utf8read=function utf8reada(orig){var out="",i=0,c=0,d=0,e=0,f=0,w=0;while(i191&&c<224){out+=String.fromCharCode((c&31)<<6|d&63);continue}e=orig.charCodeAt(i++);if(c<240){out+=String.fromCharCode((c&15)<<12|(d&63)<<6|e&63);continue}f=orig.charCodeAt(i++);w=((c&7)<<18|(d&63)<<12|(e&63)<<6|f&63)-65536;out+=String.fromCharCode(55296+(w>>>10&1023));out+=String.fromCharCode(56320+(w&1023))}return out};if(has_buf){var utf8readb=function utf8readb(data){var out=new Buffer(2*data.length),w,i,j=1,k=0,ww=0,c;for(i=0;i>>10&1023);w=56320+(w&1023)}if(ww!==0){out[k++]=ww&255;out[k++]=ww>>>8;ww=0}out[k++]=w%256;out[k++]=w>>>8}out.length=k;return out.toString("ucs2")};var corpus="foo bar baz☃🍣";if(utf8read(corpus)==utf8readb(corpus))utf8read=utf8readb;var utf8readc=function utf8readc(data){return Buffer(data,"binary").toString("utf8")};if(utf8read(corpus)==utf8readc(corpus))utf8read=utf8readc}var matchtag=function(){var mtcache={};return function matchtag(f,g){var t=f+"|"+(g||"");if(mtcache[t]!==undefined)return mtcache[t];return mtcache[t]=new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)",g||"")}}();var vtregex=function(){var vt_cache={};return function vt_regex(bt){if(vt_cache[bt]!==undefined)return vt_cache[bt];return vt_cache[bt]=new RegExp("<(?:vt:)?"+bt+">(.*?)","g")}}();var vtvregex=/<\/?(:?vt:)?variant>/g,vtmregex=/<(:?vt:)?([^>]*)>(.*)"+g+""}function wxt_helper(h){return keys(h).map(function(k){return" "+k+'="'+h[k]+'"'}).join("")}function writextag(f,g,h){return"<"+f+(isval(h)?wxt_helper(h):"")+(isval(g)?(g.match(wtregex)?' xml:space="preserve"':"")+">"+g+""}function write_w3cdtf(d,t){try{return d.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function write_vt(s){switch(typeof s){case"string":return writextag("vt:lpwstr",s);case"number":return writextag((s|0)==s?"vt:i4":"vt:r8",String(s));case"boolean":return writextag("vt:bool",s?"true":"false")}if(s instanceof Date)return writextag("vt:filetime",write_w3cdtf(s));throw new Error("Unable to serialize "+s)}var XML_HEADER='\r\n';var XMLNS={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"};XMLNS.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"];function read_double_le(b,idx){var s=1-2*(b[idx+7]>>>7);var e=((b[idx+7]&127)<<4)+(b[idx+6]>>>4&15);var m=b[idx+6]&15;for(var i=5;i>=0;--i)m=m*256+b[idx+i];if(e==2047)return m==0?s*Infinity:NaN;if(e==0)e=-1022;else{e-=1023;m+=Math.pow(2,52)}return s*Math.pow(2,e-52)*m}function write_double_le(b,v,idx){var bs=(v<0||1/v==-Infinity?1:0)<<7,e=0,m=0;var av=bs?-v:v;if(!isFinite(av)){e=2047;m=isNaN(v)?26985:0}else{e=Math.floor(Math.log(av)*Math.LOG2E);m=v*Math.pow(2,52-e);if(e<=-1023&&(!isFinite(m)||m>4|bs}var __toBuffer,___toBuffer;__toBuffer=___toBuffer=function toBuffer_(bufs){var x=[];for(var i=0;i0?__utf8(b,i+4,i+4+len-1):""};var __lpwstr,___lpwstr;__lpwstr=___lpwstr=function lpwstr_(b,i){var len=2*__readUInt32LE(b,i);return len>0?__utf8(b,i+4,i+4+len-1):""};var __double,___double;__double=___double=function(b,idx){return read_double_le(b,idx)};var is_buf=function is_buf_a(a){return Array.isArray(a)};if(has_buf){__utf16le=function utf16le_b(b,s,e){if(!Buffer.isBuffer(b))return ___utf16le(b,s,e);return b.toString("utf16le",s,e)};__hexlify=function(b,s,l){return Buffer.isBuffer(b)?b.toString("hex",s,s+l):___hexlify(b,s,l)};__lpstr=function lpstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpstr(b,i);var len=b.readUInt32LE(i);return len>0?b.toString("utf8",i+4,i+4+len-1):""};__lpwstr=function lpwstr_b(b,i){if(!Buffer.isBuffer(b))return ___lpwstr(b,i);var len=2*b.readUInt32LE(i);return b.toString("utf16le",i+4,i+4+len-1)};__utf8=function utf8_b(b,s,e){return b.toString("utf8",s,e)};__toBuffer=function(bufs){return bufs[0].length>0&&Buffer.isBuffer(bufs[0][0])?Buffer.concat(bufs[0]):___toBuffer(bufs)};bconcat=function(bufs){return Buffer.isBuffer(bufs[0])?Buffer.concat(bufs):[].concat.apply([],bufs)};__double=function double_(b,i){if(Buffer.isBuffer(b))return b.readDoubleLE(i);return ___double(b,i)};is_buf=function is_buf_b(a){return Buffer.isBuffer(a)||Array.isArray(a)}}if(typeof cptable!=="undefined"){__utf16le=function(b,s,e){return cptable.utils.decode(1200,b.slice(s,e))};__utf8=function(b,s,e){return cptable.utils.decode(65001,b.slice(s,e))};__lpstr=function(b,i){var len=__readUInt32LE(b,i);return len>0?cptable.utils.decode(current_codepage,b.slice(i+4,i+4+len-1)):""};__lpwstr=function(b,i){var len=2*__readUInt32LE(b,i);return len>0?cptable.utils.decode(1200,b.slice(i+4,i+4+len-1)):""}}var __readUInt8=function(b,idx){return b[idx]};var __readUInt16LE=function(b,idx){return b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=b[idx+1]*(1<<8)+b[idx];return u<32768?u:(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]};var __readInt32LE=function(b,idx){return b[idx+3]<<24|b[idx+2]<<16|b[idx+1]<<8|b[idx]};var ___unhexlify=function(s){return s.match(/../g).map(function(x){return parseInt(x,16)})};var __unhexlify=typeof Buffer!=="undefined"?function(s){return Buffer.isBuffer(s)?new Buffer(s,"hex"):___unhexlify(s)}:___unhexlify;function ReadShift(size,t){var o="",oI,oR,oo=[],w,vv,i,loc;switch(t){case"dbcs":loc=this.l;if(has_buf&&Buffer.isBuffer(this))o=this.slice(this.l,this.l+2*size).toString("utf16le");else for(i=0;i!=size;++i){o+=String.fromCharCode(__readUInt16LE(this,loc));loc+=2}size*=2;break;case"utf8":o=__utf8(this,this.l,this.l+size);break;case"utf16le":size*=2;o=__utf16le(this,this.l,this.l+size);break;case"wstr":o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));size=2*size;break;case"lpstr":o=__lpstr(this,this.l);size=5+o.length;break;case"lpwstr":o=__lpwstr(this,this.l);size=5+o.length;if(o[o.length-1]=="\0")size+=2;break;case"cstr":size=0;o="";while((w=__readUInt8(this,this.l+size++))!==0)oo.push(_getchar(w));o=oo.join("");break;case"wstr":size=0;o="";while((w=__readUInt16LE(this,this.l+size))!==0){oo.push(_getchar(w));size+=2}size+=2;o=oo.join("");break;case"dbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");size*=2;break;case"sbcs-cont":o="";loc=this.l;for(i=0;i!=size;++i){if(this.lens&&this.lens.indexOf(loc)!==-1){w=__readUInt8(this,loc);this.l=loc+1;vv=ReadShift.call(this,size-i,w?"dbcs-cont":"sbcs-cont");return oo.join("")+vv}oo.push(_getchar(__readUInt8(this,loc)));loc+=1}o=oo.join("");break;default:switch(size){case 1:oI=__readUInt8(this,this.l);this.l++;return oI;case 2:oI=(t==="i"?__readInt16LE:__readUInt16LE)(this,this.l);this.l+=2;return oI;case 4:if(t==="i"||(this[this.l+3]&128)===0){oI=__readInt32LE(this,this.l);this.l+=4;return oI}else{oR=__readUInt32LE(this,this.l);this.l+=4;return oR}break;case 8:if(t==="f"){oR=__double(this,this.l);this.l+=8;return oR}case 16:o=__hexlify(this,this.l,size);break}}this.l+=size;return o}var __writeUInt16LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255};var __writeUInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>>8&255;b[idx+2]=val>>>16&255;b[idx+3]=val>>>24&255};var __writeInt32LE=function(b,val,idx){b[idx]=val&255;b[idx+1]=val>>8&255;b[idx+2]=val>>16&255;b[idx+3]=val>>24&255};function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)__writeUInt16LE(this,val.charCodeAt(i),this.l+2*i);size=2*val.length}else if(f==="sbcs"){for(i=0;i!=val.length;++i)this[this.l+i]=val.charCodeAt(i)&255;size=val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 2:size=2;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;break;case 3:size=3;this[this.l]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l+2]=val&255;break;case 4:size=4;__writeUInt32LE(this,val,this.l);break;case 8:size=8;if(f==="f"){write_double_le(this,val,this.l);break}case 16:break;case-4:size=4;__writeInt32LE(this,val,this.l);break}this.l+=size;return this}function CheckField(hexstr,fld){var m=__hexlify(this,this.l,hexstr.length>>1);if(m!==hexstr)throw fld+"Expected "+hexstr+" saw "+m;this.l+=hexstr.length>>1}function prep_blob(blob,pos){blob.l=pos;blob.read_shift=ReadShift;blob.chk=CheckField;blob.write_shift=WriteShift}function parsenoop(blob,length){blob.l+=length}function writenoop(blob,length){blob.l+=length}function new_buf(sz){var o=new_raw_buf(sz);prep_blob(o,0);return o}function recordhopper(data,cb,opts){if(!data)return;var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.lcurbuf.l)curbuf=curbuf.slice(0,curbuf.l);if(curbuf.length>0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(curbuf&&sz=128?1:0)+1+length;if(length>=128)++l;if(length>=16384)++l;if(length>=2097152)++l;var o=ba.next(l);if(t<=127)o.write_shift(1,t);else{o.write_shift(1,(t&127)+128);o.write_shift(1,t>>7)}for(var i=0;i!=4;++i){if(length>=128){o.write_shift(1,(length&127)+128);length>>=7}else{o.write_shift(1,length);break}}if(length>0&&is_buf(payload))ba.push(payload)}function shift_cell_xls(cell,tgt,opts){var out=dup(cell);if(tgt.s){if(out.cRel)out.c+=tgt.s.c;if(out.rRel)out.r+=tgt.s.r}else{out.c+=tgt.c;out.r+=tgt.r}if(!opts||opts.biff<12){while(out.c>=256)out.c-=256;while(out.r>=65536)out.r-=65536}return out}function shift_range_xls(cell,range){cell.s=shift_cell_xls(cell.s,range.s);cell.e=shift_cell_xls(cell.e,range.s);return cell}function encode_cell_xls(c){var s=encode_cell(c);if(c.cRel===0)s=fix_col(s);if(c.rRel===0)s=fix_row(s);return s}function encode_range_xls(r){return encode_cell_xls(r.s)+":"+encode_cell_xls(r.e)}var OFFCRYPTO={};var make_offcrypto=function(O,_crypto){var crypto;if(typeof _crypto!=="undefined")crypto=_crypto;else if(typeof require!=="undefined"){try{crypto=require("cry"+"pto")}catch(e){crypto=null}}O.rc4=function(key,data){var S=new Array(256);var c=0,i=0,j=0,t=0;for(i=0;i!=256;++i)S[i]=i;for(i=0;i!=256;++i){j=j+S[i]+key[i%key.length].charCodeAt(0)&255;t=S[i];S[i]=S[j];S[j]=t}i=j=0;out=Buffer(data.length);for(c=0;c!=data.length;++c){i=i+1&255;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;out[c]=data[c]^S[S[i]+S[j]&255]}return out};O.md5=function(hex){if(!crypto)throw new Error("Unsupported crypto");return crypto.createHash("md5").update(hex).digest("hex")}};make_offcrypto(OFFCRYPTO,typeof crypto!=="undefined"?crypto:undefined);function parse_StrRun(data,length){return{ich:data.read_shift(2),ifnt:data.read_shift(2)}}function parse_RichStr(data,length){var start=data.l;var flags=data.read_shift(1);var str=parse_XLWideString(data);var rgsStrRun=[];var z={t:str,h:str};if((flags&1)!==0){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=rgsStrRun}else z.r=""+escapexml(str)+"";if((flags&2)!==0){}data.l=start+length;return z}function write_RichStr(str,o){if(o==null)o=new_buf(5+2*str.t.length);o.write_shift(1,0);write_XLWideString(str.t,o);return o}function parse_XLSBCell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}function write_XLSBCell(cell,o){if(o==null)o=new_buf(8);o.write_shift(-4,cell.c);o.write_shift(3,cell.iStyleRef||cell.s);o.write_shift(1,0);return o}function parse_XLSBCodeName(data,length){return parse_XLWideString(data,length)}function parse_XLNullableWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift(cchCharacters,"dbcs")}function write_XLNullableWideString(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.length>0?data.length:4294967295);if(data.length>0)o.write_shift(0,data,"dbcs");return o}function parse_XLWideString(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift(cchCharacters,"dbcs")}function write_XLWideString(data,o){if(o==null)o=new_buf(4+2*data.length);o.write_shift(4,data.length);if(data.length>0)o.write_shift(0,data,"dbcs");return o}var parse_XLNameWideString=parse_XLWideString;var write_XLNameWideString=write_XLWideString;var parse_RelID=parse_XLNullableWideString;var write_RelID=write_XLNullableWideString;function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=252;var RK=fInt===0?__double([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}function write_RkNumber(data,o){if(o==null)o=new_buf(4);var fX100=0,fInt=0,d100=data*100;if(data==(data|0)&&data>=-(1<<29)&&data<1<<29){fInt=1}else if(d100==(d100|0)&&d100>=-(1<<29)&&d100<1<<29){fInt=1;fX100=1}if(fInt)o.write_shift(-4,((fX100?d100:data)<<2)+(fX100+2));else throw new Error("unsupported RkNumber "+data)}function parse_RfX(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);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);o.write_shift(4,r.e.r);o.write_shift(4,r.s.c);o.write_shift(4,r.e.c);return o}var parse_UncheckedRfX=parse_RfX;var write_UncheckedRfX=write_RfX;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")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert_num(BErr);function parse_BrtColor(data,length){var out={};var d=data.read_shift(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=data.read_shift(1);out.nTintAndShade=data.read_shift(2,"i");out.bRed=data.read_shift(1);out.bGreen=data.read_shift(1);out.bBlue=data.read_shift(1);out.bAlpha=data.read_shift(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}{var VT_EMPTY=0;var VT_NULL=1;var VT_I2=2;var VT_I4=3;var VT_R4=4;var VT_R8=5;var VT_CY=6;var VT_DATE=7;var VT_BSTR=8;var VT_ERROR=10;var VT_BOOL=11;var VT_VARIANT=12;var VT_DECIMAL=14;var VT_I1=16;var VT_UI1=17;var VT_UI2=18;var VT_UI4=19;var VT_I8=20;var VT_UI8=21;var VT_INT=22;var VT_UINT=23;var VT_LPSTR=30;var VT_LPWSTR=31;var VT_FILETIME=64;var VT_BLOB=65;var VT_STREAM=66;var VT_STORAGE=67;var VT_STREAMED_Object=68;var VT_STORED_Object=69;var VT_BLOB_Object=70;var VT_CF=71;var VT_CLSID=72;var VT_VERSIONED_STREAM=73;var VT_VECTOR=4096;var VT_ARRAY=8192;var VT_STRING=80;var VT_USTR=81;var VT_CUSTOM=[VT_STRING,VT_USTR]}var DocSummaryPIDDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Category",t:VT_STRING},3:{n:"PresentationFormat",t:VT_STRING},4:{n:"ByteCount",t:VT_I4},5:{n:"LineCount",t:VT_I4},6:{n:"ParagraphCount",t:VT_I4},7:{n:"SlideCount",t:VT_I4},8:{n:"NoteCount",t:VT_I4},9:{n:"HiddenCount",t:VT_I4},10:{n:"MultimediaClipCount",t:VT_I4},11:{n:"Scale",t:VT_BOOL},12:{n:"HeadingPair",t:VT_VECTOR|VT_VARIANT},13:{n:"DocParts",t:VT_VECTOR|VT_LPSTR},14:{n:"Manager",t:VT_STRING},15:{n:"Company",t:VT_STRING},16:{n:"LinksDirty",t:VT_BOOL},17:{n:"CharacterCount",t:VT_I4},19:{n:"SharedDoc",t:VT_BOOL},22:{n:"HLinksChanged",t:VT_BOOL},23:{n:"AppVersion",t:VT_I4,p:"version"},26:{n:"ContentType",t:VT_STRING},27:{n:"ContentStatus",t:VT_STRING},28:{n:"Language",t:VT_STRING},29:{n:"Version",t:VT_STRING},255:{}};var SummaryPIDSI={1:{n:"CodePage",t:VT_I2},2:{n:"Title",t:VT_STRING},3:{n:"Subject",t:VT_STRING},4:{n:"Author",t:VT_STRING},5:{n:"Keywords",t:VT_STRING},6:{n:"Comments",t:VT_STRING},7:{n:"Template",t:VT_STRING},8:{n:"LastAuthor",t:VT_STRING},9:{n:"RevNumber",t:VT_STRING},10:{n:"EditTime",t:VT_FILETIME},11:{n:"LastPrinted",t:VT_FILETIME},12:{n:"CreatedDate",t:VT_FILETIME},13:{n:"ModifiedDate",t:VT_FILETIME},14:{n:"PageCount",t:VT_I4},15:{n:"WordCount",t:VT_I4},16:{n:"CharCount",t:VT_I4},17:{n:"Thumbnail",t:VT_CF},18:{n:"ApplicationName",t:VT_LPSTR},19:{n:"DocumentSecurity",t:VT_I4},255:{}};var SpecialProperties={2147483648:{n:"Locale",t:VT_UI4},2147483651:{n:"Behavior",t:VT_UI4},1919054434:{}};(function(){for(var y in SpecialProperties)if(SpecialProperties.hasOwnProperty(y))DocSummaryPIDDSI[y]=SummaryPIDSI[y]=SpecialProperties[y]})();var CountryEnum={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 XLSFillPattern=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function rgbify(arr){return arr.map(function(x){return[x>>16&255,x>>8&255,x&255]})}var XLSIcv=rgbify([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]);var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"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.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","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":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","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.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":"TODO","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",sheet:"js"};var CT_LIST=function(){var o={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",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};keys(o).forEach(function(k){if(!o[k].xlsm)o[k].xlsm=o[k].xlsx});keys(o).forEach(function(k){keys(o[k]).forEach(function(v){ct2type[o[k][v]]=k})});return o}();var type2ct=evert_arr(ct2type);XMLNS.CT="http://schemas.openxmlformats.org/package/2006/content-types";function parse_ct(data,opts){var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};if(!data||!data.match)return ct;var ctext={};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(nsregex,"<")){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}var CTYPE_XML_ROOT=writextag("Types",null,{xmlns:XMLNS.CT,"xmlns:xsd":XMLNS.xsd,"xmlns:xsi":XMLNS.xsi});var CTYPE_DEFAULTS=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["rels",type2ct.rels[0]]].map(function(x){return writextag("Default",null,{Extension:x[0],ContentType:x[1]})});function write_ct(ct,opts){var o=[],v;o[o.length]=XML_HEADER;o[o.length]=CTYPE_XML_ROOT;o=o.concat(CTYPE_DEFAULTS);var f1=function(w){if(ct[w]&&ct[w].length>0){v=ct[w][0];o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})}};var f2=function(w){ct[w].forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:CT_LIST[w][opts.bookType||"xlsx"]})})};var f3=function(t){(ct[t]||[]).forEach(function(v){o[o.length]=writextag("Override",null,{PartName:(v[0]=="/"?"":"/")+v,ContentType:type2ct[t][0]})})};f1("workbooks");f2("sheets");f3("themes");["strs","styles"].forEach(f1);["coreprops","extprops","custprops"].forEach(f3);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var RELS={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument"};function parse_rels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var hash={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);if(y[0]==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var CORE_PROPS=[["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"]];XMLNS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";RELS.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var CORE_PROPS_REGEX=function(){var r=new Array(CORE_PROPS.length);for(var i=0;i]*>(.*)")}return r}();function parse_core_props(data){var p={};for(var i=0;i0)p[f[1]]=cur[1];if(f[2]==="date"&&p[f[1]])p[f[1]]=new Date(p[f[1]])}return p}var CORE_PROPS_XML_ROOT=writextag("cp:coreProperties",null,{"xmlns:cp":XMLNS.CORE_PROPS,"xmlns:dc":XMLNS.dc,"xmlns:dcterms":XMLNS.dcterms,"xmlns:dcmitype":XMLNS.dcmitype,"xmlns:xsi":XMLNS.xsi});function cp_doit(f,g,h,o,p){if(p[f]!=null||g==null||g==="")return;p[f]=g;o[o.length]=h?writextag(f,g,h):writetag(f,g)}function write_core_props(cp,opts){var o=[XML_HEADER,CORE_PROPS_XML_ROOT],p={};if(!cp)return o.join("");if(cp.CreatedDate!=null)cp_doit("dcterms:created",typeof cp.CreatedDate==="string"?cp.CreatedDate:write_w3cdtf(cp.CreatedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);if(cp.ModifiedDate!=null)cp_doit("dcterms:modified",typeof cp.ModifiedDate==="string"?cp.ModifiedDate:write_w3cdtf(cp.ModifiedDate,opts.WTF),{"xsi:type":"dcterms:W3CDTF"},o,p);for(var i=0;i!=CORE_PROPS.length;++i){var f=CORE_PROPS[i];cp_doit(f[0],cp[f[1]],null,o,p)}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}var EXT_PROPS=[["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"]];XMLNS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";RELS.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function parse_ext_props(data,p){var q={};if(!p)p={};EXT_PROPS.forEach(function(f){switch(f[2]){case"string":p[f[1]]=(data.match(matchtag(f[0]))||[])[1];break;case"bool":p[f[1]]=(data.match(matchtag(f[0]))||[])[1]==="true";break;case"raw":var cur=data.match(new RegExp("<"+f[0]+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f[1]]=cur[1];break}});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}return p}var EXT_PROPS_XML_ROOT=writextag("Properties",null,{xmlns:XMLNS.EXT_PROPS,"xmlns:vt":XMLNS.vt});function write_ext_props(cp,opts){var o=[],p={},W=writextag;if(!cp)cp={};cp.Application="SheetJS";o[o.length]=XML_HEADER;o[o.length]=EXT_PROPS_XML_ROOT;EXT_PROPS.forEach(function(f){if(cp[f[1]]===undefined)return;var v;switch(f[2]){case"string":v=cp[f[1]];break;case"bool":v=cp[f[1]]?"true":"false";break}if(v!==undefined)o[o.length]=W(f[0],v)});o[o.length]=W("HeadingPairs",W("vt:vector",W("vt:variant","Worksheets")+W("vt:variant",W("vt:i4",String(cp.Worksheets))),{size:2,baseType:"variant"}));o[o.length]=W("TitlesOfParts",W("vt:vector",cp.SheetNames.map(function(s){return""+s+""}).join(""),{size:cp.Worksheets,baseType:"lpstr"}));if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}XMLNS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";RELS.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var custregex=/<[^>]+>[^<]*/g;function parse_cust_props(data,opts){var p={},name="";var m=data.match(custregex);if(m)for(var i=0;i!=m.length;++i){var x=m[i],y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=new Date(text);break;case"cy":case"error":p[name]=unescapexml(text);break;default:if(opts.WTF&&typeof console!=="undefined")console.warn("Unexpected",x,type,toks)}}else if(x.substr(0,2)==="2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function xlml_set_prop(Props,tag,val){switch(tag){case"Description":tag="Comments";break}Props[tag]=val}function parse_FILETIME(blob){var dwLowDateTime=blob.read_shift(4),dwHighDateTime=blob.read_shift(4);return new Date((dwHighDateTime/1e7*Math.pow(2,32)+dwLowDateTime/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function parse_lpstr(blob,type,pad){var str=blob.read_shift(0,"lpstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_lpwstr(blob,type,pad){var str=blob.read_shift(0,"lpwstr");if(pad)blob.l+=4-(str.length+1&3)&3;return str}function parse_VtStringBase(blob,stringType,pad){if(stringType===31)return parse_lpwstr(blob);return parse_lpstr(blob,stringType,pad)}function parse_VtString(blob,t,pad){return parse_VtStringBase(blob,t,pad===false?0:4)}function parse_VtUnalignedString(blob,t){if(!t)throw new Error("dafuq?");return parse_VtStringBase(blob,t,0)}function parse_VtVecUnalignedLpstrValue(blob){var length=blob.read_shift(4);var ret=[];for(var i=0;i!=length;++i)ret[i]=blob.read_shift(0,"lpstr");return ret}function parse_VtVecUnalignedLpstr(blob){return parse_VtVecUnalignedLpstrValue(blob)}function parse_VtHeadingPair(blob){var headingString=parse_TypedPropertyValue(blob,VT_USTR);var headerParts=parse_TypedPropertyValue(blob,VT_I4);return[headingString,headerParts]}function parse_VtVecHeadingPairValue(blob){var cElements=blob.read_shift(4);var out=[];for(var i=0;i!=cElements/2;++i)out.push(parse_VtHeadingPair(blob));return out}function parse_VtVecHeadingPair(blob){return parse_VtVecHeadingPairValue(blob)}function parse_dictionary(blob,CodePage){var cnt=blob.read_shift(4);var dict={};for(var j=0;j!=cnt;++j){var pid=blob.read_shift(4);var len=blob.read_shift(4);dict[pid]=blob.read_shift(len,CodePage===1200?"utf16le":"utf8").replace(chr0,"").replace(chr1,"!")}if(blob.l&3)blob.l=blob.l>>2+1<<2;return dict}function parse_BLOB(blob){var size=blob.read_shift(4);var bytes=blob.slice(blob.l,blob.l+size);if((size&3)>0)blob.l+=4-(size&3)&3;return bytes}function parse_ClipboardData(blob){var o={};o.Size=blob.read_shift(4);blob.l+=o.Size;return o}function parse_VtVector(blob,cb){}function parse_TypedPropertyValue(blob,type,_opts){var t=blob.read_shift(2),ret,opts=_opts||{};blob.l+=2;if(type!==VT_VARIANT)if(t!==type&&VT_CUSTOM.indexOf(type)===-1)throw new Error("Expected type "+type+" saw "+t);switch(type===VT_VARIANT?t:type){case 2:ret=blob.read_shift(2,"i");if(!opts.raw)blob.l+=2;return ret;case 3:ret=blob.read_shift(4,"i");return ret;case 11:return blob.read_shift(4)!==0;case 19:ret=blob.read_shift(4);return ret;case 30:return parse_lpstr(blob,t,4).replace(chr0,"");case 31:return parse_lpwstr(blob);case 64:return parse_FILETIME(blob);case 65:return parse_BLOB(blob);case 71:return parse_ClipboardData(blob);case 80:return parse_VtString(blob,t,!opts.raw&&4).replace(chr0,"");case 81:return parse_VtUnalignedString(blob,t,4).replace(chr0,"");case 4108:return parse_VtVecHeadingPair(blob);case 4126:return parse_VtVecUnalignedLpstr(blob);default:throw new Error("TypedPropertyValue unrecognized type "+type+" "+t)}}function parse_PropertySet(blob,PIDSI){var start_addr=blob.l;var size=blob.read_shift(4);var NumProps=blob.read_shift(4);var Props=[],i=0;var CodePage=0;var Dictionary=-1,DictObj={};for(i=0;i!=NumProps;++i){var PropID=blob.read_shift(4);var Offset=blob.read_shift(4);Props[i]=[PropID,Offset+start_addr]}var PropH={};for(i=0;i!=NumProps;++i){if(blob.l!==Props[i][1]){var fail=true;if(i>0&&PIDSI)switch(PIDSI[Props[i-1][0]].t){case 2:if(blob.l+2===Props[i][1]){blob.l+=2;fail=false}break;case 80:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break;case 4108:if(blob.l<=Props[i][1]){blob.l=Props[i][1];fail=false}break}if(!PIDSI&&blob.l<=Props[i][1]){fail=false;blob.l=Props[i][1]}if(fail)throw new Error("Read Error: Expected address "+Props[i][1]+" at "+blob.l+" :"+i)}if(PIDSI){var piddsi=PIDSI[Props[i][0]];PropH[piddsi.n]=parse_TypedPropertyValue(blob,piddsi.t,{raw:true});if(piddsi.p==="version")PropH[piddsi.n]=String(PropH[piddsi.n]>>16)+"."+String(PropH[piddsi.n]&65535);if(piddsi.n=="CodePage")switch(PropH[piddsi.n]){case 0:PropH[piddsi.n]=1252;case 1e4:case 1252:case 874:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 932:case 936:case 949:case 950:case 1200:case 1201:case 65e3:case-536:case 65001:case-535:set_cp(CodePage=PropH[piddsi.n]);break;default:throw new Error("Unsupported CodePage: "+PropH[piddsi.n])}}else{if(Props[i][0]===1){CodePage=PropH.CodePage=parse_TypedPropertyValue(blob,VT_I2);set_cp(CodePage);if(Dictionary!==-1){var oldpos=blob.l;blob.l=Props[Dictionary][1];DictObj=parse_dictionary(blob,CodePage);blob.l=oldpos}}else if(Props[i][0]===0){if(CodePage===0){Dictionary=i;blob.l=Props[i+1][1];continue}DictObj=parse_dictionary(blob,CodePage)}else{var name=DictObj[Props[i][0]];var val;switch(blob[blob.l]){case 65:blob.l+=4;val=parse_BLOB(blob);break;case 30:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 31:blob.l+=4;val=parse_VtString(blob,blob[blob.l-4]);break;case 3:blob.l+=4;val=blob.read_shift(4,"i");break;case 19:blob.l+=4;val=blob.read_shift(4);break;case 5:blob.l+=4;val=blob.read_shift(8,"f");break;case 11:blob.l+=4;val=parsebool(blob,4);break;case 64:blob.l+=4;val=new Date(parse_FILETIME(blob));break;default:throw new Error("unparsed value: "+blob[blob.l])}PropH[name]=val}}}blob.l=start_addr+size;return PropH}function parse_PropertySetStream(file,PIDSI){var blob=file.content;prep_blob(blob,0);var NumSets,FMTID0,FMTID1,Offset0,Offset1=0;blob.chk("feff","Byte Order: ");var vers=blob.read_shift(2);var SystemIdentifier=blob.read_shift(4);blob.chk(CFB.utils.consts.HEADER_CLSID,"CLSID: ");NumSets=blob.read_shift(4);if(NumSets!==1&&NumSets!==2)throw"Unrecognized #Sets: "+NumSets;FMTID0=blob.read_shift(16);Offset0=blob.read_shift(4);if(NumSets===1&&Offset0!==blob.l)throw"Length mismatch";else if(NumSets===2){FMTID1=blob.read_shift(16);Offset1=blob.read_shift(4)}var PSet0=parse_PropertySet(blob,PIDSI);var rval={SystemIdentifier:SystemIdentifier};for(var y in PSet0)rval[y]=PSet0[y];rval.FMTID=FMTID0;if(NumSets===1)return rval;if(blob.l!==Offset1)throw new Error("Length mismatch 2: "+blob.l+" !== "+Offset1);var PSet1;try{PSet1=parse_PropertySet(blob,null)}catch(e){}for(y in PSet1)rval[y]=PSet1[y];rval.FMTID=[FMTID0,FMTID1];return rval}function parsenoop2(blob,length){blob.read_shift(length);return null}function parslurp(blob,length,cb){var arr=[],target=blob.l+length;while(blob.l=12?2:1);var width=1,encoding="sbcs-cont";var cp=current_codepage;if(opts&&opts.biff>=8)current_codepage=1200;if(!opts||opts.biff==8){var fHighByte=blob.read_shift(1);if(fHighByte){width=2;encoding="dbcs-cont"}}else if(opts.biff==12){width=2;encoding="wstr"}var o=cch?blob.read_shift(cch,encoding):"";current_codepage=cp;return o}function parse_XLUnicodeRichExtendedString(blob){var cp=current_codepage;current_codepage=1200;var cch=blob.read_shift(2),flags=blob.read_shift(1);var fHighByte=flags&1,fExtSt=flags&4,fRichSt=flags&8;var width=1+(flags&1);var cRun=0,cbExtRst;var z={};if(fRichSt)cRun=blob.read_shift(2);if(fExtSt)cbExtRst=blob.read_shift(4);var encoding=flags&1?"dbcs-cont":"sbcs-cont";var msg=cch===0?"":blob.read_shift(cch,encoding);if(fRichSt)blob.l+=4*cRun;if(fExtSt)blob.l+=cbExtRst;z.t=msg;if(!fRichSt){z.raw=""+z.t+"";z.r=z.t}current_codepage=cp;return z}function parse_XLUnicodeStringNoCch(blob,cch,opts){var retval;if(opts){if(opts.biff>=2&&opts.biff<=5)return blob.read_shift(cch,"sbcs-cont");if(opts.biff>=12)return blob.read_shift(cch,"dbcs-cont")}var fHighByte=blob.read_shift(1);if(fHighByte===0){retval=blob.read_shift(cch,"sbcs-cont")}else{retval=blob.read_shift(cch,"dbcs-cont")}return retval}function parse_XLUnicodeString(blob,length,opts){var cch=blob.read_shift(opts&&opts.biff==2?1:2);if(cch===0){blob.l++;return""}return parse_XLUnicodeStringNoCch(blob,cch,opts)}function parse_XLUnicodeString2(blob,length,opts){if(opts.biff>5)return parse_XLUnicodeString(blob,length,opts);var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}var parse_ControlInfo=parsenoop;var parse_URLMoniker=function(blob,length){var len=blob.read_shift(4),start=blob.l;var extra=false;if(len>24){blob.l+=len-24;if(blob.read_shift(16)==="795881f43b1d7f48af2c825dc4852763")extra=true;blob.l=start}var url=blob.read_shift((extra?len-24:len)>>1,"utf16le").replace(chr0,"");if(extra)blob.l+=24;return url};var parse_FileMoniker=function(blob,length){var cAnti=blob.read_shift(2);var ansiLength=blob.read_shift(4);var ansiPath=blob.read_shift(ansiLength,"cstr");var endServer=blob.read_shift(2);var versionNumber=blob.read_shift(2);var cbUnicodePathSize=blob.read_shift(4);if(cbUnicodePathSize===0)return ansiPath.replace(/\\/g,"/");var cbUnicodePathBytes=blob.read_shift(4);var usKeyValue=blob.read_shift(2);var unicodePath=blob.read_shift(cbUnicodePathBytes>>1,"utf16le").replace(chr0,"");return unicodePath};var parse_HyperlinkMoniker=function(blob,length){var clsid=blob.read_shift(16);length-=16;switch(clsid){case"e0c9ea79f9bace118c8200aa004ba90b":return parse_URLMoniker(blob,length);case"0303000000000000c000000000000046":return parse_FileMoniker(blob,length);default:throw"unsupported moniker "+clsid}};var parse_HyperlinkString=function(blob,length){var len=blob.read_shift(4);var o=blob.read_shift(len,"utf16le").replace(chr0,"");return o};var parse_Hyperlink=function(blob,length){var end=blob.l+length;var sVer=blob.read_shift(4);if(sVer!==2)throw new Error("Unrecognized streamVersion: "+sVer);var flags=blob.read_shift(2);blob.l+=2;var displayName,targetFrameName,moniker,oleMoniker,location,guid,fileTime;if(flags&16)displayName=parse_HyperlinkString(blob,end-blob.l);if(flags&128)targetFrameName=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===257)moniker=parse_HyperlinkString(blob,end-blob.l);if((flags&257)===1)oleMoniker=parse_HyperlinkMoniker(blob,end-blob.l);if(flags&8)location=parse_HyperlinkString(blob,end-blob.l);if(flags&32)guid=blob.read_shift(16);if(flags&64)fileTime=parse_FILETIME(blob,8);blob.l=end;var target=targetFrameName||moniker||oleMoniker;if(location)target+="#"+location;return{Target:target}};function parse_LongRGBA(blob,length){var r=blob.read_shift(1),g=blob.read_shift(1),b=blob.read_shift(1),a=blob.read_shift(1);return[r,g,b,a]}function parse_LongRGB(blob,length){var x=parse_LongRGBA(blob,length);x[3]=0;return x}function parse_XLSCell(blob,length){var rw=blob.read_shift(2);var col=blob.read_shift(2);var ixfe=blob.read_shift(2);return{r:rw,c:col,ixfe:ixfe}}function parse_frtHeader(blob){var rt=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=8;return{type:rt,flags:flags}}function parse_OptXLUnicodeString(blob,length,opts){return length===0?"":parse_XLUnicodeString2(blob,length,opts)}var HIDEOBJENUM=["SHOWALL","SHOWPLACEHOLDER","HIDEALL"];var parse_HideObjEnum=parseuint16;function parse_XTI(blob,length){var iSupBook=blob.read_shift(2),itabFirst=blob.read_shift(2,"i"),itabLast=blob.read_shift(2,"i");return[iSupBook,itabFirst,itabLast]}function parse_RkRec(blob,length){var ixfe=blob.read_shift(2);var RK=parse_RkNumber(blob);return[ixfe,RK]}function parse_AddinUdf(blob,length,opts){blob.l+=4;length-=4;var l=blob.l+length;var udfName=parse_ShortXLUnicodeString(blob,length,opts);var cb=blob.read_shift(2);l-=blob.l;if(cb!==l)throw"Malformed AddinUdf: padding = "+l+" != "+cb;blob.l+=cb;return udfName}function parse_Ref8U(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(2);var colLast=blob.read_shift(2);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}function parse_RefU(blob,length){var rwFirst=blob.read_shift(2);var rwLast=blob.read_shift(2);var colFirst=blob.read_shift(1);var colLast=blob.read_shift(1);return{s:{c:colFirst,r:rwFirst},e:{c:colLast,r:rwLast}}}var parse_Ref=parse_RefU;function parse_FtCmo(blob,length){blob.l+=4;var ot=blob.read_shift(2);var id=blob.read_shift(2);var flags=blob.read_shift(2);blob.l+=12;return[id,ot,flags]}function parse_FtNts(blob,length){var out={};blob.l+=4;blob.l+=16;out.fSharedNote=blob.read_shift(2);blob.l+=4;return out}function parse_FtCf(blob,length){var out={};blob.l+=4;blob.cf=blob.read_shift(2);return out}var FtTab={21:parse_FtCmo,19:parsenoop,18:function(blob,length){blob.l+=12},17:function(blob,length){blob.l+=8},16:parsenoop,15:parsenoop,13:parse_FtNts,12:function(blob,length){blob.l+=24},11:function(blob,length){blob.l+=10},10:function(blob,length){blob.l+=16},9:parsenoop,8:function(blob,length){blob.l+=6},7:parse_FtCf,6:function(blob,length){blob.l+=6},4:parsenoop,0:function(blob,length){blob.l+=4}};function parse_FtArray(blob,length,ot){var s=blob.l;var fts=[];while(blob.l6)throw new Error("Unexpected BIFF Ver "+o.BIFFVer)}blob.read_shift(length);return o}function parse_InterfaceHdr(blob,length){if(length===0)return 1200;var q;if((q=blob.read_shift(2))!==1200)throw"InterfaceHdr codePage "+q;return 1200}function parse_WriteAccess(blob,length,opts){if(opts.enc){blob.l+=length;return""}var l=blob.l;var UserName=parse_XLUnicodeString(blob,0,opts);blob.read_shift(length+l-blob.l);return UserName}function parse_BoundSheet8(blob,length,opts){var pos=blob.read_shift(4);var hidden=blob.read_shift(1)&3;var dt=blob.read_shift(1);switch(dt){case 0:dt="Worksheet";break;case 1:dt="Macrosheet";break;case 2:dt="Chartsheet";break;case 6:dt="VBAModule";break}var name=parse_ShortXLUnicodeString(blob,0,opts);if(name.length===0)name="Sheet1";return{pos:pos,hs:hidden,dt:dt,name:name}}function parse_SST(blob,length){var cnt=blob.read_shift(4);var ucnt=blob.read_shift(4);var strs=[];for(var i=0;i!=ucnt;++i){strs.push(parse_XLUnicodeRichExtendedString(blob))}strs.Count=cnt;strs.Unique=ucnt;return strs}function parse_ExtSST(blob,length){var extsst={};extsst.dsst=blob.read_shift(2);blob.l+=length-2;return extsst}function parse_Row(blob,length){var rw=blob.read_shift(2),col=blob.read_shift(2),Col=blob.read_shift(2),rht=blob.read_shift(2);blob.read_shift(4);var flags=blob.read_shift(1);blob.read_shift(1);blob.read_shift(2);return{r:rw,c:col,cnt:Col-col}}function parse_ForceFullCalculation(blob,length){var header=parse_frtHeader(blob);if(header.type!=2211)throw"Invalid Future Record "+header.type;var fullcalc=blob.read_shift(4);return fullcalc!==0}var parse_CompressPictures=parsenoop2;function parse_RecalcId(blob,length){blob.read_shift(2);return blob.read_shift(4)}function parse_DefaultRowHeight(blob,length){var f=length==4?blob.read_shift(2):0,miyRw;miyRw=blob.read_shift(2);var fl={Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};return[fl,miyRw]}function parse_Window1(blob,length){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);var ctabSel=blob.read_shift(2),wTabRatio=blob.read_shift(2);return{Pos:[xWn,yWn],Dim:[dxWn,dyWn],Flags:flags,CurTab:iTabCur,FirstTab:iTabFirst,Selected:ctabSel,TabRatio:wTabRatio}}function parse_Font(blob,length,opts){blob.l+=14;var name=parse_ShortXLUnicodeString(blob,0,opts);return name}function parse_LabelSst(blob,length){var cell=parse_XLSCell(blob);cell.isst=blob.read_shift(4);return cell}function parse_Label(blob,length,opts){var target=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)blob.l++;var str=parse_XLUnicodeString(blob,target-blob.l,opts);cell.val=str;return cell}function parse_Format(blob,length,opts){var ifmt=blob.read_shift(2);var fmtstr=parse_XLUnicodeString2(blob,0,opts);return[ifmt,fmtstr]}var parse_BIFF2Format=parse_XLUnicodeString2;function parse_Dimensions(blob,length,opts){var end=blob.l+length;var w=opts.biff==8||!opts.biff?4:2;var r=blob.read_shift(w),R=blob.read_shift(w),c=blob.read_shift(2),C=blob.read_shift(2);blob.l=end;return{s:{r:r,c:c},e:{r:R,c:C}}}function parse_RK(blob,length){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]}}function parse_MulRk(blob,length){var target=blob.l+length-2;var rw=blob.read_shift(2),col=blob.read_shift(2);var rkrecs=[];while(blob.l>26];o.icvFore=d&127;o.icvBack=d>>7&127;return o}function parse_CellXF(blob,length){return parse_CellStyleXF(blob,length,0)}function parse_StyleXF(blob,length){return parse_CellStyleXF(blob,length,1)}function parse_XF(blob,length){var o={};o.ifnt=blob.read_shift(2);o.ifmt=blob.read_shift(2);o.flags=blob.read_shift(2);o.fStyle=o.flags>>2&1;length-=6;o.data=parse_CellStyleXF(blob,length,o.fStyle);return o}function parse_Guts(blob,length){blob.l+=4;var out=[blob.read_shift(2),blob.read_shift(2)];if(out[0]!==0)out[0]--;if(out[1]!==0)out[1]--;if(out[0]>7||out[1]>7)throw"Bad Gutters: "+out.join("|");return out}function parse_BoolErr(blob,length,opts){var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_Bes(blob,2);cell.val=val;cell.t=val===true||val===false?"b":"e";return cell}function parse_Number(blob,length){var cell=parse_XLSCell(blob,6);var xnum=parse_Xnum(blob,8);cell.val=xnum;return cell}var parse_XLHeaderFooter=parse_OptXLUnicodeString;function parse_SupBook(blob,length,opts){var end=blob.l+length;var ctab=blob.read_shift(2);var cch=blob.read_shift(2);var virtPath;if(cch>=1&&cch<=255)virtPath=parse_XLUnicodeStringNoCch(blob,cch);var rgst=blob.read_shift(end-blob.l);opts.sbcch=cch;return[cch,ctab,virtPath,rgst]}function parse_ExternName(blob,length,opts){var flags=blob.read_shift(2);var body;var o={fBuiltIn:flags&1,fWantAdvise:flags>>>1&1,fWantPict:flags>>>2&1,fOle:flags>>>3&1,fOleLink:flags>>>4&1,cf:flags>>>5&1023,fIcon:flags>>>15&1};if(opts.sbcch===14849)body=parse_AddinUdf(blob,length-2,opts);o.body=body||blob.read_shift(length-2);return o}function parse_Lbl(blob,length,opts){var target=blob.l+length;var flags=blob.read_shift(2);var chKey=blob.read_shift(1);var cch=blob.read_shift(1);var cce=blob.read_shift(opts&&opts.biff==2?1:2);if(!opts||opts.biff>=5){blob.l+=2;var itab=blob.read_shift(2);blob.l+=4}var name=parse_XLUnicodeStringNoCch(blob,cch,opts);var npflen=target-blob.l;if(opts&&opts.biff==2)--npflen;var rgce=target==blob.l||cce==0?[]:parse_NameParsedFormula(blob,npflen,opts,cce);return{chKey:chKey,Name:name,rgce:rgce}}function parse_ExternSheet(blob,length,opts){if(opts.biff<8)return parse_ShortXLUnicodeString(blob,length,opts);var o=parslurp2(blob,length,parse_XTI);var oo=[];if(opts.sbcch===1025){for(var i=0;i!=o.length;++i)oo.push(opts.snames[o[i][1]]);return oo}else return o}function parse_ShrFmla(blob,length,opts){var ref=parse_RefU(blob,6);blob.l++;var cUse=blob.read_shift(1);length-=8;return[parse_SharedParsedFormula(blob,length,opts),cUse]}function parse_Array(blob,length,opts){var ref=parse_Ref(blob,6);switch(opts.biff){case 2:blob.l++;length-=7;break;case 3:case 4:blob.l+=2;length-=8;break;default:blob.l+=6;length-=12}return[ref,parse_ArrayParsedFormula(blob,length,opts,ref)]}function parse_MTRSettings(blob,length){var fMTREnabled=blob.read_shift(4)!==0;var fUserSetThreadCount=blob.read_shift(4)!==0; +var cUserThreadCount=blob.read_shift(4);return[fMTREnabled,fUserSetThreadCount,cUserThreadCount]}function parse_NoteSh(blob,length,opts){if(opts.biff<8)return;var row=blob.read_shift(2),col=blob.read_shift(2);var flags=blob.read_shift(2),idObj=blob.read_shift(2);var stAuthor=parse_XLUnicodeString2(blob,0,opts);if(opts.biff<8)blob.read_shift(1);return[{r:row,c:col},stAuthor,idObj,flags]}function parse_Note(blob,length,opts){return parse_NoteSh(blob,length,opts)}function parse_MergeCells(blob,length){var merges=[];var cmcs=blob.read_shift(2);while(cmcs--)merges.push(parse_Ref8U(blob,length));return merges}function parse_Obj(blob,length){var cmo=parse_FtCmo(blob,22);var fts=parse_FtArray(blob,length-22,cmo[1]);return{cmo:cmo,ft:fts}}function parse_TxO(blob,length,opts){var s=blob.l;var texts="";try{blob.l+=4;var ot=(opts.lastobj||{cmo:[0,0]}).cmo[1];var controlInfo;if([0,5,7,11,12,14].indexOf(ot)==-1)blob.l+=6;else controlInfo=parse_ControlInfo(blob,6,opts);var cchText=blob.read_shift(2);var cbRuns=blob.read_shift(2);var ifntEmpty=parse_FontIndex(blob,2);var len=blob.read_shift(2);blob.l+=len;for(var i=1;i=(hdr?cchText:2*cchText))break}if(texts.length!==cchText&&texts.length!==cchText*2){throw"cchText: "+cchText+" != "+texts.length}blob.l=s+length;return{t:texts}}catch(e){blob.l=s+length;return{t:texts}}}var parse_HLink=function(blob,length){var ref=parse_Ref8U(blob,8);blob.l+=16;var hlink=parse_Hyperlink(blob,length-24);return[ref,hlink]};var parse_HLinkTooltip=function(blob,length){var end=blob.l+length;blob.read_shift(2);var ref=parse_Ref8U(blob,8);var wzTooltip=blob.read_shift((length-10)/2,"dbcs-cont");wzTooltip=wzTooltip.replace(chr0,"");return[ref,wzTooltip]};function parse_Country(blob,length){var o=[],d;d=blob.read_shift(2);o[0]=CountryEnum[d]||d;d=blob.read_shift(2);o[1]=CountryEnum[d]||d;return o}function parse_ClrtClient(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_Palette(blob,length){var ccv=blob.read_shift(2);var o=[];while(ccv-- >0)o.push(parse_LongRGB(blob,8));return o}function parse_XFCRC(blob,length){blob.l+=2;var o={cxfs:0,crc:0};o.cxfs=blob.read_shift(2);o.crc=blob.read_shift(4);return o}var parse_Style=parsenoop;var parse_StyleExt=parsenoop;var parse_ColInfo=parsenoop;var parse_Window2=parsenoop;var parse_Backup=parsebool;var parse_Blank=parse_XLSCell;var parse_BottomMargin=parse_Xnum;var parse_BuiltInFnGroupCount=parseuint16;var parse_CalcCount=parseuint16;var parse_CalcDelta=parse_Xnum;var parse_CalcIter=parsebool;var parse_CalcMode=parseuint16;var parse_CalcPrecision=parsebool;var parse_CalcRefMode=parsenoop2;var parse_CalcSaveRecalc=parsebool;var parse_CodePage=parseuint16;var parse_Compat12=parsebool;var parse_Date1904=parsebool;var parse_DefColWidth=parseuint16;var parse_DSF=parsenoop2;var parse_EntExU2=parsenoop2;var parse_EOF=parsenoop2;var parse_Excel9File=parsenoop2;var parse_FeatHdr=parsenoop2;var parse_FontX=parseuint16;var parse_Footer=parse_XLHeaderFooter;var parse_GridSet=parseuint16;var parse_HCenter=parsebool;var parse_Header=parse_XLHeaderFooter;var parse_HideObj=parse_HideObjEnum;var parse_InterfaceEnd=parsenoop2;var parse_LeftMargin=parse_Xnum;var parse_Mms=parsenoop2;var parse_ObjProtect=parsebool;var parse_Password=parseuint16;var parse_PrintGrid=parsebool;var parse_PrintRowCol=parsebool;var parse_PrintSize=parseuint16;var parse_Prot4Rev=parsebool;var parse_Prot4RevPass=parseuint16;var parse_Protect=parsebool;var parse_RefreshAll=parsebool;var parse_RightMargin=parse_Xnum;var parse_RRTabId=parseuint16a;var parse_ScenarioProtect=parsebool;var parse_Scl=parseuint16a;var parse_String=parse_XLUnicodeString;var parse_SxBool=parsebool;var parse_TopMargin=parse_Xnum;var parse_UsesELFs=parsebool;var parse_VCenter=parsebool;var parse_WinProtect=parsebool;var parse_WriteProtect=parsenoop;var parse_VerticalPageBreaks=parsenoop;var parse_HorizontalPageBreaks=parsenoop;var parse_Selection=parsenoop;var parse_Continue=parsenoop;var parse_Pane=parsenoop;var parse_Pls=parsenoop;var parse_DCon=parsenoop;var parse_DConRef=parsenoop;var parse_DConName=parsenoop;var parse_XCT=parsenoop;var parse_CRN=parsenoop;var parse_FileSharing=parsenoop;var parse_Uncalced=parsenoop;var parse_Template=parsenoop;var parse_Intl=parsenoop;var parse_WsBool=parsenoop;var parse_Sort=parsenoop;var parse_Sync=parsenoop;var parse_LPr=parsenoop;var parse_DxGCol=parsenoop;var parse_FnGroupName=parsenoop;var parse_FilterMode=parsenoop;var parse_AutoFilterInfo=parsenoop;var parse_AutoFilter=parsenoop;var parse_Setup=parsenoop;var parse_ScenMan=parsenoop;var parse_SCENARIO=parsenoop;var parse_SxView=parsenoop;var parse_Sxvd=parsenoop;var parse_SXVI=parsenoop;var parse_SxIvd=parsenoop;var parse_SXLI=parsenoop;var parse_SXPI=parsenoop;var parse_DocRoute=parsenoop;var parse_RecipName=parsenoop;var parse_MulBlank=parsenoop;var parse_SXDI=parsenoop;var parse_SXDB=parsenoop;var parse_SXFDB=parsenoop;var parse_SXDBB=parsenoop;var parse_SXNum=parsenoop;var parse_SxErr=parsenoop;var parse_SXInt=parsenoop;var parse_SXString=parsenoop;var parse_SXDtr=parsenoop;var parse_SxNil=parsenoop;var parse_SXTbl=parsenoop;var parse_SXTBRGIITM=parsenoop;var parse_SxTbpg=parsenoop;var parse_ObProj=parsenoop;var parse_SXStreamID=parsenoop;var parse_DBCell=parsenoop;var parse_SXRng=parsenoop;var parse_SxIsxoper=parsenoop;var parse_BookBool=parsenoop;var parse_DbOrParamQry=parsenoop;var parse_OleObjectSize=parsenoop;var parse_SXVS=parsenoop;var parse_BkHim=parsenoop;var parse_MsoDrawingGroup=parsenoop;var parse_MsoDrawing=parsenoop;var parse_MsoDrawingSelection=parsenoop;var parse_PhoneticInfo=parsenoop;var parse_SxRule=parsenoop;var parse_SXEx=parsenoop;var parse_SxFilt=parsenoop;var parse_SxDXF=parsenoop;var parse_SxItm=parsenoop;var parse_SxName=parsenoop;var parse_SxSelect=parsenoop;var parse_SXPair=parsenoop;var parse_SxFmla=parsenoop;var parse_SxFormat=parsenoop;var parse_SXVDEx=parsenoop;var parse_SXFormula=parsenoop;var parse_SXDBEx=parsenoop;var parse_RRDInsDel=parsenoop;var parse_RRDHead=parsenoop;var parse_RRDChgCell=parsenoop;var parse_RRDRenSheet=parsenoop;var parse_RRSort=parsenoop;var parse_RRDMove=parsenoop;var parse_RRFormat=parsenoop;var parse_RRAutoFmt=parsenoop;var parse_RRInsertSh=parsenoop;var parse_RRDMoveBegin=parsenoop;var parse_RRDMoveEnd=parsenoop;var parse_RRDInsDelBegin=parsenoop;var parse_RRDInsDelEnd=parsenoop;var parse_RRDConflict=parsenoop;var parse_RRDDefName=parsenoop;var parse_RRDRstEtxp=parsenoop;var parse_LRng=parsenoop;var parse_CUsr=parsenoop;var parse_CbUsr=parsenoop;var parse_UsrInfo=parsenoop;var parse_UsrExcl=parsenoop;var parse_FileLock=parsenoop;var parse_RRDInfo=parsenoop;var parse_BCUsrs=parsenoop;var parse_UsrChk=parsenoop;var parse_UserBView=parsenoop;var parse_UserSViewBegin=parsenoop;var parse_UserSViewEnd=parsenoop;var parse_RRDUserView=parsenoop;var parse_Qsi=parsenoop;var parse_CondFmt=parsenoop;var parse_CF=parsenoop;var parse_DVal=parsenoop;var parse_DConBin=parsenoop;var parse_Lel=parsenoop;var parse_XLSCodeName=parse_XLUnicodeString;var parse_SXFDBType=parsenoop;var parse_ObNoMacros=parsenoop;var parse_Dv=parsenoop;var parse_Index=parsenoop;var parse_Table=parsenoop;var parse_BigName=parsenoop;var parse_ContinueBigName=parsenoop;var parse_WebPub=parsenoop;var parse_QsiSXTag=parsenoop;var parse_DBQueryExt=parsenoop;var parse_ExtString=parsenoop;var parse_TxtQry=parsenoop;var parse_Qsir=parsenoop;var parse_Qsif=parsenoop;var parse_RRDTQSIF=parsenoop;var parse_OleDbConn=parsenoop;var parse_WOpt=parsenoop;var parse_SXViewEx=parsenoop;var parse_SXTH=parsenoop;var parse_SXPIEx=parsenoop;var parse_SXVDTEx=parsenoop;var parse_SXViewEx9=parsenoop;var parse_ContinueFrt=parsenoop;var parse_RealTimeData=parsenoop;var parse_ChartFrtInfo=parsenoop;var parse_FrtWrapper=parsenoop;var parse_StartBlock=parsenoop;var parse_EndBlock=parsenoop;var parse_StartObject=parsenoop;var parse_EndObject=parsenoop;var parse_CatLab=parsenoop;var parse_YMult=parsenoop;var parse_SXViewLink=parsenoop;var parse_PivotChartBits=parsenoop;var parse_FrtFontList=parsenoop;var parse_SheetExt=parsenoop;var parse_BookExt=parsenoop;var parse_SXAddl=parsenoop;var parse_CrErr=parsenoop;var parse_HFPicture=parsenoop;var parse_Feat=parsenoop;var parse_DataLabExt=parsenoop;var parse_DataLabExtContents=parsenoop;var parse_CellWatch=parsenoop;var parse_FeatHdr11=parsenoop;var parse_Feature11=parsenoop;var parse_DropDownObjIds=parsenoop;var parse_ContinueFrt11=parsenoop;var parse_DConn=parsenoop;var parse_List12=parsenoop;var parse_Feature12=parsenoop;var parse_CondFmt12=parsenoop;var parse_CF12=parsenoop;var parse_CFEx=parsenoop;var parse_AutoFilter12=parsenoop;var parse_ContinueFrt12=parsenoop;var parse_MDTInfo=parsenoop;var parse_MDXStr=parsenoop;var parse_MDXTuple=parsenoop;var parse_MDXSet=parsenoop;var parse_MDXProp=parsenoop;var parse_MDXKPI=parsenoop;var parse_MDB=parsenoop;var parse_PLV=parsenoop;var parse_DXF=parsenoop;var parse_TableStyles=parsenoop;var parse_TableStyle=parsenoop;var parse_TableStyleElement=parsenoop;var parse_NamePublish=parsenoop;var parse_NameCmt=parsenoop;var parse_SortData=parsenoop;var parse_GUIDTypeLib=parsenoop;var parse_FnGrp12=parsenoop;var parse_NameFnGrp12=parsenoop;var parse_HeaderFooter=parsenoop;var parse_CrtLayout12=parsenoop;var parse_CrtMlFrt=parsenoop;var parse_CrtMlFrtContinue=parsenoop;var parse_ShapePropsStream=parsenoop;var parse_TextPropsStream=parsenoop;var parse_RichTextStream=parsenoop;var parse_CrtLayout12A=parsenoop;var parse_Units=parsenoop;var parse_Chart=parsenoop;var parse_Series=parsenoop;var parse_DataFormat=parsenoop;var parse_LineFormat=parsenoop;var parse_MarkerFormat=parsenoop;var parse_AreaFormat=parsenoop;var parse_PieFormat=parsenoop;var parse_AttachedLabel=parsenoop;var parse_SeriesText=parsenoop;var parse_ChartFormat=parsenoop;var parse_Legend=parsenoop;var parse_SeriesList=parsenoop;var parse_Bar=parsenoop;var parse_Line=parsenoop;var parse_Pie=parsenoop;var parse_Area=parsenoop;var parse_Scatter=parsenoop;var parse_CrtLine=parsenoop;var parse_Axis=parsenoop;var parse_Tick=parsenoop;var parse_ValueRange=parsenoop;var parse_CatSerRange=parsenoop;var parse_AxisLine=parsenoop;var parse_CrtLink=parsenoop;var parse_DefaultText=parsenoop;var parse_Text=parsenoop;var parse_ObjectLink=parsenoop;var parse_Frame=parsenoop;var parse_Begin=parsenoop;var parse_End=parsenoop;var parse_PlotArea=parsenoop;var parse_Chart3d=parsenoop;var parse_PicF=parsenoop;var parse_DropBar=parsenoop;var parse_Radar=parsenoop;var parse_Surf=parsenoop;var parse_RadarArea=parsenoop;var parse_AxisParent=parsenoop;var parse_LegendException=parsenoop;var parse_ShtProps=parsenoop;var parse_SerToCrt=parsenoop;var parse_AxesUsed=parsenoop;var parse_SBaseRef=parsenoop;var parse_SerParent=parsenoop;var parse_SerAuxTrend=parsenoop;var parse_IFmtRecord=parsenoop;var parse_Pos=parsenoop;var parse_AlRuns=parsenoop;var parse_BRAI=parsenoop;var parse_SerAuxErrBar=parsenoop;var parse_SerFmt=parsenoop;var parse_Chart3DBarShape=parsenoop;var parse_Fbi=parsenoop;var parse_BopPop=parsenoop;var parse_AxcExt=parsenoop;var parse_Dat=parsenoop;var parse_PlotGrowth=parsenoop;var parse_SIIndex=parsenoop;var parse_GelFrame=parsenoop;var parse_BopPopCustom=parsenoop;var parse_Fbi2=parsenoop;function parse_BIFF5String(blob){var len=blob.read_shift(1);return blob.read_shift(len,"sbcs-cont")}function parse_BIFF2STR(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var str=parse_XLUnicodeString2(blob,length-7,opts);cell.t="str";cell.val=str;return cell}function parse_BIFF2NUM(blob,length,opts){var cell=parse_XLSCell(blob,6);++blob.l;var num=parse_Xnum(blob,8);cell.t="n";cell.val=num;return cell}function parse_BIFF2INT(blob,length){var cell=parse_XLSCell(blob,6);++blob.l;var num=blob.read_shift(2);cell.t="n";cell.val=num;return cell}function parse_BIFF2STRING(blob,length){var cch=blob.read_shift(1);if(cch===0){blob.l++;return""}return blob.read_shift(cch,"sbcs-cont")}function parse_BIFF2FONTXTRA(blob,length){blob.l+=6;blob.l+=2;blob.l+=1;blob.l+=3;blob.l+=1;blob.l+=length-9}function parse_RString(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);var cch=blob.read_shift(2);var str=parse_XLUnicodeStringNoCch(blob,cch,opts);blob.l=end;cell.t="str";cell.val=str;return cell}var CS2CP={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 parse_rs=function parse_rs_factory(){var tregex=matchtag("t"),rpregex=matchtag("rPr"),rregex=/<(?:\w+:)?r>/g,rend=/<\/(?:\w+:)?r>/,nlregex=/\r\n/g;var parse_rpr=function parse_rpr(rpr,intro,outro){var font={},cp=65001;var m=rpr.match(tagregex),i=0;if(m)for(;i!=m.length;++i){var y=parsexmltag(m[i]);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("");return cp};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex),cp=65001;if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))cp=parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(nlregex,"
")+terms[2].join("")}return function parse_rs(rs){return rs.replace(rregex,"").split(rend).map(parse_r).join("")}}();var sitregex=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,sirregex=/<(?:\w+:)?r>/;function parse_si(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]));z.r=utf8read(x);if(html)z.h=z.t}else if(y=x.match(sirregex)){z.r=utf8read(x);z.t=utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,"")));if(html)z.h=parse_rs(z.r)}return z}var sstr0=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var sstr1=/<(?:\w+:)?(?:si|sstItem)>/g;var sstr2=/<\/(?:\w+:)?(?:si|sstItem)>/;function parse_sst_xml(data,opts){var s=[],ss="";if(!data)return s;var sst=data.match(sstr0);if(isval(sst)){ss=sst[2].replace(sstr1,"").split(sstr2);for(var i=0;i!=ss.length;++i){var o=parse_si(ss[i].trim(),opts);if(o!=null)s[s.length]=o}sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s}RELS.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var straywsregex=/^\s|\s$|[\t\n\r]/;function write_sst_xml(sst,opts){if(!opts.bookSST)return"";var o=[XML_HEADER];o[o.length]=writextag("sst",null,{xmlns:XMLNS.main[0],count:sst.Count,uniqueCount:sst.Unique});for(var i=0;i!=sst.length;++i){if(sst[i]==null)continue;var s=sst[i];var sitag="";if(s.r)sitag+=s.r;else{sitag+=""}sitag+="";o[o.length]=sitag}if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBeginSst(data,length){return[data.read_shift(4),data.read_shift(4)]}function parse_sst_bin(data,opts){var s=[];var pass=false;recordhopper(data,function hopper_sst(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s}function write_BrtBeginSst(sst,o){if(!o)o=new_buf(8);o.write_shift(4,sst.Count);o.write_shift(4,sst.Unique);return o}var write_BrtSSTItem=write_RichStr;function write_sst_bin(sst,opts){var ba=buf_array();write_record(ba,"BrtBeginSst",write_BrtBeginSst(sst));for(var i=0;i4||vers.Major<2)throw"unrecognized major version code: "+vers.Major;o.Flags=blob.read_shift(4);length-=4;var sz=blob.read_shift(4);length-=4;o.EncryptionHeader=parse_EncryptionHeader(blob,sz);length-=sz;o.EncryptionVerifier=parse_EncryptionVerifier(blob,length);return o}function parse_RC4Header(blob,length){var o={};var vers=o.EncryptionVersionInfo=parse_Version(blob,4);length-=4;if(vers.Major!=1||vers.Minor!=1)throw"unrecognized version code "+vers.Major+" : "+vers.Minor;o.Salt=blob.read_shift(16);o.EncryptedVerifier=blob.read_shift(16);o.EncryptedVerifierHash=blob.read_shift(16);return o}function crypto_CreatePasswordVerifier_Method1(Password){var Verifier=0,PasswordArray;var PasswordDecoded=_JS2ANSI(Password);var len=PasswordDecoded.length+1,i,PasswordByte;var Intermediate1,Intermediate2,Intermediate3;PasswordArray=new_raw_buf(len);PasswordArray[0]=PasswordDecoded.length;for(i=1;i!=len;++i)PasswordArray[i]=PasswordDecoded[i-1];for(i=len-1;i>=0;--i){PasswordByte=PasswordArray[i];Intermediate1=(Verifier&16384)===0?0:1;Intermediate2=Verifier<<1&32767;Intermediate3=Intermediate1|Intermediate2;Verifier=Intermediate3^PasswordByte}return Verifier^52811}var crypto_CreateXorArray_Method1=function(){var PadArray=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var InitialCode=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var XorMatrix=[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 Ror=function(Byte){return(Byte/2|Byte*128)&255};var XorRor=function(byte1,byte2){return Ror(byte1^byte2)};var CreateXorKey_Method1=function(Password){var XorKey=InitialCode[Password.length-1];var CurrentElement=104;for(var i=Password.length-1;i>=0;--i){var Char=Password[i];for(var j=0;j!=7;++j){if(Char&64)XorKey^=XorMatrix[CurrentElement];Char*=2;--CurrentElement}}return XorKey};return function(password){var Password=_JS2ANSI(password);var XorKey=CreateXorKey_Method1(Password);var Index=Password.length;var ObfuscationArray=new_raw_buf(16);for(var i=0;i!=16;++i)ObfuscationArray[i]=0;var Temp,PasswordLastChar,PadIndex;if((Index&1)===1){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[0],Temp);--Index;Temp=XorKey&255;PasswordLastChar=Password[Password.length-1];ObfuscationArray[Index]=XorRor(PasswordLastChar,Temp)}while(Index>0){--Index;Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp)}Index=15;PadIndex=15-Password.length;while(PadIndex>0){Temp=XorKey>>8;ObfuscationArray[Index]=XorRor(PadArray[PadIndex],Temp);--Index;--PadIndex;Temp=XorKey&255;ObfuscationArray[Index]=XorRor(Password[Index],Temp);--Index;--PadIndex}return ObfuscationArray}}();var crypto_DecryptData_Method1=function(password,Data,XorArrayIndex,XorArray,O){if(!O)O=Data;if(!XorArray)XorArray=crypto_CreateXorArray_Method1(password);var Index,Value;for(Index=0;Index!=Data.length;++Index){Value=Data[Index];Value^=XorArray[XorArrayIndex];Value=(Value>>5|Value<<3)&255;O[Index]=Value;++XorArrayIndex}return[O,XorArrayIndex,XorArray]};var crypto_MakeXorDecryptor=function(password){var XorArrayIndex=0,XorArray=crypto_CreateXorArray_Method1(password);return function(Data){var O=crypto_DecryptData_Method1("",Data,XorArrayIndex,XorArray);XorArrayIndex=O[1];return O[0]}};function parse_XORObfuscation(blob,length,opts,out){var o={key:parseuint16(blob),verificationBytes:parseuint16(blob)};if(opts.password)o.verifier=crypto_CreatePasswordVerifier_Method1(opts.password);out.valid=o.verificationBytes===o.verifier;if(out.valid)out.insitu_decrypt=crypto_MakeXorDecryptor(opts.password);return o}function parse_FilePassHeader(blob,length,oo){var o=oo||{};o.Info=blob.read_shift(2);blob.l-=2;if(o.Info===1)o.Data=parse_RC4Header(blob,length);else o.Data=parse_RC4CryptoHeader(blob,length);return o}function parse_FilePass(blob,length,opts){var o={Type:blob.read_shift(2)};if(o.Type)parse_FilePassHeader(blob,length-2,o);else parse_XORObfuscation(blob,length-2,opts,o);return o}function hex2RGB(h){var o=h.substr(h[0]==="#"?1:0,6);return[parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16),parseInt(o.substr(0,2),16)]}function rgb2Hex(rgb){for(var i=0,o=1;i!=3;++i)o=o*256+(rgb[i]>255?255:rgb[i]<0?0:rgb[i]);return o.toString(16).toUpperCase().substr(1)}function rgb2HSL(rgb){var R=rgb[0]/255,G=rgb[1]/255,B=rgb[2]/255;var M=Math.max(R,G,B),m=Math.min(R,G,B),C=M-m;if(C===0)return[0,0,R];var H6=0,S=0,L2=M+m;S=C/(L2>1?2-L2:L2);switch(M){case R:H6=((G-B)/C+6)%6;break;case G:H6=(B-R)/C+2;break;case B:H6=(R-G)/C+4;break}return[H6/6,S,L2/2]}function hsl2RGB(hsl){var H=hsl[0],S=hsl[1],L=hsl[2];var C=S*2*(L<.5?L:1-L),m=L-C/2;var rgb=[m,m,m],h6=6*H;var X;if(S!==0)switch(h6|0){case 0:case 6:X=C*h6;rgb[0]+=C;rgb[1]+=X;break;case 1:X=C*(2-h6);rgb[0]+=X;rgb[1]+=C;break;case 2:X=C*(h6-2);rgb[1]+=C;rgb[2]+=X;break;case 3:X=C*(4-h6);rgb[1]+=X;rgb[2]+=C;break;case 4:X=C*(h6-4);rgb[2]+=C;rgb[0]+=X;break;case 5:X=C*(6-h6);rgb[2]+=X;rgb[0]+=C;break}for(var i=0;i!=3;++i)rgb[i]=Math.round(rgb[i]*255);return rgb}function rgb_tint(hex,tint){if(tint===0)return hex;var hsl=rgb2HSL(hex2RGB(hex));if(tint<0)hsl[2]=hsl[2]*(1+tint);else hsl[2]=1-(1-hsl[2])*(1-tint);return rgb2Hex(hsl2RGB(hsl))}var DEF_MDW=7,MAX_MDW=15,MIN_MDW=1,MDW=DEF_MDW;function width2px(width){return(width+(128/MDW|0)/256)*MDW|0}function px2char(px){return((px-5)/MDW*100+.5|0)/100}function char2width(chr){return((chr*MDW+5)/MDW*256|0)/256}function cycle_width(collw){return char2width(px2char(width2px(collw)))}function find_mdw(collw,coll){if(cycle_width(collw)!=collw){for(MDW=DEF_MDW;MDW>MIN_MDW;--MDW)if(cycle_width(collw)===collw)break;if(MDW===MIN_MDW)for(MDW=DEF_MDW+1;MDW":case"":break;case"":break;case"":styles.Fills.push(fill);fill={};break;case"":case"":break;case"":case"":break;case"":case"":break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in fills")}})}function parse_numFmts(t,opts){styles.NumberFmt=[];var k=keys(SSF._table);for(var i=0;i":case"":case"":break;case"0)SSF.load(f,j)}break;default:if(opts.WTF)throw new Error("unrecognized "+y[0]+" in numFmts")}}}function write_numFmts(NF,opts){var o=[""];[[5,8],[23,26],[41,44],[63,66],[164,392]].forEach(function(r){for(var i=r[0];i<=r[1];++i)if(NF[i]!==undefined)o[o.length]=writextag("numFmt",null,{numFmtId:i,formatCode:escapexml(NF[i])})});if(o.length===1)return"";o[o.length]="";o[0]=writextag("numFmts",null,{count:o.length-2}).replace("/>",">");return o.join("")}function parse_cellXfs(t,opts){styles.CellXf=[];t[0].match(tagregex).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":case"":break;case"":break;case"":break;case"":case"":break;case"":break;case"";if(o.length===2)return"";o[0]=writextag("cellXfs",null,{count:o.length-2}).replace("/>",">");return o.join("")}var parse_sty_xml=function make_pstyx(){var numFmtRegex=/]*)>.*<\/numFmts>/;var cellXfRegex=/]*)>.*<\/cellXfs>/;var fillsRegex=/]*)>.*<\/fills>/;return function parse_sty_xml(data,opts){if(!data)return styles;var t;if(t=data.match(numFmtRegex))parse_numFmts(t,opts);if(t=data.match(fillsRegex))parse_fills(t,opts);if(t=data.match(cellXfRegex))parse_cellXfs(t,opts);return styles}}();var STYLES_XML_ROOT=writextag("styleSheet",null,{xmlns:XMLNS.main[0],"xmlns:vt":XMLNS.vt});RELS.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function write_sty_xml(wb,opts){var o=[XML_HEADER,STYLES_XML_ROOT],w;if((w=write_numFmts(wb.SSF))!=null)o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';if(w=write_cellXfs(opts.cellXfs))o[o.length]=w;o[o.length]='';o[o.length]='';o[o.length]='';if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var out={flags:{}};out.dyHeight=data.read_shift(2);out.grbit=parse_FontFlags(data,2);out.bls=data.read_shift(2);out.sss=data.read_shift(2);out.uls=data.read_shift(1);out.bFamily=data.read_shift(1);out.bCharSet=data.read_shift(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=data.read_shift(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function hopper_sty(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}function write_sty_bin(data,opts){var ba=buf_array();write_record(ba,"BrtBeginStyleSheet");write_record(ba,"BrtEndStyleSheet");return ba.end()}RELS.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; +function parse_clrScheme(t,opts){themes.themeElements.clrScheme=[];var color={};(t[0].match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[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(y[0][1]==="/"){themes.themeElements.clrScheme.push(color);color={}}else{color.name=y[0].substring(3,y[0].length-1)}break;default:if(opts.WTF)throw"unrecognized "+y[0]+" in clrScheme"}})}function parse_fontScheme(t,opts){}function parse_fmtScheme(t,opts){}var clrsregex=/]*)>[^\u2603]*<\/a:clrScheme>/;var fntsregex=/]*)>[^\u2603]*<\/a:fontScheme>/;var fmtsregex=/]*)>[^\u2603]*<\/a:fmtScheme>/;function parse_themeElements(data,opts){themes.themeElements={};var t;[["clrScheme",clrsregex,parse_clrScheme],["fontScheme",fntsregex,parse_fontScheme],["fmtScheme",fmtsregex,parse_fmtScheme]].forEach(function(m){if(!(t=data.match(m[1])))throw new Error(m[0]+" not found in themeElements");m[2](t,opts)})}var themeltregex=/]*)>[^\u2603]*<\/a:themeElements>/;function parse_theme_xml(data,opts){if(!data||data.length===0)return themes;var t;if(!(t=data.match(themeltregex)))throw"themeElements not found in theme";parse_themeElements(t[0],opts);return themes}function write_theme(){var o=[XML_HEADER];o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]='';o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]='';o[o.length]="";o[o.length]="";o[o.length]="";o[o.length]="";return o.join("")}function parse_Theme(blob,length){var dwThemeVersion=blob.read_shift(4);if(dwThemeVersion===124226)return;blob.l+=length-4}function parse_ColorTheme(blob,length){return blob.read_shift(4)}function parse_FullColorExt(blob,length){var o={};o.xclrType=blob.read_shift(2);o.nTintShade=blob.read_shift(2);switch(o.xclrType){case 0:blob.l+=4;break;case 1:o.xclrValue=parse_IcvXF(blob,4);break;case 2:o.xclrValue=parse_LongRGBA(blob,4);break;case 3:o.xclrValue=parse_ColorTheme(blob,4);break;case 4:blob.l+=4;break}blob.l+=8;return o}function parse_IcvXF(blob,length){return parsenoop(blob,length)}function parse_XFExtGradient(blob,length){return parsenoop(blob,length)}function parse_ExtProp(blob,length){var extType=blob.read_shift(2);var cb=blob.read_shift(2);var o=[extType];switch(extType){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:o[1]=parse_FullColorExt(blob,cb);break;case 6:o[1]=parse_XFExtGradient(blob,cb);break;case 14:case 15:o[1]=blob.read_shift(cb===5?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+extType+" "+cb)}return o}function parse_XFExt(blob,length){var end=blob.l+length;blob.l+=2;var ixfe=blob.read_shift(2);blob.l+=2;var cexts=blob.read_shift(2);var ext=[];while(cexts-- >0)ext.push(parse_ExtProp(blob,end-blob.l));return{ixfe:ixfe,ext:ext}}function update_xfext(xf,xfext){xfext.forEach(function(xfe){switch(xfe[0]){case 4:break;case 5:break;case 7:case 8:case 9:case 10:break;case 13:break;case 14:break;default:throw"bafuq"+xfe[0].toString(16)}})}function parse_cc_xml(data,opts){var d=[];if(!data)return d;var l=0,i=1;(data.match(tagregex)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/))return[];var authors=[];var commentList=[];var authtag=data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/);if(authtag&&authtag[1])authtag[1].split(/<\/\w*:?author>/).forEach(function(x){if(x===""||x.trim()==="")return;var a=x.match(/<(?:\w+:)?author[^>]*>(.*)/);if(a)authors.push(a[1])});var cmnttag=data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/);if(cmnttag&&cmnttag[1])cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var cm=x.match(/<(?:\w+:)?comment[^>]*>/);if(!cm)return;var y=parsexmltag(cm[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/<(?:\w+:)?text>([^\u2603]*)<\/(?:\w+:)?text>/);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);if(!rt)return;comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}function write_comments_xml(data,opts){}function parse_BrtBeginComment(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out}var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function hopper_cmnt(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function write_comments_bin(data,opts){}var rc_to_a1=function(){var rcregex=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var rcbase;function rcfunc($$,$1,$2,$3,$4,$5){var R=$3.length>0?parseInt($3,10)|0:0,C=$5.length>0?parseInt($5,10)|0:0;if(C<0&&$4.length===0)C=0;var cRel=false,rRel=false;if($4.length>0||$5.length==0)cRel=true;if(cRel)C+=rcbase.c;else--C;if($2.length>0||$3.length==0)rRel=true;if(rRel)R+=rcbase.r;else--R;return $1+(cRel?"":"$")+encode_col(C)+(rRel?"":"$")+encode_row(R)}return function rc_to_a1(fstr,base){rcbase=base;return fstr.replace(rcregex,rcfunc)}}();function shift_formula_str(f,delta){return f.replace(/(^|[^A-Z0-9])([$]?)([A-Z]+)([$]?)(\d+)/g,function($0,$1,$2,$3,$4,$5,off,str){return $1+($2=="$"?$2+$3:encode_col(decode_col($3)+delta.c))+($4=="$"?$4+$5:encode_row(decode_row($5)+delta.r))})}function shift_formula_xlsx(f,range,cell){var r=decode_range(range),s=r.s,c=decode_cell(cell);var delta={r:c.r-s.r,c:c.c-s.c};return shift_formula_str(f,delta)}function parseread(l){return function(blob,length){blob.l+=l;return}}function parseread1(blob,length){blob.l+=1;return}function parse_ColRelU(blob,length){var c=blob.read_shift(length==1?1:2);return[c&16383,c>>14&1,c>>15&1]}function parse_RgceArea(blob,length,opts){var w=2;if(opts){if(opts.biff>=2&&opts.biff<=5)return parse_RgceArea_BIFF2(blob,length,opts);else if(opts.biff==12)w=4}var r=blob.read_shift(w),R=blob.read_shift(w);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}function parse_RgceArea_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2),R=parse_ColRelU(blob,2);var c=blob.read_shift(1);var C=blob.read_shift(1);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]}}}function parse_RgceAreaRel(blob,length){var r=blob.read_shift(2),R=blob.read_shift(2);var c=parse_ColRelU(blob,2);var C=parse_ColRelU(blob,2);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]}}}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);var c=parse_ColRelU(blob,2);return{r:r,c:c[0],cRel:c[1],rRel:c[2]}}function parse_RgceLoc_BIFF2(blob,length,opts){var r=parse_ColRelU(blob,2);var c=blob.read_shift(1);return{r:r[0],c:c,cRel:r[1],rRel:r[2]}}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);var r=blob.read_shift(biff>=12?4:2);var cl=blob.read_shift(2);var cRel=(cl&32768)>>15,rRel=(cl&16384)>>14;cl&=16383;if(rRel==1)while(r>524287)r-=1048576;if(cRel==1)while(cl>8191)cl=cl-16384;return{r:r,c:cl,cRel:cRel,rRel:rRel}}function parse_RgceLocRel_BIFF2(blob,length){var rl=blob.read_shift(2);var c=blob.read_shift(1);var rRel=(rl&32768)>>15,cRel=(rl&16384)>>14;rl&=16383;if(rRel==1&&rl>=8192)rl=rl-16384;if(cRel==1&&c>=128)c=c-256;return{r:rl,c:c,cRel:cRel,rRel:rRel}}function parse_PtgArea(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceArea(blob,opts.biff>=2&&opts.biff<=5?6:8,opts);return[type,area]}function parse_PtgArea3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2,"i");var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}var area=parse_RgceArea(blob,w,opts);return[type,ixti,area]}function parse_PtgAreaErr(blob,length){var type=(blob[blob.l++]&96)>>5;blob.l+=8;return[type]}function parse_PtgAreaErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=8;if(opts)switch(opts.biff){case 5:blob.l+=12;w=6;break;case 12:w=12;break}blob.l+=w;return[type,ixti]}function parse_PtgAreaN(blob,length){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,8);return[type,area]}function parse_PtgArray(blob,length,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts.biff==2?6:opts.biff==12?14:7;return[type]}function parse_PtgAttrBaxcel(blob,length){var bitSemi=blob[blob.l+1]&1;var bitBaxcel=1;blob.l+=4;return[bitSemi,bitBaxcel]}function parse_PtgAttrChoose(blob,length,opts){blob.l+=2;var offset=blob.read_shift(opts&&opts.biff==2?1:2);var o=[];for(var i=0;i<=offset;++i)o.push(blob.read_shift(opts&&opts.biff==2?1:2));return o}function parse_PtgAttrGoto(blob,length,opts){var bitGoto=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitGoto,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIf(blob,length,opts){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(opts&&opts.biff==2?1:2)]}function parse_PtgAttrIfError(blob,length){var bitIf=blob[blob.l+1]&255?1:0;blob.l+=2;return[bitIf,blob.read_shift(2)]}function parse_PtgAttrSemi(blob,length,opts){var bitSemi=blob[blob.l+1]&255?1:0;blob.l+=opts&&opts.biff==2?3:4;return[bitSemi]}function parse_PtgAttrSpaceType(blob,length){var type=blob.read_shift(1),cch=blob.read_shift(1);return[type,cch]}function parse_PtgAttrSpace(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgAttrSpaceSemi(blob,length){blob.read_shift(2);return parse_PtgAttrSpaceType(blob,2)}function parse_PtgRef(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLoc(blob,0,opts);return[type,loc]}function parse_PtgRefN(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var loc=parse_RgceLocRel(blob,0,opts);return[type,loc]}function parse_PtgRef3d(blob,length,opts){var type=(blob[blob.l]&96)>>5;blob.l+=1;var ixti=blob.read_shift(2);var loc=parse_RgceLoc(blob,0,opts);return[type,ixti,loc]}function parse_PtgFunc(blob,length,opts){var ptg=blob[blob.l]&31;var type=(blob[blob.l]&96)>>5;blob.l+=1;var iftab=blob.read_shift(opts&&opts.biff<=3?1:2);return[FtabArgc[iftab],Ftab[iftab],type]}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);return[cparams,(tab[0]===0?Ftab:Cetab)[tab[1]]]}function parsetab(blob,length){return[blob[blob.l+1]>>7,blob.read_shift(2)&32767]}function parse_PtgAttrSum(blob,length,opts){blob.l+=opts&&opts.biff==2?3:4;return}var parse_PtgConcat=parseread1;function parse_PtgExp(blob,length,opts){blob.l++;if(opts&&opts.biff==12)return[blob.read_shift(4,"i"),0];var row=blob.read_shift(2);var col=blob.read_shift(opts&&opts.biff==2?1:2);return[row,col]}function parse_PtgErr(blob,length){blob.l++;return BErr[blob.read_shift(1)]}function parse_PtgInt(blob,length){blob.l++;return blob.read_shift(2)}function parse_PtgBool(blob,length){blob.l++;return blob.read_shift(1)!==0}function parse_PtgNum(blob,length){blob.l++;return parse_Xnum(blob,8)}function parse_PtgStr(blob,length,opts){blob.l++;return parse_ShortXLUnicodeString(blob,length-1,opts)}function parse_SerAr(blob,biff){var val=[blob.read_shift(1)];if(biff==12)switch(val[0]){case 2:val[0]=4;break;case 4:val[0]=16;break;case 0:val[0]=1;break;case 1:val[0]=2;break}switch(val[0]){case 4:val[1]=parsebool(blob,1)?"TRUE":"FALSE";blob.l+=7;break;case 16:val[1]=BErr[blob[blob.l]];blob.l+=8;break;case 0:blob.l+=8;break;case 1:val[1]=parse_Xnum(blob,8);break;case 2:val[1]=parse_XLUnicodeString2(blob,0,{biff:biff>0&&biff<8?2:biff});break}return val}function parse_PtgExtraMem(blob,cce){var count=blob.read_shift(2);var out=[];for(var i=0;i!=count;++i)out.push(parse_Ref8U(blob,8));return out}function parse_PtgExtraArray(blob,length,opts){var rows=0,cols=0;if(opts.biff==12){rows=blob.read_shift(4);cols=blob.read_shift(4)}else{cols=1+blob.read_shift(1);rows=1+blob.read_shift(2)}if(opts.biff>=2&&opts.biff<8){--rows;if(--cols==0)cols=256}for(var i=0,o=[];i!=rows&&(o[i]=[]);++i)for(var j=0;j!=cols;++j)o[i][j]=parse_SerAr(blob,opts.biff);return o}function parse_PtgName(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var w=!opts||opts.biff>=8?4:2;var nameindex=blob.read_shift(w);switch(opts.biff){case 2:blob.l+=5;break;case 3:case 4:blob.l+=8;break;case 5:blob.l+=12;break}return[type,0,nameindex]}function parse_PtgNameX(blob,length,opts){if(opts.biff==5)return parse_PtgNameX_BIFF5(blob,length,opts);var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2);var nameindex=blob.read_shift(4);return[type,ixti,nameindex]}function parse_PtgNameX_BIFF5(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var ixti=blob.read_shift(2,"i");blob.l+=8;var nameindex=blob.read_shift(2);blob.l+=12;return[type,ixti,nameindex]}function parse_PtgMemArea(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=opts&&opts.biff==2?3:4;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgMemFunc(blob,length,opts){var type=blob.read_shift(1)>>>5&3;var cce=blob.read_shift(opts&&opts.biff==2?1:2);return[type,cce]}function parse_PtgRefErr(blob,length,opts){var type=blob.read_shift(1)>>>5&3;blob.l+=4;if(opts.biff==12)blob.l+=2;return[type]}var parse_PtgAdd=parseread1;var parse_PtgDiv=parseread1;var parse_PtgEq=parseread1;var parse_PtgGe=parseread1;var parse_PtgGt=parseread1;var parse_PtgIsect=parseread1;var parse_PtgLe=parseread1;var parse_PtgLt=parseread1;var parse_PtgMissArg=parseread1;var parse_PtgMul=parseread1;var parse_PtgNe=parseread1;var parse_PtgParen=parseread1;var parse_PtgPercent=parseread1;var parse_PtgPower=parseread1;var parse_PtgRange=parseread1;var parse_PtgSub=parseread1;var parse_PtgUminus=parseread1;var parse_PtgUnion=parseread1;var parse_PtgUplus=parseread1;var parse_PtgMemErr=parsenoop;var parse_PtgMemNoMem=parsenoop;var parse_PtgRefErr3d=parsenoop;var parse_PtgTbl=parsenoop;var PtgTypes={1:{n:"PtgExp",f:parse_PtgExp},2:{n:"PtgTbl",f:parse_PtgTbl},3:{n:"PtgAdd",f:parse_PtgAdd},4:{n:"PtgSub",f:parse_PtgSub},5:{n:"PtgMul",f:parse_PtgMul},6:{n:"PtgDiv",f:parse_PtgDiv},7:{n:"PtgPower",f:parse_PtgPower},8:{n:"PtgConcat",f:parse_PtgConcat},9:{n:"PtgLt",f:parse_PtgLt},10:{n:"PtgLe",f:parse_PtgLe},11:{n:"PtgEq",f:parse_PtgEq},12:{n:"PtgGe",f:parse_PtgGe},13:{n:"PtgGt",f:parse_PtgGt},14:{n:"PtgNe",f:parse_PtgNe},15:{n:"PtgIsect",f:parse_PtgIsect},16:{n:"PtgUnion",f:parse_PtgUnion},17:{n:"PtgRange",f:parse_PtgRange},18:{n:"PtgUplus",f:parse_PtgUplus},19:{n:"PtgUminus",f:parse_PtgUminus},20:{n:"PtgPercent",f:parse_PtgPercent},21:{n:"PtgParen",f:parse_PtgParen},22:{n:"PtgMissArg",f:parse_PtgMissArg},23:{n:"PtgStr",f:parse_PtgStr},28:{n:"PtgErr",f:parse_PtgErr},29:{n:"PtgBool",f:parse_PtgBool},30:{n:"PtgInt",f:parse_PtgInt},31:{n:"PtgNum",f:parse_PtgNum},32:{n:"PtgArray",f:parse_PtgArray},33:{n:"PtgFunc",f:parse_PtgFunc},34:{n:"PtgFuncVar",f:parse_PtgFuncVar},35:{n:"PtgName",f:parse_PtgName},36:{n:"PtgRef",f:parse_PtgRef},37:{n:"PtgArea",f:parse_PtgArea},38:{n:"PtgMemArea",f:parse_PtgMemArea},39:{n:"PtgMemErr",f:parse_PtgMemErr},40:{n:"PtgMemNoMem",f:parse_PtgMemNoMem},41:{n:"PtgMemFunc",f:parse_PtgMemFunc},42:{n:"PtgRefErr",f:parse_PtgRefErr},43:{n:"PtgAreaErr",f:parse_PtgAreaErr},44:{n:"PtgRefN",f:parse_PtgRefN},45:{n:"PtgAreaN",f:parse_PtgAreaN},57:{n:"PtgNameX",f:parse_PtgNameX},58:{n:"PtgRef3d",f:parse_PtgRef3d},59:{n:"PtgArea3d",f:parse_PtgArea3d},60:{n:"PtgRefErr3d",f:parse_PtgRefErr3d},61:{n:"PtgAreaErr3d",f:parse_PtgAreaErr3d},255:{}};var PtgDupes={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 y in PtgDupes)PtgTypes[y]=PtgTypes[PtgDupes[y]]})();var Ptg18={};var Ptg19={1:{n:"PtgAttrSemi",f:parse_PtgAttrSemi},2:{n:"PtgAttrIf",f:parse_PtgAttrIf},4:{n:"PtgAttrChoose",f:parse_PtgAttrChoose},8:{n:"PtgAttrGoto",f:parse_PtgAttrGoto},16:{n:"PtgAttrSum",f:parse_PtgAttrSum},32:{n:"PtgAttrBaxcel",f:parse_PtgAttrBaxcel},64:{n:"PtgAttrSpace",f:parse_PtgAttrSpace},65:{n:"PtgAttrSpaceSemi",f:parse_PtgAttrSpaceSemi},128:{n:"PtgAttrIfError",f:parse_PtgAttrIfError},255:{}};function parse_Formula(blob,length,opts){var end=blob.l+length;var cell=parse_XLSCell(blob,6);if(opts.biff==2)++blob.l;var val=parse_FormulaValue(blob,8);var flags=blob.read_shift(1);if(opts.biff!=2){blob.read_shift(1);if(opts.biff>=5){var chn=blob.read_shift(4)}}var cbf=parse_XLSCellParsedFormula(blob,end-blob.l,opts);return{cell:cell,val:val[0],formula:cbf,shared:flags>>3&1,tt:val[1]}}function parse_FormulaValue(blob){var b;if(__readUInt16LE(blob,blob.l+6)!==65535)return[parse_Xnum(blob),"n"];switch(blob[blob.l]){case 0:blob.l+=8;return["String","s"];case 1:b=blob[blob.l+2]===1;blob.l+=8;return[b,"b"];case 2:b=blob[blob.l+2];blob.l+=8;return[b,"e"];case 3:blob.l+=8;return["","s"]}return[]}function parse_RgbExtra(blob,length,rgce,opts){var target=blob.l+length;var o=[];for(var i=0;i!==rgce.length;++i){switch(rgce[i][0]){case"PtgArray":rgce[i][1]=parse_PtgExtraArray(blob,0,opts);o.push(rgce[i][1]);break;case"PtgMemArea":rgce[i][2]=parse_PtgExtraMem(blob,rgce[i][1]);o.push(rgce[i][2]);break;case"PtgExp":if(opts&&opts.biff==12){rgce[i][1][1]=blob.read_shift(4);o.push(rgce[i][1])}break;default:break}}length=target-blob.l;if(length!==0)o.push(parsenoop(blob,length));return o}function parse_NameParsedFormula(blob,length,opts,cce){var target=blob.l+length;var rgce=parse_Rgce(blob,cce,opts);var rgcb;if(target!==blob.l)rgcb=parse_RgbExtra(blob,target-blob.l,rgce,opts);return[rgce,rgcb]}function parse_XLSCellParsedFormula(blob,length,opts){var target=blob.l+length,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);return[rgce,rgcb]}function parse_SharedParsedFormula(blob,length,opts){var target=blob.l+length;var rgcb,cce=blob.read_shift(2);var rgce=parse_Rgce(blob,cce,opts);if(cce==65535)return[[],parsenoop(blob,length-2)];if(length!==cce+2)rgcb=parse_RgbExtra(blob,target-cce-2,rgce,opts);return[rgce,rgcb]}function parse_ArrayParsedFormula(blob,length,opts,ref){var target=blob.l+length,len=opts.biff==2?1:2;var rgcb,cce=blob.read_shift(len);if(cce==65535)return[[],parsenoop(blob,length-2)];var rgce=parse_Rgce(blob,cce,opts);if(length!==cce+len)rgcb=parse_RgbExtra(blob,length-cce-len,rgce,opts);return[rgce,rgcb]}var gcnt=0;function parse_Rgce(blob,length,opts){var target=blob.l+length;var R,id,ptgs=[];while(target!=blob.l){length=target-blob.l;id=blob[blob.l];R=PtgTypes[id];if(id===24||id===25){id=blob[blob.l+1];R=(id===24?Ptg18:Ptg19)[id]}if(!R||!R.f){ptgs.push(parsenoop(blob,length))}else{ptgs.push([R.n,R.f(blob,length,opts)])}}return ptgs}function stringify_array(f){var o=[];for(var i=0;i=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function stringify_formula(formula,range,cell,supbooks,opts){var _range={s:{c:0,r:0},e:{c:0,r:0}};var stack=[],e1,e2,type,c,ixti,nameidx,r,sname="";if(!formula[0]||!formula[0][0])return"";var last_sp=-1,sp="";for(var ff=0,fflen=formula[0].length;ff=0){switch(formula[0][last_sp][1][0]){case 0:sp=fill(" ",formula[0][last_sp][1][1]);break;case 1:sp=fill("\r",formula[0][last_sp][1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgSpace type "+formula[0][last_sp][1][0])}e2=e2+sp;last_sp=-1}stack.push(e2+PtgBinOp[f[0]]+e1);break;case"PtgIsect":e1=stack.pop();e2=stack.pop();stack.push(e2+" "+e1);break;case"PtgUnion":e1=stack.pop();e2=stack.pop();stack.push(e2+","+e1);break;case"PtgRange":e1=stack.pop();e2=stack.pop();stack.push(e2+":"+e1);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":type=f[1][0];c=shift_cell_xls(f[1][1],_range,opts);stack.push(encode_cell_xls(c));break;case"PtgRefN":type=f[1][0];c=shift_cell_xls(f[1][1],cell,opts);stack.push(encode_cell_xls(c));break;case"PtgRef3d":type=f[1][0];ixti=f[1][1];c=shift_cell_xls(f[1][2],_range,opts);sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_cell(c));break;case"PtgFunc":case"PtgFuncVar":var argc=f[1][0],func=f[1][1];if(!argc)argc=0;var args=argc==0?[]:stack.slice(-argc);stack.length-=argc;if(func==="User")func=args.shift();stack.push(func+"("+args.join(",")+")");break;case"PtgBool":stack.push(f[1]?"TRUE":"FALSE");break;case"PtgInt":stack.push(f[1]);break;case"PtgNum":stack.push(String(f[1]));break;case"PtgStr":stack.push('"'+f[1]+'"');break;case"PtgErr":stack.push(f[1]);break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range);stack.push(encode_range_xls(r));break;case"PtgArea3d":type=f[1][0];ixti=f[1][1];r=f[1][2];sname=supbooks&&supbooks[1]?supbooks[1][ixti+1]:"**MISSING**";stack.push(sname+"!"+encode_range(r));break;case"PtgAttrSum":stack.push("SUM("+stack.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":nameidx=f[1][2];var lbl=supbooks[0][nameidx];var name=lbl?lbl.Name:"**MISSING**"+nameidx;if(name in XLSXFutureFunctions)name=XLSXFutureFunctions[name];stack.push(name);break;case"PtgNameX":var bookidx=f[1][1];nameidx=f[1][2];var externbook;if(opts.biff==5){if(bookidx<0)bookidx=-bookidx;if(supbooks[bookidx])externbook=supbooks[bookidx][nameidx]}else{if(supbooks[bookidx+1])externbook=supbooks[bookidx+1][nameidx];else if(supbooks[bookidx-1])externbook=supbooks[bookidx-1][nameidx]}if(!externbook)externbook={body:"??NAMEX??"};stack.push(externbook.body);break;case"PtgParen":var lp="(",rp=")";if(last_sp>=0){sp="";switch(formula[0][last_sp][1][0]){case 2:lp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 3:lp=fill("\r",formula[0][last_sp][1][1])+lp;break;case 4:rp=fill(" ",formula[0][last_sp][1][1])+lp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+lp;break;default:if(opts.WTF)throw new Error("Unexpected PtgSpace type "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgExp":c={c:f[1][1],r:f[1][0]};var q={c:cell.c,r:cell.r};if(supbooks.sharedf[encode_cell(c)]){var parsedf=supbooks.sharedf[encode_cell(c)];stack.push(stringify_formula(parsedf,_range,q,supbooks,opts))}else{var fnd=false;for(e1=0;e1!=supbooks.arrayf.length;++e1){e2=supbooks.arrayf[e1];if(c.ce2[0].e.c)continue;if(c.re2[0].e.r)continue;stack.push(stringify_formula(e2[1],_range,q,supbooks,opts));fnd=true;break}if(!fnd)stack.push(f[1])}break;case"PtgArray":stack.push("{"+stringify_array(f[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":last_sp=ff;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":stack.push("");break;case"PtgAreaErr":break;case"PtgAreaN":stack.push("");break;case"PtgRefErr3d":break;case"PtgMemFunc":break;default:throw"Unrecognized Formula Token: "+f}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];switch(f[1][0]){case 0:sp=fill(" ",f[1][1]);break;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgSpace type "+f[1][0])}stack.push(sp+stack.pop());last_sp=-1}}if(stack.length>1&&opts.WTF)throw new Error("bad formula stack");return stack[0]}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);var rgcb=cb>0?parse_RgbExtra(data,cb,rgce,opts):null;return[rgce,rgcb]}var parse_XLSBArrayParsedFormula=parse_XLSBParsedFormula;var parse_XLSBCellParsedFormula=parse_XLSBParsedFormula;var parse_XLSBNameParsedFormula=parse_XLSBParsedFormula;var parse_XLSBSharedParsedFormula=parse_XLSBParsedFormula;var PtgDataType={1:"REFERENCE",2:"VALUE",3:"ARRAY"};var Cetab={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 Ftab={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:"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 FtabArgc={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,416:1,449:2,450:2,65535:0};var XLSXFutureFunctions={"_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.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.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.IFNA":"IFNA","_xlfn.IFERROR":"IFERROR","_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.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.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.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"};var strs={};var _ssfopts={};RELS.WS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";function get_sst_id(sst,str){for(var i=0,len=sst.length;i=0&&d.s.c>=0)ws["!ref"]=encode_range(d)}var mergecregex=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g;var sheetdataregex=/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;var hlinkregex=/<(?:\w*:)?hyperlink[^>]*\/>/g;var dimregex=/"(\w*:\w*)"/;var colregex=/<(?:\w*:)?col[^>]*\/>/g;function parse_ws_xml(data,opts,rels){if(!data)return data;var s={};var ridx=(data.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(ridx>0){var ref=data.substr(ridx,50).match(dimregex);if(ref!=null)parse_ws_xml_dim(s,ref[1])}var mergecells=[];var merges=data.match(mergecregex);if(merges)for(ridx=0;ridx!=merges.length;++ridx)mergecells[ridx]=safe_decode_range(merges[ridx].substr(merges[ridx].indexOf('"')+1));var columns=[];if(opts.cellStyles){var cols=data.match(colregex);if(cols)parse_ws_xml_cols(columns,cols)}var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);var hlink=data.match(hlinkregex);if(hlink)parse_ws_xml_hlinks(s,hlink,rels);if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows>0&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;if(columns.length>0)s["!cols"]=columns;return s}function write_ws_xml_merges(merges){if(merges.length==0)return"";var o='';for(var i=0;i!=merges.length;++i)o+='';return o+""}function parse_ws_xml_hlinks(s,data,rels){for(var i=0;i!=data.length;++i){var val=parsexmltag(data[i],true);if(!val.ref)return;var rel=rels?rels["!id"][val.id]:null;if(rel){val.Target=rel.Target;if(val.location)val.Target+="#"+val.location;val.Rel=rel}else{val.Target=val.location;rel={Target:val.location,TargetMode:"Internal"};val.Rel=rel}var rng=safe_decode_range(val.ref);for(var R=rng.s.r;R<=rng.e.r;++R)for(var C=rng.s.c;C<=rng.e.c;++C){var addr=encode_cell({c:C,r:R});if(!s[addr])s[addr]={t:"stub",v:undefined};s[addr].l=val}}}function parse_ws_xml_cols(columns,cols){var seencol=false;for(var coli=0;coli!=cols.length;++coli){var coll=parsexmltag(cols[coli],true);var colm=parseInt(coll.min,10)-1,colM=parseInt(coll.max,10)-1;delete coll.min;delete coll.max;if(!seencol&&coll.width){seencol=true;find_mdw(+coll.width,coll)}if(coll.width){coll.wpx=width2px(+coll.width);coll.wch=px2char(coll.wpx);coll.MDW=MDW}while(colm<=colM)columns[colm++]=coll}}function write_ws_xml_cols(ws,cols){var o=[""],col,width;for(var i=0;i!=cols.length;++i){if(!(col=cols[i]))continue;var p={min:i+1,max:i+1};width=-1;if(col.wpx)width=px2char(col.wpx);else if(col.wch)width=col.wch;if(width>-1){p.width=char2width(width);p.customWidth=1}o[o.length]=writextag("col",null,p)}o[o.length]="";return o.join("")}function write_ws_xml_cell(cell,ref,ws,opts,idx,wb){if(cell.v===undefined)return"";var vv="";var oldt=cell.t,oldv=cell.v;switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":vv=""+cell.v;break;case"e":vv=BErr[cell.v];break;case"d":if(opts.cellDates)vv=new Date(cell.v).toISOString();else{cell.t="n";vv=""+(cell.v=datenum(cell.v));if(typeof cell.z==="undefined")cell.z=SSF._table[14]}break;default:vv=cell.v;break}var v=writetag("v",escapexml(vv)),o={r:ref};var os=get_cell_style(opts.cellXfs,cell,opts);if(os!==0)o.s=os;switch(cell.t){case"n":break;case"d":o.t="d";break;case"b":o.t="b";break;case"e":o.t="e";break;default:if(opts.bookSST){v=writetag("v",""+get_sst_id(opts.Strings,cell.v));o.t="s";break}o.t="str";break}if(cell.t!=oldt){cell.t=oldt;cell.v=oldv}return writextag("c",v,o)}var parse_ws_xml_data=function parse_ws_xml_data_factory(){var cellregex=/<(?:\w+:)?c[ >]/,rowregex=/<\/(?:\w+:)?row>/;var rregex=/r=["']([^"']*)["']/,isregex=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var refregex=/ref=["']([^"']*)["']/;var match_v=matchtag("v"),match_f=matchtag("f");return function parse_ws_xml_data(sdata,s,opts,guess){var ri=0,x="",cells=[],cref=[],idx=0,i=0,cc=0,d="",p;var tag,tagr=0,tagc=0;var sstr,ftag;var fmtid=0,fillid=0,do_format=Array.isArray(styles.CellXf),cf;var arrayf=[];var sharedf=[];for(var marr=sdata.split(rowregex),mt=0,marrlen=marr.length;mt!=marrlen;++mt){x=marr[mt].trim();var xlen=x.length;if(xlen===0)continue;for(ri=0;ritagr-1)guess.s.r=tagr-1;if(guess.e.r":"")+x;if(cref!=null&&cref.length===2){idx=0;d=cref[1];for(i=0;i!=d.length;++i){if((cc=d.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}--idx;tagc=idx}else++tagc;for(i=0;i!=x.length;++i)if(x.charCodeAt(i)===62)break;++i;tag=parsexmltag(x.substr(0,i),true);if(!tag.r)tag.r=utils.encode_cell({r:tagr-1,c:tagc});d=x.substr(i);p={t:""};if((cref=d.match(match_v))!=null&&cref[1]!=="")p.v=unescapexml(cref[1]);if(opts.cellFormula){if((cref=d.match(match_f))!=null&&cref[1]!==""){p.f=unescapexml(utf8read(cref[1]));if(cref[0].indexOf('t="array"')>-1){p.F=(d.match(refregex)||[])[1];if(p.F.indexOf(":")>-1)arrayf.push([safe_decode_range(p.F),p.F])}else if(cref[0].indexOf('t="shared"')>-1){ftag=parsexmltag(cref[0]);sharedf[parseInt(ftag.si,10)]=[ftag,unescapexml(utf8read(cref[1]))]}}else if(cref=d.match(/]*\/>/)){ftag=parsexmltag(cref[0]);if(sharedf[ftag.si])p.f=shift_formula_xlsx(sharedf[ftag.si][1],sharedf[ftag.si][0].ref,tag.r)}var _tag=decode_cell(tag.r);for(i=0;i=arrayf[i][0].s.r&&_tag.r<=arrayf[i][0].e.r)if(_tag.c>=arrayf[i][0].s.c&&_tag.c<=arrayf[i][0].e.c)p.F=arrayf[i][1]}if(tag.t===undefined&&p.v===undefined){if(!opts.sheetStubs)continue; +p.t="stub"}else p.t=tag.t||"n";if(guess.s.c>idx)guess.s.c=idx;if(guess.e.c0)o[o.length]=writextag("row",r.join(""),{r:rr})}return o.join("")}var WS_XML_ROOT=writextag("worksheet",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function write_ws_xml(idx,opts,wb){var o=[XML_HEADER,WS_XML_ROOT];var s=wb.SheetNames[idx],sidx=0,rdata="";var ws=wb.Sheets[s];if(ws===undefined)ws={};var ref=ws["!ref"];if(ref===undefined)ref="A1";o[o.length]=writextag("dimension",null,{ref:ref});if(ws["!cols"]!==undefined&&ws["!cols"].length>0)o[o.length]=write_ws_xml_cols(ws,ws["!cols"]);o[sidx=o.length]="";if(ws["!ref"]!==undefined){rdata=write_ws_xml_data(ws,opts,idx,wb);if(rdata.length>0)o[o.length]=rdata}if(o.length>sidx+1){o[o.length]="";o[sidx]=o[sidx].replace("/>",">")}if(ws["!merges"]!==undefined&&ws["!merges"].length>0)o[o.length]=write_ws_xml_merges(ws["!merges"]);if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtRowHdr(data,length){var z=[];z.r=data.read_shift(4);data.l+=length-4;return z}function write_BrtRowHdr(R,range,ws){var o=new_buf(17+8*16);o.write_shift(4,R);o.write_shift(4,0);o.write_shift(2,320);o.write_shift(2,0);o.write_shift(1,0);var ncolspan=0,lcs=o.l;o.l+=4;var caddr={r:R,c:0};for(var i=0;i<16;++i){if(range.s.c>i+1<<10||range.e.co.l?o.slice(0,o.l):o}function write_row_header(ba,ws,range,R){var o=write_BrtRowHdr(R,range,ws);if(o.length>17)write_record(ba,"BrtRowHdr",o)}var parse_BrtWsDim=parse_UncheckedRfX;var write_BrtWsDim=write_UncheckedRfX;function parse_BrtWsProp(data,length){var z={};data.l+=19;z.name=parse_XLSBCodeName(data,length-19);return z}function parse_BrtCellBlank(data,length){var cell=parse_XLSBCell(data);return[cell]}function write_BrtCellBlank(cell,ncell,o){if(o==null)o=new_buf(8);return write_XLSBCell(ncell,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function write_BrtCellBool(cell,ncell,o){if(o==null)o=new_buf(9);write_XLSBCell(ncell,o);o.write_shift(1,cell.v?1:0);return o}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var bError=data.read_shift(1);return[cell,bError,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function write_BrtCellIsst(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);o.write_shift(4,ncell.v);return o}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function write_BrtCellReal(cell,ncell,o){if(o==null)o=new_buf(16);write_XLSBCell(ncell,o);write_Xnum(cell.v,o);return o}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function write_BrtCellRk(cell,ncell,o){if(o==null)o=new_buf(12);write_XLSBCell(ncell,o);write_RkNumber(cell.v,o);return o}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}function write_BrtCellSt(cell,ncell,o){if(o==null)o=new_buf(12+4*cell.v.length);write_XLSBCell(ncell,o);write_XLWideString(cell.v,o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtFmlaBool(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaError(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaNum(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}function parse_BrtFmlaString(data,length,opts){var end=data.l+length;var cell=parse_XLSBCell(data);cell.r=opts["!row"];var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){data.l+=2;var formula=parse_XLSBCellParsedFormula(data,end-data.l,opts);o[3]=stringify_formula(formula,null,cell,opts.supbooks,opts)}else data.l=end;return o}var parse_BrtMergeCell=parse_UncheckedRfX;function parse_BrtHLink(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var relId=parse_XLNullableWideString(data);var loc=parse_XLWideString(data);var tooltip=parse_XLWideString(data);var display=parse_XLWideString(data);data.l=end;return{rfx:rfx,relId:relId,loc:loc,tooltip:tooltip,display:display}}function parse_BrtArrFmla(data,length,opts){var end=data.l+length;var rfx=parse_RfX(data,16);var fAlwaysCalc=data.read_shift(1);var o=[rfx,null,fAlwaysCalc];if(opts.cellFormula){var formula=parse_XLSBArrayParsedFormula(data,end-data.l,opts);o[1]=formula}else data.l=end;return o}function parse_BrtShrFmla(data,length,opts){var end=data.l+length;var rfx=parse_UncheckedRfX(data,16);var o=[rfx,null];if(opts.cellFormula){var formula=parse_XLSBSharedParsedFormula(data,end-data.l,opts);o[1]=formula;data.l=end}else data.l=end;return o}function parse_ws_bin(data,opts,rels,wb){if(!data)return data;if(!rels)rels={"!id":{}};var s={};var ref;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf,R,C,addr,sstr,rr;var mergecells=[];if(!opts)opts={};opts.biff=12;opts["!row"]=0;var ai=0,af=false;var array_formulae=[];var shared_formulae={};var supbooks=[[]];supbooks.sharedf=shared_formulae;supbooks.arrayf=array_formulae;opts.supbooks=supbooks;for(var i=0;i=aii[0].s.r&&row.r<=aii[0].e.r)if(C>=aii[0].s.c&&C<=aii[0].e.c){p.F=encode_range(aii[0]);af=true}}if(!af&&val.length>3)p.f=val[3]}if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>C)refguess.s.c=C;if(refguess.e.r0||ref.e.c>0||ref.s.r>0||ref.s.c>0)))s["!ref"]=encode_range(ref||refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=safe_decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}function write_ws_bin_cell(ba,cell,R,C,opts){if(cell.v===undefined)return"";var vv="";switch(cell.t){case"b":vv=cell.v?"1":"0";break;case"n":case"e":vv=""+cell.v;break;default:vv=cell.v;break}var o={r:R,c:C};o.s=get_cell_style(opts.cellXfs,cell,opts);switch(cell.t){case"s":case"str":if(opts.bookSST){vv=get_sst_id(opts.Strings,cell.v);o.t="s";o.v=vv;write_record(ba,"BrtCellIsst",write_BrtCellIsst(cell,o))}else{o.t="str";write_record(ba,"BrtCellSt",write_BrtCellSt(cell,o))}return;case"n":if(cell.v==(cell.v|0)&&cell.v>-1e3&&cell.v<1e3)write_record(ba,"BrtCellRk",write_BrtCellRk(cell,o));else write_record(ba,"BrtCellReal",write_BrtCellReal(cell,o));return;case"b":o.t="b";write_record(ba,"BrtCellBool",write_BrtCellBool(cell,o));return;case"e":o.t="e";break}write_record(ba,"BrtCellBlank",write_BrtCellBlank(cell,o))}function write_CELLTABLE(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];write_record(ba,"BrtBeginSheetData");for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);write_row_header(ba,ws,range,R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_bin_cell(ba,ws[ref],R,C,opts)}}write_record(ba,"BrtEndSheetData")}function write_ws_bin(idx,opts,wb){var ba=buf_array();var s=wb.SheetNames[idx],ws=wb.Sheets[s]||{};var r=safe_decode_range(ws["!ref"]||"A1");write_record(ba,"BrtBeginSheet");write_record(ba,"BrtWsDim",write_BrtWsDim(r));write_CELLTABLE(ba,ws,idx,opts,wb);write_record(ba,"BrtEndSheet");return ba.end()}var WBPropsDef=[["allowRefreshQuery","0"],["autoCompressPictures","1"],["backupFile","0"],["checkCompatibility","0"],["codeName",""],["date1904","0"],["dateCompatibility","1"],["filterPrivacy","0"],["hidePivotFieldList","0"],["promptedSolutions","0"],["publishItems","0"],["refreshAllConnections",false],["saveExternalLinkValues","1"],["showBorderUnselectedTables","1"],["showInkAnnotation","1"],["showObjects","all"],["showPivotChartFilter","0"]];var WBViewDef=[["activeTab","0"],["autoFilterDateGrouping","1"],["firstSheet","0"],["minimized","0"],["showHorizontalScroll","1"],["showSheetTabs","1"],["showVerticalScroll","1"],["tabRatio","600"],["visibility","visible"]];var SheetDef=[["state","visible"]];var CalcPrDef=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];var CustomWBViewDef=[["autoUpdate","false"],["changesSavedWin","false"],["includeHiddenRowCol","true"],["includePrintSettings","true"],["maximized","false"],["minimized","false"],["onlySync","false"],["personalView","false"],["showComments","commIndicator"],["showFormulaBar","true"],["showHorizontalScroll","true"],["showObjects","all"],["showSheetTabs","true"],["showStatusbar","true"],["showVerticalScroll","true"],["tabRatio","600"],["xWindow","0"],["yWindow","0"]];function push_defaults_array(target,defaults){for(var j=0;j!=target.length;++j){var w=target[j];for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(w[z[0]]==null)w[z[0]]=z[1]}}}function push_defaults(target,defaults){for(var i=0;i!=defaults.length;++i){var z=defaults[i];if(target[z[0]]==null)target[z[0]]=z[1]}}function parse_wb_defaults(wb){push_defaults(wb.WBProps,WBPropsDef);push_defaults(wb.CalcPr,CalcPrDef);push_defaults_array(wb.WBView,WBViewDef);push_defaults_array(wb.Sheets,SheetDef);_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904")}var wbnsregex=/<\w+:workbook/;function parse_wb_xml(data,opts){if(!data)throw new Error("Could not find file");var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";(data.match(tagregex)||[]).forEach(function xml_wb(x){var y=parsexmltag(x);switch(strip_ns(y[0])){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":case"":break;case"":break;case"":case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break;default:if(!pass&&opts.WTF)throw"unrecognized "+y[0]+" in workbook"}});if(XMLNS.main.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);parse_wb_defaults(wb);return wb}var WB_XML_ROOT=writextag("workbook",null,{xmlns:XMLNS.main[0],"xmlns:r":XMLNS.r});function safe1904(wb){try{return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"false"}catch(e){return"false"}}function write_wb_xml(wb,opts){var o=[XML_HEADER];o[o.length]=WB_XML_ROOT;o[o.length]=writextag("workbookPr",null,{date1904:safe1904(wb)});o[o.length]="";for(var i=0;i!=wb.SheetNames.length;++i)o[o.length]=writextag("sheet",null,{name:wb.SheetNames[i].substr(0,31),sheetId:""+(i+1),"r:id":"rId"+(i+1)});o[o.length]="";if(o.length>2){o[o.length]="";o[1]=o[1].replace("/>",">")}return o.join("")}function parse_BrtBundleSh(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z}function write_BrtBundleSh(data,o){if(!o)o=new_buf(127);o.write_shift(4,data.hsState);o.write_shift(4,data.iTabID);write_RelID(data.strRelID,o);write_XLWideString(data.name.substr(0,31),o);return o.length>o.l?o.slice(0,o.l):o}function parse_BrtWbProp(data,length){data.read_shift(4);var dwThemeVersion=data.read_shift(4);var strName=length>8?parse_XLWideString(data):"";return[dwThemeVersion,strName]}function write_BrtWbProp(data,o){if(!o)o=new_buf(8);o.write_shift(4,0);o.write_shift(4,0);return o}function parse_BrtFRTArchID$(data,length){var o={};data.read_shift(4);o.ArchID=data.read_shift(4);data.l+=length-8;return o}function parse_BrtName(data,length,opts){var end=data.l+length;var flags=data.read_shift(4);var chKey=data.read_shift(1);var itab=data.read_shift(4);var name=parse_XLNameWideString(data);var formula=parse_XLSBNameParsedFormula(data,0,opts);var comment=parse_XLNullableWideString(data);if(0){}data.l=end;return{Name:name,Ptg:formula,Comment:comment}}function parse_wb_bin(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;if(!opts)opts={};opts.biff=12;var Names={},NameList=[];recordhopper(data,function hopper_wb(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtName":Names[val.Name]=val;NameList.push(val.Name);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp14":case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtWbFactoid":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtBeginSmartTagTypes":break;case"BrtSmartTagType":break;case"BrtEndSmartTagTypes":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTArchID$":break;case"BrtWorkBookPr15":break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+R.n)}},opts);parse_wb_defaults(wb);Names["!names"]=NameList;wb.Names=Names;return wb}function write_BUNDLESHS(ba,wb,opts){write_record(ba,"BrtBeginBundleShs");for(var idx=0;idx!=wb.SheetNames.length;++idx){var d={hsState:0,iTabID:idx+1,strRelID:"rId"+(idx+1),name:wb.SheetNames[idx]};write_record(ba,"BrtBundleSh",write_BrtBundleSh(d))}write_record(ba,"BrtEndBundleShs")}function write_BrtFileVersion(data,o){if(!o)o=new_buf(127);for(var i=0;i!=4;++i)o.write_shift(4,0);write_XLWideString("SheetJS",o);write_XLWideString(XLSX.version,o);write_XLWideString(XLSX.version,o);write_XLWideString("7262",o);o.length=o.l;return o.length>o.l?o.slice(0,o.l):o}function write_BOOKVIEWS(ba,wb,opts){write_record(ba,"BrtBeginBookViews");write_record(ba,"BrtEndBookViews")}function write_BrtCalcProp(data,o){if(!o)o=new_buf(26);o.write_shift(4,0);o.write_shift(4,1);o.write_shift(4,0);write_Xnum(0,o);o.write_shift(-4,1023);o.write_shift(1,51);o.write_shift(1,0);return o}function write_BrtFileRecover(data,o){if(!o)o=new_buf(1);o.write_shift(1,0);return o}function write_wb_bin(wb,opts){var ba=buf_array();write_record(ba,"BrtBeginBook");write_record(ba,"BrtFileVersion",write_BrtFileVersion());if(0)write_record(ba,"BrtWbProp",write_BrtWbProp());if(0)write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);if(0)write_record(ba,"BrtCalcProp",write_BrtCalcProp());if(0)write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb){if(name.substr(name.length-4)===".bin")return parse_ws_bin(data,opts,rels,wb);return parse_ws_xml(data,opts,rels,wb)}function parse_sty(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sty_bin(data,opts);return parse_sty_xml(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.substr(name.length-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.substr(name.length-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(name.length-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(name.length-4)===".bin"?write_sst_bin:write_sst_xml)(data,opts)}var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex2=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var _chr=function(c){return String.fromCharCode(c)};function xlml_parsexmltag(tag,skip_root){var words=tag.split(/\s+/);var z=[];if(!skip_root)z[0]=words[0];if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_parsexmltagobj(tag){var words=tag.split(/\s+/);var z={};if(words.length===1)return z;var m=tag.match(attregexg2),y,j,w,i;if(m)for(i=0;i!=m.length;++i){y=m[i].match(attregex2);if((j=y[1].indexOf(":"))===-1)z[y[1]]=y[2].substr(1,y[2].length-2);else{if(y[1].substr(0,6)==="xmlns:")w="xmlns"+y[1].substr(6);else w=y[1].substr(j+1);z[w]=y[2].substr(1,y[2].length-2)}}return z}function xlml_format(format,value){var fmt=XLMLFormatMap[format]||unescapexml(format);if(fmt==="General")return SSF._general(value);return SSF.format(fmt,value)}function xlml_set_custprop(Custprops,Rn,cp,val){switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":val=parsexmlbool(val);break;case"i2":case"int":val=parseInt(val,10);break;case"r4":case"float":val=parseFloat(val);break;case"date":case"dateTime.tz":val=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw"bad custprop:"+cp[0]}Custprops[unescapexml(Rn[3])]=val}function safe_format_xlml(cell,nf,o){try{if(cell.t==="e"){cell.w=cell.w||BErr[cell.v]}else if(nf==="General"){if(cell.t==="n"){if((cell.v|0)===cell.v)cell.w=SSF._general_int(cell.v);else cell.w=SSF._general_num(cell.v)}else cell.w=SSF._general(cell.v)}else cell.w=xlml_format(nf||"General",cell.v);if(o.cellNF)cell.z=XLMLFormatMap[nf]||nf||"General"}catch(e){if(o.WTF)throw e}}function process_style_xlml(styles,stag,opts){if(opts.cellStyles){if(stag.Interior){var I=stag.Interior;if(I.Pattern)I.patternType=XLMLPatternTypeMap[I.Pattern]||I.Pattern}}styles[stag.ID]=stag}function parse_xlml_data(xml,ss,data,cell,base,styles,csty,row,arrayf,o){var nf="General",sid=cell.StyleID,S={};o=o||{};var interiors=[];if(sid===undefined&&row)sid=row.StyleID;if(sid===undefined&&csty)sid=csty.StyleID;while(styles[sid]!==undefined){if(styles[sid].nf)nf=styles[sid].nf;if(styles[sid].Interior)interiors.push(styles[sid].Interior);if(!styles[sid].Parent)break;sid=styles[sid].Parent}switch(data.Type){case"Boolean":cell.t="b";cell.v=parsexmlbool(xml);break;case"String":cell.t="s";cell.r=xlml_fixstr(unescapexml(xml));cell.v=xml.indexOf("<")>-1?unescapexml(ss):cell.r;break;case"DateTime":cell.v=(Date.parse(xml)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(cell.v!==cell.v)cell.v=unescapexml(xml);else if(cell.v>=1&&cell.v<60)cell.v=cell.v-1;if(!nf||nf=="General")nf="yyyy-mm-dd";case"Number":if(cell.v===undefined)cell.v=+xml;if(!cell.t)cell.t="n";break;case"Error":cell.t="e";cell.v=RBErr[xml];cell.w=xml;break;default:cell.t="s";cell.v=xlml_fixstr(ss);break}safe_format_xlml(cell,nf,o);if(o.cellFormula!=null){if(cell.Formula){var fstr=unescapexml(cell.Formula);if(fstr.charCodeAt(0)==61)fstr=fstr.substr(1);cell.f=rc_to_a1(fstr,base);cell.Formula=undefined;if(cell.ArrayRange=="RC")cell.F=rc_to_a1("RC:RC",base);else if(cell.ArrayRange){cell.F=rc_to_a1(cell.ArrayRange,base);arrayf.push([safe_decode_range(cell.F),cell.F])}}else{for(i=0;i=arrayf[i][0].s.r&&base.r<=arrayf[i][0].e.r)if(base.c>=arrayf[i][0].s.c&&base.c<=arrayf[i][0].e.c)cell.F=arrayf[i][1]}}if(o.cellStyles){interiors.forEach(function(x){if(!S.patternType&&x.patternType)S.patternType=x.patternType});cell.s=S}cell.ixfe=cell.StyleID!==undefined?cell.StyleID:"Default"}function xlml_clean_comment(comment){comment.t=comment.v;comment.v=comment.w=comment.ixfe=undefined}function xlml_normalize(d){if(has_buf&&Buffer.isBuffer(d))return d.toString("utf8");if(typeof d==="string")return d;throw new Error("Bad input format: expected Buffer or string")}var xlmlregex=/<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/gm;function parse_xlml_xml(d,opts){var str=xlml_normalize(d);var Rn;var state=[],tmp;var sheets={},sheetnames=[],cursheet={},sheetname="";var table={},cell={},row={};var dtag=xlml_parsexmltag(''),didx=0;var c=0,r=0;var refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};var styles={},stag={};var ss="",fidx=0;var mergecells=[];var Props={},Custprops={},pidx=0,cp={};var comments=[],comment={};var cstys=[],csty;var arrayf=[];xlmlregex.lastIndex=0;while(Rn=xlmlregex.exec(str))switch(Rn[3]){case"Data":if(state[state.length-1][1])break;if(Rn[1]==="/")parse_xlml_data(str.slice(didx,Rn.index),ss,dtag,state[state.length-1][0]=="Comment"?comment:cell,{c:c,r:r},styles,cstys[c],row,arrayf,opts);else{ss="";dtag=xlml_parsexmltag(Rn[0]);didx=Rn.index+Rn[0].length}break;case"Cell":if(Rn[1]==="/"){if(comments.length>0)cell.c=comments;if((!opts.sheetRows||opts.sheetRows>r)&&cell.v!==undefined)cursheet[encode_col(c)+encode_row(r)]=cell;if(cell.HRef){cell.l={Target:cell.HRef,tooltip:cell.HRefScreenTip};cell.HRef=cell.HRefScreenTip=undefined}if(cell.MergeAcross||cell.MergeDown){var cc=c+(parseInt(cell.MergeAcross,10)|0);var rr=r+(parseInt(cell.MergeDown,10)|0);mergecells.push({s:{c:c,r:r},e:{c:cc,r:rr}})}++c;if(cell.MergeAcross)c+=+cell.MergeAcross}else{cell=xlml_parsexmltagobj(Rn[0]);if(cell.Index)c=+cell.Index-1;if(crefguess.e.c)refguess.e.c=c;if(Rn[0].substr(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].substr(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].substr(-2)==="/>"){row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}c=0;++r}else{row=xlml_parsexmltag(Rn[0]);if(row.Index)r=+row.Index-1}break;case"Worksheet":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;sheetnames.push(sheetname);if(refguess.s.r<=refguess.e.r&&refguess.s.c<=refguess.e.c)cursheet["!ref"]=encode_range(refguess);if(mergecells.length)cursheet["!merges"]=mergecells;sheets[sheetname]=cursheet}else{refguess={s:{r:2e6,c:2e6},e:{r:0,c:0}};r=c=0;state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);sheetname=tmp.Name;cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].slice(-2)=="/>")break;else{table=xlml_parsexmltag(Rn[0]);state.push([Rn[3],false]);cstys=[]}break;case"Style":if(Rn[1]==="/")process_style_xlml(styles,stag,opts);else stag=xlml_parsexmltag(Rn[0]);break;case"NumberFormat":stag.nf=xlml_parsexmltag(Rn[0]).Format||"General";break;case"Column":if(state[state.length-1][0]!=="Table")break;csty=xlml_parsexmltag(Rn[0]);cstys[csty.Index-1||cstys.length]=csty;for(var i=0;i<+csty.Span;++i)cstys[cstys.length]=csty;break;case"NamedRange":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(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")ss+=str.slice(fidx,Rn.index);else fidx=Rn.index+Rn[0].length;break;case"Interior":if(!opts.cellStyles)break;stag.Interior=xlml_parsexmltag(Rn[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":if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_prop(Props,Rn[3],str.slice(pidx,Rn.index));else pidx=Rn.index+Rn[0].length;break;case"Paragraphs":break;case"Styles":case"Workbook":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp;xlml_clean_comment(comment);comments.push(comment)}else{state.push([Rn[3],false]);tmp=xlml_parsexmltag(Rn[0]);comment={a:tmp.Author}}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"AutoFilter":case"Sorting":case"Schema":case"data":case"ConditionalFormatting":case"SmartTagType":case"SmartTags":case"ExcelWorkbook":case"WorkbookOptions":case"WorksheetOptions":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw"Bad state: "+tmp}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:var seen=true;switch(state[state.length-1][0]){case"OfficeDocumentSettings":switch(Rn[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:seen=false}break;case"ComponentOptions":switch(Rn[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:seen=false}break;case"ExcelWorkbook":switch(Rn[3]){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"Date1904":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:seen=false}break;case"WorkbookOptions":switch(Rn[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:seen=false}break;case"WorksheetOptions":switch(Rn[3]){case"Unsynced":break;case"Visible":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"Header":break;case"Footer":break;case"PageSetup":break;case"PageMargins":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:seen=false}break;case"PivotTable":case"PivotCache":switch(Rn[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:seen=false}break;case"PageBreaks":switch(Rn[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:seen=false}break;case"AutoFilter":switch(Rn[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:seen=false}break;case"QueryTable":switch(Rn[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:seen=false}break;case"Sorting":case"ConditionalFormatting":case"DataValidation":switch(Rn[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:seen=false}break;case"MapInfo":case"Schema":case"data":switch(Rn[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:seen=false}break;case"SmartTags":break;default:seen=false;break}if(seen)break;if(!state[state.length-1][1])throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|");if(state[state.length-1][0]==="CustomDocumentProperties"){if(Rn[0].substr(-2)==="/>")break;else if(Rn[1]==="/")xlml_set_custprop(Custprops,Rn,cp,str.slice(pidx,Rn.index));else{cp=Rn;pidx=Rn.index+Rn[0].length}break}if(opts.WTF)throw"Unrecognized tag: "+Rn[3]+"|"+state.join("|")}var out={};if(!opts.bookSheets&&!opts.bookProps)out.Sheets=sheets;out.SheetNames=sheetnames;out.SSF=SSF.get_table();out.Props=Props;out.Custprops=Custprops;return out}function parse_xlml(data,opts){fix_read_opts(opts=opts||{});switch(opts.type||"base64"){case"base64":return parse_xlml_xml(Base64.decode(data),opts);case"binary":case"buffer":case"file":return parse_xlml_xml(data,opts);case"array":return parse_xlml_xml(data.map(_chr).join(""),opts)}}function write_xlml(wb,opts){var o=[XML_HEADER];return o.join("")}function parse_compobj(obj){var v={};var o=obj.content;var l=28,m;m=__lpstr(o,l);l+=4+__readUInt32LE(o,l);v.UserType=m;m=__readUInt32LE(o,l);l+=4;switch(m){case 0:break;case 4294967295:case 4294967294:l+=4;break;default:if(m>400)throw new Error("Unsupported Clipboard: "+m.toString(16));l+=m}m=__lpstr(o,l);l+=m.length===0?0:5+m.length;v.Reserved1=m;if((m=__readUInt32LE(o,l))!==1907550708)return v;throw new Error("Unsupported Unicode Extension")}function slurp(R,blob,length,opts){var l=length;var bufs=[];var d=blob.slice(blob.l,blob.l+l);if(opts&&opts.enc&&opts.enc.insitu_decrypt)switch(R.n){case"BOF":case"FilePass":case"FileLock":case"InterfaceHdr":case"RRDInfo":case"RRDHead":case"UsrExcl":break;default:if(d.length===0)break;opts.enc.insitu_decrypt(d)}bufs.push(d);blob.l+=l;var next=XLSRecordEnum[__readUInt16LE(blob,blob.l)];while(next!=null&&next.n==="Continue"){l=__readUInt16LE(blob,blob.l+2);bufs.push(blob.slice(blob.l+4,blob.l+4+l));blob.l+=4+l;next=XLSRecordEnum[__readUInt16LE(blob,blob.l)]}var b=bconcat(bufs);prep_blob(b,0);var ll=0;b.lens=[];for(var j=0;jrange.e.r)range.e.r=cell.r+1;if(cell.c+1>range.e.c)range.e.c=cell.c+1}if(options.sheetRows&&lastcell.r>=options.sheetRows)cell_valid=false;else out[last_cell]=line};var opts={enc:false,sbcch:0,snames:[],sharedf:shared_formulae,arrayf:array_formulae,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,wtf:false};if(options.password)opts.password=options.password;var mergecells=[];var objects=[];var supbooks=[[]];var sbc=0,sbci=0,sbcli=0;supbooks.SheetNames=opts.snames;supbooks.sharedf=opts.sharedf;supbooks.arrayf=opts.arrayf;var last_Rn="";var file_depth=0;var BIFF2Fmt=0;opts.codepage=1200;set_cp(1200);while(blob.l0&&range.e.c>0){range.e.r--;range.e.c--;out["!ref"]=encode_range(range);range.e.r++;range.e.c++}if(mergecells.length>0)out["!merges"]=mergecells;if(objects.length>0)out["!objects"]=objects}if(cur_sheet==="")Preamble=out;else Sheets[cur_sheet]=out;out={}}break;case"BOF":{if(opts.biff!==8){}else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;else if(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;if(file_depth++)break;cell_valid=true;out={};if(opts.biff<5){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}};var fakebs8={pos:blob.l-length,name:cur_sheet};Directory[fakebs8.pos]=fakebs8;opts.snames.push(cur_sheet)}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":case"BIFF2INT":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"BoolErr":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:val.t};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"RK":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.rknum,t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options)}break;case"MulRk":{for(var j=val.c;j<=val.C;++j){var ixfe=val.rkrec[j-val.c][0];temp_val={ixfe:ixfe,XF:XFs[ixfe],v:val.rkrec[j-val.c][1],t:"n"};safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:j,r:val.r},temp_val,options)}}break;case"Formula":{switch(val.val){case"String":last_formula=val;break;case"Array Formula":throw"Array Formula unsupported";default:temp_val={v:val.val,ixfe:val.cell.ixfe,t:val.tt};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula){var _f=val.formula;if(_f&&_f[0]&&_f[0][0]&&_f[0][0][0]=="PtgExp"){var _fr=_f[0][0][1][0],_fc=_f[0][0][1][1];var _fe=encode_cell({r:_fr,c:_fc});if(shared_formulae[_fe])temp_val.f=stringify_formula(val.formula,range,val.cell,supbooks,opts);else temp_val.F=(out[_fe]||{}).F}else temp_val.f=stringify_formula(val.formula,range,val.cell,supbooks,opts)}safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(val.cell,temp_val,options);last_formula=val}}break;case"String":{if(last_formula){last_formula.val=val;temp_val={v:last_formula.val,ixfe:last_formula.cell.ixfe,t:"s"};temp_val.XF=XFs[temp_val.ixfe];if(options.cellFormula)temp_val.f=stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);safe_format_xf(temp_val,options,wb.opts.Date1904);addcell(last_formula.cell,temp_val,options);last_formula=null}}break;case"Array":{array_formulae.push(val);if(options.cellFormula&&out[last_cell]){out[last_cell].f=stringify_formula(last_formula.formula,range,last_formula.cell,supbooks,opts);out[last_cell].F=encode_range(val[0])}}break;case"ShrFmla":{if(!cell_valid)break;if(!options.cellFormula)break;if(last_cell){shared_formulae[encode_cell(last_formula.cell)]=val[0];(out[encode_cell(last_formula.cell)]||{}).f=stringify_formula(val[0],range,lastcell,supbooks,opts)}}break;case"LabelSst":temp_val=make_cell(sst[val.isst].t,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"RString":case"Label":case"BIFF2STR":temp_val=make_cell(val.val,val.ixfe,"s");temp_val.XF=XFs[temp_val.ixfe];safe_format_xf(temp_val,options,wb.opts.Date1904);addcell({c:val.c,r:val.r},temp_val,options);break;case"Dimensions":{if(file_depth===1)range=val}break;case"SST":{sst=val}break;case"Format":{SSF.load(val[1],val[0])}break;case"BIFF2FORMAT":{SSF.load(val,BIFF2Fmt++)}break;case"MergeCells":mergecells=mergecells.concat(val);break;case"Obj":objects[val.cmo[0]]=opts.lastobj=val;break;case"TxO":opts.lastobj.TxO=val;break;case"HLink":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l=val[1]}break;case"HLinkTooltip":{for(rngR=val[0].s.r;rngR<=val[0].e.r;++rngR)for(rngC=val[0].s.c;rngC<=val[0].e.c;++rngC)if(out[encode_cell({c:rngC,r:rngR})])out[encode_cell({c:rngC,r:rngR})].l.tooltip=val[1]}break;case"Note":{if(opts.biff<=5&&opts.biff>=2)break;cc=out[encode_cell(val[0])];var noteobj=objects[val[2]];if(!cc)break;if(!cc.c)cc.c=[];cmnt={a:val[1],t:noteobj.TxO.t};cc.c.push(cmnt)}break;default:switch(R.n){case"ClrtClient":break;case"XFExt":update_xfext(XFs[val.ixfe],val.ext);break;case"NameCmt":break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"Setup":break;case"DefColWidth":break;case"GCW":break;case"LHRecord":break;case"ColInfo":break;case"Row":break;case"DBCell":break;case"MulBlank":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":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"Blank":break;case"Country":country=val;break;case"RecalcId":break;case"DefaultRowHeight":case"DxGCol":break;case"Fbi":case"Fbi2":case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":palette=val;break;case"Theme":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":{}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"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":case"BuiltInFnGroupCount":case"Window1":case"Window2":case"HideObj":case"GridSet":case"Guts":case"UserBView":case"UserSViewBegin":case"UserSViewEnd":case"Pane":break;default:switch(R.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"ImData":break;case"WebPub":case"AutoWebPub":case"RightMargin":case"LeftMargin":case"TopMargin":case"BottomMargin":case"HeaderFooter":case"HFPicture":case"PLV":case"HorizontalPageBreaks":case"VerticalPageBreaks":case"Backup":case"CompressPictures":case"Compat12":break;case"Continue":case"ContinueFrt12":break;case"FrtFontList":case"FrtWrapper":break;default:switch(R.n){case"ExternCount":break;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;default:if(options.WTF)throw"Unrecognized Record "+R.n}}}}}else blob.l+=length}var sheetnamesraw=Object.keys(Directory).sort(function(a,b){return Number(a)-Number(b)}).map(function(x){return Directory[x].name});var sheetnames=sheetnamesraw.slice();wb.Directory=sheetnamesraw;wb.SheetNames=sheetnamesraw;if(!options.bookSheets)wb.Sheets=Sheets;wb.Preamble=Preamble;wb.Strings=sst;wb.SSF=SSF.get_table();if(opts.enc)wb.Encryption=opts.enc;wb.Metadata={};if(country!==undefined)wb.Metadata.Country=country;return wb}function parse_xlscfb(cfb,options){if(!options)options={};fix_read_opts(options);reset_cp();var CompObj,Summary,Workbook;if(cfb.FullPaths){CompObj=cfb.find("!CompObj");Summary=cfb.find("!SummaryInformation");Workbook=cfb.find("/Workbook")}else{prep_blob(cfb,0);Workbook={content:cfb}}if(!Workbook)Workbook=cfb.find("/Book");var CompObjP,SummaryP,WorkbookP;if(CompObj)CompObjP=parse_compobj(CompObj);if(options.bookProps&&!options.bookSheets)WorkbookP={};else{if(Workbook)WorkbookP=parse_workbook(Workbook.content,options,!!Workbook.find);else throw new Error("Cannot find Workbook stream")}if(cfb.FullPaths)parse_props(cfb);var props={};for(var y in cfb.Summary)props[y]=cfb.Summary[y];for(y in cfb.DocSummary)props[y]=cfb.DocSummary[y];WorkbookP.Props=WorkbookP.Custprops=props;if(options.bookFiles)WorkbookP.cfb=cfb;WorkbookP.CompObjP=CompObjP;return WorkbookP}function parse_props(cfb){var DSI=cfb.find("!DocumentSummaryInformation");if(DSI)try{cfb.DocSummary=parse_PropertySetStream(DSI,DocSummaryPIDDSI)}catch(e){}var SI=cfb.find("!SummaryInformation");if(SI)try{cfb.Summary=parse_PropertySetStream(SI,SummaryPIDSI)}catch(e){}}var XLSBRecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},16:{n:"BrtFRTArchID$",f:parse_BrtFRTArchID$},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parse_BrtName},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop,p:0},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim,p:16},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parse_BrtWbProp},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop +},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parse_BrtArrFmla},427:{n:"BrtShrFmla",f:parse_BrtShrFmla},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parse_BrtHLink},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}};var evert_RE=evert_key(XLSBRecordEnum,"n");var XLSRecordEnum={3:{n:"BIFF2NUM",f:parse_BIFF2NUM},4:{n:"BIFF2STR",f:parse_BIFF2STR},6:{n:"Formula",f:parse_Formula},9:{n:"BOF",f:parse_BOF},10:{n:"EOF",f:parse_EOF},12:{n:"CalcCount",f:parse_CalcCount},13:{n:"CalcMode",f:parse_CalcMode},14:{n:"CalcPrecision",f:parse_CalcPrecision},15:{n:"CalcRefMode",f:parse_CalcRefMode},16:{n:"CalcDelta",f:parse_CalcDelta},17:{n:"CalcIter",f:parse_CalcIter},18:{n:"Protect",f:parse_Protect},19:{n:"Password",f:parse_Password},20:{n:"Header",f:parse_Header},21:{n:"Footer",f:parse_Footer},23:{n:"ExternSheet",f:parse_ExternSheet},24:{n:"Lbl",f:parse_Lbl},25:{n:"WinProtect",f:parse_WinProtect},26:{n:"VerticalPageBreaks",f:parse_VerticalPageBreaks},27:{n:"HorizontalPageBreaks",f:parse_HorizontalPageBreaks},28:{n:"Note",f:parse_Note},29:{n:"Selection",f:parse_Selection},34:{n:"Date1904",f:parse_Date1904},35:{n:"ExternName",f:parse_ExternName},38:{n:"LeftMargin",f:parse_LeftMargin},39:{n:"RightMargin",f:parse_RightMargin},40:{n:"TopMargin",f:parse_TopMargin},41:{n:"BottomMargin",f:parse_BottomMargin},42:{n:"PrintRowCol",f:parse_PrintRowCol},43:{n:"PrintGrid",f:parse_PrintGrid},47:{n:"FilePass",f:parse_FilePass},49:{n:"Font",f:parse_Font},51:{n:"PrintSize",f:parse_PrintSize},60:{n:"Continue",f:parse_Continue},61:{n:"Window1",f:parse_Window1},64:{n:"Backup",f:parse_Backup},65:{n:"Pane",f:parse_Pane},66:{n:"CodePage",f:parse_CodePage},77:{n:"Pls",f:parse_Pls},80:{n:"DCon",f:parse_DCon},81:{n:"DConRef",f:parse_DConRef},82:{n:"DConName",f:parse_DConName},85:{n:"DefColWidth",f:parse_DefColWidth},89:{n:"XCT",f:parse_XCT},90:{n:"CRN",f:parse_CRN},91:{n:"FileSharing",f:parse_FileSharing},92:{n:"WriteAccess",f:parse_WriteAccess},93:{n:"Obj",f:parse_Obj},94:{n:"Uncalced",f:parse_Uncalced},95:{n:"CalcSaveRecalc",f:parse_CalcSaveRecalc},96:{n:"Template",f:parse_Template},97:{n:"Intl",f:parse_Intl},99:{n:"ObjProtect",f:parse_ObjProtect},125:{n:"ColInfo",f:parse_ColInfo},128:{n:"Guts",f:parse_Guts},129:{n:"WsBool",f:parse_WsBool},130:{n:"GridSet",f:parse_GridSet},131:{n:"HCenter",f:parse_HCenter},132:{n:"VCenter",f:parse_VCenter},133:{n:"BoundSheet8",f:parse_BoundSheet8},134:{n:"WriteProtect",f:parse_WriteProtect},140:{n:"Country",f:parse_Country},141:{n:"HideObj",f:parse_HideObj},144:{n:"Sort",f:parse_Sort},146:{n:"Palette",f:parse_Palette},151:{n:"Sync",f:parse_Sync},152:{n:"LPr",f:parse_LPr},153:{n:"DxGCol",f:parse_DxGCol},154:{n:"FnGroupName",f:parse_FnGroupName},155:{n:"FilterMode",f:parse_FilterMode},156:{n:"BuiltInFnGroupCount",f:parse_BuiltInFnGroupCount},157:{n:"AutoFilterInfo",f:parse_AutoFilterInfo},158:{n:"AutoFilter",f:parse_AutoFilter},160:{n:"Scl",f:parse_Scl},161:{n:"Setup",f:parse_Setup},174:{n:"ScenMan",f:parse_ScenMan},175:{n:"SCENARIO",f:parse_SCENARIO},176:{n:"SxView",f:parse_SxView},177:{n:"Sxvd",f:parse_Sxvd},178:{n:"SXVI",f:parse_SXVI},180:{n:"SxIvd",f:parse_SxIvd},181:{n:"SXLI",f:parse_SXLI},182:{n:"SXPI",f:parse_SXPI},184:{n:"DocRoute",f:parse_DocRoute},185:{n:"RecipName",f:parse_RecipName},189:{n:"MulRk",f:parse_MulRk},190:{n:"MulBlank",f:parse_MulBlank},193:{n:"Mms",f:parse_Mms},197:{n:"SXDI",f:parse_SXDI},198:{n:"SXDB",f:parse_SXDB},199:{n:"SXFDB",f:parse_SXFDB},200:{n:"SXDBB",f:parse_SXDBB},201:{n:"SXNum",f:parse_SXNum},202:{n:"SxBool",f:parse_SxBool},203:{n:"SxErr",f:parse_SxErr},204:{n:"SXInt",f:parse_SXInt},205:{n:"SXString",f:parse_SXString},206:{n:"SXDtr",f:parse_SXDtr},207:{n:"SxNil",f:parse_SxNil},208:{n:"SXTbl",f:parse_SXTbl},209:{n:"SXTBRGIITM",f:parse_SXTBRGIITM},210:{n:"SxTbpg",f:parse_SxTbpg},211:{n:"ObProj",f:parse_ObProj},213:{n:"SXStreamID",f:parse_SXStreamID},215:{n:"DBCell",f:parse_DBCell},216:{n:"SXRng",f:parse_SXRng},217:{n:"SxIsxoper",f:parse_SxIsxoper},218:{n:"BookBool",f:parse_BookBool},220:{n:"DbOrParamQry",f:parse_DbOrParamQry},221:{n:"ScenarioProtect",f:parse_ScenarioProtect},222:{n:"OleObjectSize",f:parse_OleObjectSize},224:{n:"XF",f:parse_XF},225:{n:"InterfaceHdr",f:parse_InterfaceHdr},226:{n:"InterfaceEnd",f:parse_InterfaceEnd},227:{n:"SXVS",f:parse_SXVS},229:{n:"MergeCells",f:parse_MergeCells},233:{n:"BkHim",f:parse_BkHim},235:{n:"MsoDrawingGroup",f:parse_MsoDrawingGroup},236:{n:"MsoDrawing",f:parse_MsoDrawing},237:{n:"MsoDrawingSelection",f:parse_MsoDrawingSelection},239:{n:"PhoneticInfo",f:parse_PhoneticInfo},240:{n:"SxRule",f:parse_SxRule},241:{n:"SXEx",f:parse_SXEx},242:{n:"SxFilt",f:parse_SxFilt},244:{n:"SxDXF",f:parse_SxDXF},245:{n:"SxItm",f:parse_SxItm},246:{n:"SxName",f:parse_SxName},247:{n:"SxSelect",f:parse_SxSelect},248:{n:"SXPair",f:parse_SXPair},249:{n:"SxFmla",f:parse_SxFmla},251:{n:"SxFormat",f:parse_SxFormat},252:{n:"SST",f:parse_SST},253:{n:"LabelSst",f:parse_LabelSst},255:{n:"ExtSST",f:parse_ExtSST},256:{n:"SXVDEx",f:parse_SXVDEx},259:{n:"SXFormula",f:parse_SXFormula},290:{n:"SXDBEx",f:parse_SXDBEx},311:{n:"RRDInsDel",f:parse_RRDInsDel},312:{n:"RRDHead",f:parse_RRDHead},315:{n:"RRDChgCell",f:parse_RRDChgCell},317:{n:"RRTabId",f:parse_RRTabId},318:{n:"RRDRenSheet",f:parse_RRDRenSheet},319:{n:"RRSort",f:parse_RRSort},320:{n:"RRDMove",f:parse_RRDMove},330:{n:"RRFormat",f:parse_RRFormat},331:{n:"RRAutoFmt",f:parse_RRAutoFmt},333:{n:"RRInsertSh",f:parse_RRInsertSh},334:{n:"RRDMoveBegin",f:parse_RRDMoveBegin},335:{n:"RRDMoveEnd",f:parse_RRDMoveEnd},336:{n:"RRDInsDelBegin",f:parse_RRDInsDelBegin},337:{n:"RRDInsDelEnd",f:parse_RRDInsDelEnd},338:{n:"RRDConflict",f:parse_RRDConflict},339:{n:"RRDDefName",f:parse_RRDDefName},340:{n:"RRDRstEtxp",f:parse_RRDRstEtxp},351:{n:"LRng",f:parse_LRng},352:{n:"UsesELFs",f:parse_UsesELFs},353:{n:"DSF",f:parse_DSF},401:{n:"CUsr",f:parse_CUsr},402:{n:"CbUsr",f:parse_CbUsr},403:{n:"UsrInfo", +f:parse_UsrInfo},404:{n:"UsrExcl",f:parse_UsrExcl},405:{n:"FileLock",f:parse_FileLock},406:{n:"RRDInfo",f:parse_RRDInfo},407:{n:"BCUsrs",f:parse_BCUsrs},408:{n:"UsrChk",f:parse_UsrChk},425:{n:"UserBView",f:parse_UserBView},426:{n:"UserSViewBegin",f:parse_UserSViewBegin},427:{n:"UserSViewEnd",f:parse_UserSViewEnd},428:{n:"RRDUserView",f:parse_RRDUserView},429:{n:"Qsi",f:parse_Qsi},430:{n:"SupBook",f:parse_SupBook},431:{n:"Prot4Rev",f:parse_Prot4Rev},432:{n:"CondFmt",f:parse_CondFmt},433:{n:"CF",f:parse_CF},434:{n:"DVal",f:parse_DVal},437:{n:"DConBin",f:parse_DConBin},438:{n:"TxO",f:parse_TxO},439:{n:"RefreshAll",f:parse_RefreshAll},440:{n:"HLink",f:parse_HLink},441:{n:"Lel",f:parse_Lel},442:{n:"CodeName",f:parse_XLSCodeName},443:{n:"SXFDBType",f:parse_SXFDBType},444:{n:"Prot4RevPass",f:parse_Prot4RevPass},445:{n:"ObNoMacros",f:parse_ObNoMacros},446:{n:"Dv",f:parse_Dv},448:{n:"Excel9File",f:parse_Excel9File},449:{n:"RecalcId",f:parse_RecalcId,r:2},450:{n:"EntExU2",f:parse_EntExU2},512:{n:"Dimensions",f:parse_Dimensions},513:{n:"Blank",f:parse_Blank},515:{n:"Number",f:parse_Number},516:{n:"Label",f:parse_Label},517:{n:"BoolErr",f:parse_BoolErr},518:{n:"Formula",f:parse_Formula},519:{n:"String",f:parse_String},520:{n:"Row",f:parse_Row},523:{n:"Index",f:parse_Index},545:{n:"Array",f:parse_Array},549:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},566:{n:"Table",f:parse_Table},574:{n:"Window2",f:parse_Window2},638:{n:"RK",f:parse_RK},659:{n:"Style",f:parse_Style},1030:{n:"Formula",f:parse_Formula},1048:{n:"BigName",f:parse_BigName},1054:{n:"Format",f:parse_Format},1084:{n:"ContinueBigName",f:parse_ContinueBigName},1212:{n:"ShrFmla",f:parse_ShrFmla},2048:{n:"HLinkTooltip",f:parse_HLinkTooltip},2049:{n:"WebPub",f:parse_WebPub},2050:{n:"QsiSXTag",f:parse_QsiSXTag},2051:{n:"DBQueryExt",f:parse_DBQueryExt},2052:{n:"ExtString",f:parse_ExtString},2053:{n:"TxtQry",f:parse_TxtQry},2054:{n:"Qsir",f:parse_Qsir},2055:{n:"Qsif",f:parse_Qsif},2056:{n:"RRDTQSIF",f:parse_RRDTQSIF},2057:{n:"BOF",f:parse_BOF},2058:{n:"OleDbConn",f:parse_OleDbConn},2059:{n:"WOpt",f:parse_WOpt},2060:{n:"SXViewEx",f:parse_SXViewEx},2061:{n:"SXTH",f:parse_SXTH},2062:{n:"SXPIEx",f:parse_SXPIEx},2063:{n:"SXVDTEx",f:parse_SXVDTEx},2064:{n:"SXViewEx9",f:parse_SXViewEx9},2066:{n:"ContinueFrt",f:parse_ContinueFrt},2067:{n:"RealTimeData",f:parse_RealTimeData},2128:{n:"ChartFrtInfo",f:parse_ChartFrtInfo},2129:{n:"FrtWrapper",f:parse_FrtWrapper},2130:{n:"StartBlock",f:parse_StartBlock},2131:{n:"EndBlock",f:parse_EndBlock},2132:{n:"StartObject",f:parse_StartObject},2133:{n:"EndObject",f:parse_EndObject},2134:{n:"CatLab",f:parse_CatLab},2135:{n:"YMult",f:parse_YMult},2136:{n:"SXViewLink",f:parse_SXViewLink},2137:{n:"PivotChartBits",f:parse_PivotChartBits},2138:{n:"FrtFontList",f:parse_FrtFontList},2146:{n:"SheetExt",f:parse_SheetExt},2147:{n:"BookExt",f:parse_BookExt,r:12},2148:{n:"SXAddl",f:parse_SXAddl},2149:{n:"CrErr",f:parse_CrErr},2150:{n:"HFPicture",f:parse_HFPicture},2151:{n:"FeatHdr",f:parse_FeatHdr},2152:{n:"Feat",f:parse_Feat},2154:{n:"DataLabExt",f:parse_DataLabExt},2155:{n:"DataLabExtContents",f:parse_DataLabExtContents},2156:{n:"CellWatch",f:parse_CellWatch},2161:{n:"FeatHdr11",f:parse_FeatHdr11},2162:{n:"Feature11",f:parse_Feature11},2164:{n:"DropDownObjIds",f:parse_DropDownObjIds},2165:{n:"ContinueFrt11",f:parse_ContinueFrt11},2166:{n:"DConn",f:parse_DConn},2167:{n:"List12",f:parse_List12},2168:{n:"Feature12",f:parse_Feature12},2169:{n:"CondFmt12",f:parse_CondFmt12},2170:{n:"CF12",f:parse_CF12},2171:{n:"CFEx",f:parse_CFEx},2172:{n:"XFCRC",f:parse_XFCRC,r:12},2173:{n:"XFExt",f:parse_XFExt,r:12},2174:{n:"AutoFilter12",f:parse_AutoFilter12},2175:{n:"ContinueFrt12",f:parse_ContinueFrt12},2180:{n:"MDTInfo",f:parse_MDTInfo},2181:{n:"MDXStr",f:parse_MDXStr},2182:{n:"MDXTuple",f:parse_MDXTuple},2183:{n:"MDXSet",f:parse_MDXSet},2184:{n:"MDXProp",f:parse_MDXProp},2185:{n:"MDXKPI",f:parse_MDXKPI},2186:{n:"MDB",f:parse_MDB},2187:{n:"PLV",f:parse_PLV},2188:{n:"Compat12",f:parse_Compat12,r:12},2189:{n:"DXF",f:parse_DXF},2190:{n:"TableStyles",f:parse_TableStyles,r:12},2191:{n:"TableStyle",f:parse_TableStyle},2192:{n:"TableStyleElement",f:parse_TableStyleElement},2194:{n:"StyleExt",f:parse_StyleExt},2195:{n:"NamePublish",f:parse_NamePublish},2196:{n:"NameCmt",f:parse_NameCmt},2197:{n:"SortData",f:parse_SortData},2198:{n:"Theme",f:parse_Theme,r:12},2199:{n:"GUIDTypeLib",f:parse_GUIDTypeLib},2200:{n:"FnGrp12",f:parse_FnGrp12},2201:{n:"NameFnGrp12",f:parse_NameFnGrp12},2202:{n:"MTRSettings",f:parse_MTRSettings,r:12},2203:{n:"CompressPictures",f:parse_CompressPictures},2204:{n:"HeaderFooter",f:parse_HeaderFooter},2205:{n:"CrtLayout12",f:parse_CrtLayout12},2206:{n:"CrtMlFrt",f:parse_CrtMlFrt},2207:{n:"CrtMlFrtContinue",f:parse_CrtMlFrtContinue},2211:{n:"ForceFullCalculation",f:parse_ForceFullCalculation},2212:{n:"ShapePropsStream",f:parse_ShapePropsStream},2213:{n:"TextPropsStream",f:parse_TextPropsStream},2214:{n:"RichTextStream",f:parse_RichTextStream},2215:{n:"CrtLayout12A",f:parse_CrtLayout12A},4097:{n:"Units",f:parse_Units},4098:{n:"Chart",f:parse_Chart},4099:{n:"Series",f:parse_Series},4102:{n:"DataFormat",f:parse_DataFormat},4103:{n:"LineFormat",f:parse_LineFormat},4105:{n:"MarkerFormat",f:parse_MarkerFormat},4106:{n:"AreaFormat",f:parse_AreaFormat},4107:{n:"PieFormat",f:parse_PieFormat},4108:{n:"AttachedLabel",f:parse_AttachedLabel},4109:{n:"SeriesText",f:parse_SeriesText},4116:{n:"ChartFormat",f:parse_ChartFormat},4117:{n:"Legend",f:parse_Legend},4118:{n:"SeriesList",f:parse_SeriesList},4119:{n:"Bar",f:parse_Bar},4120:{n:"Line",f:parse_Line},4121:{n:"Pie",f:parse_Pie},4122:{n:"Area",f:parse_Area},4123:{n:"Scatter",f:parse_Scatter},4124:{n:"CrtLine",f:parse_CrtLine},4125:{n:"Axis",f:parse_Axis},4126:{n:"Tick",f:parse_Tick},4127:{n:"ValueRange",f:parse_ValueRange},4128:{n:"CatSerRange",f:parse_CatSerRange},4129:{n:"AxisLine",f:parse_AxisLine},4130:{n:"CrtLink",f:parse_CrtLink},4132:{n:"DefaultText",f:parse_DefaultText},4133:{n:"Text",f:parse_Text},4134:{n:"FontX",f:parse_FontX},4135:{n:"ObjectLink",f:parse_ObjectLink},4146:{n:"Frame",f:parse_Frame},4147:{n:"Begin",f:parse_Begin},4148:{n:"End",f:parse_End},4149:{n:"PlotArea",f:parse_PlotArea},4154:{n:"Chart3d",f:parse_Chart3d},4156:{n:"PicF",f:parse_PicF},4157:{n:"DropBar",f:parse_DropBar},4158:{n:"Radar",f:parse_Radar},4159:{n:"Surf",f:parse_Surf},4160:{n:"RadarArea",f:parse_RadarArea},4161:{n:"AxisParent",f:parse_AxisParent},4163:{n:"LegendException",f:parse_LegendException},4164:{n:"ShtProps",f:parse_ShtProps},4165:{n:"SerToCrt",f:parse_SerToCrt},4166:{n:"AxesUsed",f:parse_AxesUsed},4168:{n:"SBaseRef",f:parse_SBaseRef},4170:{n:"SerParent",f:parse_SerParent},4171:{n:"SerAuxTrend",f:parse_SerAuxTrend},4174:{n:"IFmtRecord",f:parse_IFmtRecord},4175:{n:"Pos",f:parse_Pos},4176:{n:"AlRuns",f:parse_AlRuns},4177:{n:"BRAI",f:parse_BRAI},4187:{n:"SerAuxErrBar",f:parse_SerAuxErrBar},4188:{n:"ClrtClient",f:parse_ClrtClient},4189:{n:"SerFmt",f:parse_SerFmt},4191:{n:"Chart3DBarShape",f:parse_Chart3DBarShape},4192:{n:"Fbi",f:parse_Fbi},4193:{n:"BopPop",f:parse_BopPop},4194:{n:"AxcExt",f:parse_AxcExt},4195:{n:"Dat",f:parse_Dat},4196:{n:"PlotGrowth",f:parse_PlotGrowth},4197:{n:"SIIndex",f:parse_SIIndex},4198:{n:"GelFrame",f:parse_GelFrame},4199:{n:"BopPopCustom",f:parse_BopPopCustom},4200:{n:"Fbi2",f:parse_Fbi2},0:{n:"Dimensions",f:parse_Dimensions},2:{n:"BIFF2INT",f:parse_BIFF2INT},5:{n:"BoolErr",f:parse_BoolErr},7:{n:"String",f:parse_BIFF2STRING},8:{n:"BIFF2ROW",f:parsenoop},11:{n:"Index",f:parse_Index},30:{n:"BIFF2FORMAT",f:parse_BIFF2Format},31:{n:"BIFF2FMTCNT",f:parsenoop},22:{n:"ExternCount",f:parsenoop},33:{n:"Array",f:parse_Array},37:{n:"DefaultRowHeight",f:parse_DefaultRowHeight},50:{n:"BIFF2FONTXTRA",f:parse_BIFF2FONTXTRA},62:{n:"BIFF2WINDOW2",f:parsenoop},69:{n:"BIFF2FONTCLR",f:parsenoop},86:{n:"BIFF4FMTCNT",f:parsenoop},126:{n:"RK",f:parsenoop},127:{n:"ImData",f:parsenoop},135:{n:"Addin",f:parsenoop},136:{n:"Edg",f:parsenoop},137:{n:"Pub",f:parsenoop},145:{n:"Sub",f:parsenoop},148:{n:"LHRecord",f:parsenoop},149:{n:"LHNGraph",f:parsenoop},150:{n:"Sound",f:parsenoop},169:{n:"CoordList",f:parsenoop},171:{n:"GCW",f:parsenoop},188:{n:"ShrFmla",f:parsenoop},194:{n:"AddMenu",f:parsenoop},195:{n:"DelMenu",f:parsenoop},214:{n:"RString",f:parse_RString},223:{n:"UDDesc",f:parsenoop},234:{n:"TabIdConf",f:parsenoop},354:{n:"XL5Modify",f:parsenoop},421:{n:"FileSharing2",f:parsenoop},521:{n:"BOF",f:parse_BOF},536:{n:"Lbl",f:parse_Lbl},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1033:{n:"BOF",f:parse_BOF},2157:{n:"FeatInfo",f:parsenoop},2163:{n:"FeatInfo11",f:parsenoop},2177:{n:"SXAddl12",f:parsenoop},2240:{n:"AutoWebPub",f:parsenoop},2241:{n:"ListObj",f:parsenoop},2242:{n:"ListField",f:parsenoop},2243:{n:"ListDV",f:parsenoop},2244:{n:"ListCondFmt",f:parsenoop},2245:{n:"ListCF",f:parsenoop},2246:{n:"FMQry",f:parsenoop},2247:{n:"FMSQry",f:parsenoop},2248:{n:"PLV",f:parsenoop},2249:{n:"LnExt",f:parsenoop},2250:{n:"MkrExt",f:parsenoop},2251:{n:"CrtCoopt",f:parsenoop},67:{n:"BIFF2XF",f:parsenoop},579:{n:"BIFF3XF",f:parsenoop},1091:{n:"BIFF4XF",f:parsenoop},29282:{}};function write_biff_rec(ba,t,payload,length){var len=length||(payload||[]).length;var o=ba.next(4+len);o.write_shift(2,t);o.write_shift(2,len);if(len>0&&is_buf(payload))ba.push(payload)}function write_BOF(wb,o){if(o.bookType!="biff2")throw"unsupported BIFF version";var out=new_buf(4);out.write_shift(2,2);out.write_shift(2,16);return out}function write_BIFF2Cell(out,r,c){if(!out)out=new_buf(7);out.write_shift(2,r);out.write_shift(2,c);out.write_shift(1,0);out.write_shift(1,0);out.write_shift(1,0);return out}function write_BIFF2INT(r,c,val){var out=new_buf(9);write_BIFF2Cell(out,r,c);out.write_shift(2,val);return out}function write_BIFF2NUMBER(r,c,val){var out=new_buf(15);write_BIFF2Cell(out,r,c);out.write_shift(8,val,"f");return out}function write_BIFF2BERR(r,c,val,t){var out=new_buf(9);write_BIFF2Cell(out,r,c);if(t=="e"){out.write_shift(1,val);out.write_shift(1,1)}else{out.write_shift(1,val?1:0);out.write_shift(1,0)}return out}function write_BIFF2LABEL(r,c,val){var out=new_buf(8+2*val.length);write_BIFF2Cell(out,r,c);out.write_shift(1,val.length);out.write_shift(val.length,val,"sbcs");return out.l=0&&cell.v<65536)write_biff_rec(ba,2,write_BIFF2INT(R,C,cell.v));else write_biff_rec(ba,3,write_BIFF2NUMBER(R,C,cell.v));break;case"b":case"e":write_biff_rec(ba,5,write_BIFF2BERR(R,C,cell.v,cell.t));break;case"s":case"str":write_biff_rec(ba,4,write_BIFF2LABEL(R,C,cell.v));break;default:write_biff_rec(ba,1,write_BIFF2Cell(null,R,C))}}function write_biff_ws(ba,ws,idx,opts,wb){var range=safe_decode_range(ws["!ref"]||"A1"),ref,rr="",cols=[];for(var R=range.s.r;R<=range.e.r;++R){rr=encode_row(R);for(var C=range.s.c;C<=range.e.c;++C){if(R===range.s.r)cols[C]=encode_col(C);ref=cols[C]+rr;if(!ws[ref])continue;write_ws_biff_cell(ba,ws[ref],R,C,opts)}}}function write_biff_buf(wb,o){var ba=buf_array();var idx=0;for(var i=0;i0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function pluck(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var wbext=xlsb?"bin":"xml";var wbrelsfile="xl/_rels/workbook."+wbext+".rels";var wbrels=parse_rels(getzipstr(zip,wbrelsfile,true),wbrelsfile);if(wbrels)wbrels=safe_parse_wbrels(wbrels,wb.Sheets);var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){if(wbrels&&wbrels[i])path="xl/"+wbrels[i][1].replace(/[\/]?xl\//,"");else{path="xl/worksheets/sheet"+(i+1-nmode)+"."+wbext;path=path.replace(/sheet0\./,"sheet.")}relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");safe_parse_ws(zip,path,relsPath,props.SheetNames[i],sheetRels,sheets,opts,wb)}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles,Themes:themes,SSF:SSF.get_table()};if(opts.bookFiles){out.keys=entries;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults&&dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function add_rels(rels,rId,f,type,relobj){if(!relobj)relobj={};if(!rels["!id"])rels["!id"]={};relobj.Id="rId"+rId;relobj.Type=type;relobj.Target=f;if(rels["!id"][relobj.Id])throw new Error("Cannot rewrite rId "+rId);rels["!id"][relobj.Id]=relobj;rels[("/"+relobj.Target).replace("//","/")]=relobj}function write_zip(wb,opts){if(opts.bookType=="ods")return write_ods(wb,opts);if(wb&&!wb.SSF){wb.SSF=SSF.get_table()}if(wb&&wb.SSF){make_ssf(SSF);SSF.load_table(wb.SSF);opts.revssf=evert_num(wb.SSF);opts.revssf[wb.SSF[65535]]=0}opts.rels={};opts.wbrels={};opts.Strings=[];opts.Strings.Count=0;opts.Strings.Unique=0;var wbext=opts.bookType=="xlsb"?"bin":"xml";var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};fix_write_opts(opts=opts||{});var zip=new jszip;var f="",rId=0;opts.cellXfs=[];get_cell_style(opts.cellXfs,{},{revssf:{General:0}});if(!wb.Props)wb.Props={};f="docProps/core.xml";zip.file(f,write_core_props(wb.Props,opts));ct.coreprops.push(f);add_rels(opts.rels,2,f,RELS.CORE_PROPS);f="docProps/app.xml";wb.Props.SheetNames=wb.SheetNames;wb.Props.Worksheets=wb.SheetNames.length;zip.file(f,write_ext_props(wb.Props,opts));ct.extprops.push(f);add_rels(opts.rels,3,f,RELS.EXT_PROPS);if(wb.Custprops!==wb.Props&&keys(wb.Custprops||{}).length>0){f="docProps/custom.xml";zip.file(f,write_cust_props(wb.Custprops,opts));ct.custprops.push(f);add_rels(opts.rels,4,f,RELS.CUST_PROPS)}f="xl/workbook."+wbext;zip.file(f,write_wb(wb,f,opts));ct.workbooks.push(f);add_rels(opts.rels,1,f,RELS.WB);for(rId=1;rId<=wb.SheetNames.length;++rId){f="xl/worksheets/sheet"+rId+"."+wbext;zip.file(f,write_ws(rId-1,f,opts,wb));ct.sheets.push(f);add_rels(opts.wbrels,rId,"worksheets/sheet"+rId+"."+wbext,RELS.WS)}if(opts.Strings!=null&&opts.Strings.length>0){f="xl/sharedStrings."+wbext;zip.file(f,write_sst(opts.Strings,f,opts));ct.strs.push(f);add_rels(opts.wbrels,++rId,"sharedStrings."+wbext,RELS.SST)}f="xl/theme/theme1.xml";zip.file(f,write_theme());ct.themes.push(f);add_rels(opts.wbrels,++rId,"theme/theme1.xml",RELS.THEME);f="xl/styles."+wbext;zip.file(f,write_sty(wb,f,opts));ct.styles.push(f);add_rels(opts.wbrels,++rId,"styles."+wbext,RELS.STY);zip.file("[Content_Types].xml",write_ct(ct,opts));zip.file("_rels/.rels",write_rels(opts.rels));zip.file("xl/_rels/workbook."+wbext+".rels",write_rels(opts.wbrels));return zip}function firstbyte(f,o){switch((o||{}).type||"base64"){case"buffer":return f[0];case"base64":return Base64.decode(f.substr(0,12)).charCodeAt(0);case"binary":return f.charCodeAt(0);case"array":return f[0];default:throw new Error("Unrecognized type "+(o?o.type:"undefined"))}}function read_zip(data,opts){var zip,d=data;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";switch(o.type){case"base64":zip=new jszip(d,{base64:true});break;case"binary":case"array":zip=new jszip(d,{base64:false});break;case"buffer":zip=new jszip(d);break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,n=0;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:return parse_xlscfb(CFB.read(d,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(d):d),o);case 60:return parse_xlml(d,o);case 80:return read_zip(d,o);default:throw new Error("Unsupported file "+n)}}function readFileSync(filename,opts){var o=opts||{};o.type="file";return readSync(filename,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);var oopts={};if(o.compression)oopts.compression="DEFLATE";switch(o.type){case"base64":oopts.type="base64";break;case"binary":oopts.type="string";break;case"buffer":case"file":oopts.type="nodebuffer";break;default:throw new Error("Unrecognized type "+o.type)}if(o.type==="file")return _fs.writeFileSync(o.file,z.generate(oopts));return z.generate(oopts)}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);case"biff2":return write_biff(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;if(!o.bookType)switch(o.file.substr(-5).toLowerCase()){case".xlsx":o.bookType="xlsx";break;case".xlsm":o.bookType="xlsm";break;case".xlsb":o.bookType="xlsb";break;default:switch(o.file.substr(-4).toLowerCase()){case".xls":o.bookType="biff2";break;case".xml":o.bookType="xml";break;case".ods":o.bookType="ods";break}}return writeSync(wb,o)}function decode_row(rowstr){return parseInt(unfix_row(rowstr),10)-1}function encode_row(row){return""+(row+1)}function fix_row(cstr){return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function unfix_row(cstr){return cstr.replace(/\$(\d+)$/,"$1")}function decode_col(colstr){var c=unfix_col(colstr),d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=String.fromCharCode((col-1)%26+65)+s;return s}function fix_col(cstr){return cstr.replace(/^([A-Z])/,"$$$1")}function unfix_col(cstr){return cstr.replace(/^\$([A-Z])/,"$1")}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function fix_cell(cstr){return fix_col(fix_row(cstr))}function unfix_cell(cstr){return unfix_col(unfix_row(cstr))}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(cs,ce){if(ce===undefined||typeof ce==="number")return encode_range(cs.s,cs.e);if(typeof cs!=="string")cs=encode_cell(cs);if(typeof ce!=="string")ce=encode_cell(ce);return cs==ce?cs:cs+":"+ce}function safe_decode_range(range){var o={s:{c:0,r:0},e:{c:0,r:0}};var idx=0,i=0,cc=0;var len=range.length;for(idx=0;i26)break;idx=26*idx+cc}o.s.c=--idx;for(idx=0;i9)break;idx=10*idx+cc}o.s.r=--idx;if(i===len||range.charCodeAt(++i)===58){o.e.c=o.s.c;o.e.r=o.s.r;return o}for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-64)<1||cc>26)break;idx=26*idx+cc}o.e.c=--idx;for(idx=0;i!=len;++i){if((cc=range.charCodeAt(i)-48)<0||cc>9)break;idx=10*idx+cc}o.e.r=--idx;return o}function safe_format_cell(cell,v){if(cell.z!==undefined)try{return cell.w=SSF.format(cell.z,v)}catch(e){}if(!cell.XF)return v;try{return cell.w=SSF.format(cell.XF.ifmt||0,v)}catch(e){return""+v}}function format_cell(cell,v){if(cell==null||cell.t==null)return"";if(cell.w!==undefined)return cell.w;if(v===undefined)return safe_format_cell(cell,cell.v);return safe_format_cell(cell,v)}function sheet_to_json(sheet,opts){var val,row,range,header=0,offset=1,r,hdr=[],isempty,R,C,v;var o=opts!=null?opts:{};var raw=o.raw;if(sheet==null||sheet["!ref"]==null)return[];range=o.range!==undefined?o.range:sheet["!ref"];if(o.header===1)header=1;else if(o.header==="A")header=2;else if(Array.isArray(o.header))header=3;switch(typeof range){case"string":r=safe_decode_range(range);break;case"number":r=safe_decode_range(sheet["!ref"]);r.s.r=range;break;default:r=range}if(header>0)offset=0;var rr=encode_row(r.s.r);var cols=new Array(r.e.c-r.s.c+1);var out=new Array(r.e.r-r.s.r-offset+1);var outi=0;for(C=r.s.c;C<=r.e.c;++C){cols[C]=encode_col(C);val=sheet[cols[C]+rr];switch(header){case 1:hdr[C]=C;break;case 2:hdr[C]=cols[C];break;case 3:hdr[C]=o.header[C-r.s.c];break;default:if(val===undefined)continue;hdr[C]=format_cell(val)}}for(R=r.s.r+offset;R<=r.e.r;++R){rr=encode_row(R);isempty=true;if(header===1)row=[];else{row={};if(Object.defineProperty)Object.defineProperty(row,"__rowNum__",{value:R,enumerable:false});else row.__rowNum__=R}for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];if(val===undefined||val.t===undefined)continue;v=val.v;switch(val.t){case"e":continue;case"s":break;case"b":case"n":break;default:throw"unrecognized type "+val.t}if(v!==undefined){row[hdr[C]]=raw?v:format_cell(val,v);isempty=false}}if(isempty===false||header===1)out[outi++]=row}out.length=outi;return out}function sheet_to_row_object_array(sheet,opts){return sheet_to_json(sheet,opts!=null?opts:{})}function sheet_to_csv(sheet,opts){var out="",txt="",qreg=/"/g;var o=opts==null?{}:opts;if(sheet==null||sheet["!ref"]==null)return"";var r=safe_decode_range(sheet["!ref"]);var FS=o.FS!==undefined?o.FS:",",fs=FS.charCodeAt(0);var RS=o.RS!==undefined?o.RS:"\n",rs=RS.charCodeAt(0);var row="",rr="",cols=[];var i=0,cc=0,val;var R=0,C=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(R=r.s.r;R<=r.e.r;++R){row="";rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){val=sheet[cols[C]+rr];txt=val!==undefined?""+format_cell(val):"";for(i=0,cc=0;i!==txt.length;++i)if((cc=txt.charCodeAt(i))===fs||cc===rs||cc===34){txt='"'+txt.replace(qreg,'""')+'"';break}row+=(C===r.s.c?"":FS)+txt}out+=row+RS}return out}var make_csv=sheet_to_csv;function sheet_to_formulae(sheet){var y="",x,val="";if(sheet==null||sheet["!ref"]==null)return[];var r=safe_decode_range(sheet["!ref"]),rr="",cols=[],C;var cmds=new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1));var i=0;for(C=r.s.c;C<=r.e.c;++C)cols[C]=encode_col(C);for(var R=r.s.r;R<=r.e.r;++R){rr=encode_row(R);for(C=r.s.c;C<=r.e.c;++C){y=cols[C]+rr;x=sheet[y];val="";if(x===undefined)continue;else if(x.F!=null){y=x.F;if(!x.f)continue;val=x.f;if(y.indexOf(":")==-1)y=y+":"+y}if(x.f!=null)val=x.f;else if(x.t=="n"&&x.v!=null)val=""+x.v;else if(x.t=="b")val=x.v?"TRUE":"FALSE";else if(x.w!==undefined)val="'"+x.w;else if(x.v===undefined)continue;else if(x.t=="s")val="'"+x.v;else val=""+x.v;cmds[i++]=y+"="+val}}cmds.length=i;return cmds}var utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,format_cell:format_cell,get_formulae:sheet_to_formulae,make_csv:sheet_to_csv,make_json:sheet_to_json,make_formulae:sheet_to_formulae,sheet_to_csv:sheet_to_csv,sheet_to_json:sheet_to_json,sheet_to_formulae:sheet_to_formulae,sheet_to_row_object_array:sheet_to_row_object_array};XLSX.parse_xlscfb=parse_xlscfb;XLSX.parse_zip=parse_zip;XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.readFileSync=readFileSync;XLSX.write=writeSync;XLSX.writeFile=writeFileSync;XLSX.writeFileSync=writeFileSync;XLSX.utils=utils;XLSX.CFB=CFB;XLSX.SSF=SSF})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX; diff --git a/dist/xlsx.min.map b/dist/xlsx.min.map index 61fa37d..3924301 100644 --- a/dist/xlsx.min.map +++ b/dist/xlsx.min.map @@ -1 +1 @@ -{"version":3,"sources":["xlsx.js"],"names":["XLSX","make_xlsx","version","current_codepage","current_cptable","module","require","cptable","reset_cp","set_cp","cp","char_codes","data","o","i","len","length","charCodeAt","debom_xml","_getchar","_gc1","x","String","fromCharCode","utils","decode","substr","_gc2","Base64","make_b64","map","encode","input","utf8","c1","c2","c3","e1","e2","e3","e4","isNaN","charAt","b64_decode","replace","indexOf","has_buf","Buffer","new_raw_buf","Array","s2a","s","split","bconcat","bufs","concat","apply","chr0","chr1","SSF","make_ssf","_strrev","fill","c","l","pad0","v","d","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","y","undefined","opts","table_fmt","0","1","2","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","w","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","Error","_general","fix_hijri","date","parse_date_code","b2","time","dow","dout","out","T","u","m","H","M","S","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","flr","write_num_flt","ffmt","oo","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","format","table","_table","load","load_entry","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","DO_NOT_EXPORT_CFB","CFB","_CFB","exports","parse","file","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","blob","slice","prep_blob","mv","check_get_mver","header","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","shift","root","find_path","make_find_path","raw","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","push","UCFullPaths","UCPaths","toUpperCase","path","k","UCPath","cnt","sector","__readInt32LE","get_sector_list","start","chkd","sl","buf","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","state","ct","read_date","mt","size","storage","content","MSSZ","offset","__readUInt32LE","fs","readFileSync","filename","options","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","Object","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","getdatastr","asNodeBuffer","toString","asBinary","_data","getContent","prototype","call","getdatabin","getdata","safegetzipfile","zip","getzipfile","getzipdata","safe","e","getzipstr","_fs","jszip","JSZip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","substring","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","text","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","h","matches","baseType","res","forEach","wtregex","writetag","wxt_helper","join","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","b","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","a","isArray","utf16le_b","isBuffer","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","this","lens","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","pos","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","end","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","p","shift_cell_xls","cell","tgt","cRel","rRel","shift_range_xls","range","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","hex","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","flags","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","7","23","29","36","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","index","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","n","5","6","8","26","27","28","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","hasOwnProperty","CountryEnum","30","31","32","33","34","41","44","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","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","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.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+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.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","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","to","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","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","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","xmlnsvt","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","ret","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","encoding","biff","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","msg","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","extra","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","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","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","encode_cell","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","comment","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","trim","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLocRel","cl","parse_PtgArea","area","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","cols","rows","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","35","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","ptgs","mapper","stringify_formula","supbooks","_range","stack","nameidx","fflen","argc","func","args","lbl","XLSXFutureFunctions","bookidx","externbook","sharedf","parsedf","fnd","arrayf","parse_XLSBCellParsedFormula","PtgDataType","24","25","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","126","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","150","151","152","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","200","201","202","203","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","_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.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.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_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.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.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","os","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","do_format","marr","marrlen","xlen","cellFormula","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_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","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","Record","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_wb_bin","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","shared_formulae","array_formulae","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","333","387","389","401","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","479","483","484","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","1033","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","402","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","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","filter","dir","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","base64","write_zip_type","oopts","compression","generate","writeSync","decode_row","rowstr","unfix_row","fix_row","cstr","decode_col","colstr","unfix_col","fix_col","split_cell","splt","fix_cell","unfix_cell","decode_range","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":";AAIA,GAAIA,UACJ,QAAUC,WAAUD,MACpBA,KAAKE,QAAU,OACf,IAAIC,kBAAmB,KAAMC,eAC7B,UAAUC,UAAW,mBAAsBC,WAAY,YAAa,CACnE,SAAUC,WAAY,YAAaA,QAAUD,QAAQ,iBACrDF,iBAAkBG,QAAQJ,kBAE3B,QAASK,YAAaC,OAAO,MAC7B,GAAIA,QAAS,SAASC,IAAMP,iBAAmBO,GAE/C,SAASC,YAAWC,MAAQ,GAAIC,KAAQ,KAAI,GAAIC,GAAI,EAAGC,IAAMH,KAAKI,OAAQF,EAAIC,MAAOD,EAAGD,EAAEC,GAAKF,KAAKK,WAAWH,EAAI,OAAOD,GAC1H,GAAIK,WAAY,SAASN,MAAQ,MAAOA,MAExC,IAAIO,UAAW,QAASC,MAAKC,GAAK,MAAOC,QAAOC,aAAaF,GAC7D,UAAUd,WAAY,YAAa,CAClCE,OAAS,SAASC,IAAMP,iBAAmBO,EAAIN,iBAAkBG,QAAQG,IACzEQ,WAAY,SAASN,MACpB,GAAGA,KAAKK,WAAW,KAAO,KAAQL,KAAKK,WAAW,KAAO,IAAM,CAAE,MAAOV,SAAQiB,MAAMC,OAAO,KAAMd,WAAWC,KAAKc,OAAO,KAC1H,MAAOd,MAERO,UAAW,QAASQ,MAAKN,GACxB,GAAGlB,mBAAqB,KAAM,MAAOmB,QAAOC,aAAaF,EACzD,OAAOd,SAAQiB,MAAMC,OAAOtB,kBAAmBkB,EAAE,IAAIA,GAAG,IAAI,IAG9D,GAAIO,QAAS,QAAUC,YACtB,GAAIC,KAAM,mEACV,QACCC,OAAQ,SAASC,MAAOC,MACvB,GAAIpB,GAAI,EACR,IAAIqB,IAAIC,GAAIC,GAAIC,GAAIC,GAAIC,GAAIC,EAC5B,KAAI,GAAI1B,GAAI,EAAGA,EAAIkB,MAAMhB,QAAU,CAClCkB,GAAKF,MAAMf,WAAWH,IACtBqB,IAAKH,MAAMf,WAAWH,IACtBsB,IAAKJ,MAAMf,WAAWH,IACtBuB,IAAKH,IAAM,CACXI,KAAMJ,GAAK,IAAM,EAAIC,IAAM,CAC3BI,KAAMJ,GAAK,KAAO,EAAIC,IAAM,CAC5BI,IAAKJ,GAAK,EACV,IAAIK,MAAMN,IAAK,CAAEI,GAAKC,GAAK,OACtB,IAAIC,MAAML,IAAK,CAAEI,GAAK,GAC3B3B,GAAKiB,IAAIY,OAAOL,IAAMP,IAAIY,OAAOJ,IAAMR,IAAIY,OAAOH,IAAMT,IAAIY,OAAOF,IAEpE,MAAO3B,IAERY,OAAQ,QAASkB,YAAWX,MAAOC,MAClC,GAAIpB,GAAI,EACR,IAAIqB,IAAIC,GAAIC,EACZ,IAAIC,IAAIC,GAAIC,GAAIC,EAChBR,OAAQA,MAAMY,QAAQ,sBAAuB,GAC7C,KAAI,GAAI9B,GAAI,EAAGA,EAAIkB,MAAMhB,QAAS,CACjCqB,GAAKP,IAAIe,QAAQb,MAAMU,OAAO5B,KAC9BwB,IAAKR,IAAIe,QAAQb,MAAMU,OAAO5B,KAC9ByB,IAAKT,IAAIe,QAAQb,MAAMU,OAAO5B,KAC9B0B,IAAKV,IAAIe,QAAQb,MAAMU,OAAO5B,KAC9BoB,IAAKG,IAAM,EAAIC,IAAM,CACrBH,KAAMG,GAAK,KAAO,EAAIC,IAAM,CAC5BH,KAAMG,GAAK,IAAM,EAAIC,EACrB3B,IAAKS,OAAOC,aAAaW,GACzB,IAAIK,IAAM,GAAI,CAAE1B,GAAKS,OAAOC,aAAaY,IACzC,GAAIK,IAAM,GAAI,CAAE3B,GAAKS,OAAOC,aAAaa,KAE1C,MAAOvB,OAIV,IAAIiC,eAAkBC,UAAW,WAEjC,SAASC,aAAYjC,KAEpB,MAAO,KAAK+B,QAAUC,OAASE,OAAOlC,KAIvC,QAASmC,KAAIC,GACZ,GAAGL,QAAS,MAAO,IAAIC,QAAOI,EAAG,SACjC,OAAOA,GAAEC,MAAM,IAAItB,IAAI,SAAST,GAAI,MAAOA,GAAEJ,WAAW,GAAK,MAG9D,GAAIoC,SAAU,SAASC,MAAQ,SAAUC,OAAOC,SAAUF,MAE1D,IAAIG,MAAO,UAAWC,KAAO,iBAG7B,IAAIC,OACJ,IAAIC,UAAW,QAASA,UAASD,KACjCA,IAAIzD,QAAU,OACd,SAAS2D,SAAQxC,GAAK,GAAIR,GAAI,GAAIC,EAAIO,EAAEL,OAAO,CAAG,OAAMF,GAAG,EAAGD,GAAKQ,EAAEqB,OAAO5B,IAAM,OAAOD,GACzF,QAASiD,MAAKC,EAAEC,GAAK,GAAInD,GAAI,EAAI,OAAMA,EAAEG,OAASgD,EAAGnD,GAAGkD,CAAG,OAAOlD,GAClE,QAASoD,MAAKC,EAAEC,GAAG,GAAIC,GAAE,GAAGF,CAAG,OAAOE,GAAEpD,QAAQmD,EAAEC,EAAEN,KAAK,IAAIK,EAAEC,EAAEpD,QAAQoD,EACzE,QAASC,MAAKH,EAAEC,GAAG,GAAIC,GAAE,GAAGF,CAAE,OAAOE,GAAEpD,QAAQmD,EAAEC,EAAEN,KAAK,IAAIK,EAAEC,EAAEpD,QAAQoD,EACxE,QAASE,OAAMJ,EAAEC,GAAG,GAAIC,GAAE,GAAGF,CAAG,OAAOE,GAAEpD,QAAQmD,EAAEC,EAAEA,EAAEN,KAAK,IAAIK,EAAEC,EAAEpD,QACpE,QAASuD,QAAOL,EAAEC,GAAG,GAAIC,GAAE,GAAGI,KAAKC,MAAMP,EAAI,OAAOE,GAAEpD,QAAQmD,EAAEC,EAAEN,KAAK,IAAIK,EAAEC,EAAEpD,QAAQoD,EACvF,QAASM,QAAOR,EAAEC,GAAG,GAAIC,GAAE,GAAGF,CAAG,OAAOE,GAAEpD,QAAQmD,EAAEC,EAAEN,KAAK,IAAIK,EAAEC,EAAEpD,QAAQoD,EAC3E,GAAIO,OAAQH,KAAKI,IAAI,EAAE,GACvB,SAASC,OAAMX,EAAEC,GAAG,GAAGD,EAAES,OAAOT,GAAGS,MAAO,MAAOJ,QAAOL,EAAEC,EAAI,IAAIrD,GAAI0D,KAAKC,MAAMP,EAAI,OAAOQ,QAAO5D,EAAEqD,GACrG,QAASW,WAAU3B,EAAGrC,GAAK,MAAOqC,GAAEnC,QAAU,EAAIF,IAAMqC,EAAElC,WAAWH,GAAG,MAAQ,MAAQqC,EAAElC,WAAWH,EAAE,GAAG,MAAQ,MAAQqC,EAAElC,WAAWH,EAAE,GAAG,MAAQ,MAAQqC,EAAElC,WAAWH,EAAE,GAAG,MAAQ,MAAQqC,EAAElC,WAAWH,EAAE,GAAG,MAAQ,MAAQqC,EAAElC,WAAWH,EAAE,GAAG,MAAQ,KAAOqC,EAAElC,WAAWH,EAAE,GAAG,MAAQ,IAE3R,GAAIiE,YACF,WAAY,IACZ,SAAU,KACV,MAAO,OAET,SAASC,SAAQnE,GAChB,IAAI,GAAIoE,GAAI,EAAGA,GAAKF,SAAS/D,SAAUiE,EAAG,GAAGpE,EAAEkE,SAASE,GAAG,MAAMC,UAAWrE,EAAEkE,SAASE,GAAG,IAAIF,SAASE,GAAG,GAE3GtB,IAAIwB,KAAOJ,QACX,IAAIK,YACHC,EAAI,UACJC,EAAI,IACJC,EAAI,OACJC,EAAI,QACJC,EAAI,WACJC,EAAI,KACJC,GAAI,QACJC,GAAI,WACJC,GAAI,QACJC,GAAI,UACJC,GAAI,SACJC,GAAI,WACJC,GAAI,QACJC,GAAI,SACJC,GAAI,aACJC,GAAI,gBACJC,GAAI,OACJC,GAAI,UACJC,GAAI,cACJC,GAAI,iBACJC,GAAI,sBACJC,GAAI,sBACJC,GAAI,2BACJC,GAAI,QACJC,GAAI,YACJC,GAAI,SACJC,GAAI,WACJC,GAAI,IACJC,GAAI,2BACJC,MAAO,UAER,IAAIC,QACF,MAAO,WACP,MAAO,WACP,MAAO,YACP,MAAO,cACP,MAAO,aACP,MAAO,WACP,MAAO,YAET,IAAIC,UACF,IAAK,MAAO,YACZ,IAAK,MAAO,aACZ,IAAK,MAAO,UACZ,IAAK,MAAO,UACZ,IAAK,MAAO,QACZ,IAAK,MAAO,SACZ,IAAK,MAAO,SACZ,IAAK,MAAO,WACZ,IAAK,MAAO,cACZ,IAAK,MAAO,YACZ,IAAK,MAAO,aACZ,IAAK,MAAO,YAEd,SAASC,MAAKhG,EAAGiG,EAAGC,OACnB,GAAIC,KAAMnG,EAAI,GAAK,EAAI,CACvB,IAAIoG,GAAIpG,EAAImG,GACZ,IAAIE,KAAM,EAAGC,IAAM,EAAGC,EAAI,CAC1B,IAAIC,KAAM,EAAGC,IAAM,EAAGC,EAAI,CAC1B,IAAIC,GAAIxD,KAAKyD,MAAMR,EACnB,OAAMK,IAAMR,EAAG,CACdU,EAAIxD,KAAKyD,MAAMR,EACfG,GAAII,EAAIL,IAAMD,GACdK,GAAIC,EAAIF,IAAMD,GACd,IAAIJ,EAAIO,EAAK,MAAc,KAC3BP,GAAI,GAAKA,EAAIO,EACbN,KAAMC,GAAKA,KAAMC,CACjBC,KAAMC,GAAKA,KAAMC,EAElB,GAAGA,EAAIT,EAAG,CAAES,EAAID,GAAKF,GAAID,IACzB,GAAGI,EAAIT,EAAG,CAAES,EAAIF,GAAKD,GAAIF,IACzB,IAAIH,MAAO,OAAQ,EAAGC,IAAMI,EAAGG,EAC/B,IAAGA,IAAI,EAAG,KAAM,qBAAqBH,EAAE,IAAID,IAAI,IAAID,IAAI,IAAIK,EAAE,IAAID,IAAI,IAAID,GACzE,IAAIK,GAAI1D,KAAKyD,MAAMT,IAAMI,EAAEG,EAC3B,QAAQG,EAAGV,IAAII,EAAIM,EAAEH,EAAGA,GAEzB,QAASI,iBAAgBjE,EAAGiB,MAAQ,MAAO,GAAGjB,EAC9CP,IAAIyE,aAAeD,eACnB,IAAIE,iBAAkB,QAAUC,wBAChC,GAAIC,MAAO,kBAAmBC,KAAO,QAASC,KAAO,iBAAkBC,KAAO,WAAYC,KAAO,cACjG,SAASC,MAAK1E,GACb,GAAI2E,GAAK3E,EAAE,EAAE,GAAG,EAChB,IAAIrD,GAAIiI,KAAK5E,EAAE6E,QAAQ,IAAM,IAAGlI,EAAEG,QAAU6H,EAAG,MAAOhI,EACtDA,GAAIqD,EAAE8E,YAAY,GAAK,IAAGnI,EAAEG,QAAU6H,EAAG,MAAOhI,EAChD,OAAOqD,GAAE+E,cAAc,GAExB,QAASC,MAAKhF,GACb,GAAIrD,GAAIqD,EAAE6E,QAAQ,IAAInG,QAAQ2F,KAAK,MACnC,IAAG1H,EAAEG,QAAUkD,EAAE,EAAE,GAAG,IAAKrD,EAAIqD,EAAE8E,YAAY,EAC7C,OAAOnI,GAER,QAASsI,MAAKtI,GACb,IAAI,GAAIC,GAAI,EAAGA,GAAKD,EAAEG,SAAUF,EAAG,IAAID,EAAEI,WAAWH,GAAK,MAAU,IAAK,MAAOD,GAAE+B,QAAQ6F,KAAK,OAAO7F,QAAQ8F,KAAK,KAAK9F,QAAQ,IAAI,KAAKA,QAAQ+F,KAAK,QACrJ,OAAO9H,GAER,QAASiI,MAAKjI,GAGb,MAAOA,GAAEgC,QAAQ,MAAQ,EAAIhC,EAAE+B,QAAQ4F,KAAK,IAAI5F,QAAQ2F,KAAK,OAAS1H,EAEvE,MAAO,SAASwH,iBAAgBnE,EAAGiB,MAClC,GAAIiE,GAAI5E,KAAKyD,MAAMzD,KAAK6E,IAAI7E,KAAK8E,IAAIpF,IAAIM,KAAK+E,QAAS1I,CACvD,IAAGuI,IAAM,GAAKA,IAAM,EAAGvI,EAAIqD,EAAE8E,YAAY,GAAGI,OACvC,IAAG5E,KAAK8E,IAAIF,IAAM,EAAGvI,EAAI+H,KAAK1E,OAC9B,IAAGkF,IAAM,GAAIvI,EAAIqD,EAAE6E,QAAQ,IAAIrH,OAAO,EAAE,QACxCb,GAAIqI,KAAKhF,EACd,OAAO4E,MAAKK,KAAKtI,OAElB8C,KAAI6F,aAAenB,eACnB,SAASoB,aAAYvF,EAAGiB,MACvB,aAAcjB,IACb,IAAK,SAAU,MAAOA,EACtB,KAAK,UAAW,MAAOA,GAAI,OAAS,OACpC,KAAK,SAAU,OAAQA,EAAE,KAAOA,EAAIiE,gBAAgBjE,EAAGiB,MAAQkD,gBAAgBnE,EAAGiB,MAEnF,KAAM,IAAIuE,OAAM,wCAA0CxF,GAE3DP,IAAIgG,SAAWF,WACf,SAASG,WAAUC,KAAMhJ,GAAK,MAAO,GACrC,QAASiJ,iBAAgB5F,EAAEiB,KAAK4E,IAC/B,GAAG7F,EAAI,SAAWA,EAAI,EAAG,MAAO,KAChC,IAAI2F,MAAQ3F,EAAE,EAAI8F,KAAOxF,KAAKyD,MAAM,OAAS/D,EAAI2F,OAAQI,IAAI,CAC7D,IAAIC,QACJ,IAAIC,MAAK7C,EAAEuC,KAAMO,EAAEJ,KAAMK,EAAE,OAAOnG,EAAE2F,MAAMG,KAAK/E,EAAE,EAAEqF,EAAE,EAAEnG,EAAE,EAAEoG,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEvC,EAAE,EACzE,IAAG1D,KAAK8E,IAAIa,IAAIE,GAAK,KAAMF,IAAIE,EAAI,CACnCrF,SAAQG,MAAQ,KAAOA,KAAQA,QAC/B,IAAGA,KAAKuF,SAAUb,MAAQ,IAC1B,IAAGM,IAAIE,EAAI,KAAO,CACjBF,IAAIE,EAAI,CACR,MAAKL,MAAQ,MAAO,CAAEA,KAAO,IAAKH,MAEnC,GAAGA,OAAS,GAAI,CAACK,KAAOH,IAAM,KAAK,GAAG,KAAO,KAAK,EAAE,GAAKE,KAAI,MACxD,IAAGJ,OAAS,EAAG,CAACK,KAAOH,IAAM,KAAK,EAAE,KAAO,KAAK,EAAE,EAAIE,KAAI,MAC1D,CACJ,GAAGJ,KAAO,KAAMA,IAEhB,IAAI1F,GAAI,GAAIwG,MAAK,KAAK,EAAE,EACxBxG,GAAEyG,QAAQzG,EAAE0G,UAAYhB,KAAO,EAC/BK,OAAQ/F,EAAE2G,cAAe3G,EAAE4G,WAAW,EAAE5G,EAAE0G,UAC1CZ,KAAM9F,EAAE6G,QACR,IAAGnB,KAAO,GAAII,KAAOA,IAAM,GAAK,CAChC,IAAGF,GAAIE,IAAML,UAAUzF,EAAG+F,MAE3BC,IAAIlF,EAAIiF,KAAK,EAAIC,KAAIG,EAAIJ,KAAK,EAAIC,KAAIhG,EAAI+F,KAAK,EAC/CC,KAAIM,EAAIT,KAAO,EAAIA,MAAOxF,KAAKyD,MAAM+B,KAAO,GAC5CG,KAAIK,EAAIR,KAAO,EAAIA,MAAOxF,KAAKyD,MAAM+B,KAAO,GAC5CG,KAAII,EAAIP,IACRG,KAAIjC,EAAI+B,GACR,OAAOE,KAERxG,IAAImG,gBAAkBA,eAEtB,SAASmB,YAAWC,KAAMC,IAAKC,IAAKC,KACnC,GAAIxK,GAAE,GAAIyK,GAAG,EAAGC,GAAG,EAAGtG,EAAImG,IAAInG,EAAGkF,IAAKqB,KAAO,CAC7C,QAAON,MACN,IAAK,IACJjG,EAAImG,IAAInG,EAAI,GAEb,KAAK,KACL,OAAOkG,IAAInK,QACV,IAAK,GAAG,IAAK,GAAGmJ,IAAMlF,EAAI,GAAKuG,MAAO,CAAG,MACzC,SAASrB,IAAMlF,EAAI,GAAOuG,MAAO,CAAG,OACnC,KACF,KAAK,KACL,OAAOL,IAAInK,QACV,IAAK,GAAG,IAAK,GAAGmJ,IAAMiB,IAAId,CAAGkB,MAAOL,IAAInK,MAAQ,MAChD,KAAK,GAAG,MAAOoG,QAAOgE,IAAId,EAAE,GAAG,EAC/B,KAAK,GAAG,MAAOlD,QAAOgE,IAAId,EAAE,GAAG,EAC/B,SAAS,MAAOlD,QAAOgE,IAAId,EAAE,GAAG,GAC/B,KACF,KAAK,KACL,OAAOa,IAAInK,QACV,IAAK,GAAG,IAAK,GAAGmJ,IAAMiB,IAAIjH,CAAGqH,MAAOL,IAAInK,MAAQ,MAChD,KAAK,GAAG,MAAOmG,MAAKiE,IAAIlD,GAAG,EAC3B,SAAS,MAAOf,MAAKiE,IAAIlD,GAAG,GAC3B,KACF,KAAK,KACL,OAAOiD,IAAInK,QACV,IAAK,GAAG,IAAK,GAAGmJ,IAAM,GAAGiB,IAAIb,EAAE,IAAI,EAAIiB,MAAOL,IAAInK,MAAQ,MAC1D,SAAS,KAAM,oBAAsBmK,IACpC,KACF,KAAK,IACL,OAAOA,IAAInK,QACV,IAAK,GAAG,IAAK,GAAGmJ,IAAMiB,IAAIb,CAAGiB,MAAOL,IAAInK,MAAQ,MAChD,SAAS,KAAM,oBAAsBmK,IACpC,KACF,KAAK,IACL,OAAOA,IAAInK,QACV,IAAK,GAAG,IAAK,GAAGmJ,IAAMiB,IAAIZ,CAAGgB,MAAOL,IAAInK,MAAQ,MAChD,SAAS,KAAM,sBAAwBmK,IACtC,KACF,KAAK,KACL,GAAGC,IAAIf,IAAM,EAAG,OAAOc,KACtB,IAAK,IAAK,IAAK,KAAM,MAAOlH,MAAKmH,IAAIX,EAAGU,IAAInK,OAC5C,KAAK,KAAM,IAAK,MAAO,IAAK,QAE7B,OAAOmK,KACN,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,MAAO,IAAK,OAChD,GAAGE,KAAO,EAAGE,GAAKF,MAAQ,EAAI,IAAO,QAChCE,IAAKF,MAAQ,EAAI,GAAK,CAC3BC,IAAK9G,KAAKC,MAAM,IAAM2G,IAAIX,EAAIW,IAAIf,GAClC,IAAGiB,IAAM,GAAGC,GAAID,GAAK,CACrB,IAAGH,MAAQ,IAAK,MAAOG,MAAO,EAAI,IAAM,GAAGA,GAAGC,EAC9C1K,GAAIoD,KAAKqH,GAAG,EAAID,IAChB,IAAGF,MAAQ,KAAM,MAAOtK,GAAEa,OAAO,EAAE,EACnC,OAAO,IAAMb,EAAEa,OAAO,EAAEyJ,IAAInK,OAAO,EACpC,SAAS,KAAM,sBAAwBmK,IAExC,IAAK,IACL,OAAOA,KACN,IAAK,MAAO,IAAK,OAAQhB,IAAMiB,IAAI9D,EAAE,GAAG8D,IAAIb,CAAG,MAC/C,KAAK,MAAO,IAAK,OAAQJ,KAAOiB,IAAI9D,EAAE,GAAG8D,IAAIb,GAAG,GAAGa,IAAIZ,CAAG,MAC1D,KAAK,MAAO,IAAK,OAAQL,MAAQiB,IAAI9D,EAAE,GAAG8D,IAAIb,GAAG,GAAGa,IAAIZ,GAAG,GAAGhG,KAAKC,MAAM2G,IAAIX,EAAEW,IAAIf,EAAI,MACvF,SAAS,KAAM,uBAAyBc,IACvCK,KAAOL,IAAInK,SAAW,EAAI,EAAI,CAAG,MACnC,KAAK,KACJmJ,IAAMlF,CAAGuG,MAAO,EAElB,GAAGA,KAAO,EAAG,MAAOvH,MAAKkG,IAAKqB,UAAY,OAAO,GAGlD,QAASC,UAAStI,GACjB,GAAGA,EAAEnC,QAAU,EAAG,MAAOmC,EACzB,IAAIuI,GAAKvI,EAAEnC,OAAS,EAAIH,EAAIsC,EAAEzB,OAAO,EAAEgK,EACvC,MAAMA,GAAGvI,EAAEnC,OAAQ0K,GAAG,EAAG7K,IAAIA,EAAEG,OAAS,EAAI,IAAM,IAAMmC,EAAEzB,OAAOgK,EAAE,EACnE,OAAO7K,GAER,GAAI8K,WAAY,QAAUC,kBAC1B,GAAIC,MAAO,IACX,SAASC,eAAcZ,KAAMC,IAAKC,KACjC,GAAIW,MAAOZ,IAAIvI,QAAQiJ,KAAK,IAAKG,IAAMb,IAAInK,OAAS+K,KAAK/K,MACzD,OAAO2K,WAAUT,KAAMa,KAAMX,IAAM5G,KAAKI,IAAI,GAAG,EAAEoH,MAAQlI,KAAK,IAAIkI,KAEnE,QAASC,cAAaf,KAAMC,IAAKC,KAChC,GAAIc,KAAMf,IAAInK,OAAS,CACvB,OAAMmK,IAAIlK,WAAWiL,IAAI,KAAO,KAAMA,GACtC,OAAOP,WAAUT,KAAMC,IAAIzJ,OAAO,EAAEwK,KAAMd,IAAM5G,KAAKI,IAAI,GAAG,GAAGuG,IAAInK,OAAOkL,OAE3E,QAASC,eAAchB,IAAKC,KAC3B,GAAIvK,EACJ,IAAIqL,KAAMf,IAAItI,QAAQ,KAAOsI,IAAItI,QAAQ,KAAO,CAChD,IAAGsI,IAAIiB,MAAM,eAAgB,CAC5B,GAAIC,QAASlB,IAAItI,QAAQ,IAAM,IAAGwJ,UAAY,EAAGA,OAAOlB,IAAItI,QAAQ,IACpE,IAAIyJ,IAAK9H,KAAKyD,MAAMzD,KAAK6E,IAAI7E,KAAK8E,IAAI8B,MAAM5G,KAAK+E,QAAQ8C,MACzD,IAAGC,GAAK,EAAGA,IAAMD,MACjBxL,IAAKuK,IAAI5G,KAAKI,IAAI,GAAG0H,KAAKtD,YAAYkD,IAAI,GAAGG,OAAOC,IAAID,OACxD,IAAGxL,EAAEgC,QAAQ,QAAU,EAAG,CACzB,GAAI0J,OAAQ/H,KAAKyD,MAAMzD,KAAK6E,IAAI7E,KAAK8E,IAAI8B,MAAM5G,KAAK+E,OACpD,IAAG1I,EAAEgC,QAAQ,QAAU,EAAGhC,EAAIA,EAAE,GAAK,IAAMA,EAAEa,OAAO,GAAK,MAAQ6K,MAAQ1L,EAAEG,OAAOsL,QAC7EzL,IAAK,MAAQ0L,MAAQD,GAC1B,OAAMzL,EAAEa,OAAO,EAAE,KAAO,KAAM,CAC7Bb,EAAIA,EAAE,GAAKA,EAAEa,OAAO,EAAE2K,QAAU,IAAMxL,EAAEa,OAAO,EAAE2K,OACjDxL,GAAIA,EAAE+B,QAAQ,aAAa,MAAMA,QAAQ,QAAQ,MAElD/B,EAAIA,EAAE+B,QAAQ,MAAM,KAErB/B,EAAIA,EAAE+B,QAAQ,2BAA2B,SAAS4J,GAAGC,GAAGC,GAAGC,IAAM,MAAOF,IAAKC,GAAKC,GAAGjL,OAAO,GAAG2K,OAAOC,IAAID,QAAU,IAAMM,GAAGjL,OAAO4K,IAAM,UACpIzL,GAAIuK,IAAInC,cAAciD,IAC7B,IAAGf,IAAIiB,MAAM,WAAavL,EAAEuL,MAAM,YAAavL,EAAIA,EAAEa,OAAO,EAAEb,EAAEG,OAAO,GAAK,IAAMH,EAAEA,EAAEG,OAAO,EAC7F,IAAGmK,IAAIiB,MAAM,QAAUvL,EAAEuL,MAAM,OAAQvL,EAAIA,EAAE+B,QAAQ,MAAM,IAC3D,OAAO/B,GAAE+B,QAAQ,IAAI,KAEtB,GAAIgK,OAAQ,wBACZ,SAASC,cAAaC,EAAGC,KAAMC,MAC9B,GAAIC,KAAMC,SAASJ,EAAE,IAAKK,GAAK3I,KAAKC,MAAMsI,KAAOE,KAAMG,KAAO5I,KAAKyD,MAAMkF,GAAGF,IAC5E,IAAII,KAAOF,GAAKC,KAAKH,IAAMK,IAAML,GACjC,OAAOD,OAAQI,OAAS,EAAI,GAAK,GAAGA,MAAQ,KAAOC,MAAQ,EAAIvJ,KAAK,IAAKgJ,EAAE,GAAG9L,OAAS,EAAI8L,EAAE,GAAG9L,QAAUqD,KAAKgJ,IAAIP,EAAE,GAAG9L,QAAU8L,EAAE,GAAK,IAAMA,EAAE,GAAK7I,KAAKqJ,IAAIR,EAAE,GAAG9L,SAErK,QAASuM,cAAaT,EAAGC,KAAMC,MAC9B,MAAOA,OAAQD,OAAS,EAAI,GAAK,GAAGA,MAAQjJ,KAAK,IAAKgJ,EAAE,GAAG9L,OAAS,EAAI8L,EAAE,GAAG9L,QAE9E,GAAIwM,MAAO,aACX,IAAIC,YAAa,UACjB,IAAIC,OAAQ,qBACZ,SAASC,OAAMC,KACd,GAAI/M,GAAI,GAAIgN,EACZ,KAAI,GAAI/M,GAAI,EAAGA,GAAK8M,IAAI5M,SAAUF,EAAG,OAAQ+M,GAAGD,IAAI3M,WAAWH,IAC9D,IAAK,IAAI,KACT,KAAK,IAAID,GAAI,GAAK,MAClB,KAAK,IAAIA,GAAI,GAAK,MAClB,SAASA,GAAIS,OAAOC,aAAasM,IAElC,MAAOhN,GAER,QAASiN,KAAI1C,IAAKjH,GAAK,GAAI4J,IAAKvJ,KAAKI,IAAI,GAAGT,EAAI,OAAO,GAAIK,KAAKC,MAAM2G,IAAM2C,IAAIA,GAChF,QAASC,KAAI5C,IAAKjH,GAAK,MAAOK,MAAKC,OAAO2G,IAAI5G,KAAKyD,MAAMmD,MAAM5G,KAAKI,IAAI,GAAGT,IAC3E,QAAS8J,KAAI7C,KAAO,GAAGA,IAAM,YAAcA,KAAO,WAAY,MAAO,IAAIA,KAAO,EAAKA,IAAI,EAAMA,IAAI,EAAE,EAAK,OAAO,GAAG5G,KAAKyD,MAAMmD,KAC/H,QAAS8C,eAAchD,KAAMC,IAAKC,KACjC,GAAGF,KAAKjK,WAAW,KAAO,KAAOkK,IAAIiB,MAAMqB,YAAa,CACvD,GAAIU,MAAOhD,IAAIvI,QAAQ,OAAO,IAAIA,QAAQ,MAAM,IAAIA,QAAQ,KAAK,GACjE,IAAGwI,KAAO,EAAG,MAAO8C,eAAc,IAAKC,KAAM/C,IAC7C,OAAO,IAAM8C,cAAc,IAAKC,MAAO/C,KAAO,IAE/C,GAAGD,IAAIlK,WAAWkK,IAAInK,OAAS,KAAO,GAAI,MAAOiL,cAAaf,KAAMC,IAAKC,IACzE,IAAGD,IAAItI,QAAQ,QAAU,EAAG,MAAOiJ,eAAcZ,KAAMC,IAAKC,IAC5D,IAAGD,IAAItI,QAAQ,QAAU,EAAG,MAAOsJ,eAAchB,IAAKC,IACtD,IAAGD,IAAIlK,WAAW,KAAO,GAAI,MAAO,IAAIiN,cAAchD,KAAKC,IAAIzJ,OAAOyJ,IAAI,IAAI,IAAI,EAAE,GAAGC,IACvF,IAAIvK,GAAGuN,EACP,IAAItB,GAAGuB,GAAIC,GAAIvB,KAAOvI,KAAK8E,IAAI8B,KAAM4B,KAAO5B,IAAM,EAAI,IAAM,EAC5D,IAAGD,IAAIiB,MAAM,SAAU,MAAOY,MAAOnI,MAAMkI,KAAK5B,IAAInK,OACpD,IAAGmK,IAAIiB,MAAM,WAAY,CACxBvL,EAAIgE,MAAMuG,IAAI,EAAI,IAAGvK,IAAM,IAAKA,EAAI,EACpC,OAAOA,GAAEG,OAASmK,IAAInK,OAASH,EAAI8M,MAAMxC,IAAIzJ,OAAO,EAAEyJ,IAAInK,OAAOH,EAAEG,SAAWH,EAE/E,IAAIiM,EAAI3B,IAAIiB,MAAMQ,UAAY,KAAM,MAAOC,cAAaC,EAAGC,KAAMC,KACjE,IAAG7B,IAAIiB,MAAM,YAAc,KAAM,MAAOY,MAAOnI,MAAMkI,KAAK5B,IAAInK,OAASmK,IAAItI,QAAQ,KACnF,KAAIiK,EAAI3B,IAAIiB,MAAMoB,SAAW,KAAM,CAClC3M,EAAIiN,IAAI1C,IAAK0B,EAAE,GAAG9L,QAAQ4B,QAAQ,aAAa,MAAMkK,EAAE,IAAIlK,QAAQ,MAAM,IAAIkK,EAAE,IAAIlK,QAAQ,WAAW,SAAS4J,GAAIC,IAAM,MAAO,IAAMA,GAAK3I,KAAK,IAAKgJ,EAAE,GAAG9L,OAAOyL,GAAGzL,SACpK,OAAOmK,KAAItI,QAAQ,SAAW,EAAIhC,EAAIA,EAAE+B,QAAQ,OAAO,KAExDuI,IAAMA,IAAIvI,QAAQ,YAAa,KAC/B,KAAIkK,EAAI3B,IAAIiB,MAAM,mBAAqB,KAAM,CAC5C,MAAOY,MAAOc,IAAIf,KAAMD,EAAE,GAAG9L,QAAQ4B,QAAQ,kBAAkB,OAAOA,QAAQ,YAAY,OAAOA,QAAQ,OAAOkK,EAAE,GAAG9L,OAAO,KAAK,KAElI,IAAI8L,EAAI3B,IAAIiB,MAAM,mBAAqB,KAAM,MAAOY,MAAOvB,SAAS5G,MAAMkI,KAAK,GAC/E,KAAID,EAAI3B,IAAIiB,MAAM,wBAA0B,KAAM,CACjD,MAAOhB,KAAM,EAAI,IAAM8C,cAAchD,KAAMC,KAAMC,KAAOK,SAAS,GAAIjH,KAAKyD,MAAMmD,MAAS,IAAMnH,KAAK+J,IAAI5C,IAAK0B,EAAE,GAAG9L,QAAQ8L,EAAE,GAAG9L,QAEhI,IAAI8L,EAAI3B,IAAIiB,MAAM,eAAiB,KAAM,MAAO8B,eAAchD,KAAKC,IAAIvI,QAAQ,SAAS,IAAIwI,IAC5F,KAAI0B,EAAI3B,IAAIiB,MAAM,8BAAgC,KAAM,CACvDvL,EAAIgD,QAAQqK,cAAchD,KAAMC,IAAIvI,QAAQ,SAAS,IAAKwI,KAC1DiD,IAAK,CACL,OAAOxK,SAAQA,QAAQsH,IAAIvI,QAAQ,MAAM,KAAKA,QAAQ,QAAQ,SAASvB,GAAG,MAAOgN,IAAGxN,EAAEG,OAAOH,EAAEwN,MAAMhN,IAAI,IAAI,IAAI,MAElH,GAAG8J,IAAIiB,MAAMsB,SAAW,KAAM,CAC7B7M,EAAIqN,cAAchD,KAAM,aAAcE,IACtC,OAAO,IAAMvK,EAAEa,OAAO,EAAE,GAAK,KAAOb,EAAEa,OAAO,EAAG,GAAK,IAAMb,EAAEa,OAAO,GAErE,GAAI6M,IAAK,EACT,KAAIzB,EAAI3B,IAAIiB,MAAM,kCAAoC,KAAM,CAC3DiC,GAAK7J,KAAKgK,IAAI1B,EAAE,GAAG9L,OAAO,EAC1BsN,IAAKjH,KAAK0F,KAAMvI,KAAKI,IAAI,GAAGyJ,IAAI,EAAG,MACnCxN,GAAI,GAAKmM,IACTuB,IAAK5C,UAAU,IAAKmB,EAAE,GAAIwB,GAAG,GAC7B,IAAGC,GAAGA,GAAGvN,OAAO,IAAM,IAAKuN,GAAKA,GAAG7M,OAAO,EAAE6M,GAAGvN,OAAO,GAAK,GAC3DH,IAAK0N,GAAKzB,EAAE,GAAK,IAAMA,EAAE,EACzByB,IAAKjK,MAAMgK,GAAG,GAAGD,GACjB,IAAGE,GAAGvN,OAAS8L,EAAE,GAAG9L,OAAQuN,GAAKZ,MAAMb,EAAE,GAAGpL,OAAOoL,EAAE,GAAG9L,OAAOuN,GAAGvN,SAAWuN,EAC7E1N,IAAK0N,EACL,OAAO1N,GAER,IAAIiM,EAAI3B,IAAIiB,MAAM,oCAAsC,KAAM,CAC7DiC,GAAK7J,KAAKgK,IAAIhK,KAAKiK,IAAI3B,EAAE,GAAG9L,OAAQ8L,EAAE,GAAG9L,QAAQ,EACjDsN,IAAKjH,KAAK0F,KAAMvI,KAAKI,IAAI,GAAGyJ,IAAI,EAAG,KACnC,OAAOrB,OAAQsB,GAAG,KAAKA,GAAG,GAAK,GAAK,MAAQ,KAAOA,GAAG,GAAKjK,KAAKiK,GAAG,GAAGD,IAAMvB,EAAE,GAAK,IAAMA,EAAE,GAAKxI,MAAMgK,GAAG,GAAGD,IAAKvK,KAAK,IAAK,EAAEuK,GAAG,EAAIvB,EAAE,GAAG9L,OAAS8L,EAAE,GAAG9L,SAExJ,IAAI8L,EAAI3B,IAAIiB,MAAM,eAAiB,KAAM,CACxCvL,EAAIgE,MAAMuG,IAAK,EACf,IAAGD,IAAInK,QAAUH,EAAEG,OAAQ,MAAOH,EAClC,OAAO8M,OAAMxC,IAAIzJ,OAAO,EAAEyJ,IAAInK,OAAOH,EAAEG,SAAWH,EAElD,IAAIiM,EAAI3B,IAAIiB,MAAM,0BAA4B,KAAM,CACpDvL,EAAI,GAAKuK,IAAIrC,QAAQvE,KAAKgK,IAAI1B,EAAE,GAAG9L,OAAO,KAAK4B,QAAQ,YAAY,KACnEyL,IAAKxN,EAAEgC,QAAQ,IACf,IAAI6L,MAAOvD,IAAItI,QAAQ,KAAOwL,GAAIM,KAAOxD,IAAInK,OAASH,EAAEG,OAAS0N,IACjE,OAAOf,OAAMxC,IAAIzJ,OAAO,EAAEgN,MAAQ7N,EAAIsK,IAAIzJ,OAAOyJ,IAAInK,OAAO2N,OAE7D,IAAI7B,EAAI3B,IAAIiB,MAAM,yBAA2B,KAAM,CAClDiC,GAAKL,IAAI5C,IAAK0B,EAAE,GAAG9L,OACnB,OAAOoK,KAAM,EAAI,IAAM8C,cAAchD,KAAMC,KAAMC,KAAOK,SAASwC,IAAI7C,MAAMxI,QAAQ,aAAa,OAAOA,QAAQ,QAAQ,SAAS4J,IAAM,MAAO,OAASA,GAAGxL,OAAS,EAAIiD,KAAK,EAAE,EAAEuI,GAAGxL,QAAU,IAAMwL,KAAS,IAAMvI,KAAKoK,GAAGvB,EAAE,GAAG9L,QAE/N,OAAOmK,KACN,IAAK,QAAS,GAAI9J,GAAIoK,SAAS5G,MAAMkI,KAAK,GAAK,OAAO1L,KAAM,IAAM2L,KAAO3L,EAAI,EAC7E,UAED,KAAM,IAAIqI,OAAM,uBAAyByB,IAAM,KAEhD,QAASyD,eAAc1D,KAAMC,IAAKC,KACjC,GAAIc,KAAMf,IAAInK,OAAS,CACvB,OAAMmK,IAAIlK,WAAWiL,IAAI,KAAO,KAAMA,GACtC,OAAOP,WAAUT,KAAMC,IAAIzJ,OAAO,EAAEwK,KAAMd,IAAM5G,KAAKI,IAAI,GAAG,GAAGuG,IAAInK,OAAOkL,OAE3E,QAAS2C,gBAAe3D,KAAMC,IAAKC,KAClC,GAAIW,MAAOZ,IAAIvI,QAAQiJ,KAAK,IAAKG,IAAMb,IAAInK,OAAS+K,KAAK/K,MACzD,OAAO2K,WAAUT,KAAMa,KAAMX,IAAM5G,KAAKI,IAAI,GAAG,EAAEoH,MAAQlI,KAAK,IAAIkI,KAEnE,QAAS8C,gBAAe3D,IAAKC,KAC5B,GAAIvK,EACJ,IAAIqL,KAAMf,IAAItI,QAAQ,KAAOsI,IAAItI,QAAQ,KAAO,CAChD,IAAGsI,IAAIiB,MAAM,eAAgB,CAC5B,GAAIC,QAASlB,IAAItI,QAAQ,IAAM,IAAGwJ,UAAY,EAAGA,OAAOlB,IAAItI,QAAQ,IACpE,IAAIyJ,IAAK9H,KAAKyD,MAAMzD,KAAK6E,IAAI7E,KAAK8E,IAAI8B,MAAM5G,KAAK+E,QAAQ8C,MACzD,IAAGC,GAAK,EAAGA,IAAMD,MACjBxL,IAAKuK,IAAI5G,KAAKI,IAAI,GAAG0H,KAAKtD,YAAYkD,IAAI,GAAGG,OAAOC,IAAID,OACxD,KAAIxL,EAAEuL,MAAM,QAAS,CACpB,GAAIG,OAAQ/H,KAAKyD,MAAMzD,KAAK6E,IAAI7E,KAAK8E,IAAI8B,MAAM5G,KAAK+E,OACpD,IAAG1I,EAAEgC,QAAQ,QAAU,EAAGhC,EAAIA,EAAE,GAAK,IAAMA,EAAEa,OAAO,GAAK,MAAQ6K,MAAQ1L,EAAEG,OAAOsL,QAC7EzL,IAAK,MAAQ0L,MAAQD,GAC1BzL,GAAIA,EAAE+B,QAAQ,MAAM,KAErB/B,EAAIA,EAAE+B,QAAQ,2BAA2B,SAAS4J,GAAGC,GAAGC,GAAGC,IAAM,MAAOF,IAAKC,GAAKC,GAAGjL,OAAO,GAAG2K,OAAOC,IAAID,QAAU,IAAMM,GAAGjL,OAAO4K,IAAM,UACpIzL,GAAIuK,IAAInC,cAAciD,IAC7B,IAAGf,IAAIiB,MAAM,WAAavL,EAAEuL,MAAM,YAAavL,EAAIA,EAAEa,OAAO,EAAEb,EAAEG,OAAO,GAAK,IAAMH,EAAEA,EAAEG,OAAO,EAC7F,IAAGmK,IAAIiB,MAAM,QAAUvL,EAAEuL,MAAM,OAAQvL,EAAIA,EAAE+B,QAAQ,MAAM,IAC3D,OAAO/B,GAAE+B,QAAQ,IAAI,KAEtB,QAASmM,eAAc7D,KAAMC,IAAKC,KACjC,GAAGF,KAAKjK,WAAW,KAAO,KAAOkK,IAAIiB,MAAMqB,YAAa,CACvD,GAAIU,MAAOhD,IAAIvI,QAAQ,OAAO,IAAIA,QAAQ,MAAM,IAAIA,QAAQ,KAAK,GACjE,IAAGwI,KAAO,EAAG,MAAO2D,eAAc,IAAKZ,KAAM/C,IAC7C,OAAO,IAAM2D,cAAc,IAAKZ,MAAO/C,KAAO,IAE/C,GAAGD,IAAIlK,WAAWkK,IAAInK,OAAS,KAAO,GAAI,MAAO4N,eAAc1D,KAAMC,IAAKC,IAC1E,IAAGD,IAAItI,QAAQ,QAAU,EAAG,MAAOgM,gBAAe3D,KAAMC,IAAKC,IAC7D,IAAGD,IAAItI,QAAQ,QAAU,EAAG,MAAOiM,gBAAe3D,IAAKC,IACvD,IAAGD,IAAIlK,WAAW,KAAO,GAAI,MAAO,IAAI8N,cAAc7D,KAAKC,IAAIzJ,OAAOyJ,IAAI,IAAI,IAAI,EAAE,GAAGC,IACvF,IAAIvK,EACJ,IAAIiM,GAAGuB,GAAIC,GAAIvB,KAAOvI,KAAK8E,IAAI8B,KAAM4B,KAAO5B,IAAM,EAAI,IAAM,EAC5D,IAAGD,IAAIiB,MAAM,SAAU,MAAOY,MAAO/I,KAAK8I,KAAK5B,IAAInK,OACnD,IAAGmK,IAAIiB,MAAM,WAAY,CACxBvL,EAAK,GAAGuK,GAAM,IAAGA,MAAQ,EAAGvK,EAAI,EAChC,OAAOA,GAAEG,OAASmK,IAAInK,OAASH,EAAI8M,MAAMxC,IAAIzJ,OAAO,EAAEyJ,IAAInK,OAAOH,EAAEG,SAAWH,EAE/E,IAAIiM,EAAI3B,IAAIiB,MAAMQ,UAAY,KAAM,MAAOW,cAAaT,EAAGC,KAAMC,KACjE,IAAG7B,IAAIiB,MAAM,YAAc,KAAM,MAAOY,MAAO/I,KAAK8I,KAAK5B,IAAInK,OAASmK,IAAItI,QAAQ,KAClF,KAAIiK,EAAI3B,IAAIiB,MAAMoB,SAAW,KAAM,CAClC3M,GAAK,GAAGuK,KAAKxI,QAAQ,aAAa,MAAMkK,EAAE,IAAIlK,QAAQ,MAAM,IAAIkK,EAAE,IAAIlK,QAAQ,WAAW,SAAS4J,GAAIC,IAAM,MAAO,IAAMA,GAAK3I,KAAK,IAAKgJ,EAAE,GAAG9L,OAAOyL,GAAGzL,SACvJ,OAAOmK,KAAItI,QAAQ,SAAW,EAAIhC,EAAIA,EAAE+B,QAAQ,OAAO,KAExDuI,IAAMA,IAAIvI,QAAQ,YAAa,KAC/B,KAAIkK,EAAI3B,IAAIiB,MAAM,mBAAqB,KAAM,CAC5C,MAAOY,OAAQ,GAAGD,MAAMnK,QAAQ,kBAAkB,OAAOA,QAAQ,YAAY,OAAOA,QAAQ,OAAOkK,EAAE,GAAG9L,OAAO,KAAK,KAErH,IAAI8L,EAAI3B,IAAIiB,MAAM,mBAAqB,KAAM,MAAOY,MAAOvB,SAAU,GAAGsB,KACxE,KAAID,EAAI3B,IAAIiB,MAAM,wBAA0B,KAAM,CACjD,MAAOhB,KAAM,EAAI,IAAM2D,cAAc7D,KAAMC,KAAMC,KAAOK,SAAU,GAAGL,KAAQ,IAAMtH,KAAK,IAAIgJ,EAAE,GAAG9L,QAElG,IAAI8L,EAAI3B,IAAIiB,MAAM,eAAiB,KAAM,MAAO2C,eAAc7D,KAAKC,IAAIvI,QAAQ,SAAS,IAAIwI,IAC5F,KAAI0B,EAAI3B,IAAIiB,MAAM,8BAAgC,KAAM,CACvDvL,EAAIgD,QAAQkL,cAAc7D,KAAMC,IAAIvI,QAAQ,SAAS,IAAKwI,KAC1DiD,IAAK,CACL,OAAOxK,SAAQA,QAAQsH,IAAIvI,QAAQ,MAAM,KAAKA,QAAQ,QAAQ,SAASvB,GAAG,MAAOgN,IAAGxN,EAAEG,OAAOH,EAAEwN,MAAMhN,IAAI,IAAI,IAAI,MAElH,GAAG8J,IAAIiB,MAAMsB,SAAW,KAAM,CAC7B7M,EAAIkO,cAAc7D,KAAM,aAAcE,IACtC,OAAO,IAAMvK,EAAEa,OAAO,EAAE,GAAK,KAAOb,EAAEa,OAAO,EAAG,GAAK,IAAMb,EAAEa,OAAO,GAErE,GAAI6M,IAAK,EACT,KAAIzB,EAAI3B,IAAIiB,MAAM,kCAAoC,KAAM,CAC3DiC,GAAK7J,KAAKgK,IAAI1B,EAAE,GAAG9L,OAAO,EAC1BsN,IAAKjH,KAAK0F,KAAMvI,KAAKI,IAAI,GAAGyJ,IAAI,EAAG,MACnCxN,GAAI,GAAKmM,IACTuB,IAAK5C,UAAU,IAAKmB,EAAE,GAAIwB,GAAG,GAC7B,IAAGC,GAAGA,GAAGvN,OAAO,IAAM,IAAKuN,GAAKA,GAAG7M,OAAO,EAAE6M,GAAGvN,OAAO,GAAK,GAC3DH,IAAK0N,GAAKzB,EAAE,GAAK,IAAMA,EAAE,EACzByB,IAAKjK,MAAMgK,GAAG,GAAGD,GACjB,IAAGE,GAAGvN,OAAS8L,EAAE,GAAG9L,OAAQuN,GAAKZ,MAAMb,EAAE,GAAGpL,OAAOoL,EAAE,GAAG9L,OAAOuN,GAAGvN,SAAWuN,EAC7E1N,IAAK0N,EACL,OAAO1N,GAER,IAAIiM,EAAI3B,IAAIiB,MAAM,oCAAsC,KAAM,CAC7DiC,GAAK7J,KAAKgK,IAAIhK,KAAKiK,IAAI3B,EAAE,GAAG9L,OAAQ8L,EAAE,GAAG9L,QAAQ,EACjDsN,IAAKjH,KAAK0F,KAAMvI,KAAKI,IAAI,GAAGyJ,IAAI,EAAG,KACnC,OAAOrB,OAAQsB,GAAG,KAAKA,GAAG,GAAK,GAAK,MAAQ,KAAOA,GAAG,GAAKjK,KAAKiK,GAAG,GAAGD,IAAMvB,EAAE,GAAK,IAAMA,EAAE,GAAKxI,MAAMgK,GAAG,GAAGD,IAAKvK,KAAK,IAAK,EAAEuK,GAAG,EAAIvB,EAAE,GAAG9L,OAAS8L,EAAE,GAAG9L,SAExJ,IAAI8L,EAAI3B,IAAIiB,MAAM,eAAiB,KAAM,CACxCvL,EAAI,GAAKuK,GACT,IAAGD,IAAInK,QAAUH,EAAEG,OAAQ,MAAOH,EAClC,OAAO8M,OAAMxC,IAAIzJ,OAAO,EAAEyJ,IAAInK,OAAOH,EAAEG,SAAWH,EAEnD,IAAIiM,EAAI3B,IAAIiB,MAAM,yBAA2B,KAAM,CAClDvL,EAAI,GAAKuK,IAAIrC,QAAQvE,KAAKgK,IAAI1B,EAAE,GAAG9L,OAAO,KAAK4B,QAAQ,YAAY,KACnEyL,IAAKxN,EAAEgC,QAAQ,IACf,IAAI6L,MAAOvD,IAAItI,QAAQ,KAAOwL,GAAIM,KAAOxD,IAAInK,OAASH,EAAEG,OAAS0N,IACjE,OAAOf,OAAMxC,IAAIzJ,OAAO,EAAEgN,MAAQ7N,EAAIsK,IAAIzJ,OAAOyJ,IAAInK,OAAO2N,OAE7D,IAAI7B,EAAI3B,IAAIiB,MAAM,yBAA2B,KAAM,CAClD,MAAOhB,KAAM,EAAI,IAAM2D,cAAc7D,KAAMC,KAAMC,KAAOK,SAAS,GAAGL,KAAKxI,QAAQ,aAAa,OAAOA,QAAQ,QAAQ,SAAS4J,IAAM,MAAO,OAASA,GAAGxL,OAAS,EAAIiD,KAAK,EAAE,EAAEuI,GAAGxL,QAAU,IAAMwL,KAAS,IAAMvI,KAAK,EAAE6I,EAAE,GAAG9L,QAE5N,OAAOmK,KACN,IAAK,QAAS,GAAI9J,GAAIoK,SAAS,GAAGsB,KAAO,OAAO1L,KAAM,IAAM2L,KAAO3L,EAAI,EACvE,UAED,KAAM,IAAIqI,OAAM,uBAAyByB,IAAM,KAEhD,MAAO,SAASQ,WAAUT,KAAMC,IAAKC,KACpC,OAAQA,IAAI,KAAOA,IAAM2D,cAAc7D,KAAMC,IAAKC,KAAO8C,cAAchD,KAAMC,IAAKC,QAEnF,SAAS4D,WAAU7D,KAClB,GAAIhB,OACJ,IAAI8E,QAAS,MAAOpB,EACpB,KAAI,GAAI/M,GAAI,EAAG4K,EAAI,EAAG5K,EAAIqK,IAAInK,SAAUF,EAAG,OAAQ+M,GAAG1C,IAAIlK,WAAWH,IACpE,IAAK,IACJmO,QAAUA,MAAQ,MACnB,KAAK,IAAI,IAAK,IAAI,IAAK,MACpBnO,CAAG,MACN,KAAK,IACJqJ,IAAIA,IAAInJ,QAAUmK,IAAIzJ,OAAOgK,EAAE5K,EAAE4K,EACjCA,GAAI5K,EAAE,EAERqJ,IAAIA,IAAInJ,QAAUmK,IAAIzJ,OAAOgK,EAC7B,IAAGuD,SAAW,KAAM,KAAM,IAAIvF,OAAM,WAAayB,IAAM,yBACvD,OAAOhB,KAERxG,IAAIuL,OAASF,SACb,IAAIG,SAAU,eACd,SAASC,UAASjE,IAAKjH,EAAGiB,KAAMkK,MAC/B,GAAIlF,QAAUtJ,EAAI,GAAIC,EAAI,EAAGiD,EAAI,GAAIuL,IAAI,IAAKpH,EAAGqH,GAAI7D,EAAGmC,EACxD,IAAI2B,IAAG,GAEP,OAAM1O,EAAIqK,IAAInK,OAAQ,CACrB,OAAQ+C,EAAIoH,IAAIrK,IACf,IAAK,IACJ,IAAIgE,UAAUqG,IAAKrK,GAAI,KAAM,IAAI4I,OAAM,0BAA4B3F,EAAI,OAAQoH,IAC/EhB,KAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAE,UAAYpD,IAAG,CAAG,MAC/C,KAAK,IACJ,IAAID,EAAE,IAAIgN,GAAG1C,IAAIlK,aAAaH,MAAQ,IAAMA,EAAIqK,IAAInK,QAASH,GAAKS,OAAOC,aAAasM,GACtF1D,KAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAErD,KAAMC,CAAG,MACtC,KAAK,KAAM,GAAI+H,GAAIsC,MAAMrK,GAAIsD,EAAKyE,IAAM,KAAOA,IAAM,IAAOA,EAAI,GAC/DsB,KAAIA,IAAInJ,SAAWoD,EAAEA,EAAGF,EAAE2E,KAAM/H,CAAG,MACpC,KAAK,IAAKqJ,IAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAE,IAAMpD,IAAG,CAAG,MAClD,KAAK,IACJqJ,IAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAEA,KAAMpD,CAAG,MACtC,KAAK,IAAK,IAAK,IACd,GAAGqK,IAAIrK,EAAE,KAAO,KAAOqK,IAAIrK,EAAE,KAAO,IAAK,CACnC,GAAGyO,IAAI,KAAM,CAAEA,GAAGzF,gBAAgB5F,EAAGiB,KAAMgG,IAAIrK,EAAE,KAAO,IAAM,IAAGyO,IAAI,KAAM,MAAO,GACvFpF,IAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAEiH,IAAIzJ,OAAOZ,EAAE,GAAKwO,KAAMvL,CAAGjD,IAAG,CAAG,OAG/D,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtDiD,EAAIA,EAAE0L,aAEP,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChE,GAAGvL,EAAI,EAAG,MAAO,EACjB,IAAGqL,IAAI,KAAM,CAAEA,GAAGzF,gBAAgB5F,EAAGiB,KAAO,IAAGoK,IAAI,KAAM,MAAO,GAChE1O,EAAIkD,CAAG,SAAQjD,EAAEqK,IAAInK,QAAUmK,IAAIrK,GAAG2O,gBAAkB1L,EAAGlD,GAAGkD,CAC9D,IAAGA,IAAM,KAAOuL,IAAIG,gBAAkB,IAAK1L,EAAI,GAC/C,IAAGA,IAAM,IAAKA,EAAIyL,EAClBrF,KAAIA,IAAInJ,SAAWoD,EAAEL,EAAGG,EAAErD,EAAIyO,KAAMvL,CAAG,MACxC,KAAK,IACJmE,GAAG9D,EAAEL,EAAGG,EAAE,IACV,IAAGqL,IAAI,KAAMA,GAAGzF,gBAAgB5F,EAAGiB,KAC/B,IAAGgG,IAAIzJ,OAAOZ,EAAG,KAAO,MAAO,CAAE,GAAGyO,IAAI,KAAMrH,EAAEhE,EAAIqL,GAAGhF,GAAK,GAAK,IAAM,GAAKrC,GAAE9D,EAAI,GAAKoL,IAAG,GAAI1O,IAAG,MAC5F,IAAGqK,IAAIzJ,OAAOZ,EAAE,KAAO,QAAS,CAAE,GAAGyO,IAAI,KAAMrH,EAAEhE,EAAIqL,GAAGhF,GAAK,GAAK,KAAO,IAAMrC,GAAE9D,EAAI,GAAKtD,IAAG,CAAG0O,IAAG,QACvG,CAAEtH,EAAE9D,EAAI,MAAOtD,EACpB,GAAGyO,IAAI,MAAQrH,EAAE9D,IAAM,IAAK,MAAO,EACnC+F,KAAIA,IAAInJ,QAAUkH,CAAGoH,KAAMvL,CAAG,MAC/B,KAAK,IACJlD,EAAIkD,CACJ,OAAMoH,IAAIrK,OAAS,KAAOA,EAAIqK,IAAInK,OAAQH,GAAKsK,IAAIrK,EACnD,IAAGD,EAAEa,QAAQ,KAAO,IAAK,KAAM,4BAA8Bb,EAAI,GACjE,IAAGA,EAAEuL,MAAM+C,SAAU,CACpB,GAAGI,IAAI,KAAM,CAAEA,GAAGzF,gBAAgB5F,EAAGiB,KAAO,IAAGoK,IAAI,KAAM,MAAO,GAChEpF,IAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAErD,EAAE4O,mBACxB,CAAE5O,EAAE,GACX,KAED,KAAK,IACJ,GAAG0O,IAAM,KAAM,CACd1O,EAAIkD,CAAG,QAAOA,EAAEoH,MAAMrK,MAAQ,IAAKD,GAAKkD,CACxCoG,KAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAErD,EAAI,OAGlC,IAAK,IAAK,IAAK,IACdA,EAAIkD,CAAG,OAAM,YAAYlB,QAAQkB,EAAEoH,MAAMrK,KAAO,GAAKiD,GAAG,MAAQoH,IAAIrK,EAAE,IAAM,KAAO,KAAK+B,QAAQsI,IAAIrK,EAAE,KAAK,EAAGD,GAAKkD,CACnHoG,KAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAErD,EAAI,MACjC,KAAK,IACJA,EAAIkD,CAAG,OAAMoH,MAAMrK,KAAOiD,EAAGlD,GAAGkD,CAChCmE,IAAG9D,EAAEL,EAAGG,EAAErD,EAAIsJ,KAAIA,IAAInJ,QAAUkH,CAAGoH,KAAMvL,CAAG,MAC7C,KAAK,MAAOjD,CAAG,IAAGqK,IAAIrK,IAAM,KAAOqK,IAAIrK,IAAM,MAAOA,CAAG,MACvD,KAAK,IAAK,IAAK,IAAKqJ,IAAIA,IAAInJ,SAAWoD,EAAGiL,OAAO,EAAE,IAAItL,EAAIG,EAAEH,KAAMjD,CAAG,MACtE,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACpFD,EAAIkD,CAAG,OAAM,aAAalB,QAAQsI,MAAMrK,KAAO,EAAGD,GAAGsK,IAAIrK,EACzDqJ,KAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAErD,EAAI,MACjC,KAAK,IAAKsJ,IAAIA,IAAInJ,SAAWoD,EAAEL,EAAGG,EAAEH,KAAMjD,CAAG,MAC7C,SACC,GAAG,uCAAuC+B,QAAQkB,MAAQ,EAAG,KAAM,IAAI2F,OAAM,0BAA4B3F,EAAI,OAASoH,IACtHhB,KAAIA,IAAInJ,SAAWoD,EAAE,IAAKF,EAAEH,KAAMjD,CAAG,QAGxC,GAAI4O,IAAK,EAAGrE,IAAM,EAAGsE,GACrB,KAAI7O,EAAEqJ,IAAInJ,OAAO,EAAGsO,IAAI,IAAKxO,GAAK,IAAKA,EAAG,CACzC,OAAOqJ,IAAIrJ,GAAGsD,GACb,IAAK,IAAK,IAAK,IAAK+F,IAAIrJ,GAAGsD,EAAIoL,EAAIF,KAAI,GAAK,IAAGI,GAAK,EAAGA,GAAK,CAAG,MAC/D,KAAK,IACJ,GAAIC,IAAIxF,IAAIrJ,GAAGoD,EAAEkI,MAAM,SAAWf,IAAI7G,KAAKiK,IAAIpD,IAAIsE,IAAI,GAAG3O,OAAO,EACjE,IAAG0O,GAAK,EAAGA,GAAK,CAEjB,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKJ,IAAInF,IAAIrJ,GAAGsD,CAAG,MACtD,KAAK,IAAK,GAAGkL,MAAQ,IAAK,CAAEnF,IAAIrJ,GAAGsD,EAAI,GAAK,IAAGsL,GAAK,EAAGA,GAAK,EAAK,KACjE,KAAK,IAAK,GAAGvF,IAAIrJ,GAAGoD,IAAM,MACzB,KACD,KAAK,IACJ,GAAGwL,GAAK,GAAKvF,IAAIrJ,GAAGoD,EAAEkI,MAAM,QAASsD,GAAK,CAC1C,IAAGA,GAAK,GAAKvF,IAAIrJ,GAAGoD,EAAEkI,MAAM,QAASsD,GAAK,CAC1C,IAAGA,GAAK,GAAKvF,IAAIrJ,GAAGoD,EAAEkI,MAAM,QAASsD,GAAK,GAG7C,OAAOA,IACN,IAAK,GAAG,KACR,KAAK,GACJ,GAAGH,GAAGlF,GAAK,GAAK,CAAEkF,GAAGlF,EAAI,IAAKkF,GAAG9E,EACjC,GAAG8E,GAAG9E,GAAM,GAAI,CAAE8E,GAAG9E,EAAI,IAAK8E,GAAG/E,EACjC,GAAG+E,GAAG/E,GAAM,GAAI,CAAE+E,GAAG/E,EAAI,IAAK+E,GAAGhF,EACjC,KACD,KAAK,GACJ,GAAGgF,GAAGlF,GAAK,GAAK,CAAEkF,GAAGlF,EAAI,IAAKkF,GAAG9E,EACjC,GAAG8E,GAAG9E,GAAM,GAAI,CAAE8E,GAAG9E,EAAI,IAAK8E,GAAG/E,EACjC,MAGF,GAAIoF,MAAO,GAAIC,EACf,KAAI/O,EAAE,EAAGA,EAAIqJ,IAAInJ,SAAUF,EAAG,CAC7B,OAAOqJ,IAAIrJ,GAAGsD,GACb,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACxC,KAAK,IAAK+F,IAAIrJ,GAAKoE,SAAW,MAC9B,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC9FiF,IAAIrJ,GAAGoD,EAAI+G,WAAWd,IAAIrJ,GAAGsD,EAAEnD,WAAW,GAAIkJ,IAAIrJ,GAAGoD,EAAGqL,GAAIlE,IAC5DlB,KAAIrJ,GAAGsD,EAAI,GAAK,MACjB,KAAK,IAAK,IAAK,IAAK,IAAK,IACxByL,GAAK/O,EAAE,CACP,OAAMqJ,IAAI0F,KAAO,QACf9L,EAAEoG,IAAI0F,IAAIzL,KAAO,KAAOL,IAAM,MAC9BA,IAAM,KAAOA,IAAM,MAAQoG,IAAI0F,GAAG,IAAM,OAAS1F,IAAI0F,GAAG,GAAGzL,IAAM,KAAO+F,IAAI0F,GAAG,GAAGzL,IAAM,KAAO+F,IAAI0F,GAAG,GAAG3L,IAAM,MAChHiG,IAAIrJ,GAAGsD,IAAM,MAAQL,IAAM,KAAOA,IAAM,KAAOA,IAAM,MACrDA,IAAM,MAAQoG,IAAI0F,IAAI3L,IAAM,KAAO,KAAKrB,QAAQsH,IAAI0F,IAAI3L,IAAM,GAAKiG,IAAI0F,IAAI3L,IAAM,KAAOiG,IAAI0F,GAAG,IAAM,MAAQ1F,IAAI0F,GAAG,GAAGzL,GAAK,MAC1H,CACF+F,IAAIrJ,GAAGoD,GAAKiG,IAAI0F,IAAI3L,CACpBiG,KAAI0F,IAAM3K,YAAa2K,GAExBD,MAAQzF,IAAIrJ,GAAGoD,CACfpD,GAAI+O,GAAG,CAAG,MACX,KAAK,IAAK1F,IAAIrJ,GAAGsD,EAAI,GAAK+F,KAAIrJ,GAAGoD,EAAIuF,YAAYvF,EAAEiB,KAAO,QAG5D,GAAI2K,IAAK,GAAIC,IAAKC,IAClB,IAAGJ,KAAK5O,OAAS,EAAG,CACnB+O,IAAO7L,EAAE,GAAG0L,KAAK3O,WAAW,KAAO,IAAMiD,EAAIA,CAC7C8L,MAAOrE,UAAUiE,KAAK3O,WAAW,KAAO,GAAK,IAAM,IAAK2O,KAAMG,IAC9DF,IAAGG,KAAKhP,OAAO,CACf,IAAIiP,OAAQ9F,IAAInJ,MAChB,KAAIF,EAAE,EAAGA,EAAIqJ,IAAInJ,SAAUF,EAAG,GAAGqJ,IAAIrJ,IAAM,MAAQqJ,IAAIrJ,GAAGoD,EAAErB,QAAQ,MAAQ,EAAG,CAAEoN,MAAQnP,CAAG,OAC5F,GAAIoP,OAAM/F,IAAInJ,MACd,IAAGiP,QAAU9F,IAAInJ,QAAUgP,KAAKnN,QAAQ,QAAU,EAAG,CACpD,IAAI/B,EAAEqJ,IAAInJ,OAAO,EAAGF,GAAI,IAAIA,EAAG,CAC9B,GAAGqJ,IAAIrJ,IAAM,MAAQ,MAAM+B,QAAQsH,IAAIrJ,GAAGsD,MAAQ,EAAG,QACrD,IAAGyL,IAAI1F,IAAIrJ,GAAGoD,EAAElD,OAAO,EAAG,CAAE6O,IAAM1F,IAAIrJ,GAAGoD,EAAElD,MAAQmJ,KAAIrJ,GAAGoD,EAAI8L,KAAKtO,OAAOmO,GAAG,EAAG1F,IAAIrJ,GAAGoD,EAAElD,YACpF,IAAG6O,GAAK,EAAG1F,IAAIrJ,GAAGoD,EAAI,OACtB,CAAEiG,IAAIrJ,GAAGoD,EAAI8L,KAAKtO,OAAO,EAAGmO,GAAG,EAAIA,KAAM,EAC9C1F,IAAIrJ,GAAGsD,EAAI,GACX8L,OAAQpP,EAET,GAAG+O,IAAI,GAAKK,MAAM/F,IAAInJ,OAAQmJ,IAAI+F,OAAOhM,EAAI8L,KAAKtO,OAAO,EAAEmO,GAAG,GAAK1F,IAAI+F,OAAOhM,MAE1E,IAAG+L,QAAU9F,IAAInJ,QAAUgP,KAAKnN,QAAQ,QAAU,EAAG,CACzDgN,GAAKG,KAAKnN,QAAQ,KAAK,CACvB,KAAI/B,EAAEmP,MAAOnP,GAAI,IAAKA,EAAG,CACxB,GAAGqJ,IAAIrJ,IAAM,MAAQ,MAAM+B,QAAQsH,IAAIrJ,GAAGsD,MAAQ,EAAG,QACrDsH,GAAEvB,IAAIrJ,GAAGoD,EAAErB,QAAQ,MAAM,GAAG/B,IAAImP,MAAM9F,IAAIrJ,GAAGoD,EAAErB,QAAQ,KAAK,EAAEsH,IAAIrJ,GAAGoD,EAAElD,OAAO,CAC9E8O,IAAK3F,IAAIrJ,GAAGoD,EAAExC,OAAOgK,EAAE,EACvB,MAAMA,GAAG,IAAKA,EAAG,CAChB,GAAGmE,IAAI,IAAM1F,IAAIrJ,GAAGoD,EAAEwH,KAAO,KAAOvB,IAAIrJ,GAAGoD,EAAEwH,KAAO,KAAMoE,GAAKE,KAAKH,MAAQC,GAE7E3F,IAAIrJ,GAAGoD,EAAI4L,EACX3F,KAAIrJ,GAAGsD,EAAI,GACX8L,OAAQpP,EAET,GAAG+O,IAAI,GAAKK,MAAM/F,IAAInJ,OAAQmJ,IAAI+F,OAAOhM,EAAI8L,KAAKtO,OAAO,EAAEmO,GAAG,GAAK1F,IAAI+F,OAAOhM,CAC9E2L,IAAKG,KAAKnN,QAAQ,KAAK,CACvB,KAAI/B,EAAEmP,MAAOnP,EAAEqJ,IAAInJ,SAAUF,EAAG,CAC/B,GAAGqJ,IAAIrJ,IAAM,MAAQ,MAAM+B,QAAQsH,IAAIrJ,GAAGsD,MAAQ,GAAKtD,IAAMmP,MAAQ,QACrEvE,GAAEvB,IAAIrJ,GAAGoD,EAAErB,QAAQ,MAAM,GAAG/B,IAAImP,MAAM9F,IAAIrJ,GAAGoD,EAAErB,QAAQ,KAAK,EAAE,CAC9DiN,IAAK3F,IAAIrJ,GAAGoD,EAAExC,OAAO,EAAEgK,EACvB,MAAMA,EAAEvB,IAAIrJ,GAAGoD,EAAElD,SAAU0K,EAAG,CAC7B,GAAGmE,GAAGG,KAAKhP,OAAQ8O,IAAME,KAAKH,MAE/B1F,IAAIrJ,GAAGoD,EAAI4L,EACX3F,KAAIrJ,GAAGsD,EAAI,GACX8L,OAAQpP,IAIX,IAAIA,EAAE,EAAGA,EAAEqJ,IAAInJ,SAAUF,EAAG,GAAGqJ,IAAIrJ,IAAM,MAAQ,MAAM+B,QAAQsH,IAAIrJ,GAAGsD,IAAI,EAAG,CAC5E2L,IAAOV,KAAM,GAAKnL,EAAI,GAAKpD,EAAE,GAAKqJ,IAAIrJ,EAAE,GAAGoD,IAAM,KAAOA,EAAEA,CAC1DiG,KAAIrJ,GAAGoD,EAAIyH,UAAUxB,IAAIrJ,GAAGsD,EAAG+F,IAAIrJ,GAAGoD,EAAG6L,IACzC5F,KAAIrJ,GAAGsD,EAAI,IAEZ,GAAI+L,QAAS,EACb,KAAIrP,EAAE,EAAGA,IAAMqJ,IAAInJ,SAAUF,EAAG,GAAGqJ,IAAIrJ,IAAM,KAAMqP,QAAUhG,IAAIrJ,GAAGoD,CACpE,OAAOiM,QAERxM,IAAIyM,MAAQhB,QACZ,IAAIiB,SAAU,SACd,IAAIC,UAAW,2BACf,SAASC,SAAQrM,EAAGiJ,IACnB,GAAGA,IAAM,KAAM,MAAO,MACtB,IAAIqD,QAASC,WAAWtD,GAAG,GAC3B,QAAOA,GAAG,IACT,IAAK,IAAM,GAAGjJ,GAAKsM,OAAQ,MAAO,KAAM,MACxC,KAAK,IAAM,GAAGtM,EAAKsM,OAAQ,MAAO,KAAM,MACxC,KAAK,IAAM,GAAGtM,EAAKsM,OAAQ,MAAO,KAAM,MACxC,KAAK,KAAM,GAAGtM,GAAKsM,OAAQ,MAAO,KAAM,MACxC,KAAK,KAAM,GAAGtM,GAAKsM,OAAQ,MAAO,KAAM,MACxC,KAAK,KAAM,GAAGtM,GAAKsM,OAAQ,MAAO,KAAM,OAEzC,MAAO,OAER,QAASE,YAAWC,EAAGzM,GACtB,GAAIiH,KAAM6D,UAAU2B,EACpB,IAAI3M,GAAImH,IAAInK,OAAQ4P,IAAMzF,IAAInH,EAAE,GAAGnB,QAAQ,IAC3C,IAAGmB,EAAE,GAAK4M,KAAK,IAAK5M,CACpB,IAAGmH,IAAInK,OAAS,EAAG,KAAM,iCAAmCmK,IAAM,GAClE,UAAUjH,KAAM,SAAU,OAAQ,EAAGiH,IAAInK,SAAW,GAAK4P,KAAK,EAAEzF,IAAIA,IAAInK,OAAO,GAAG,IAClF,QAAOmK,IAAInK,QACV,IAAK,GAAGmK,IAAMyF,KAAK,GAAK,UAAW,UAAW,UAAWzF,IAAI,KAAOA,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAI,IAAM,MAClG,KAAK,GAAGA,IAAMyF,KAAK,GAAKzF,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAIA,IAAI,KAAOA,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAI,IAAM,MACzF,KAAK,GAAGA,IAAMyF,KAAK,GAAKzF,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAIA,IAAI,KAAOA,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAI,IAAM,MACzF,KAAK,GAAG,MAET,GAAImD,IAAKpK,EAAI,EAAIiH,IAAI,GAAKjH,EAAI,EAAIiH,IAAI,GAAKA,IAAI,EAC/C,IAAGA,IAAI,GAAGtI,QAAQ,QAAU,GAAKsI,IAAI,GAAGtI,QAAQ,QAAU,EAAG,OAAQmB,EAAGsK,GACxE,IAAGnD,IAAI,GAAGiB,MAAMiE,UAAY,MAAQlF,IAAI,GAAGiB,MAAMiE,UAAY,KAAM,CAClE,GAAIQ,IAAK1F,IAAI,GAAGiB,MAAMkE,SACtB,IAAIQ,IAAK3F,IAAI,GAAGiB,MAAMkE,SACtB,OAAOC,SAAQrM,EAAG2M,KAAO7M,EAAGmH,IAAI,IAAMoF,QAAQrM,EAAG4M,KAAO9M,EAAGmH,IAAI,KAAOnH,EAAGmH,IAAI0F,IAAM,MAAQC,IAAM,KAAO,EAAI,IAE7G,OAAQ9M,EAAGsK,IAEZ,QAASyC,QAAO5F,IAAIjH,EAAErD,GACrBmE,QAAQnE,GAAK,KAAOA,EAAKA,KACzB,IAAIkL,MAAO,EACX,cAAcZ,MACb,IAAK,SAAUY,KAAOZ,GAAK,MAC3B,KAAK,SAAUY,MAAQlL,EAAEmQ,OAAS,KAAOnQ,EAAEmQ,MAAQ5L,WAAW+F,IAAM,OAErE,GAAGrG,UAAUiH,KAAK,GAAI,MAAOtC,aAAYvF,EAAGrD,EAC5C,IAAI8P,GAAID,WAAW3E,KAAM7H,EACzB,IAAGY,UAAU6L,EAAE,IAAK,MAAOlH,aAAYvF,EAAGrD,EAC1C,IAAGqD,IAAM,KAAMA,EAAI,WAAa,IAAGA,IAAM,MAAOA,EAAI,YAC/C,IAAGA,IAAM,IAAMA,GAAK,KAAM,MAAO,EACtC,OAAOkL,UAASuB,EAAE,GAAIzM,EAAGrD,EAAG8P,EAAE,IAE/BhN,IAAIsN,OAAS7L,SACbzB,KAAIuN,KAAO,QAASC,YAAWhG,IAAKe,KAAO9G,UAAU8G,KAAOf,IAC5DxH,KAAIoN,OAASA,MACbpN,KAAIyN,UAAY,QAASA,aAAc,MAAOhM,WAC9CzB,KAAI0N,WAAa,QAASA,YAAWC,KAAO,IAAI,GAAIxQ,GAAE,EAAGA,GAAG,MAAUA,EAAG,GAAGwQ,IAAIxQ,KAAOoE,UAAWvB,IAAIuN,KAAKI,IAAIxQ,GAAIA,IAEnH8C,UAASD,IAET,IAAI4N,gBACHC,iBAAkB,UAClBC,eAAgB9N,IAAIsN,OAAO,IAC3BS,YAAa,sBACbC,cAAehO,IAAIsN,OAAO,IAC1BW,aAAcjO,IAAIsN,OAAO,IACzBY,YAAalO,IAAIsN,OAAO,IACxBa,cAAenO,IAAIsN,OAAO,IAC1Bc,aAAcpO,IAAIsN,OAAO,IACzBe,SAAY,uCACZC,MAAStO,IAAIsN,OAAO,GACpBiB,SAAYvO,IAAIsN,OAAO,GACvBkB,QAAWxO,IAAIsN,OAAO,IACtBmB,WAAczO,IAAIsN,OAAO,IACzBoB,SAAU,qBACVC,aAAc,0BACdC,SAAU,qBAGX,IAAIC,mBAAoB,IAMxB,IAAIC,KAAM,QAAUC,QACpB,GAAIC,WACJA,SAAQzS,QAAU,QAClB,SAAS0S,OAAMC,MACf,GAAIC,MAAO,CACX,IAAIC,KAAM,GACV,IAAIC,MAAO,CACX,IAAIC,MAAO,CACX,IAAIC,WAAY,CAChB,IAAIC,eAAgB,CACpB,IAAIC,aAAc,CAElB,IAAIC,aAGJ,IAAIC,MAAOT,KAAKU,MAAM,EAAE,IACxBC,WAAUF,KAAM,EAGhB,IAAIG,IAAKC,eAAeJ,KACxBR,MAAOW,GAAG,EACV,QAAOX,MACN,IAAK,GAAGC,IAAM,GAAK,MAAO,KAAK,GAAGA,IAAM,IAAM,MAC9C,SAAS,KAAM,sCAAwCD,KAIxD,GAAGC,MAAQ,IAAK,CAAEO,KAAOT,KAAKU,MAAM,EAAER,IAAMS,WAAUF,KAAM,IAE5D,GAAIK,QAASd,KAAKU,MAAM,EAAER,IAE1Ba,cAAaN,KAAMR,KAGnB,IAAIe,KAAMP,KAAKQ,WAAW,EAAG,IAC7B,IAAGhB,OAAS,GAAKe,MAAQ,EAAG,KAAM,uCAAyCA,GAI3EP,MAAKtP,GAAK,CAGVkP,WAAYI,KAAKQ,WAAW,EAAG,IAG/BR,MAAKtP,GAAK,CAGVsP,MAAKS,IAAI,WAAY,4BAGrBZ,eAAgBG,KAAKQ,WAAW,EAAG,IAGnCd,MAAOM,KAAKQ,WAAW,EAAG,IAG1BV,aAAcE,KAAKQ,WAAW,EAAG,IAGjCb,MAAOK,KAAKQ,WAAW,EAAG,IAG1B,KAAI,GAAI5L,GAAGwD,EAAI,EAAGA,EAAI,MAAOA,EAAG,CAC/BxD,EAAIoL,KAAKQ,WAAW,EAAG,IACvB,IAAG5L,EAAE,EAAG,KACRmL,WAAU3H,GAAKxD,EAIhB,GAAI8L,SAAUC,UAAUpB,KAAME,IAE9BmB,YAAWd,YAAaH,KAAMe,QAASjB,IAAKM,UAG5C,IAAIc,aAAcC,iBAAiBJ,QAASd,UAAWG,UAAWN,IAElEoB,aAAYjB,WAAWmB,KAAO,YAC9B,IAAGrB,KAAO,GAAKG,gBAAkBmB,WAAYH,YAAYhB,eAAekB,KAAO,UAC/EF,aAAYd,UAAU,IAAIgB,KAAO,MACjCF,aAAYd,UAAYA,SACxBc,aAAYpB,IAAMA,GAGlB,IAAIwB,UAAYC,SAAYC,aAAgBC,aAAgBC,cAC5DC,gBAAe1B,UAAWiB,YAAaH,QAASQ,MAAOxB,KAAMuB,MAAOE,UAEpEI,kBAAiBJ,UAAWE,YAAaD,UAAWF,MAEpD,IAAIM,WAAYN,MAAMO,OACtBP,OAAMQ,KAAOF,SAGb,IAAIG,WAAYC,eAAeR,UAAWF,MAAOC,UAAWF,MAAOO,UAEnE,QACCK,KAAMxB,OAAQA,OAAQK,QAASA,SAC/BS,UAAWA,UACXC,UAAWA,UACXC,YAAaA,YACbS,KAAMH,WAKP,QAASvB,gBAAeJ,MAEvBA,KAAKS,IAAIsB,iBAAkB,qBAG3B/B,MAAKS,IAAIuB,aAAc,UAGvB,IAAIxC,MAAOQ,KAAKQ,WAAW,EAAG,IAE9B,QAAQR,KAAKQ,WAAW,EAAE,KAAMhB,MAEjC,QAASc,cAAaN,KAAMR,MAC3B,GAAIiC,OAAQ,CAGZzB,MAAKS,IAAI,OAAQ,eAGjB,QAAQgB,MAAQzB,KAAKQ,WAAW,IAC/B,IAAK,GAAM,GAAGhB,OAAS,EAAG,KAAM,mCAAqC,MACrE,KAAK,IAAM,GAAGA,OAAS,EAAG,KAAM,mCAAqC,MACrE,SAAS,KAAM,sCAAwCiC,MAIxDzB,KAAKS,IAAI,OAAQ,sBAGjBT,MAAKS,IAAI,eAAgB,cAI1B,QAASE,WAAUpB,KAAME,KACxB,GAAIwC,UAAW/Q,KAAKgR,KAAK3C,KAAK7R,OAAO+R,KAAK,CAC1C,IAAIiB,SAAU,GAAI/Q,OAAMsS,SACxB,KAAI,GAAIzU,GAAE,EAAGA,EAAIyU,WAAYzU,EAAGkT,QAAQlT,EAAE,GAAK+R,KAAKU,MAAMzS,EAAEiS,KAAKjS,EAAE,GAAGiS,IACtEiB,SAAQuB,SAAS,GAAK1C,KAAKU,MAAMgC,SAASxC,IAC1C,OAAOiB,SAIR,QAASa,kBAAiBY,GAAIC,IAAKC,GAAInB,OACtC,GAAI1T,GAAI,EAAG8U,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAAGpK,EAAI,EAAGqK,GAAKvB,MAAMxT,MAClD,IAAIgV,KAAM,GAAI/S,OAAM8S,IAAK7N,EAAI,GAAIjF,OAAM8S,GAEvC,MAAMjV,EAAIiV,KAAMjV,EAAG,CAAEkV,IAAIlV,GAAGoH,EAAEpH,GAAGA,CAAG6U,IAAG7U,GAAG0T,MAAM1T,GAEhD,KAAM4K,EAAIxD,EAAElH,SAAU0K,EAAG,CACxB5K,EAAIoH,EAAEwD,EACNkK,GAAIH,GAAG3U,GAAG8U,CAAGC,GAAIJ,GAAG3U,GAAG+U,CAAGC,GAAIL,GAAG3U,GAAGgV,CACpC,IAAGE,IAAIlV,KAAOA,EAAG,CAChB,GAAG8U,KAAO,GAAkBI,IAAIJ,KAAOA,EAAGI,IAAIlV,GAAKkV,IAAIJ,EACvD,IAAGC,KAAO,GAAKG,IAAIH,KAAOA,EAAGG,IAAIlV,GAAKkV,IAAIH,GAE3C,GAAGC,KAAO,EAAgBE,IAAIF,GAAKhV,CACnC,IAAG8U,KAAO,EAAG,CAAEI,IAAIJ,GAAKI,IAAIlV,EAAIoH,GAAE+N,KAAKL,GACvC,GAAGC,KAAO,EAAG,CAAEG,IAAIH,GAAKG,IAAIlV,EAAIoH,GAAE+N,KAAKJ,IAExC,IAAI/U,EAAE,EAAGA,IAAMiV,KAAMjV,EAAG,GAAGkV,IAAIlV,KAAOA,EAAG,CACxC,GAAG+U,KAAO,GAAkBG,IAAIH,KAAOA,EAAGG,IAAIlV,GAAKkV,IAAIH,OAClD,IAAGD,KAAO,GAAKI,IAAIJ,KAAOA,EAAGI,IAAIlV,GAAKkV,IAAIJ,GAGhD,IAAI9U,EAAE,EAAGA,EAAIiV,KAAMjV,EAAG,CACrB,GAAG2U,GAAG3U,GAAGoK,OAAS,EAAiB,QACnCQ,GAAIsK,IAAIlV,EACR,IAAG4K,IAAM,EAAGiK,GAAG7U,GAAK6U,GAAG,GAAK,IAAMA,GAAG7U,OAChC,OAAM4K,IAAM,EAAG,CACnBiK,GAAG7U,GAAK6U,GAAGjK,GAAK,IAAMiK,GAAG7U,EACzB4K,GAAIsK,IAAItK,GAETsK,IAAIlV,GAAK,EAGV6U,GAAG,IAAM,GACT,KAAI7U,EAAE,EAAGA,EAAIiV,KAAMjV,EAAG,CACrB,GAAG2U,GAAG3U,GAAGoK,OAAS,EAAgByK,GAAG7U,IAAM,GAC3C4U,KAAIC,GAAG7U,IAAM2U,GAAG3U,IAKlB,QAASoU,gBAAeR,UAAWF,MAAOC,UAAWF,MAAOO,WAC3D,GAAIoB,aAAc,GAAIjT,OAAMyR,UAAU1T,OACtC,IAAImV,SAAU,GAAIlT,OAAMuR,MAAMxT,QAASF,CACvC,KAAIA,EAAI,EAAGA,EAAI4T,UAAU1T,SAAUF,EAAGoV,YAAYpV,GAAK4T,UAAU5T,GAAGsV,cAAcxT,QAAQa,KAAK,IAAIb,QAAQc,KAAK,IAChH,KAAI5C,EAAI,EAAGA,EAAI0T,MAAMxT,SAAUF,EAAGqV,QAAQrV,GAAK0T,MAAM1T,GAAGsV,cAAcxT,QAAQa,KAAK,IAAIb,QAAQc,KAAK,IACpG,OAAO,SAASuR,WAAUoB,MACzB,GAAIC,EACJ,IAAGD,KAAKpV,WAAW,KAAO,GAAc,CAAEqV,EAAE,IAAMD,MAAOvB,UAAYuB,SAChEC,GAAID,KAAKxT,QAAQ,QAAU,CAChC,IAAI0T,QAASF,KAAKD,cAAcxT,QAAQa,KAAK,IAAIb,QAAQc,KAAK,IAC9D,IAAImF,GAAIyN,IAAM,KAAOJ,YAAYrT,QAAQ0T,QAAUJ,QAAQtT,QAAQ0T,OACnE,IAAG1N,KAAO,EAAG,MAAO,KACpB,OAAOyN,KAAM,KAAO7B,UAAU5L,GAAK0L,MAAMC,MAAM3L,KAMjD,QAASqL,YAAWhI,IAAKsK,IAAKxC,QAASjB,IAAKM,WAC3C,GAAInL,EACJ,IAAGgE,MAAQoI,WAAY,CACtB,GAAGkC,MAAQ,EAAG,KAAM,wCACd,IAAGtK,OAAS,EAAgB,CAClC,GAAIuK,QAASzC,QAAQ9H,KAAM5B,GAAKyI,MAAM,GAAG,CACzC,KAAI,GAAIjS,GAAI,EAAGA,EAAIwJ,IAAKxJ,EAAG,CAC1B,IAAIoH,EAAIwO,cAAcD,OAAO3V,EAAE,MAAQwT,WAAY,KACnDjB,WAAU4C,KAAK/N,GAEhBgM,WAAWwC,cAAcD,OAAO1D,IAAI,GAAGyD,IAAM,EAAGxC,QAASjB,IAAKM,YAKhE,QAASsD,iBAAgB3C,QAAS4C,MAAOvD,UAAWN,IAAK8D,MACxD,GAAIC,IAAK9C,QAAQhT,MACjB,IAAI+V,KAAKC,SACT,KAAIH,KAAMA,KAAO,GAAI5T,OAAM6T,GAC3B,IAAIG,SAAUlE,IAAM,EAAGrH,EAAGmE,EAC1BkH,OACAC,aACA,KAAItL,EAAEkL,MAAOlL,GAAG,GAAI,CACnBmL,KAAKnL,GAAK,IACVqL,KAAIA,IAAI/V,QAAU0K,CAClBsL,WAAUf,KAAKjC,QAAQtI,GACvB,IAAIwL,MAAO7D,UAAU7O,KAAKyD,MAAMyD,EAAE,EAAEqH;AACpClD,GAAOnE,EAAE,EAAKuL,OACd,IAAGlE,IAAM,EAAIlD,GAAI,KAAM,yBAA2BnE,EAAI,MAAMqH,GAC5DrH,GAAIgL,cAAc1C,QAAQkD,MAAOrH,IAElC,OAAQsH,MAAOJ,IAAKnW,KAAKwW,YAAYJ,aAItC,QAAS5C,kBAAiBJ,QAASd,UAAWG,UAAWN,KACxD,GAAI+D,IAAK9C,QAAQhT,OAAQmT,YAAc,GAAIlR,OAAM6T,GACjD,IAAID,MAAO,GAAI5T,OAAM6T,IAAKC,IAAKC,SAC/B,IAAIC,SAAUlE,IAAM,EAAGjS,EAAG4K,EAAG4K,EAAGzG,EAChC,KAAI/O,EAAE,EAAGA,EAAIgW,KAAMhW,EAAG,CACrBiW,MACAT,GAAKxV,EAAIoS,SAAY,IAAGoD,GAAKQ,GAAIR,GAAGQ,EACpC,IAAGD,KAAKP,KAAO,KAAM,QACrBU,aACA,KAAItL,EAAE4K,EAAG5K,GAAG,GAAI,CACfmL,KAAKnL,GAAK,IACVqL,KAAIA,IAAI/V,QAAU0K,CAClBsL,WAAUf,KAAKjC,QAAQtI,GACvB,IAAIwL,MAAO7D,UAAU7O,KAAKyD,MAAMyD,EAAE,EAAEqH,KACpClD,IAAOnE,EAAE,EAAKuL,OACd,IAAGlE,IAAM,EAAIlD,GAAI,KAAM,yBAA2BnE,EAAI,MAAMqH,GAC5DrH,GAAIgL,cAAc1C,QAAQkD,MAAOrH,IAElCsE,YAAYmC,IAAMa,MAAOJ,IAAKnW,KAAKwW,YAAYJ,aAEhD,MAAO7C,aAIR,QAASS,gBAAe1B,UAAWiB,YAAaH,QAASQ,MAAOxB,KAAMuB,MAAOE,WAC5E,GAAInB,KACJ,IAAI+D,eAAgB,EAAGtB,GAAMvB,MAAMxT,OAAO,EAAE,CAC5C,IAAIyV,QAAStC,YAAYjB,WAAWtS,IACpC,IAAIE,GAAI,EAAGwW,QAAU,EAAGjD,KAAMxT,EAAG0W,MAAOC,KACxC,MAAM1W,EAAI2V,OAAOzV,OAAQF,GAAI,IAAK,CACjCwS,KAAOmD,OAAOlD,MAAMzS,EAAGA,EAAE,IACzB0S,WAAUF,KAAM,GAChBgE,SAAUhE,KAAKQ,WAAW,EAC1B,IAAGwD,UAAY,EAAG,QAClBjD,MAAOoD,UAAUnE,KAAK,EAAEgE,QAAQvB,GAChCvB,OAAMyB,KAAK5B,KACXxT,IACCwT,KAAOA,KACPnJ,KAAOoI,KAAKQ,WAAW,GACvB4D,MAAOpE,KAAKQ,WAAW,GACvB8B,EAAOtC,KAAKQ,WAAW,EAAG,KAC1B+B,EAAOvC,KAAKQ,WAAW,EAAG,KAC1BgC,EAAOxC,KAAKQ,WAAW,EAAG,KAC1B6D,MAAOrE,KAAKQ,WAAW,IACvB8D,MAAOtE,KAAKQ,WAAW,EAAG,KAE3ByD,OAAQjE,KAAKQ,WAAW,GAAKR,KAAKQ,WAAW,GAAKR,KAAKQ,WAAW,GAAKR,KAAKQ,WAAW,EACvF,IAAGyD,QAAU,EAAG,CACf1W,EAAE0W,MAAQA,KAAO1W,GAAEgX,GAAKC,UAAUxE,KAAMA,KAAKtP,EAAE,GAEhDwT,MAAQlE,KAAKQ,WAAW,GAAKR,KAAKQ,WAAW,GAAKR,KAAKQ,WAAW,GAAKR,KAAKQ,WAAW,EACvF,IAAG0D,QAAU,EAAG,CACf3W,EAAE2W,MAAQA,KAAO3W,GAAEkX,GAAKD,UAAUxE,KAAMA,KAAKtP,EAAE,GAEhDnD,EAAE+V,MAAQtD,KAAKQ,WAAW,EAAG,IAC7BjT,GAAEmX,KAAO1E,KAAKQ,WAAW,EAAG,IAC5B,IAAGjT,EAAEqK,OAAS,EAAG,CAChBmM,cAAgBxW,EAAE+V,KAClB,IAAG5D,KAAO,GAAKqE,gBAAkB/C,WAAYH,YAAYkD,eAAehD,KAAO,kBAEzE,IAAGxT,EAAEmX,MAAQ,KAAkB,CACrCnX,EAAEoX,QAAU,KACZ,IAAG9D,YAAYtT,EAAE+V,SAAW1R,UAAWiP,YAAYtT,EAAE+V,OAASD,gBAAgB3C,QAASnT,EAAE+V,MAAOzC,YAAYd,UAAWc,YAAYpB,IACnIoB,aAAYtT,EAAE+V,OAAOvC,KAAOxT,EAAEwT,IAC9BxT,GAAEqX,QAAU/D,YAAYtT,EAAE+V,OAAOhW,KAAK2S,MAAM,EAAE1S,EAAEmX,KAChDxE,WAAU3S,EAAEqX,QAAS,OACf,CACNrX,EAAEoX,QAAU,SACZ,IAAGZ,gBAAkB/C,YAAczT,EAAE+V,QAAUtC,WAAY,CAC1DzT,EAAEqX,QAAU/D,YAAYkD,eAAezW,KAAK2S,MAAM1S,EAAE+V,MAAMuB,KAAKtX,EAAE+V,MAAMuB,KAAKtX,EAAEmX,KAC9ExE,WAAU3S,EAAEqX,QAAS,IAGvB3D,MAAMF,MAAQxT,CACd4T,WAAUwB,KAAKpV,IAIjB,QAASiX,WAAUxE,KAAM8E,QACxB,MAAO,IAAIzN,OAAU0N,eAAe/E,KAAK8E,OAAO,GAAG,IAAK5T,KAAKI,IAAI,EAAE,IAAIyT,eAAe/E,KAAK8E,QAAQ,IAAQ,aAAa,KAGzH,GAAIE,GACJ,SAASC,cAAaC,SAAUC,SAC/B,GAAGH,KAAOpT,UAAWoT,GAAKhY,QAAQ,KAClC,OAAOsS,OAAM0F,GAAGC,aAAaC,UAAWC,SAGzC,QAASC,UAASpF,KAAMmF,SACvB,OAAOA,UAAYvT,WAAauT,QAAQvN,OAAShG,UAAYuT,QAAQvN,KAAO,UAC3E,IAAK,OAAQ,MAAOqN,cAAajF,KAAMmF,QACvC,KAAK,SAAU,MAAO7F,OAAM1P,IAAItB,OAAOH,OAAO6R,OAAQmF,QACtD,KAAK,SAAU,MAAO7F,OAAM1P,IAAIoQ,MAAOmF,SAExC,MAAO7F,OAAMU,MAId,GAAI6E,MAAO,EAGX,IAAI7D,aAAc,CAElB,IAAIe,kBAAmB,kBACvB,IAAIC,cAAe,kCACnB,IAAIqD,SAEHC,YAAa,EACbC,SAAU,EACVC,SAAU,EACVxE,WAAYA,WACZyE,UAAW,EAEX1D,iBAAkBA,iBAClB2D,qBAAsB,OACtBC,WAAY,EACZC,UAAW,EACX5D,aAAcA,aAEd6D,YAAa,UAAU,UAAU,SAAS,YAAY,WAAW,QAGlExG,SAAQyG,KAAOV,QACf/F,SAAQC,MAAQA,KAChBD,SAAQnR,OACP6X,UAAWA,UACXC,WAAYA,WACZ9F,UAAWA,UACXnQ,QAASA,QACTsV,OAAQA,OAGT,OAAOhG,WAGP,UAAUrS,WAAY,mBAAsBD,UAAW,mBAAsBmS,qBAAsB,YAAa,CAAEnS,OAAOsS,QAAUF,IACnI,QAAS8G,OAAMlY,GAAK,MAAOA,KAAM6D,WAAa7D,IAAM,KAEpD,QAASmY,MAAK3Y,GAAK,MAAO4Y,QAAOD,KAAK3Y,GAEtC,QAAS6Y,WAAUC,IAAKC,KACvB,GAAI/Y,MAAUgZ,EAAIL,KAAKG,IACvB,KAAI,GAAI7Y,GAAI,EAAGA,IAAM+Y,EAAE7Y,SAAUF,EAAGD,EAAE8Y,IAAIE,EAAE/Y,IAAI8Y,MAAQC,EAAE/Y,EAC1D,OAAOD,GAGR,QAASiZ,OAAMH,KACd,GAAI9Y,MAAUgZ,EAAIL,KAAKG,IACvB,KAAI,GAAI7Y,GAAI,EAAGA,IAAM+Y,EAAE7Y,SAAUF,EAAGD,EAAE8Y,IAAIE,EAAE/Y,KAAO+Y,EAAE/Y,EACrD,OAAOD,GAGR,QAASkZ,WAAUJ,KAClB,GAAI9Y,MAAUgZ,EAAIL,KAAKG,IACvB,KAAI,GAAI7Y,GAAI,EAAGA,IAAM+Y,EAAE7Y,SAAUF,EAAGD,EAAE8Y,IAAIE,EAAE/Y,KAAOoM,SAAS2M,EAAE/Y,GAAG,GACjE,OAAOD,GAGR,QAASmZ,WAAUL,KAClB,GAAI9Y,MAAUgZ,EAAIL,KAAKG,IACvB,KAAI,GAAI7Y,GAAI,EAAGA,IAAM+Y,EAAE7Y,SAAUF,EAAG,CACnC,GAAGD,EAAE8Y,IAAIE,EAAE/Y,MAAQ,KAAMD,EAAE8Y,IAAIE,EAAE/Y,OACjCD,GAAE8Y,IAAIE,EAAE/Y,KAAKmV,KAAK4D,EAAE/Y,IAErB,MAAOD,GAIR,QAASoZ,SAAQ/V,EAAGwG,UACnB,GAAGA,SAAUxG,GAAG,IAChB,IAAIgW,OAAQvP,KAAKiI,MAAM1O,EACvB,QAAQgW,MAAQ,aAAkB,GAAK,GAAK,GAAK,KAGlD,QAASC,QAAOC,KACf,GAAIvZ,GAAI,EACR,KAAI,GAAIC,GAAI,EAAGA,GAAKsZ,IAAIpZ,SAAUF,EAAGD,GAAKS,OAAOC,aAAa6Y,IAAItZ,GAClE,OAAOD,GAGR,QAASwZ,YAAWzZ,MACnB,IAAIA,KAAM,MAAO,KACjB,IAAGA,KAAKA,KAAM,MAAOM,WAAUN,KAAKA,KACpC,IAAGA,KAAK0Z,cAAgBxX,QAAS,MAAO5B,WAAUN,KAAK0Z,eAAeC,SAAS,UAC/E,IAAG3Z,KAAK4Z,SAAU,MAAOtZ,WAAUN,KAAK4Z,WACxC,IAAG5Z,KAAK6Z,OAAS7Z,KAAK6Z,MAAMC,WAAY,MAAOxZ,WAAUiZ,OAAOlX,MAAM0X,UAAUpH,MAAMqH,KAAKha,KAAK6Z,MAAMC,aAAa,IACnH,OAAO,MAGR,QAASG,YAAWja,MACnB,IAAIA,KAAM,MAAO,KACjB,IAAGA,KAAKA,KAAM,MAAOD,YAAWC,KAAKA,KACrC,IAAGA,KAAK0Z,cAAgBxX,QAAS,MAAOlC,MAAK0Z,cAC7C,IAAG1Z,KAAK6Z,OAAS7Z,KAAK6Z,MAAMC,WAAY,MAAOzX,OAAM0X,UAAUpH,MAAMqH,KAAKha,KAAK6Z,MAAMC,aACrF,OAAO,MAGR,QAASI,SAAQla,MAAQ,MAAQA,OAAQA,KAAKyT,KAAK3S,OAAOd,KAAKyT,KAAKrT,OAAO,KAAO,OAAU6Z,WAAWja,MAAQyZ,WAAWzZ,MAE1H,QAASma,gBAAeC,IAAKnI,MAC5B,GAAIlC,GAAIkC,IAAM,IAAGmI,IAAIzG,MAAM5D,GAAI,MAAOqK,KAAIzG,MAAM5D,EAChDA,GAAIkC,KAAKpD,aAAe,IAAGuL,IAAIzG,MAAM5D,GAAI,MAAOqK,KAAIzG,MAAM5D,EAC1DA,GAAIA,EAAE/N,QAAQ,MAAM,KAAO,IAAGoY,IAAIzG,MAAM5D,GAAI,MAAOqK,KAAIzG,MAAM5D,EAC7D,OAAO,MAGR,QAASsK,YAAWD,IAAKnI,MACxB,GAAIhS,GAAIka,eAAeC,IAAKnI,KAC5B,IAAGhS,GAAK,KAAM,KAAM,IAAI6I,OAAM,oBAAsBmJ,KAAO,UAC3D,OAAOhS,GAGR,QAASqa,YAAWF,IAAKnI,KAAMsI,MAC9B,IAAIA,KAAM,MAAOL,SAAQG,WAAWD,IAAKnI,MACzC,KAAIA,KAAM,MAAO,KACjB,KAAM,MAAOqI,YAAWF,IAAKnI,MAAS,MAAMuI,GAAK,MAAO,OAGzD,QAASC,WAAUL,IAAKnI,KAAMsI,MAC7B,IAAIA,KAAM,MAAOd,YAAWY,WAAWD,IAAKnI,MAC5C,KAAIA,KAAM,MAAO,KACjB,KAAM,MAAOwI,WAAUL,IAAKnI,MAAS,MAAMuI,GAAK,MAAO,OAGxD,GAAIE,KAAKC,KACT,UAAUC,SAAU,YAAaD,MAAQC,KACzC,UAAW7I,WAAY,YAAa,CACnC,SAAWtS,UAAW,aAAeA,OAAOsS,QAAS,CACpD,SAAU4I,SAAU,YAAaA,MAAQjb,QAAQ,OAAO,MACxDgb,KAAMhb,QAAQ,IAAI,MAGpB,GAAImb,WAAU,iDACd,IAAIC,UAAS,UACb,IAAIC,SAAQ,QAASC,SAAW,YAChC,SAASC,aAAYC,IAAKC,WACzB,GAAIC,KACJ,IAAIC,IAAK,EAAGlY,EAAI,CAChB,MAAMkY,KAAOH,IAAI9a,SAAUib,GAAI,IAAIlY,EAAI+X,IAAI7a,WAAWgb,OAAS,IAAMlY,IAAM,IAAMA,IAAM,GAAI,KAC3F,KAAIgY,UAAWC,EAAE,GAAKF,IAAIpa,OAAO,EAAGua,GACpC,IAAGA,KAAOH,IAAI9a,OAAQ,MAAOgb,EAC7B,IAAI1R,GAAIwR,IAAI1P,MAAMqP,WAAY/P,EAAE,EAAG7C,EAAE,GAAI3E,EAAE,GAAIpD,EAAE,EAAGoH,EAAE,GAAI2F,GAAG,EAC7D,IAAGvD,EAAG,IAAIxJ,EAAI,EAAGA,GAAKwJ,EAAEtJ,SAAUF,EAAG,CACpC+M,GAAKvD,EAAExJ,EACP,KAAIiD,EAAE,EAAGA,GAAK8J,GAAG7M,SAAU+C,EAAG,GAAG8J,GAAG5M,WAAW8C,KAAO,GAAI,KAC1DmE,GAAI2F,GAAGnM,OAAO,EAAEqC,EAAIG,GAAI2J,GAAGqO,UAAUnY,EAAE,EAAG8J,GAAG7M,OAAO,EACpD,KAAI0K,EAAE,EAAEA,GAAGxD,EAAElH,SAAS0K,EAAG,GAAGxD,EAAEjH,WAAWyK,KAAO,GAAI,KACpD,IAAGA,IAAIxD,EAAElH,OAAQgb,EAAE9T,GAAKhE,MACnB8X,IAAGtQ,IAAI,GAAKxD,EAAExG,OAAO,EAAE,KAAK,QAAQ,QAAQ,IAAIwG,EAAExG,OAAOgK,EAAE,IAAMxH,EAEvE,MAAO8X,GAER,QAASG,UAAS9a,GAAK,MAAOA,GAAEuB,QAAQgZ,SAAU,OAElD,GAAIQ,YACHC,SAAU,IACVC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IAEV,IAAIC,WAAY5C,MAAMsC,UACtB,IAAIO,SAAU,SAASvZ,MAAM,GAG7B,IAAIwZ,aAAc,WACjB,GAAIC,UAAW,YAAaC,UAAY,mBACxC,OAAO,SAASF,aAAYG,MAC3B,GAAI5Z,GAAI4Z,KAAO,EACf,OAAO5Z,GAAEP,QAAQia,SAAU,SAASrQ,IAAM,MAAO4P,WAAU5P,MAAQ5J,QAAQka,UAAU,SAASxS,EAAEvG,GAAI,MAAOzC,QAAOC,aAAa2L,SAASnJ,EAAE,UAI5I,IAAIiZ,UAAS,WAAYC,SAAW,+BACpC,SAASC,WAAUH,MAClB,GAAI5Z,GAAI4Z,KAAO,EACf,OAAO5Z,GAAEP,QAAQoa,SAAU,SAAS/X,GAAK,MAAOyX,WAAUzX,KAAOrC,QAAQqa,SAAS,SAAS9Z,GAAK,MAAO,MAAQ,MAAMA,EAAElC,WAAW,GAAGsZ,SAAS,KAAK7Y,QAAQ,GAAK,MAIjK,GAAIyb,aAAc,WACjB,GAAIC,UAAW,WACf,SAASC,SAAQ7Q,GAAGC,IAAM,MAAOnL,QAAOC,aAAa2L,SAAST,GAAG,KACjE,MAAO,SAAS0Q,aAAYvP,KAAO,MAAOA,KAAIhL,QAAQwa,SAASC,YAGhE,SAASC,cAAaC,MAAOzB,KAC5B,OAAOyB,OACN,IAAK,IAAK,IAAK,OAAQ,IAAK,OAAQ,MAAO,KAE3C,SAAS,MAAO,QAIlB,GAAIC,UAAW,QAASC,WAAUC,MACjC,GAAIvT,KAAM,GAAIrJ,EAAI,EAAGiD,EAAI,EAAGI,EAAI,EAAGiX,EAAI,EAAGzK,EAAI,EAAG9H,EAAI,CACrD,OAAO/H,EAAI4c,KAAK1c,OAAQ,CACvB+C,EAAI2Z,KAAKzc,WAAWH,IACpB,IAAIiD,EAAI,IAAK,CAAEoG,KAAO7I,OAAOC,aAAawC,EAAI,UAC9CI,EAAIuZ,KAAKzc,WAAWH,IACpB,IAAIiD,EAAE,KAAOA,EAAE,IAAK,CAAEoG,KAAO7I,OAAOC,cAAewC,EAAI,KAAO,EAAMI,EAAI,GAAM,UAC9EiX,EAAIsC,KAAKzc,WAAWH,IACpB,IAAIiD,EAAI,IAAK,CAAEoG,KAAO7I,OAAOC,cAAewC,EAAI,KAAO,IAAQI,EAAI,KAAO,EAAMiX,EAAI,GAAM,UAC1FzK,EAAI+M,KAAKzc,WAAWH,IACpB+H,KAAO9E,EAAI,IAAM,IAAQI,EAAI,KAAO,IAAQiX,EAAI,KAAO,EAAMzK,EAAI,IAAK,KACtExG,MAAO7I,OAAOC,aAAa,OAAWsH,IAAI,GAAI,MAC9CsB,MAAO7I,OAAOC,aAAa,OAAUsH,EAAE,OAExC,MAAOsB,KAIR,IAAGrH,QAAS,CACX,GAAI6a,WAAY,QAASA,WAAU/c,MAClC,GAAIuJ,KAAM,GAAIpH,QAAO,EAAEnC,KAAKI,QAAS6H,EAAG/H,EAAG4K,EAAI,EAAG4K,EAAI,EAAGsH,GAAG,EAAG7Z,CAC/D,KAAIjD,EAAI,EAAGA,EAAIF,KAAKI,OAAQF,GAAG4K,EAAG,CACjCA,EAAI,CACJ,KAAI3H,EAAEnD,KAAKK,WAAWH,IAAM,IAAK+H,EAAI9E,MAChC,IAAGA,EAAI,IAAK,CAAE8E,GAAK9E,EAAE,IAAI,IAAInD,KAAKK,WAAWH,EAAE,GAAG,GAAK4K,GAAE,MACzD,IAAG3H,EAAI,IAAK,CAAE8E,GAAG9E,EAAE,IAAI,MAAMnD,KAAKK,WAAWH,EAAE,GAAG,IAAI,IAAIF,KAAKK,WAAWH,EAAE,GAAG,GAAK4K,GAAE,MACtF,CAAEA,EAAI,CACV7C,IAAK9E,EAAI,GAAG,QAAQnD,KAAKK,WAAWH,EAAE,GAAG,IAAI,MAAMF,KAAKK,WAAWH,EAAE,GAAG,IAAI,IAAIF,KAAKK,WAAWH,EAAE,GAAG,GACrG+H,IAAK,KAAO+U,IAAK,OAAW/U,IAAI,GAAI,KAAOA,GAAI,OAAUA,EAAE,MAE5D,GAAG+U,KAAO,EAAG,CAAEzT,IAAImM,KAAOsH,GAAG,GAAKzT,KAAImM,KAAOsH,KAAK,CAAGA,IAAK,EAC1DzT,IAAImM,KAAOzN,EAAE,GAAKsB,KAAImM,KAAOzN,IAAI,EAElCsB,IAAInJ,OAASsV,CACb,OAAOnM,KAAIoQ,SAAS,QAErB,IAAIsD,QAAS,oBACb,IAAGL,SAASK,SAAWF,UAAUE,QAASL,SAAWG,SACrD,IAAIG,WAAY,QAASA,WAAUld,MAAQ,MAAOmC,QAAOnC,KAAM,UAAU2Z,SAAS,QAClF,IAAGiD,SAASK,SAAWC,UAAUD,QAASL,SAAWM,UAItD,GAAIC,UAAW,WACd,GAAIC,WACJ,OAAO,SAASD,UAASpN,EAAEsN,GAC1B,GAAI7Z,GAAIuM,EAAE,KAAKsN,GAAG,GAClB,IAAGD,QAAQ5Z,KAAOc,UAAW,MAAO8Y,SAAQ5Z,EAC5C,OAAQ4Z,SAAQ5Z,GAAK,GAAI8Z,QAAO,cAAcvN,EAAE,0DAA+DA,EAAE,IAAKsN,GAAG,OAI3H,IAAIE,SAAU,WAAa,GAAIC,YAC9B,OAAO,SAASC,UAAS3O,IACxB,GAAG0O,SAAS1O,MAAQxK,UAAW,MAAOkZ,UAAS1O,GAC/C,OAAQ0O,UAAS1O,IAAM,GAAIwO,QAAO,OAASxO,GAAK,cAAgBA,GAAK,IAAK,QAE5E,IAAI4O,UAAW,mBAAoBC,SAAW,mBAC9C,SAASC,aAAY5d,MACpB,GAAI6d,GAAI5C,YAAYjb,KAEpB,IAAI8d,SAAU9d,KAAKwL,MAAM+R,QAAQM,EAAEE,cACnC,IAAGD,QAAQ1d,QAAUyd,EAAEzG,KAAM,KAAM,IAAItO,OAAM,4BAA8BgV,QAAQ1d,OAAS,OAASyd,EAAEzG,KACvG,IAAI4G,OACJF,SAAQG,QAAQ,SAASxd,GACxB,GAAI6C,GAAI7C,EAAEuB,QAAQ0b,SAAS,IAAIlS,MAAMmS,SACrCK,KAAI3I,MAAM/R,EAAEA,EAAE,GAAIE,EAAEF,EAAE,MAEvB,OAAO0a,KAGR,GAAIE,SAAU,cACd,SAASC,UAASpO,EAAEsN,GAAI,MAAO,IAAMtN,GAAKsN,EAAE7R,MAAM0S,SAAS,wBAA0B,IAAM,IAAMb,EAAI,KAAOtN,EAAI,IAEhH,QAASqO,YAAWP,GAAK,MAAOjF,MAAKiF,GAAG3c,IAAI,SAASwU,GAAK,MAAO,IAAMA,EAAI,KAAOmI,EAAEnI,GAAK,MAAO2I,KAAK,IACrG,QAASC,WAAUvO,EAAEsN,EAAEQ,GAAK,MAAO,IAAM9N,GAAK4I,MAAMkF,GAAKO,WAAWP,GAAK,KAAOlF,MAAM0E,IAAMA,EAAE7R,MAAM0S,SAAS,wBAA0B,IAAM,IAAMb,EAAI,KAAOtN,EAAI,KAAO,IAEzK,QAASwO,cAAahb,EAAGC,GAAK,IAAM,MAAOD,GAAEib,cAAcxc,QAAQ,QAAQ,IAAO,MAAMwY,GAAK,GAAGhX,EAAG,KAAMgX,GAAK,MAAO,GAErH,QAASiE,UAASlc,GACjB,aAAcA,IACb,IAAK,SAAU,MAAO+b,WAAU,YAAa/b,EAC7C,KAAK,SAAU,MAAO+b,YAAW/b,EAAE,IAAIA,EAAE,QAAQ,QAAS7B,OAAO6B,GACjE,KAAK,UAAW,MAAO+b,WAAU,UAAU/b,EAAE,OAAO,SAErD,GAAGA,YAAawH,MAAM,MAAOuU,WAAU,cAAeC,aAAahc,GACnE,MAAM,IAAIuG,OAAM,uBAAyBvG,GAG1C,GAAImc,YAAa,6DACjB,IAAIC,QACHC,GAAM,mCACNC,QAAW,4BACXC,SAAY,+BACZC,GAAM,0DACN7S,EAAK,sEACL8S,IAAO,yEACPC,GAAM,uEACNC,IAAO,4CACPC,IAAO,mCAGRR,OAAMS,MACL,4DACA,gDACA,sDACA,mDAGD,SAASC,gBAAeC,EAAGhU,KAC1B,GAAI/I,GAAI,EAAI,GAAK+c,EAAEhU,IAAM,KAAO,EAChC,IAAIkP,KAAM8E,EAAEhU,IAAM,GAAK,MAAS,IAAOgU,EAAEhU,IAAM,KAAO,EAAK,GAC3D,IAAI5B,GAAK4V,EAAEhU,IAAI,GAAG,EAClB,KAAI,GAAIpL,GAAI,EAAGA,GAAK,IAAKA,EAAGwJ,EAAIA,EAAI,IAAM4V,EAAEhU,IAAMpL,EAClD,IAAGsa,GAAK,KAAO,MAAO9Q,IAAK,EAAInH,EAAIgd,SAAWC,GAC9C,IAAGhF,GAAK,EAAGA,GAAK,SACX,CAAEA,GAAK,IAAM9Q,IAAK9F,KAAKI,IAAI,EAAE,IAClC,MAAOzB,GAAIqB,KAAKI,IAAI,EAAGwW,EAAI,IAAM9Q,EAGlC,QAAS+V,iBAAgBH,EAAGhc,EAAGgI,KAC9B,GAAIoU,KAAOpc,EAAI,GAAK,EAAEA,IAAMic,SAAY,EAAI,IAAM,EAAG/E,EAAI,EAAG9Q,EAAI,CAChE,IAAIiW,IAAKD,IAAMpc,EAAIA,CACnB,KAAIsc,SAASD,IAAK,CAAEnF,EAAI,IAAO9Q,GAAI7H,MAAMyB,GAAK,MAAS,MAClD,CACJkX,EAAI5W,KAAKyD,MAAMzD,KAAK6E,IAAIkX,IAAM/b,KAAKic,MACnCnW,GAAIpG,EAAIM,KAAKI,IAAI,EAAG,GAAKwW,EACzB,IAAGA,IAAM,QAAUoF,SAASlW,IAAMA,EAAI9F,KAAKI,IAAI,EAAE,KAAM,CAAEwW,GAAK,SACzD,CAAE9Q,GAAK9F,KAAKI,IAAI,EAAE,GAAKwW,IAAG,MAEhC,IAAI,GAAIta,GAAI,EAAGA,GAAK,IAAKA,EAAGwJ,GAAG,IAAK4V,EAAEhU,IAAMpL,GAAKwJ,EAAI,GACrD4V,GAAEhU,IAAM,IAAOkP,EAAI,KAAS,EAAK9Q,EAAI,EACrC4V,GAAEhU,IAAM,GAAMkP,GAAK,EAAKkF,GAGzB,GAAIlJ,YAAYsJ,WAChBtJ,YAAasJ,YAAc,QAASC,WAAUrd,MAAQ,GAAIjC,KAAQ,KAAI,GAAIP,GAAI,EAAGA,EAAIwC,KAAK,GAAGtC,SAAUF,EAAG,CAAEO,EAAE4U,KAAKzS,MAAMnC,EAAGiC,KAAK,GAAGxC,IAAO,MAAOO,GAClJ,IAAIoW,WAAWmJ,UACfnJ,WAAYmJ,WAAa,QAASC,UAASX,EAAE/c,EAAEiY,GAAK,GAAI9P,MAAO,KAAI,GAAIxK,GAAEqC,EAAGrC,EAAEsa,EAAGta,GAAG,EAAGwK,GAAG2K,KAAK3U,OAAOC,aAAauf,eAAeZ,EAAEpf,IAAM,OAAOwK,IAAG2T,KAAK,IACzJ,IAAI8B,WAAWC,UACfD,WAAYC,WAAa,QAASC,UAASf,EAAE/c,EAAEa,GAAK,MAAOkc,GAAE3M,MAAMpQ,EAAGA,EAAEa,GAAIlC,IAAI,SAAST,GAAG,OAAQA,EAAE,GAAG,IAAI,IAAMA,EAAEkZ,SAAS,MAAO0E,KAAK,IAC1I,IAAIiC,QAAQC,OACZD,QAASC,QAAU,SAASjB,EAAE/c,EAAEiY,GAAK,GAAI9P,MAAO,KAAI,GAAIxK,GAAEqC,EAAGrC,EAAEsa,EAAGta,IAAKwK,GAAG2K,KAAK3U,OAAOC,aAAa6f,YAAYlB,EAAEpf,IAAM,OAAOwK,IAAG2T,KAAK,IACtI,IAAIoC,SAASC,QACbD,SAAUC,SAAW,QAASC,QAAOrB,EAAEpf,GAAK,GAAIC,KAAMsX,eAAe6H,EAAEpf,EAAI,OAAOC,KAAM,EAAImgB,OAAOhB,EAAGpf,EAAE,EAAEA,EAAE,EAAEC,IAAI,GAAK,GACvH,IAAIygB,UAAUC,SACdD,UAAWC,UAAY,QAASC,SAAQxB,EAAEpf,GAAK,GAAIC,KAAM,EAAEsX,eAAe6H,EAAEpf,EAAI,OAAOC,KAAM,EAAImgB,OAAOhB,EAAGpf,EAAE,EAAEA,EAAE,EAAEC,IAAI,GAAK,GAC5H,IAAI4gB,UAAUC,SACdD,UAAWC,UAAY,SAAS1B,EAAGhU,KAAO,MAAO+T,gBAAeC,EAAGhU,KAEnE,IAAI2V,QAAS,QAASC,UAASC,GAAK,MAAO9e,OAAM+e,QAAQD,GACzD,IAAGjf,QAAS,CACX2U,UAAY,QAASwK,WAAU/B,EAAE/c,EAAEiY,GAAK,IAAIrY,OAAOmf,SAAShC,GAAI,MAAOU,YAAWV,EAAE/c,EAAEiY,EAAI,OAAO8E,GAAE3F,SAAS,UAAUpX,EAAEiY,GACxH2F,WAAY,SAASb,EAAE/c,EAAEa,GAAK,MAAOjB,QAAOmf,SAAShC,GAAKA,EAAE3F,SAAS,MAAMpX,EAAEA,EAAEa,GAAKgd,WAAWd,EAAE/c,EAAEa,GACnGqd,SAAU,QAASc,SAAQjC,EAAEpf,GAAK,IAAIiC,OAAOmf,SAAShC,GAAI,MAAOoB,UAASpB,EAAGpf,EAAI,IAAIC,KAAMmf,EAAEkC,aAAathB,EAAI,OAAOC,KAAM,EAAImf,EAAE3F,SAAS,OAAOzZ,EAAE,EAAEA,EAAE,EAAEC,IAAI,GAAK,GAClKygB,UAAW,QAASa,UAASnC,EAAEpf,GAAK,IAAIiC,OAAOmf,SAAShC,GAAI,MAAOuB,WAAUvB,EAAGpf,EAAI,IAAIC,KAAM,EAAEmf,EAAEkC,aAAathB,EAAI,OAAOof,GAAE3F,SAAS,UAAUzZ,EAAE,EAAEA,EAAE,EAAEC,IAAI,GAC3JmgB,QAAS,QAASoB,QAAOpC,EAAG/c,EAAEiY,GAAK,MAAO8E,GAAE3F,SAAS,OAAOpX,EAAEiY,GAC9DhE,YAAa,SAAS9T,MAAQ,MAAQA,MAAK,GAAGtC,OAAS,GAAK+B,OAAOmf,SAAS5e,KAAK,GAAG,IAAOP,OAAOQ,OAAOD,KAAK,IAAMod,YAAYpd,MAChID,SAAU,SAASC,MAAQ,MAAOP,QAAOmf,SAAS5e,KAAK,IAAMP,OAAOQ,OAAOD,SAAWC,OAAOC,SAAUF,MACvGqe,UAAW,QAASY,SAAQrC,EAAEpf,GAAK,GAAGiC,OAAOmf,SAAShC,GAAI,MAAOA,GAAEsC,aAAa1hB,EAAI,OAAO8gB,WAAU1B,EAAEpf,GACvG+gB,QAAS,QAASY,UAASV,GAAK,MAAOhf,QAAOmf,SAASH,IAAM9e,MAAM+e,QAAQD,IAI5E,SAAUxhB,WAAY,YAAa,CAClCkX,UAAY,SAASyI,EAAE/c,EAAEiY,GAAK,MAAO7a,SAAQiB,MAAMC,OAAO,KAAMye,EAAE3M,MAAMpQ,EAAEiY,IAC1E8F,QAAS,SAAShB,EAAE/c,EAAEiY,GAAK,MAAO7a,SAAQiB,MAAMC,OAAO,MAAOye,EAAE3M,MAAMpQ,EAAEiY,IACxEiG,SAAU,SAASnB,EAAEpf,GAAK,GAAIC,KAAMsX,eAAe6H,EAAEpf,EAAI,OAAOC,KAAM,EAAIR,QAAQiB,MAAMC,OAAOtB,iBAAkB+f,EAAE3M,MAAMzS,EAAE,EAAGA,EAAE,EAAEC,IAAI,IAAM,GAC5IygB,UAAW,SAAStB,EAAEpf,GAAK,GAAIC,KAAM,EAAEsX,eAAe6H,EAAEpf,EAAI,OAAOC,KAAM,EAAIR,QAAQiB,MAAMC,OAAO,KAAMye,EAAE3M,MAAMzS,EAAE,EAAEA,EAAE,EAAEC,IAAI,IAAM,IAGnI,GAAIqgB,aAAc,SAASlB,EAAGhU,KAAO,MAAOgU,GAAEhU,KAC9C,IAAI4U,gBAAiB,SAASZ,EAAGhU,KAAO,MAAOgU,GAAEhU,IAAI,IAAI,GAAG,GAAGgU,EAAEhU,KACjE,IAAIwW,eAAgB,SAASxC,EAAGhU,KAAO,GAAI7B,GAAI6V,EAAEhU,IAAI,IAAI,GAAG,GAAGgU,EAAEhU,IAAM,OAAQ7B,GAAI,MAAUA,GAAK,MAASA,EAAI,IAAM,EACrH,IAAIgO,gBAAiB,SAAS6H,EAAGhU,KAAO,MAAOgU,GAAEhU,IAAI,IAAI,GAAG,KAAKgU,EAAEhU,IAAI,IAAI,KAAKgU,EAAEhU,IAAI,IAAI,GAAGgU,EAAEhU,KAC/F,IAAIwK,eAAgB,SAASwJ,EAAGhU,KAAO,MAAQgU,GAAEhU,IAAI,IAAI,GAAKgU,EAAEhU,IAAI,IAAI,GAAKgU,EAAEhU,IAAI,IAAI,EAAGgU,EAAEhU,KAE5F,IAAIyW,cAAe,SAASxf,GAAK,MAAOA,GAAEiJ,MAAM,OAAOtK,IAAI,SAAST,GAAK,MAAO6L,UAAS7L,EAAE,MAC3F,IAAIuhB,mBAAqB7f,UAAW,YAAc,SAASI,GAAK,MAAOJ,QAAOmf,SAAS/e,GAAK,GAAIJ,QAAOI,EAAG,OAASwf,aAAaxf,IAAQwf,YAExI,SAAStJ,WAAUrB,KAAM5T,GACxB,GAAIvD,GAAE,GAAIgiB,GAAIC,GAAI1U,MAAOvF,EAAGiH,GAAIhP,EAAGiiB,GACnC,QAAO3e,GACN,IAAK,OACJ2e,IAAMC,KAAKhf,CACX,IAAGlB,SAAWC,OAAOmf,SAASc,MAAOniB,EAAImiB,KAAKzP,MAAMyP,KAAKhf,EAAGgf,KAAKhf,EAAE,EAAEgU,MAAMuC,SAAS,eAC/E,KAAIzZ,EAAI,EAAGA,GAAKkX,OAAQlX,EAAG,CAAED,GAAGS,OAAOC,aAAauf,eAAekC,KAAMD,KAAOA,MAAK,EAC1F/K,MAAQ,CACR,MAED,KAAK,OAAQnX,EAAIqgB,OAAO8B,KAAMA,KAAKhf,EAAGgf,KAAKhf,EAAIgU,KAAO,MACtD,KAAK,UAAWA,MAAQ,CAAGnX,GAAI4W,UAAUuL,KAAMA,KAAKhf,EAAGgf,KAAKhf,EAAIgU,KAAO,MAGvE,KAAK,QAASnX,EAAIwgB,QAAQ2B,KAAMA,KAAKhf,EAAIgU,MAAO,EAAInX,EAAEG,MAAQ,MAE9D,KAAK,SAAUH,EAAI2gB,SAASwB,KAAMA,KAAKhf,EAAIgU,MAAO,EAAInX,EAAEG,MAAQ,IAAGH,EAAEA,EAAEG,OAAO,IAAM,KAAUgX,MAAQ,CAAG,MAEzG,KAAK,OAAQA,KAAO,CAAGnX,GAAI,EAC1B,QAAOgI,EAAEuY,YAAY4B,KAAMA,KAAKhf,EAAIgU,WAAW,EAAG5J,GAAG6H,KAAK9U,SAAS0H,GACnEhI,GAAIuN,GAAG6Q,KAAK,GAAK,MAClB,KAAK,OAAQjH,KAAO,CAAGnX,GAAI,EAC1B,QAAOgI,EAAEiY,eAAekC,KAAKA,KAAKhf,EAAGgU,SAAS,EAAE,CAAC5J,GAAG6H,KAAK9U,SAAS0H,GAAImP,OAAM,EAC5EA,MAAM,CAAGnX,GAAIuN,GAAG6Q,KAAK,GAAK,MAG3B,KAAK,YAAape,EAAI,EAAIkiB,KAAMC,KAAKhf,CACpC,KAAIlD,EAAI,EAAGA,GAAKkX,OAAQlX,EAAG,CAC1B,GAAGkiB,KAAKC,MAAQD,KAAKC,KAAKpgB,QAAQkgB,QAAU,EAAG,CAC9Cla,EAAIuY,YAAY4B,KAAMD,IACtBC,MAAKhf,EAAI+e,IAAM,CACfjT,IAAKuJ,UAAUuB,KAAKoI,KAAMhL,KAAKlX,EAAG+H,EAAI,YAAc,YACpD,OAAOuF,IAAG6Q,KAAK,IAAMnP,GAEtB1B,GAAG6H,KAAK9U,SAAS2f,eAAekC,KAAMD,MACtCA,MAAK,EACJliB,EAAIuN,GAAG6Q,KAAK,GAAKjH,OAAQ,CAAG,MAE/B,KAAK,YAAanX,EAAI,EAAIkiB,KAAMC,KAAKhf,CACpC,KAAIlD,EAAI,EAAGA,GAAKkX,OAAQlX,EAAG,CAC1B,GAAGkiB,KAAKC,MAAQD,KAAKC,KAAKpgB,QAAQkgB,QAAU,EAAG,CAC9Cla,EAAIuY,YAAY4B,KAAMD,IACtBC,MAAKhf,EAAI+e,IAAM,CACfjT,IAAKuJ,UAAUuB,KAAKoI,KAAMhL,KAAKlX,EAAG+H,EAAI,YAAc,YACpD,OAAOuF,IAAG6Q,KAAK,IAAMnP,GAEtB1B,GAAG6H,KAAK9U,SAASigB,YAAY4B,KAAMD,MACnCA,MAAK,EACJliB,EAAIuN,GAAG6Q,KAAK,GAAK,MAEpB,SACD,OAAOjH,MACN,IAAK,GAAG6K,GAAKzB,YAAY4B,KAAMA,KAAKhf,EAAIgf,MAAKhf,GAAK,OAAO6e,GACzD,KAAK,GAAGA,IAAMze,IAAM,IAAMse,cAAgB5B,gBAAgBkC,KAAMA,KAAKhf,EAAIgf,MAAKhf,GAAK,CAAG,OAAO6e,GAC7F,KAAK,GACJ,GAAGze,IAAM,MAAQ4e,KAAKA,KAAKhf,EAAE,GAAK,OAAQ,EAAG,CAAE6e,GAAKnM,cAAcsM,KAAMA,KAAKhf,EAAIgf,MAAKhf,GAAK,CAAG,OAAO6e,QAChG,CAAEC,GAAKzK,eAAe2K,KAAMA,KAAKhf,EAAIgf,MAAKhf,GAAK,CAAG,OAAO8e,IAAM,KACrE,KAAK,GAAG,GAAG1e,IAAM,IAAK,CAAE0e,GAAKnB,SAASqB,KAAMA,KAAKhf,EAAIgf,MAAKhf,GAAK,CAAG,OAAO8e,IAEzE,IAAK,IAAIjiB,EAAIkgB,UAAUiC,KAAMA,KAAKhf,EAAGgU,KAAO,QAE7CgL,KAAKhf,GAAGgU,IAAM,OAAOnX,GAGtB,GAAIqiB,iBAAkB,SAAShD,EAAG9U,IAAKc,KAAOgU,EAAEhU,KAAQd,IAAM,GAAO8U,GAAEhU,IAAI,GAAOd,MAAQ,EAAK,IAC/F,IAAI+X,iBAAkB,SAASjD,EAAG9U,IAAKc,KAAOgU,EAAEhU,KAAQd,IAAM,GAAO8U,GAAEhU,IAAI,GAAOd,MAAQ,EAAK,GAAO8U,GAAEhU,IAAI,GAAOd,MAAQ,GAAM,GAAO8U,GAAEhU,IAAI,GAAOd,MAAQ,GAAM,IACnK,IAAIgY,gBAAkB,SAASlD,EAAG9U,IAAKc,KAAOgU,EAAEhU,KAAQd,IAAM,GAAO8U,GAAEhU,IAAI,GAAOd,KAAO,EAAK,GAAO8U,GAAEhU,IAAI,GAAOd,KAAO,GAAM,GAAO8U,GAAEhU,IAAI,GAAOd,KAAO,GAAM,IAEhK,SAASiY,YAAWjf,EAAGgH,IAAKuF,GAC3B,GAAIqH,MAAMlX,CACV,IAAG6P,IAAM,OAAQ,CAChB,IAAI7P,EAAI,EAAGA,GAAKsK,IAAIpK,SAAUF,EAAGoiB,gBAAgBF,KAAM5X,IAAInK,WAAWH,GAAIkiB,KAAKhf,EAAI,EAAIlD,EACvFkX,MAAO,EAAI5M,IAAIpK,WACT,IAAG2P,IAAM,OAAQ,CACvB,IAAI7P,EAAI,EAAGA,GAAKsK,IAAIpK,SAAUF,EAAGkiB,KAAKA,KAAKhf,EAAIlD,GAAKsK,IAAInK,WAAWH,GAAK,GACxEkX,MAAO5M,IAAIpK,WACL,QAAOoD,GACb,IAAM,GAAG4T,KAAO,CAAGgL,MAAKA,KAAKhf,GAAKoH,IAAI,GAAM,MAC5C,KAAM,GAAG4M,KAAO,CAAGgL,MAAKA,KAAKhf,GAAKoH,IAAI,GAAMA,QAAS,CAAG4X,MAAKA,KAAKhf,EAAE,GAAKoH,IAAI,GAAM,MACnF,KAAM,GAAG4M,KAAO,CAAGgL,MAAKA,KAAKhf,GAAKoH,IAAI,GAAMA,QAAS,CAAG4X,MAAKA,KAAKhf,EAAE,GAAKoH,IAAI,GAAMA,QAAS,CAAG4X,MAAKA,KAAKhf,EAAE,GAAKoH,IAAI,GAAM,MAC1H,KAAM,GAAG4M,KAAO,CAAGmL,iBAAgBH,KAAM5X,IAAK4X,KAAKhf,EAAI,MACvD,KAAM,GAAGgU,KAAO,CAAG,IAAGrH,IAAM,IAAK,CAAE0P,gBAAgB2C,KAAM5X,IAAK4X,KAAKhf,EAAI,OAEvE,IAAK,IAAI,KACT,MAAM,EAAGgU,KAAO,CAAGoL,gBAAeJ,KAAM5X,IAAK4X,KAAKhf,EAAI,OAEvDgf,KAAKhf,GAAKgU,IAAM,OAAOgL,MAGxB,QAAS1J,YAAWgK,OAAQC,KAC3B,GAAIjZ,GAAIyW,UAAUiC,KAAKA,KAAKhf,EAAEsf,OAAOtiB,QAAQ,EAC7C,IAAGsJ,IAAMgZ,OAAQ,KAAMC,KAAM,YAAcD,OAAS,QAAUhZ,CAC9D0Y,MAAKhf,GAAKsf,OAAOtiB,QAAQ,EAG1B,QAASwS,WAAUF,KAAMkQ,KACxBlQ,KAAKtP,EAAIwf,GACTlQ,MAAKQ,WAAauF,SAClB/F,MAAKS,IAAMuF,UACXhG,MAAKmQ,YAAcJ,WAGpB,QAASK,WAAUpQ,KAAMtS,QAAUsS,KAAKtP,GAAKhD,OAE7C,QAAS2iB,WAAUrQ,KAAMtS,QAAUsS,KAAKtP,GAAKhD,OAE7C,QAAS4iB,SAAQC,IAChB,GAAIhjB,GAAImC,YAAY6gB,GACpBrQ,WAAU3S,EAAG,EACb,OAAOA,GAIR,QAASijB,cAAaljB,KAAMmjB,GAAI5e,MAC/B,IAAIvE,KAAM,MACV,IAAIojB,SAASC,QAASjjB,MACtBwS,WAAU5S,KAAMA,KAAKoD,GAAK,EAC1B,OAAMpD,KAAKoD,EAAIpD,KAAKI,OAAQ,CAC3B,GAAIkjB,IAAKtjB,KAAKkT,WAAW,EACzB,IAAGoQ,GAAK,IAAMA,IAAMA,GAAK,OAAUtjB,KAAKkT,WAAW,GAAK,MAAO,EAC/D,IAAI+B,GAAIsO,eAAeD,KAAOC,eAAe,MAC7CH,SAAUpjB,KAAKkT,WAAW,EAC1B9S,QAASgjB,QAAU,GACnB,KAAIC,QAAU,EAAGA,QAAS,GAAMD,QAAU,MAASC,QAASjjB,UAAYgjB,QAAUpjB,KAAKkT,WAAW,IAAM,MAAQ,EAAEmQ,OAClH,IAAI9f,GAAI0R,EAAElF,EAAE/P,KAAMI,OAAQmE,KAC1B,IAAG4e,GAAG5f,EAAG0R,EAAGqO,IAAK,QAKnB,QAASE,aACR,GAAI9gB,SAAW+gB,MAAQ,IACvB,IAAIC,QAAS,QAASC,WAAUV,IAC/B,GAAIhjB,GAAI+iB,QAAQC,GAChBrQ,WAAU3S,EAAG,EACb,OAAOA,GAGR,IAAI2jB,QAASF,OAAOD,MAEpB,IAAII,QAAS,QAASC,aACrB,IAAIF,OAAQ,MACZ,IAAGA,OAAOxjB,OAASwjB,OAAOxgB,EAAGwgB,OAASA,OAAOjR,MAAM,EAAGiR,OAAOxgB,EAC7D,IAAGwgB,OAAOxjB,OAAS,EAAGsC,KAAK2S,KAAKuO,OAChCA,QAAS,KAGV,IAAIG,MAAO,QAASC,SAAQf,IAC3B,GAAGW,QAAUX,GAAKW,OAAOxjB,OAASwjB,OAAOxgB,EAAG,MAAOwgB,OACnDC,SACA,OAAQD,QAASF,OAAO9f,KAAKiK,IAAIoV,GAAG,EAAGQ,QAGxC,IAAIQ,KAAM,QAASC,UAClBL,QACA,OAAOrN,aAAY9T,OAGpB,IAAI2S,MAAO,QAAS8O,SAAQhO,KAAO0N,QAAUD,QAASzN,GAAK4N,MAAKN,OAEhE,QAAUM,KAAKA,KAAM1O,KAAKA,KAAM4O,IAAIA,IAAKG,MAAM1hB,MAGhD,QAAS2hB,cAAaC,GAAIha,KAAMia,QAASnkB,QACxC,GAAIoD,GAAIghB,OAAOC,SAASna,OAAQlH,CAChC,IAAGvB,MAAM2B,GAAI,MACb,KAAIpD,OAAQA,OAASmjB,eAAe/f,GAAGkhB,IAAMH,aAAankB,QAAU,CACpEgD,GAAI,GAAKI,GAAK,IAAO,EAAI,GAAK,EAAIpD,MAClC,IAAGA,QAAU,MAAQgD,CAAG,IAAGhD,QAAU,QAAUgD,CAAG,IAAGhD,QAAU,UAAYgD,CAC3E,IAAInD,GAAIqkB,GAAGP,KAAK3gB,EAChB,IAAGI,GAAK,IAAMvD,EAAE4iB,YAAY,EAAGrf,OAC1B,CACJvD,EAAE4iB,YAAY,GAAIrf,EAAI,KAAQ,IAC9BvD,GAAE4iB,YAAY,EAAIrf,GAAK,GAExB,IAAI,GAAItD,GAAI,EAAGA,GAAK,IAAKA,EAAG,CAC3B,GAAGE,QAAU,IAAM,CAAEH,EAAE4iB,YAAY,GAAIziB,OAAS,KAAM,IAAOA,UAAW,MACnE,CAAEH,EAAE4iB,YAAY,EAAGziB,OAAS,QAElC,GAAGA,OAAS,GAAK6gB,OAAOsD,SAAUD,GAAGjP,KAAKkP,SAG3C,QAASI,gBAAeC,KAAMC,KAC7B,GAAGA,IAAItiB,EAAG,CACT,GAAGqiB,KAAKE,KAAMF,KAAKzhB,GAAK0hB,IAAItiB,EAAEY,CAC9B,IAAGyhB,KAAKG,KAAMH,KAAK1Y,GAAK2Y,IAAItiB,EAAE2J,MACxB,CACN0Y,KAAKzhB,GAAK0hB,IAAI1hB,CACdyhB,MAAK1Y,GAAK2Y,IAAI3Y,EAEf0Y,KAAKE,KAAOF,KAAKG,KAAO,CACxB,OAAMH,KAAKzhB,GAAK,IAAOyhB,KAAKzhB,GAAK,GACjC,OAAMyhB,KAAK1Y,GAAK,MAAS0Y,KAAK1Y,GAAK,KACnC,OAAO0Y,MAGR,QAASI,iBAAgBJ,KAAMK,OAC9BL,KAAKriB,EAAIoiB,eAAeC,KAAKriB,EAAG0iB,MAAM1iB,EACtCqiB,MAAKpK,EAAImK,eAAeC,KAAKpK,EAAGyK,MAAM1iB,EACtC,OAAOqiB,MAGR,GAAIM,aACJ,IAAIC,gBAAiB,SAASC,EAAGC,SAChC,GAAIC,OACJ,UAAUD,WAAY,YAAaC,OAASD,YACvC,UAAU3lB,WAAY,YAAa,CACvC,IAAM4lB,OAAS5lB,QAAQ,MAAM,OAC7B,MAAM8a,GAAK8K,OAAS,MAGrBF,EAAEG,IAAM,SAASvM,IAAKhZ,MACrB,GAAI6J,GAAI,GAAIxH,OAAM,IAClB,IAAIc,GAAI,EAAGjD,EAAI,EAAG4K,EAAI,EAAGtH,EAAI,CAC7B,KAAItD,EAAI,EAAGA,GAAK,MAAOA,EAAG2J,EAAE3J,GAAKA,CACjC,KAAIA,EAAI,EAAGA,GAAK,MAAOA,EAAG,CACzB4K,EAAKA,EAAIjB,EAAE3J,GAAM8Y,IAAI9Y,EAAE8Y,IAAI5Y,QAASC,WAAW,GAAI,GACnDmD,GAAIqG,EAAE3J,EAAI2J,GAAE3J,GAAK2J,EAAEiB,EAAIjB,GAAEiB,GAAKtH,EAE/BtD,EAAI4K,EAAI,CAAGvB,KAAMpH,OAAOnC,KAAKI,OAC7B,KAAI+C,EAAI,EAAGA,GAAKnD,KAAKI,SAAU+C,EAAG,CACjCjD,EAAKA,EAAI,EAAG,GACZ4K,IAAKA,EAAIjB,EAAE3J,IAAI,GACfsD,GAAIqG,EAAE3J,EAAI2J,GAAE3J,GAAK2J,EAAEiB,EAAIjB,GAAEiB,GAAKtH,CAC9B+F,KAAIpG,GAAMnD,KAAKmD,GAAK0G,EAAGA,EAAE3J,GAAG2J,EAAEiB,GAAI,KAEnC,MAAOvB,KAGR6b,GAAEI,IAAM,SAASC,KAChB,IAAIH,OAAQ,KAAM,IAAIxc,OAAM,qBAC5B,OAAOwc,QAAOI,WAAW,OAAOC,OAAOF,KAAKG,OAAO,QAGrDT,gBAAeD,gBAAkBI,UAAW,YAAcA,OAAShhB,UAInE,SAASuhB,cAAa7lB,KAAMI,QAC3B,OAAS0lB,IAAK9lB,KAAKkT,WAAW,GAAI6S,KAAM/lB,KAAKkT,WAAW,IAIzD,QAAS8S,eAAchmB,KAAMI,QAC5B,GAAI4V,OAAQhW,KAAKoD,CACjB,IAAI6iB,OAAQjmB,KAAKkT,WAAW,EAC5B,IAAIlG,KAAMkZ,mBAAmBlmB,KAC7B,IAAImmB,aACJ,IAAI/K,IAAO5X,EAAGwJ,IAAK6Q,EAAG7Q,IACtB,KAAIiZ,MAAQ,KAAO,EAAG,CAErB,GAAIG,cAAepmB,KAAKkT,WAAW,EACnC,KAAI,GAAIhT,GAAI,EAAGA,GAAKkmB,eAAgBlmB,EAAGimB,UAAU9Q,KAAKwQ,aAAa7lB,MACnEob,GAAElP,EAAIia,cAEF/K,GAAElP,EAAI,MAAQoQ,UAAUtP,KAAO,MACpC,KAAIiZ,MAAQ,KAAO,EAAG,EAGtBjmB,KAAKoD,EAAI4S,MAAQ5V,MACjB,OAAOgb,GAER,QAASiL,eAAcrZ,IAAK/M,GAE3B,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,EAAE,EAAEhW,IAAIxJ,EAAEpD,OACpCH,GAAE4iB,YAAY,EAAE,EAChByD,oBAAmBtZ,IAAIxJ,EAAGvD,EAC1B,OAAOA,GAIR,QAASsmB,gBAAevmB,MACvB,GAAIwmB,KAAMxmB,KAAKkT,WAAW,EAC1B,IAAIuT,WAAYzmB,KAAKkT,WAAW,EAChCuT,YAAazmB,KAAKkT,WAAW,IAAK,EAClC,IAAIwT,SAAU1mB,KAAKkT,WAAW,EAC9B,QAAS/P,EAAEqjB,IAAKC,UAAWA,WAE5B,QAASE,gBAAe/B,KAAM3kB,GAC7B,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,EAC1B/iB,GAAE4iB,aAAa,EAAG+B,KAAKzhB,EACvBlD,GAAE4iB,YAAY,EAAG+B,KAAK6B,WAAa7B,KAAKriB,EACxCtC,GAAE4iB,YAAY,EAAG,EACjB,OAAO5iB,GAKR,QAAS2mB,oBAAoB5mB,KAAMI,QAAU,MAAO8lB,oBAAmBlmB,KAAMI,QAG7E,QAASymB,4BAA2B7mB,MACnC,GAAI8mB,eAAgB9mB,KAAKkT,WAAW,EACpC,OAAO4T,iBAAkB,GAAKA,gBAAkB,WAAa,GAAK9mB,KAAKkT,WAAW4T,cAAe,QAElG,QAASC,4BAA2B/mB,KAAMC,GACzC,IAAIA,EAAGA,EAAI+iB,QAAQ,IACnB/iB,GAAE4iB,YAAY,EAAG7iB,KAAKI,OAAS,EAAIJ,KAAKI,OAAS,WACjD,IAAGJ,KAAKI,OAAS,EAAGH,EAAE4iB,YAAY,EAAG7iB,KAAM,OAC3C,OAAOC,GAIR,QAASimB,oBAAmBlmB,MAC3B,GAAI8mB,eAAgB9mB,KAAKkT,WAAW,EACpC,OAAO4T,iBAAkB,EAAI,GAAK9mB,KAAKkT,WAAW4T,cAAe,QAElE,QAASR,oBAAmBtmB,KAAMC,GACjC,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,EAAE,EAAEhjB,KAAKI,OACnCH,GAAE4iB,YAAY,EAAG7iB,KAAKI,OACtB,IAAGJ,KAAKI,OAAS,EAAGH,EAAE4iB,YAAY,EAAG7iB,KAAM,OAC3C,OAAOC,GAIR,GAAI+mB,aAAcH,0BAClB,IAAII,aAAcF,0BAKlB,SAASG,gBAAelnB,MACvB,GAAIsf,GAAItf,KAAK2S,MAAM3S,KAAKoD,EAAGpD,KAAKoD,EAAE,EAClC,IAAI+jB,OAAQ7H,EAAE,GAAK,EAAG8H,KAAO9H,EAAE,GAAK,CACpCtf,MAAKoD,GAAG,CACRkc,GAAE,IAAM,GACR,IAAI+H,IAAKD,OAAS,EAAIrG,UAAU,EAAE,EAAE,EAAE,EAAEzB,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,GAAKxJ,cAAcwJ,EAAE,IAAI,CACtF,OAAO6H,OAAQE,GAAG,IAAMA,GAEzB,QAASC,gBAAetnB,KAAMC,GAC7B,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,EAC1B,IAAImE,OAAQ,EAAGC,KAAO,EAAGG,KAAOvnB,KAAO,GACvC,IAAGA,OAASA,KAAO,IAAMA,QAAU,GAAG,KAAOA,KAAQ,GAAK,GAAK,CAAEonB,KAAO,MACnE,IAAGG,OAASA,KAAO,IAAMA,QAAU,GAAG,KAAOA,KAAQ,GAAK,GAAK,CAAEH,KAAO,CAAGD,OAAQ,EACxF,GAAGC,KAAMnnB,EAAE4iB,aAAa,IAAKsE,MAAQI,KAAOvnB,OAAS,IAAMmnB,MAAQ,QAC9D,MAAM,IAAIre,OAAM,wBAA0B9I,MAKhD,QAASwnB,oBAAmBxnB,MAC3B,GAAI4kB,OAASriB,KAAOiY,KACpBoK,MAAKriB,EAAE2J,EAAIlM,KAAKkT,WAAW,EAC3B0R,MAAKpK,EAAEtO,EAAIlM,KAAKkT,WAAW,EAC3B0R,MAAKriB,EAAEY,EAAInD,KAAKkT,WAAW,EAC3B0R,MAAKpK,EAAErX,EAAInD,KAAKkT,WAAW,EAC3B,OAAO0R,MAGR,QAAS6C,oBAAmBvb,EAAGjM,GAC9B,IAAIA,EAAGA,EAAI+iB,QAAQ,GACnB/iB,GAAE4iB,YAAY,EAAG3W,EAAE3J,EAAE2J,EACrBjM,GAAE4iB,YAAY,EAAG3W,EAAEsO,EAAEtO,EACrBjM,GAAE4iB,YAAY,EAAG3W,EAAE3J,EAAEY,EACrBlD,GAAE4iB,YAAY,EAAG3W,EAAEsO,EAAErX,EACrB,OAAOlD,GAMR,QAASynB,YAAW1nB,KAAMI,QAAU,MAAOJ,MAAKkT,WAAW,EAAG,KAC9D,QAASyU,YAAW3nB,KAAMC,GAAK,OAAQA,GAAK+iB,QAAQ,IAAIH,YAAY,EAAG7iB,KAAM,KAG7E,GAAI4nB,OACJnjB,EAAM,SACNojB,EAAM,UACNziB,GAAM,UACN0iB,GAAM,QACNC,GAAM,SACNC,GAAM,QACNC,GAAM,OACNC,GAAM,gBACNC,IAAM,QAEN,IAAIC,OAAQjP,UAAUyO,KAGtB,SAASS,gBAAeroB,KAAMI,QAC7B,GAAImJ,OACJ,IAAIhG,GAAIvD,KAAKkT,WAAW,EACxB3J,KAAI+e,UAAY/kB,EAAI,CACpBgG,KAAIgf,WAAahlB,IAAM,CACvBgG,KAAIif,MAAQxoB,KAAKkT,WAAW,EAC5B3J,KAAIkf,cAAgBzoB,KAAKkT,WAAW,EAAG,IACvC3J,KAAImf,KAAS1oB,KAAKkT,WAAW,EAC7B3J,KAAIof,OAAS3oB,KAAKkT,WAAW,EAC7B3J,KAAIqf,MAAS5oB,KAAKkT,WAAW,EAC7B3J,KAAIsf,OAAS7oB,KAAKkT,WAAW,GAI9B,QAAS4V,iBAAgB9oB,KAAMI,QAC9B,GAAImD,GAAIvD,KAAKkT,WAAW,EACxBlT,MAAKoD,GACL,IAAImG,MACHwf,QAASxlB,EAAI,EACbylB,WAAYzlB,EAAI,EAChB0lB,SAAU1lB,EAAI,GACd2lB,QAAS3lB,EAAI,GACb4lB,UAAW5lB,EAAI,GACf6lB,QAAS7lB,EAAI,IAEd,OAAOgG,KAGR,CACC,GAAI8f,UAAc,CAClB,IAAIC,SAAc,CAClB,IAAIC,OAAc,CAClB,IAAIC,OAAc,CAClB,IAAIC,OAAc,CAClB,IAAIC,OAAc,CAClB,IAAIC,OAAc,CAClB,IAAIC,SAAc,CAClB,IAAIC,SAAc,CAClB,IAAIC,UAAc,EAClB,IAAIC,SAAc,EAClB,IAAIC,YAAc,EAClB,IAAIC,YAAc,EAClB,IAAIC,OAAc,EAClB,IAAIC,QAAc,EAClB,IAAIC,QAAc,EAClB,IAAIC,QAAc,EAClB,IAAIC,OAAc,EAClB,IAAIC,QAAc,EAClB,IAAIC,QAAc,EAClB,IAAIC,SAAc,EAClB,IAAIC,UAAc,EAClB,IAAIC,WAAc,EAClB,IAAIC,aAAc,EAClB,IAAIC,SAAc,EAClB,IAAIC,WAAc,EAClB,IAAIC,YAAc,EAClB,IAAIC,oBAAsB,EAC1B,IAAIC,kBAAsB,EAC1B,IAAIC,gBAAsB,EAC1B,IAAIC,OAAc,EAClB,IAAIC,UAAc,EAClB,IAAIC,qBAAsB,EAC1B,IAAIC,WAAc,IAClB,IAAIC,UAAc,IAElB,IAAIC,WAAc,EAClB,IAAIC,SAAc,EAClB,IAAIC,YAAeF,UAAWC,SAI/B,GAAIE,mBACJjnB,GAAQknB,EAAG,WAAYpoB,EAAG+lB,OAC1B5kB,GAAQinB,EAAG,WAAYpoB,EAAGgoB,WAC1B5mB,GAAQgnB,EAAG,qBAAsBpoB,EAAGgoB,WACpC3mB,GAAQ+mB,EAAG,YAAapoB,EAAGgmB,OAC3BqC,GAAQD,EAAG,YAAapoB,EAAGgmB,OAC3BsC,GAAQF,EAAG,iBAAkBpoB,EAAGgmB,OAChC3B,GAAQ+D,EAAG,aAAcpoB,EAAGgmB,OAC5BuC,GAAQH,EAAG,YAAapoB,EAAGgmB,OAC3B1kB,GAAQ8mB,EAAG,cAAepoB,EAAGgmB,OAC7BzkB,IAAQ6mB,EAAG,sBAAuBpoB,EAAGgmB,OACrCxkB,IAAQ4mB,EAAG,QAASpoB,EAAGumB,SACvB9kB,IAAQ2mB,EAAG,cAAepoB,EAAG8nB,UAAYtB,YACzC9kB,IAAQ0mB,EAAG,WAAYpoB,EAAG8nB,UAAYZ,UACtCvlB,IAAQymB,EAAG,UAAWpoB,EAAGgoB,WACzBpmB,IAAQwmB,EAAG,UAAWpoB,EAAGgoB,WACzBnmB,IAAQumB,EAAG,aAAcpoB,EAAGumB,SAC5BzkB,IAAQsmB,EAAG,iBAAkBpoB,EAAGgmB,OAChChkB,IAAQomB,EAAG,YAAapoB,EAAGumB,SAC3BpkB,IAAQimB,EAAG,gBAAiBpoB,EAAGumB,SAC/BjC,IAAQ8D,EAAG,aAAcpoB,EAAGgmB,MAAO9E,EAAG,WACtCsH,IAAQJ,EAAG,cAAepoB,EAAGgoB,WAC7BS,IAAQL,EAAG,gBAAiBpoB,EAAGgoB,WAC/BU,IAAQN,EAAG,WAAYpoB,EAAGgoB,WAC1BzD,IAAQ6D,EAAG,UAAWpoB,EAAGgoB,WACzBrD,OAIA,IAAIgE,eACJznB,GAAQknB,EAAG,WAAYpoB,EAAG+lB,OAC1B5kB,GAAQinB,EAAG,QAASpoB,EAAGgoB,WACvB5mB,GAAQgnB,EAAG,UAAWpoB,EAAGgoB,WACzB3mB,GAAQ+mB,EAAG,SAAUpoB,EAAGgoB,WACxBK,GAAQD,EAAG,WAAYpoB,EAAGgoB,WAC1BM,GAAQF,EAAG,WAAYpoB,EAAGgoB,WAC1B3D,GAAQ+D,EAAG,WAAYpoB,EAAGgoB,WAC1BO,GAAQH,EAAG,aAAcpoB,EAAGgoB,WAC5B1mB,GAAQ8mB,EAAG,YAAapoB,EAAGgoB,WAC3BzmB,IAAQ6mB,EAAG,WAAYpoB,EAAGonB,aAC1B5lB,IAAQ4mB,EAAG,cAAepoB,EAAGonB,aAC7B3lB,IAAQ2mB,EAAG,cAAepoB,EAAGonB,aAC7B1lB,IAAQ0mB,EAAG,eAAgBpoB,EAAGonB,aAC9BzlB,IAAQymB,EAAG,YAAapoB,EAAGgmB,OAC3BpkB,IAAQwmB,EAAG,YAAapoB,EAAGgmB,OAC3BnkB,IAAQumB,EAAG,YAAapoB,EAAGgmB,OAC3BlkB,IAAQsmB,EAAG,YAAapoB,EAAG2nB,OAC3B5lB,IAAQqmB,EAAG,kBAAmBpoB,EAAGknB,UACjCllB,IAAQomB,EAAG,mBAAoBpoB,EAAGgmB,OAClCrB,OAIA,IAAIiE,oBACJC,YAAcT,EAAG,SAAUpoB,EAAG6mB,QAC9BiC,YAAcV,EAAG,WAAYpoB,EAAG6mB,QAChCkC,gBAGA,WACC,IAAI,GAAIloB,KAAK+nB,mBAAmB,GAAGA,kBAAkBI,eAAenoB,GACpEsnB,iBAAiBtnB,GAAK8nB,aAAa9nB,GAAK+nB,kBAAkB/nB,MAI3D,IAAIooB,cACJ/nB,EAAQ,KACRC,EAAQ,KACRC,EAAQ,GACRijB,EAAQ,KACRpiB,GAAQ,KACRinB,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACR9E,GAAQ,KACRliB,GAAQ,KACRinB,GAAQ,KACR7E,GAAQ,KACR8E,GAAQ,KACRhnB,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACR6mB,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,GAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRC,IAAQ,KACRvoB,MAAQ,KAIR,IAAIwoB,iBACH,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,WAGD,SAASC,QAAOvV,KAAO,MAAOA,KAAItY,IAAI,SAAST,GAAK,OAASA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAIA,EAAE,OAGrF,GAAIuuB,QAASD,QAEZ,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,GAQD,IAAIE,UAEHC,6EAA8E,YAG9EC,sCAAuC,OAGvCC,sCAAuC,OACvCC,6EAA8E,OAG9EC,uCAAwC,OACxCC,8EAA+E,OAG/EC,sCAAuC,OACvCC,0CAA2C,OAC3CC,0CAA2C,OAC3CC,sCAAuC,OAGvCC,6DAA8D,YAC9DC,sEAAuE,YACvEC,wEAAyE,WAGzEC,wEAAyE,OAGzEC,oCAAqC,WACrCC,2EAA4E,WAG5EC,sCAAuC,OACvCC,6EAA8E,OAG9EC,qCAAsC,aACtCC,4EAA6E,aAG7EC,8EAA+E,OAG/EC,oCAAqC,OACrCC,wCAAyC,OAGzCC,4CAA6C,OAG7CC,uCAAwC,OACxCC,8EAA+E,OAG/EC,wCAAyC,OACzCC,+EAAgF,OAGhFC,yCAA0C,OAC1CC,gFAAiF,OAGjFC,gDAAiD,OACjDC,6CAA8C,OAC9CC,uFAAwF,OACxFC,oFAAqF,OAGrFC,sCAAuC,OACvCC,6EAA8E,OAG9EC,qCAAsC,OACtCC,2CAA4C,OAC5CC,uCAAwC,OACxCC,kFAAmF,OACnFC,8EAA+E,OAC/EC,4EAA6E,OAG7EC,4CAA6C,OAC7CC,mFAAoF,OAGpFC,kCAAmC,OACnCC,uCAAwC,OACxCC,sCAAuC,OACvCC,2CAA4C,OAG5CC,qCAAsC,OAGtCC,iCAAkC,OAClCC,wEAAyE,OAGzEC,0DAA2D,SAG3DC,wCAAyC,OACzCC,6CAA8C,OAG9CC,uCAAwC,MACxCC,gDAAiD,MAGjDC,iDAAkD,OAClDC,uFAAwF,OAGxFC,iDAAkD,OAGlDC,2DAA4D,OAG5DC,sCAAuC,OAGvCC,4DAA6D,OAC7DC,oEAAqE,OACrEC,0EAA2E,OAC3EC,4EAA6E,OAC7EC,0EAA2E;AAC3EC,4EAA6E,OAC7EC,2EAA4E,OAG5EC,2DAA4D,OAE5DC,2DAA4D,OAC5DC,0DAA2D,OAE3DC,MAAS,KAGV,IAAIC,SAAU,WACb,GAAIzzB,IACH0zB,WACCC,KAAM,6EACNC,KAAM,uDACNC,KAAM,0DACNC,KAAM,iFAEPC,MACCJ,KAAM,gFACNE,KAAM,0CAEPG,QACCL,KAAM,4EACNE,KAAM,sCAEPI,QACCN,KAAM,yEACNE,KAAM,mCAGRlb,MAAK3Y,GAAGge,QAAQ,SAASvI,GAAK,IAAIzV,EAAEyV,GAAGme,KAAM5zB,EAAEyV,GAAGme,KAAO5zB,EAAEyV,GAAGke,MAC9Dhb,MAAK3Y,GAAGge,QAAQ,SAASvI,GAAIkD,KAAK3Y,EAAEyV,IAAIuI,QAAQ,SAAS3a,GAAK2rB,QAAQhvB,EAAEyV,GAAGpS,IAAMoS,KACjF,OAAOzV,KAGR,IAAIk0B,SAAsC/a,UAAU6V,QAEpDtQ,OAAMyV,GAAK,8DAEX,SAASC,UAASr0B,KAAMuE,MACvB,GAAI0S,KAAQ0c,aAAeM,UAAYK,cAAgBC,UAAYL,UAClEM,aAAeC,YAAcC,aAAeV,QAASW,YAAcC,OACnEC,QAASC,QAASC,MAAO,GAC1B,KAAI/0B,OAASA,KAAKwL,MAAO,MAAOyL,GAChC,IAAI+d,WACHh1B,KAAKwL,MAAMsP,eAAemD,QAAQ,SAASxd,GAC3C,GAAI4D,GAAI4W,YAAYxa,EACpB,QAAO4D,EAAE,GAAGrC,QAAQ+Y,QAAQ,MAC3B,IAAK,QAAS,KACd,KAAK,SAAU9D,GAAG8d,MAAQ1wB,EAAE,SAAWA,EAAE,GAAGmH,MAAM,aAAa,GAAG,KAAK,GAAM,MAC7E,KAAK,WAAYwpB,MAAM3wB,EAAE4wB,WAAa5wB,EAAE6wB,WAAa,MACrD,KAAK,YACJ,GAAGje,GAAGgY,QAAQ5qB,EAAE6wB,gBAAkB5wB,UAAW2S,GAAGgY,QAAQ5qB,EAAE6wB,cAAc7f,KAAKhR,EAAE8wB,cAC1E,IAAG5wB,KAAK6wB,IAAKC,QAAQC,MAAMjxB,EAChC,SAGH,IAAG4S,GAAG8d,QAAUpW,MAAMyV,GAAI,KAAM,IAAItrB,OAAM,sBAAwBmO,GAAG8d,MACrE9d,IAAGse,UAAYte,GAAGqd,WAAWl0B,OAAS,EAAI6W,GAAGqd,WAAW,GAAK,EAC7Drd,IAAGue,IAAMve,GAAG+c,KAAK5zB,OAAS,EAAI6W,GAAG+c,KAAK,GAAK,EAC3C/c,IAAGwe,MAAQxe,GAAGid,OAAO9zB,OAAS,EAAI6W,GAAGid,OAAO,GAAK,EACjDjd,IAAGye,SAAWV,YACP/d,IAAGqd,UACV,OAAOrd,IAGR,GAAI0e,gBAAiBrX,UAAU,QAAS,MACvCyW,MAASpW,MAAMyV,GACfwB,YAAajX,MAAMQ,IACnB0W,YAAalX,MAAMO,KAGpB,IAAI4W,kBACF,MAAO,oBACP,MAAO,4DACP,OAAQ3B,QAAQW,KAAK,KACrB5zB,IAAI,SAAST,GACd,MAAO6d,WAAU,UAAW,MAAO2W,UAAYx0B,EAAE,GAAIy0B,YAAez0B,EAAE,MAGvE,SAASs1B,UAAS9e,GAAI1S,MACrB,GAAItE,MAAQqD,CACZrD,GAAEA,EAAEG,QAAU,UACdH,GAAEA,EAAEG,QAAU,cACdH,GAAIA,EAAE0C,OAAOmzB,eACb,IAAIE,IAAK,SAAS/tB,GACjB,GAAGgP,GAAGhP,IAAMgP,GAAGhP,GAAG7H,OAAS,EAAG,CAC7BkD,EAAI2T,GAAGhP,GAAG,EACVhI,GAAEA,EAAEG,QAAWke,UAAU,WAAY,MACpC6W,UAAa7xB,EAAE,IAAM,IAAM,GAAG,KAAOA,EACrC4xB,YAAexB,QAAQzrB,GAAG1D,KAAK0xB,UAAY,WAI9C,IAAIC,IAAK,SAASjuB,GACjBgP,GAAGhP,GAAGgW,QAAQ,SAAS3a,GACtBrD,EAAEA,EAAEG,QAAWke,UAAU,WAAY,MACpC6W,UAAa7xB,EAAE,IAAM,IAAM,GAAG,KAAOA,EACrC4xB,YAAexB,QAAQzrB,GAAG1D,KAAK0xB,UAAY,YAI9C,IAAIE,IAAK,SAAS3yB,IAChByT,GAAGzT,QAAQya,QAAQ,SAAS3a,GAC5BrD,EAAEA,EAAEG,QAAWke,UAAU,WAAY,MACpC6W,UAAa7xB,EAAE,IAAM,IAAM,GAAG,KAAOA,EACrC4xB,YAAef,QAAQ3wB,GAAG,OAI7BwyB,IAAG,YACHE,IAAG,SACHC,IAAG,WACF,OAAQ,UAAUlY,QAAQ+X,KAC1B,YAAa,WAAY,aAAa/X,QAAQkY,GAC/C,IAAGl2B,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,UAAcH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KACnE,MAAO/B,GAAEoe,KAAK,IAGf,GAAI+X,OACHC,GAAI,qFACJC,MAAO,qFAGR,SAASC,YAAWv2B,KAAMw2B,iBACzB,IAAKx2B,KAAM,MAAOA,KAClB,IAAIw2B,gBAAgB10B,OAAO,KAAO,IAAK,CACtC00B,gBAAkB,IAAIA,gBAEvB,GAAI1B,QACJ,IAAI2B,QACJ,IAAIC,iCAAkC,SAAUC,IAC/C,GAAIC,UAAWJ,gBAAgBh0B,MAAM,IACrCo0B,UAASC,KACT,IAAIC,QAASH,GAAGn0B,MAAM,IACtB,IAAIu0B,YACJ,OAAOD,OAAO12B,SAAW,EAAG,CAC3B,GAAI42B,OAAQF,OAAO3iB,OACnB,IAAI6iB,QAAU,KAAM,CACnBJ,SAASC,UACH,IAAIG,QAAU,IAAK,CACzBJ,SAASvhB,KAAK2hB,QAGhB,MAAOJ,UAASvY,KAAK,OAGrBre,KAAKwL,MAAMsP,eAAemD,QAAQ,SAASxd,GAC3C,GAAI4D,GAAI4W,YAAYxa,EAEpB,IAAI4D,EAAE,KAAO,gBAAiB,CAC7B,GAAI4yB,OAAUA,KAAIC,KAAO7yB,EAAE6yB,IAAMD,KAAIE,OAAS9yB,EAAE8yB,MAAQF,KAAIG,GAAK/yB,EAAE+yB,EAAIH,KAAII,WAAahzB,EAAEgzB,UAC1F,IAAIC,eAAgBjzB,EAAEgzB,aAAe,WAAahzB,EAAE8yB,OAAST,gCAAgCryB,EAAE8yB,OAC/FrC,MAAKwC,eAAiBL,GACtBR,MAAKpyB,EAAE+yB,IAAMH,MAGfnC,MAAK,OAAS2B,IACd,OAAO3B,MAGRnW,MAAMyX,KAAO,8DAEb,IAAImB,WAAYjZ,UAAU,gBAAiB,MAE1CyW,MAASpW,MAAMyX,MAIhB,SAASoB,YAAW1C,MACnB,GAAI70B,KACJA,GAAEA,EAAEG,QAAU,UACdH,GAAEA,EAAEG,QAAU,SACdwY,MAAKkc,KAAK,QAAQ7W,QAAQ,SAASwZ,KAAO,GAAIR,KAAMnC,KAAK,OAAO2C,IAC/Dx3B,GAAEA,EAAEG,QAAWke,UAAU,eAAgB,KAAM2Y,MAEhD,IAAGh3B,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,kBAAsBH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KAC3E,MAAO/B,GAAEoe,KAAK,IAIf,GAAIqZ,cACF,cAAe,aACf,mBAAoB,kBACpB,cAAe,aACf,oBAAqB,eACrB,iBAAkB,gBAClB,cAAe,cACf,aAAc,YACd,aAAc,WACd,iBAAkB,aAClB,gBAAiB,eACjB,cAAe,aACf,aAAc,YACd,WAAY,UACZ,kBAAmB,cAAe,SAClC,mBAAoB,eAAgB,QAGtC/Y,OAAM+Y,WAAa,yEACnBtB,MAAKsB,WAAc,uFAEnB,IAAIC,kBAAmB,WACtB,GAAIzrB,GAAI,GAAI7J,OAAMq1B,WAAWt3B,OAC7B,KAAI,GAAIF,GAAI,EAAGA,EAAIw3B,WAAWt3B,SAAUF,EAAG,CAC1C,GAAI6P,GAAI2nB,WAAWx3B,EACnB,IAAImd,GAAI,MAAOtN,EAAE,GAAGjP,OAAO,EAAEiP,EAAE,GAAG9N,QAAQ,MAAO,KAAM8N,EAAE,GAAGjP,OAAOiP,EAAE,GAAG9N,QAAQ,KAAK,EACrFiK,GAAEhM,GAAK,GAAIod,QAAO,IAAMD,EAAI,eAAkBA,EAAI,KAEnD,MAAOnR,KAGR,SAAS0rB,kBAAiB53B,MACzB,GAAI0kB,KAEJ,KAAI,GAAIxkB,GAAI,EAAGA,EAAIw3B,WAAWt3B,SAAUF,EAAG,CAC1C,GAAI6P,GAAI2nB,WAAWx3B,GAAI23B,IAAM73B,KAAKwL,MAAMmsB,iBAAiBz3B,GACzD,IAAG23B,KAAO,MAAQA,IAAIz3B,OAAS,EAAGskB,EAAE3U,EAAE,IAAM8nB,IAAI,EAChD,IAAG9nB,EAAE,KAAO,QAAU2U,EAAE3U,EAAE,IAAK2U,EAAE3U,EAAE,IAAM,GAAIhG,MAAK2a,EAAE3U,EAAE,KAGvD,MAAO2U,GAGR,GAAIoT,qBAAsBxZ,UAAU,oBAAqB,MAExDyZ,WAAYpZ,MAAM+Y,WAClBM,WAAYrZ,MAAMC,GAClBqZ,gBAAiBtZ,MAAME,QACvBqZ,iBAAkBvZ,MAAMG,SACxB+W,YAAalX,MAAMO,KAGpB,SAASiZ,SAAQpoB,EAAGsN,EAAGQ,EAAG5d,EAAGykB,GAC5B,GAAGA,EAAE3U,IAAM,MAAQsN,GAAK,MAAQA,IAAM,GAAI,MAC1CqH,GAAE3U,GAAKsN,CACPpd,GAAEA,EAAEG,QAAWyd,EAAIS,UAAUvO,EAAEsN,EAAEQ,GAAKM,SAASpO,EAAEsN,GAGlD,QAAS+a,kBAAiBt4B,GAAIyE,MAC7B,GAAItE,IAAKye,WAAYoZ,qBAAsBpT,IAC3C,KAAI5kB,GAAI,MAAOG,GAAEoe,KAAK,GAGtB,IAAGve,GAAGu4B,aAAe,KAAMF,QAAQ,wBAA0Br4B,IAAGu4B,cAAgB,SAAWv4B,GAAGu4B,YAAc9Z,aAAaze,GAAGu4B,YAAa9zB,KAAK6wB,MAAOkD,WAAW,kBAAmBr4B,EAAGykB,EACtL,IAAG5kB,GAAGy4B,cAAgB,KAAMJ,QAAQ,yBAA2Br4B,IAAGy4B,eAAiB,SAAWz4B,GAAGy4B,aAAeha,aAAaze,GAAGy4B,aAAch0B,KAAK6wB,MAAOkD,WAAW,kBAAmBr4B,EAAGykB,EAE3L,KAAI,GAAIxkB,GAAI,EAAGA,GAAKw3B,WAAWt3B,SAAUF,EAAG,CAAE,GAAI6P,GAAI2nB,WAAWx3B,EAAIi4B,SAAQpoB,EAAE,GAAIjQ,GAAGiQ,EAAE,IAAK,KAAM9P,EAAGykB,GACtG,GAAGzkB,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,sBAA0BH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KAC/E,MAAO/B,GAAEoe,KAAK,IAIf,GAAIma,aACF,cAAe,cAAe,WAC9B,aAAc,aAAc,WAC5B,UAAW,UAAW,WACtB,cAAe,cAAe,WAC9B,UAAW,UAAW,WACtB,oBAAqB,oBAAqB,SAC1C,YAAa,YAAa,SAC1B,gBAAiB,gBAAiB,SAClC,YAAa,YAAa,SAC1B,eAAgB,eAAgB,QAChC,gBAAiB,gBAAiB,OAGpC7Z,OAAM6Z,UAAY,2EAClBpC,MAAKoC,UAAa,yFAElB,SAASC,iBAAgBz4B,KAAM0kB,GAC9B,GAAIpd,KAAQ,KAAIod,EAAGA,IAEnB8T,WAAUva,QAAQ,SAASlO,GAC1B,OAAOA,EAAE,IACR,IAAK,SAAU2U,EAAE3U,EAAE,KAAO/P,KAAKwL,MAAM2R,SAASpN,EAAE,UAAU,EAAI,MAC9D,KAAK,OAAQ2U,EAAE3U,EAAE,KAAO/P,KAAKwL,MAAM2R,SAASpN,EAAE,UAAU,KAAO,MAAQ,MACvE,KAAK,MACJ,GAAI8nB,KAAM73B,KAAKwL,MAAM,GAAI8R,QAAO,IAAMvN,EAAE,GAAK,eAAkBA,EAAE,GAAK,KACtE,IAAG8nB,KAAOA,IAAIz3B,OAAS,EAAGkH,EAAEyI,EAAE,IAAM8nB,IAAI,EACxC,SAIH,IAAGvwB,EAAEoxB,cAAgBpxB,EAAEqxB,cAAe,CACrC,GAAIr1B,GAAIsa,YAAYtW,EAAEoxB,aACtB,IAAI5tB,GAAI,EAAG8tB,KAAO,CAClB,KAAI,GAAI14B,GAAI,EAAGA,IAAMoD,EAAElD,SAAUF,EAAG,CACnC,OAAOoD,EAAEpD,GAAGoD,GACX,IAAK,aAAcs1B,KAAO9tB,CAAG4Z,GAAEmU,YAAev1B,IAAIpD,GAAI,CAAG,MACzD,KAAK,iBAAkBA,CAAG,QAG5B,GAAI44B,OAAQlb,YAAYtW,EAAEqxB,eAAez3B,IAAI,SAAST,GAAK,MAAOmc,UAASnc,EAAE6C,IAC7EohB,GAAEqU,WAAaD,MAAMnmB,MAAMimB,KAAMA,KAAOlU,EAAEmU,YAE3C,MAAOnU,GAGR,GAAIsU,oBAAqB1a,UAAU,aAAc,MAChDyW,MAASpW,MAAM6Z,UACfS,WAAYta,MAAMM,IAGnB,SAASia,iBAAgBp5B,GAAIyE,MAC5B,GAAItE,MAAQykB,KAAQyU,EAAI7a,SACxB,KAAIxe,GAAIA,KACRA,IAAGs5B,YAAc,SACjBn5B,GAAEA,EAAEG,QAAU,UACdH,GAAEA,EAAEG,QAAU,kBAEdo4B,WAAUva,QAAQ,SAASlO,GAC1B,GAAGjQ,GAAGiQ,EAAE,MAAQzL,UAAW,MAC3B,IAAIhB,EACJ,QAAOyM,EAAE,IACR,IAAK,SAAUzM,EAAIxD,GAAGiQ,EAAE,GAAK,MAC7B,KAAK,OAAQzM,EAAIxD,GAAGiQ,EAAE,IAAM,OAAS,OAAS,OAE/C,GAAGzM,IAAMgB,UAAWrE,EAAEA,EAAEG,QAAW+4B,EAAEppB,EAAE,GAAIzM,IAI5CrD,GAAEA,EAAEG,QAAW+4B,EAAE,eAAgBA,EAAE,YAAaA,EAAE,aAAc,mCAAmCA,EAAE,aAAcA,EAAE,QAASz4B,OAAOZ,GAAG+4B,eAAgBzhB,KAAK,EAAG2G,SAAS,YACzK9d,GAAEA,EAAEG,QAAW+4B,EAAE,gBAAiBA,EAAE,YAAar5B,GAAGi5B,WAAW73B,IAAI,SAASqB,GAAK,MAAO,aAAeA,EAAI,gBAAkB8b,KAAK,KAAMjH,KAAMtX,GAAG+4B,WAAY9a,SAAS,UACtK,IAAG9d,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,eAAmBH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KACxE,MAAO/B,GAAEoe,KAAK,IAGfM,MAAM0a,WAAa,yEACnBjD,MAAKiD,WAAc,uFAEnB,IAAIC,WAAY,eAChB,SAASC,kBAAiBv5B,KAAMuE,MAC/B,GAAImgB,MAAQjR,KAAO,EACnB,IAAI/J,GAAI1J,KAAKwL,MAAM8tB,UACnB,IAAG5vB,EAAG,IAAI,GAAIxJ,GAAI,EAAGA,GAAKwJ,EAAEtJ,SAAUF,EAAG,CACxC,GAAIO,GAAIiJ,EAAExJ,GAAImE,EAAI4W,YAAYxa,EAC9B,QAAO4D,EAAE,IACR,IAAK,QAAS,KACd,KAAK,cACJ,GAAGA,EAAE0wB,QAAUpW,MAAM0a,WAAY,KAAM,sBAAwBh1B,EAAE0wB,KACjE,IAAG1wB,EAAEm1B,SAAWn1B,EAAEm1B,UAAY7a,MAAMM,GAAI,KAAM,mBAAqB5a,EAAEm1B,OACrE,MACD,KAAK,YAAa/lB,KAAOpP,EAAEoP,IAAM,MACjC,KAAK,cAAeA,KAAO,IAAM,MACjC,SAAS,GAAIhT,EAAEwB,QAAQ,UAAY,EAAG,CACrC,GAAIw3B,MAAOh5B,EAAE+B,MAAM,IACnB,IAAI8H,MAAOmvB,KAAK,GAAGne,UAAU,GAAIa,KAAOsd,KAAK,EAE7C,QAAOnvB,MACN,IAAK,QAAS,IAAK,SAAU,IAAK,OAAQ,IAAK,SAC9Coa,EAAEjR,MAAQuI,YAAYG,KACtB,MACD,KAAK,OACJuI,EAAEjR,MAAQiJ,aAAaP,KAAM,YAC7B,MACD,KAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,MAAO,IAAK,OAC5DuI,EAAEjR,MAAQnH,SAAS6P,KAAM,GACzB,MACD,KAAK,KAAM,IAAK,KAAM,IAAK,UAC1BuI,EAAEjR,MAAQ5D,WAAWsM,KACrB,MACD,KAAK,WAAY,IAAK,OACrBuI,EAAEjR,MAAQ,GAAI1J,MAAKoS,KACnB,MACD,KAAK,KAAM,IAAK,QACfuI,EAAEjR,MAAQuI,YAAYG,KACtB,MACD,SACC,GAAG5X,KAAK6wB,WAAcC,WAAY,YAAaA,QAAQqE,KAAK,aAAcj5B,EAAG6J,KAAMmvB,WAE/E,IAAGh5B,EAAEK,OAAO,EAAE,KAAO,KAAM,MAC3B,IAAGyD,KAAK6wB,IAAK,KAAM,IAAItsB,OAAMrI,IAGtC,MAAOikB,GAGR,GAAIiV,qBAAsBrb,UAAU,aAAc,MACjDyW,MAASpW,MAAM0a,WACfJ,WAAYta,MAAMM,IAGnB,SAAS2a,kBAAiB95B,GAAIyE,MAC7B,GAAItE,IAAKye,WAAYib,oBACrB,KAAI75B,GAAI,MAAOG,GAAEoe,KAAK,GACtB,IAAIwb,KAAM,CACVjhB,MAAK9Y,IAAIme,QAAQ,QAAS6b,UAASpkB,KAAOmkB,GACzC55B,GAAEA,EAAEG,QAAWke,UAAU,WAAYG,SAAS3e,GAAG4V,KAChDqkB,MAAS,yCACTF,IAAOA,IACPpmB,KAAQiC,KAGV,IAAGzV,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,eAAiBH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KACtE,MAAO/B,GAAEoe,KAAK,IAEf,QAAS2b,eAAcC,MAAO/e,IAAK1Q,KAElC,OAAO0Q,KACN,IAAK,cAAeA,IAAM,UAAY,OAEvC+e,MAAM/e,KAAO1Q,IAMd,QAAS0vB,gBAAexnB,MACvB,GAAIynB,eAAgBznB,KAAKQ,WAAW,GAAIknB,eAAiB1nB,KAAKQ,WAAW,EACzE,OAAO,IAAInJ,OAAOqwB,eAAe,IAAIx2B,KAAKI,IAAI,EAAE,IAAMm2B,cAAc,IAAO,aAAa,KAAM3b,cAAcxc,QAAQ,QAAQ,IAI7H,QAASq4B,aAAY3nB,KAAMpI,KAAMgwB,KAChC,GAAIttB,KAAM0F,KAAKQ,WAAW,EAAG,QAC7B,IAAGonB,IAAK5nB,KAAKtP,GAAM,GAAM4J,IAAI5M,OAAO,EAAK,GAAM,CAC/C,OAAO4M,KAIR,QAASutB,cAAa7nB,KAAMpI,KAAMgwB,KACjC,GAAIttB,KAAM0F,KAAKQ,WAAW,EAAG,SAC7B,IAAGonB,IAAK5nB,KAAKtP,GAAM,GAAM4J,IAAI5M,OAAO,EAAK,GAAM,CAC/C,OAAO4M,KAMR,QAASwtB,oBAAmB9nB,KAAM+nB,WAAYH,KAC7C,GAAGG,aAAe,GAAoB,MAAOF,cAAa7nB,KAC1D,OAAO2nB,aAAY3nB,KAAM+nB,WAAYH,KAGtC,QAASI,gBAAehoB,KAAMlP,EAAG82B,KAAO,MAAOE,oBAAmB9nB,KAAMlP,EAAG82B,MAAQ,MAAQ,EAAG,GAC9F,QAASK,yBAAwBjoB,KAAMlP,GAAK,IAAIA,EAAG,KAAM,IAAIsF,OAAM,SAAW,OAAO0xB,oBAAmB9nB,KAAMlP,EAAG,GAGjH,QAASo3B,gCAA+BloB,MACvC,GAAItS,QAASsS,KAAKQ,WAAW,EAC7B,IAAI2nB,OACJ,KAAI,GAAI36B,GAAI,EAAGA,GAAKE,SAAUF,EAAG26B,IAAI36B,GAAKwS,KAAKQ,WAAW,EAAG,QAC7D,OAAO2nB,KAIR,QAASC,2BAA0BpoB,MAClC,MAAOkoB,gCAA+BloB,MAIvC,QAASqoB,qBAAoBroB,MAC5B,GAAIsoB,eAAgBC,yBAAyBvoB,KAAM+Y,QACnD,IAAIyP,aAAcD,yBAAyBvoB,KAAM8W,MACjD,QAAQwR,cAAeE,aAIxB,QAASC,6BAA4BzoB,MACpC,GAAI0oB,WAAY1oB,KAAKQ,WAAW,EAChC,IAAI3J,OACJ,KAAI,GAAIrJ,GAAI,EAAGA,GAAKk7B,UAAY,IAAKl7B,EAAGqJ,IAAI8L,KAAK0lB,oBAAoBroB,MACrE,OAAOnJ,KAIR,QAAS8xB,wBAAuB3oB,MAE/B,MAAOyoB,6BAA4BzoB,MAIpC,QAAS4oB,kBAAiB5oB,KAAK6oB,UAC9B,GAAI3lB,KAAMlD,KAAKQ,WAAW,EAC1B,IAAIsoB,QACJ,KAAI,GAAI1wB,GAAI,EAAGA,GAAK8K,MAAO9K,EAAG,CAC7B,GAAI+uB,KAAMnnB,KAAKQ,WAAW,EAC1B,IAAI/S,KAAMuS,KAAKQ,WAAW,EAC1BsoB,MAAK3B,KAAOnnB,KAAKQ,WAAW/S,IAAMo7B,WAAa,KAAO,UAAU,QAASv5B,QAAQa,KAAK,IAAIb,QAAQc,KAAK,KAExG,GAAG4P,KAAKtP,EAAI,EAAGsP,KAAKtP,EAAKsP,KAAKtP,GAAG,EAAE,GAAI,CACvC,OAAOo4B,MAIR,QAASC,YAAW/oB,MACnB,GAAI0E,MAAO1E,KAAKQ,WAAW,EAC3B,IAAIwoB,OAAQhpB,KAAKC,MAAMD,KAAKtP,EAAEsP,KAAKtP,EAAEgU,KACrC,KAAIA,KAAO,GAAK,EAAG1E,KAAKtP,GAAM,GAAKgU,KAAO,GAAM,CAChD,OAAOskB,OAIR,QAASC,qBAAoBjpB,MAE5B,GAAIzS,KACJA,GAAE27B,KAAOlpB,KAAKQ,WAAW,EAEzBR,MAAKtP,GAAKnD,EAAE27B,IACZ,OAAO37B,GAIR,QAAS47B,gBAAenpB,KAAMyQ,KAW9B,QAAS8X,0BAAyBvoB,KAAMpI,KAAMwxB,OAC7C,GAAIt4B,GAAIkP,KAAKQ,WAAW,GAAI2nB,IAAKt2B,KAAOu3B,SACxCppB,MAAKtP,GAAK,CACV,IAAGkH,OAAS0f,WACZ,GAAGxmB,IAAM8G,MAAQohB,UAAUzpB,QAAQqI,SAAS,EAAG,KAAM,IAAIxB,OAAM,iBAAmBwB,KAAO,QAAU9G,EACnG,QAAO8G,OAAS0f,WAAaxmB,EAAI8G,MAChC,IAAK,GAAgBuwB,IAAMnoB,KAAKQ,WAAW,EAAG,IAAM,KAAI3O,KAAKgQ,IAAK7B,KAAKtP,GAAK,CAAG,OAAOy3B,IACtF,KAAK,GAAgBA,IAAMnoB,KAAKQ,WAAW,EAAG,IAAM,OAAO2nB,IAC3D,KAAK,IAAkB,MAAOnoB,MAAKQ,WAAW,KAAO,CACrD,KAAK,IAAiB2nB,IAAMnoB,KAAKQ,WAAW,EAAI,OAAO2nB,IACvD,KAAK,IAAmB,MAAOR,aAAY3nB,KAAMlP,EAAG,GAAGxB,QAAQa,KAAK,GACpE,KAAK,IAAoB,MAAO03B,cAAa7nB,KAC7C,KAAK,IAAsB,MAAOwnB,gBAAexnB,KACjD,KAAK,IAAkB,MAAO+oB,YAAW/oB,KACzC,KAAK,IAAgB,MAAOipB,qBAAoBjpB,KAChD,KAAK,IAAoB,MAAOgoB,gBAAehoB,KAAMlP,GAAIe,KAAKgQ,KAAO,GAAGvS,QAAQa,KAAK,GACrF,KAAK,IAAkB,MAAO83B,yBAAwBjoB,KAAMlP,EAAG,GAAGxB,QAAQa,KAAK,GAC/E,KAAK,MAAiC,MAAOw4B,wBAAuB3oB,KACpE,KAAK,MAAqB,MAAOooB,2BAA0BpoB,KAC3D,SAAS,KAAM,IAAI5J,OAAM,wCAA0CwB,KAAO,IAAM9G,IAgBlF,QAASu4B,mBAAkBrpB,KAAMspB,OAChC,GAAIC,YAAavpB,KAAKtP,CACtB,IAAIgU,MAAO1E,KAAKQ,WAAW,EAC3B,IAAIgpB,UAAWxpB,KAAKQ,WAAW,EAC/B,IAAI+mB,UAAY/5B,EAAI,CACpB,IAAIq7B,UAAW,CACf,IAAIY,aAAc,EAAGC,UACrB,KAAIl8B,EAAI,EAAGA,GAAKg8B,WAAYh8B,EAAG,CAC9B,GAAIm8B,QAAS3pB,KAAKQ,WAAW,EAC7B,IAAIopB,QAAS5pB,KAAKQ,WAAW,EAC7B+mB,OAAM/5B,IAAMm8B,OAAQC,OAASL,YAE9B,GAAIM,SACJ,KAAIr8B,EAAI,EAAGA,GAAKg8B,WAAYh8B,EAAG,CAC9B,GAAGwS,KAAKtP,IAAM62B,MAAM/5B,GAAG,GAAI,CAC1B,GAAIs8B,MAAO,IACX,IAAGt8B,EAAE,GAAK87B,MAAO,OAAOA,MAAM/B,MAAM/5B,EAAE,GAAG,IAAIsD,GAC5C,IAAK,GAAgB,GAAGkP,KAAKtP,EAAG,IAAM62B,MAAM/5B,GAAG,GAAI,CAAEwS,KAAKtP,GAAG,CAAGo5B,MAAO,MAAS,KAChF,KAAK,IAAoB,GAAG9pB,KAAKtP,GAAK62B,MAAM/5B,GAAG,GAAI,CAAEwS,KAAKtP,EAAE62B,MAAM/5B,GAAG,EAAIs8B,MAAO,MAAS,KACzF,KAAK,MAAiC,GAAG9pB,KAAKtP,GAAK62B,MAAM/5B,GAAG,GAAI,CAAEwS,KAAKtP,EAAE62B,MAAM/5B,GAAG,EAAIs8B,MAAO,MAAS,MAEvG,IAAIR,OAAStpB,KAAKtP,GAAK62B,MAAM/5B,GAAG,GAAI,CAAEs8B,KAAK,KAAO9pB,MAAKtP,EAAI62B,MAAM/5B,GAAG,GACpE,GAAGs8B,KAAM,KAAM,IAAI1zB,OAAM,gCAAkCmxB,MAAM/5B,GAAG,GAAK,OAASwS,KAAKtP,EAAI,KAAOlD,GAEnG,GAAG87B,MAAO,CACT,GAAIS,QAAST,MAAM/B,MAAM/5B,GAAG,GAC5Bq8B,OAAME,OAAO7Q,GAAKqP,yBAAyBvoB,KAAM+pB,OAAOj5B,GAAI+Q,IAAI,MAChE,IAAGkoB,OAAO/X,IAAM,UAAW6X,MAAME,OAAO7Q,GAAKlrB,OAAO67B,MAAME,OAAO7Q,IAAM,IAAM,IAAMlrB,OAAO67B,MAAME,OAAO7Q,GAAK,MAC5G,IAAG6Q,OAAO7Q,GAAK,WAAY,OAAO2Q,MAAME,OAAO7Q,IAC9C,IAAK,GAAG2Q,MAAME,OAAO7Q,GAAK,IAE1B,KAAK,KACL,IAAK,MAEL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MAEL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KAEL,IAAK,MACL,IAAK,MACL,IAAK,MAAO,KAAM,IAClB,IAAK,OAAO,KAAM,IACjB/rB,OAAO07B,SAAWgB,MAAME,OAAO7Q,GAAK,MACrC,SAAS,KAAM,IAAI9iB,OAAM,yBAA2ByzB,MAAME,OAAO7Q,SAE5D,CACN,GAAGqO,MAAM/5B,GAAG,KAAO,EAAK,CACvBq7B,SAAWgB,MAAMhB,SAAWN,yBAAyBvoB,KAAM6W,MAC3D1pB,QAAO07B,SACP,IAAGY,cAAgB,EAAG,CACrB,GAAIO,QAAShqB,KAAKtP,CAClBsP,MAAKtP,EAAI62B,MAAMkC,YAAY,EAC3BC,SAAUd,iBAAiB5oB,KAAK6oB,SAChC7oB,MAAKtP,EAAIs5B,YAEJ,IAAGzC,MAAM/5B,GAAG,KAAO,EAAG,CAC5B,GAAGq7B,WAAa,EAAG,CAAEY,WAAaj8B,CAAGwS,MAAKtP,EAAI62B,MAAM/5B,EAAE,GAAG,EAAI,UAC7Dk8B,QAAUd,iBAAiB5oB,KAAK6oB,cAC1B,CACN,GAAI9nB,MAAO2oB,QAAQnC,MAAM/5B,GAAG,GAC5B,IAAIsK,IAEJ,QAAOkI,KAAKA,KAAKtP,IAChB,IAAK,IAAkBsP,KAAKtP,GAAK,CAAGoH,KAAMixB,WAAW/oB,KAAO,MAC5D,KAAK,IAAmBA,KAAKtP,GAAK,CAAGoH,KAAMkwB,eAAehoB,KAAMA,KAAKA,KAAKtP,EAAE,GAAK,MACjF,KAAK,IAAoBsP,KAAKtP,GAAK,CAAGoH,KAAMkwB,eAAehoB,KAAMA,KAAKA,KAAKtP,EAAE,GAAK,MAClF,KAAK,GAAgBsP,KAAKtP,GAAK,CAAGoH,KAAMkI,KAAKQ,WAAW,EAAG,IAAM,MACjE,KAAK,IAAiBR,KAAKtP,GAAK,CAAGoH,KAAMkI,KAAKQ,WAAW,EAAI,MAC7D,KAAK,GAAgBR,KAAKtP,GAAK,CAAGoH,KAAMkI,KAAKQ,WAAW,EAAG,IAAM,MACjE,KAAK,IAAkBR,KAAKtP,GAAK,CAAGoH,KAAMmyB,UAAUjqB,KAAM,EAAI,MAC9D,KAAK,IAAsBA,KAAKtP,GAAK,CAAGoH,KAAM,GAAIT,MAAKmwB,eAAexnB,MAAQ,MAC9E,SAAS,KAAM,IAAI5J,OAAM,mBAAqB4J,KAAKA,KAAKtP,IAEzDm5B,MAAM9oB,MAAQjJ,MAIjBkI,KAAKtP,EAAI64B,WAAa7kB,IACtB,OAAOmlB,OAIR,QAASK,yBAAwB3qB,KAAM+pB,OACtC,GAAItpB,MAAOT,KAAKqF,OAChB1E,WAAUF,KAAM,EAEhB,IAAImqB,SAASC,OAAQC,OAAQC,QAASC,QAAU,CAChDvqB,MAAKS,IAAI,OAAQ,eAEjB,IAAI+pB,MAAOxqB,KAAKQ,WAAW,EAC3B,IAAIiqB,kBAAmBzqB,KAAKQ,WAAW,EACvCR,MAAKS,IAAItB,IAAIjR,MAAMmX,OAAOrD,aAAc,UACxCmoB,SAAUnqB,KAAKQ,WAAW,EAC1B,IAAG2pB,UAAY,GAAKA,UAAY,EAAG,KAAM,uBAAyBA,OAClEC,QAASpqB,KAAKQ,WAAW,GAAK8pB,SAAUtqB,KAAKQ,WAAW,EAExD,IAAG2pB,UAAY,GAAKG,UAAYtqB,KAAKtP,EAAG,KAAM,sBACzC,IAAGy5B,UAAY,EAAG,CAAEE,OAASrqB,KAAKQ,WAAW,GAAK+pB,SAAUvqB,KAAKQ,WAAW,GACjF,GAAIkqB,OAAQrB,kBAAkBrpB,KAAMspB,MAEpC,IAAIqB,OAAUF,iBAAkBA,iBAChC,KAAI,GAAI94B,KAAK+4B,OAAOC,KAAKh5B,GAAK+4B,MAAM/4B,EAEpCg5B,MAAKC,MAAQR,MAEb,IAAGD,UAAY,EAAG,MAAOQ,KACzB,IAAG3qB,KAAKtP,IAAM65B,QAAS,KAAM,IAAIn0B,OAAM,sBAAwB4J,KAAKtP,EAAI,QAAU65B,QAClF,IAAIM,MACJ,KAAMA,MAAQxB,kBAAkBrpB,KAAM,MAAS,MAAM8H,IACrD,IAAInW,IAAKk5B,OAAOF,KAAKh5B,GAAKk5B,MAAMl5B,EAChCg5B,MAAKC,OAASR,OAAQC,OACtB,OAAOM,MAIR,QAASG,YAAW9qB,KAAMtS,QAAUsS,KAAKQ,WAAW9S,OAAS,OAAO,MAEpE,QAASq9B,UAAS/qB,KAAMtS,OAAQ+iB,IAC/B,GAAI3J,QAAUkkB,OAAShrB,KAAKtP,EAAIhD,MAChC,OAAMsS,KAAKtP,EAAIs6B,OAAQlkB,IAAInE,KAAK8N,GAAGzQ,KAAMgrB,OAAShrB,KAAKtP,GACvD,IAAGs6B,SAAWhrB,KAAKtP,EAAG,KAAM,IAAI0F,OAAM,cACtC,OAAO0Q,KAGR,QAASmkB,WAAUjrB,KAAMtS,OAAQ+iB,IAChC,GAAI3J,QAAUkkB,OAAShrB,KAAKtP,EAAIhD,OAAQD,IAAMuS,KAAKQ,WAAW,EAC9D,OAAM/S,QAAU,EAAGqZ,IAAInE,KAAK8N,GAAGzQ,KAAMgrB,OAAShrB,KAAKtP,GACnD,IAAGs6B,SAAWhrB,KAAKtP,EAAG,KAAM,IAAI0F,OAAM,cACtC,OAAO0Q,KAGR,QAASmjB,WAAUjqB,KAAMtS,QAAU,MAAOsS,MAAKQ,WAAW9S,UAAY,EAEtE,QAASw9B,aAAYlrB,MAAQ,MAAOA,MAAKQ,WAAW,EAAG,KACvD,QAAS2qB,cAAanrB,KAAMtS,QAAU,MAAOq9B,UAAS/qB,KAAKtS,OAAOw9B,aAKlE,GAAIE,eAAgBnB,SAGpB,SAASoB,WAAUrrB,MAClB,GAAIpP,GAAIoP,KAAKQ,WAAW,GAAI1P,EAAIkP,KAAKQ,WAAW,EAChD,OAAO1P,KAAM,EAAOF,EAAIA,IAAM,EAI/B,QAAS06B,4BAA2BtrB,KAAMtS,OAAQmE,MACjD,GAAI05B,KAAMvrB,KAAKQ,WAAW,EAC1B,IAAIgrB,OAAQ,EAAGC,SAAW,WAC1B,IAAIr+B,IAAKP,gBACT,IAAGgF,MAAQA,KAAK65B,MAAQ,EAAG7+B,iBAAmB,IAC9C,IAAGgF,OAASD,WAAaC,KAAK65B,OAAS,EAAG,CACzC,GAAIC,WAAY3rB,KAAKQ,WAAW,EAChC,IAAGmrB,UAAW,CAAEH,MAAQ,CAAGC,UAAW,aAEvC,GAAIl+B,GAAIg+B,IAAMvrB,KAAKQ,WAAW+qB,IAAKE,UAAY,EAC/C5+B,kBAAmBO,EACnB,OAAOG,GAIR,QAASq+B,mCAAkC5rB,MAC1C,GAAI5S,IAAKP,gBACTA,kBAAmB,IACnB,IAAI0+B,KAAMvrB,KAAKQ,WAAW,GAAI+S,MAAQvT,KAAKQ,WAAW,EACtD,IAAImrB,WAAYpY,MAAQ,EAAKsY,OAAStY,MAAQ,EAAKuY,QAAUvY,MAAQ,CACrE,IAAIiY,OAAQ,GAAKjY,MAAQ,EACzB,IAAIwY,MAAO,EAAGC,QACd,IAAItjB,KACJ,IAAGojB,QAASC,KAAO/rB,KAAKQ,WAAW,EACnC,IAAGqrB,OAAQG,SAAWhsB,KAAKQ,WAAW,EACtC,IAAIirB,UAAYlY,MAAQ,EAAO,YAAc,WAC7C,IAAI0Y,KAAMV,MAAQ,EAAI,GAAKvrB,KAAKQ,WAAW+qB,IAAKE,SAChD,IAAGK,QAAS9rB,KAAKtP,GAAK,EAAIq7B,IAC1B,IAAGF,OAAQ7rB,KAAKtP,GAAKs7B,QACrBtjB,GAAE5X,EAAIm7B,GACN,KAAIH,QAAS,CAAEpjB,EAAE7G,IAAM,MAAQ6G,EAAE5X,EAAI,MAAQ4X,GAAElP,EAAIkP,EAAE5X,EACrDjE,iBAAmBO,EACnB,OAAOsb,GAIR,QAASwjB,4BAA2BlsB,KAAMurB,IAAK15B,MAC9C,GAAIgL,OACJ,IAAI8uB,WAAY3rB,KAAKQ,WAAW,EAChC,IAAGmrB,YAAY,EAAG,CAAE9uB,OAASmD,KAAKQ,WAAW+qB,IAAK,iBAC7C,CAAE1uB,OAASmD,KAAKQ,WAAW+qB,IAAK,aACrC,MAAO1uB,QAIR,QAASsvB,uBAAsBnsB,KAAMtS,OAAQmE,MAC5C,GAAI05B,KAAMvrB,KAAKQ,WAAW3O,OAASD,WAAaC,KAAK65B,KAAO,GAAK75B,KAAK65B,KAAO,EAAI,EAAI,EACrF,IAAGH,MAAQ,EAAG,CAAEvrB,KAAKtP,GAAK,OAAO,GACjC,MAAOw7B,4BAA2BlsB,KAAMurB,IAAK15B,MAG9C,QAASu6B,wBAAuBpsB,KAAMtS,OAAQmE,MAC7C,GAAGA,KAAK65B,KAAO,EAAG,MAAOS,uBAAsBnsB,KAAMtS,OAAQmE,KAC7D,IAAI05B,KAAMvrB,KAAKQ,WAAW,EAC1B,IAAG+qB,MAAQ,EAAG,CAAEvrB,KAAKtP,GAAK,OAAO,GACjC,MAAOsP,MAAKQ,WAAW+qB,IAAK,aAI7B,GAAIc,mBAAoBjc,SAGxB,IAAIkc,kBAAmB,SAAStsB,KAAMtS,QACrC,GAAID,KAAMuS,KAAKQ,WAAW,GAAI8C,MAAQtD,KAAKtP,CAC3C,IAAI67B,OAAQ,KACZ,IAAG9+B,IAAM,GAAI,CAEZuS,KAAKtP,GAAKjD,IAAM,EAChB,IAAGuS,KAAKQ,WAAW,MAAQ,mCAAoC+rB,MAAQ,IACvEvsB,MAAKtP,EAAI4S,MAEV,GAAIkpB,KAAMxsB,KAAKQ,YAAY+rB,MAAM9+B,IAAI,GAAGA,MAAM,EAAG,WAAW6B,QAAQa,KAAK,GACzE,IAAGo8B,MAAOvsB,KAAKtP,GAAK,EACpB,OAAO87B,KAIR,IAAIC,mBAAoB,SAASzsB,KAAMtS,QACtC,GAAIg/B,OAAQ1sB,KAAKQ,WAAW,EAC5B,IAAImsB,YAAa3sB,KAAKQ,WAAW,EACjC,IAAIosB,UAAW5sB,KAAKQ,WAAWmsB,WAAY,OAC3C,IAAIE,WAAY7sB,KAAKQ,WAAW,EAChC,IAAIssB,eAAgB9sB,KAAKQ,WAAW,EACpC,IAAIusB,mBAAoB/sB,KAAKQ,WAAW,EACxC,IAAGusB,oBAAsB,EAAG,MAAOH,UAASt9B,QAAQ,MAAM,IAC1D,IAAI09B,oBAAqBhtB,KAAKQ,WAAW,EACzC,IAAIysB,YAAajtB,KAAKQ,WAAW,EACjC,IAAI0sB,aAAcltB,KAAKQ,WAAWwsB,oBAAoB,EAAG,WAAW19B,QAAQa,KAAK,GACjF,OAAO+8B,aAIR,IAAIC,wBAAyB,SAASntB,KAAMtS,QAC3C,GAAI2W,OAAQrE,KAAKQ,WAAW,GAAK9S,SAAU,EAC3C,QAAO2W,OACN,IAAK,mCAAoC,MAAOioB,kBAAiBtsB,KAAMtS,OACvE,KAAK,mCAAoC,MAAO++B,mBAAkBzsB,KAAMtS,OACxE,SAAS,KAAM,uBAAyB2W,OAK1C,IAAI+oB,uBAAwB,SAASptB,KAAMtS,QAC1C,GAAID,KAAMuS,KAAKQ,WAAW,EAC1B,IAAIjT,GAAIyS,KAAKQ,WAAW/S,IAAK,WAAW6B,QAAQa,KAAM,GACtD,OAAO5C,GAIR,IAAI8/B,iBAAkB,SAASrtB,KAAMtS,QACpC,GAAI6jB,KAAMvR,KAAKtP,EAAIhD,MACnB,IAAI4/B,MAAOttB,KAAKQ,WAAW,EAC3B,IAAG8sB,OAAS,EAAG,KAAM,IAAIl3B,OAAM,+BAAiCk3B,KAChE,IAAI/Z,OAAQvT,KAAKQ,WAAW,EAC5BR,MAAKtP,GAAK,CACV,IAAI68B,aAAaC,gBAAiBC,QAASC,WAAYC,SAAUC,KAAMC,QACvE,IAAGta,MAAQ,GAAQga,YAAcH,sBAAsBptB,KAAMuR,IAAMvR,KAAKtP,EACxE,IAAG6iB,MAAQ,IAAQia,gBAAkBJ,sBAAsBptB,KAAMuR,IAAMvR,KAAKtP,EAC5E,KAAI6iB,MAAQ,OAAY,IAAQka,QAAUL,sBAAsBptB,KAAMuR,IAAMvR,KAAKtP,EACjF,KAAI6iB,MAAQ,OAAY,EAAQma,WAAaP,uBAAuBntB,KAAMuR,IAAMvR,KAAKtP,EACrF,IAAG6iB,MAAQ,EAAQoa,SAAWP,sBAAsBptB,KAAMuR,IAAMvR,KAAKtP,EACrE,IAAG6iB,MAAQ,GAAQqa,KAAO5tB,KAAKQ,WAAW,GAC1C,IAAG+S,MAAQ,GAAQsa,SAAWrG,eAAexnB,KAAM,EACnDA,MAAKtP,EAAI6gB,GACT,IAAIyZ,QAAUwC,iBAAiBC,SAASC,UACxC,IAAGC,SAAU3C,QAAQ,IAAI2C,QACzB,QAAQlJ,OAAQuG,QAIjB,SAAS8C,gBAAe9tB,KAAMtS,QAAU,GAAI8L,GAAIwG,KAAKQ,WAAW,GAAImK,EAAI3K,KAAKQ,WAAW,GAAIoM,EAAI5M,KAAKQ,WAAW,GAAIiO,EAAIzO,KAAKQ,WAAW,EAAI,QAAQhH,EAAEmR,EAAEiC,EAAE6B,GAG1J,QAASsf,eAAc/tB,KAAMtS,QAAU,GAAIK,GAAI+/B,eAAe9tB,KAAMtS,OAASK,GAAE,GAAK,CAAG,OAAOA,GAM9F,QAASigC,eAAchuB,KAAMtS,QAC5B,GAAIugC,IAAKjuB,KAAKQ,WAAW,EACzB,IAAIsT,KAAM9T,KAAKQ,WAAW,EAC1B,IAAI0tB,MAAOluB,KAAKQ,WAAW,EAC3B,QAAShH,EAAEy0B,GAAIx9B,EAAEqjB,IAAKoa,KAAKA,MAI5B,QAASC,iBAAgBnuB,MACxB,GAAIouB,IAAKpuB,KAAKQ,WAAW,EACzB,IAAI+S,OAAQvT,KAAKQ,WAAW,EAC5BR,MAAKtP,GAAK,CACV,QAAQkH,KAAMw2B,GAAI7a,MAAOA,OAK1B,QAAS8a,0BAAyBruB,KAAMtS,OAAQmE,MAAQ,MAAOnE,UAAW,EAAI,GAAK0+B,uBAAuBpsB,KAAMtS,OAAQmE,MAGxH,GAAIy8B,cAAe,UAAW,kBAAmB,UACjD,IAAIC,mBAAoBrD,WAGxB,SAASsD,WAAUxuB,KAAMtS,QACxB,GAAI+gC,UAAWzuB,KAAKQ,WAAW,GAAIkuB,UAAY1uB,KAAKQ,WAAW,EAAE,KAAMmuB,SAAW3uB,KAAKQ,WAAW,EAAE,IACpG,QAAQiuB,SAAUC,UAAWC,UAI9B,QAASC,aAAY5uB,KAAMtS,QAC1B,GAAIwgC,MAAOluB,KAAKQ,WAAW,EAC3B,IAAImU,IAAKH,eAAexU,KAExB,QAAQkuB,KAAMvZ,IAIf,QAASka,gBAAe7uB,KAAMtS,QAC7BsS,KAAKtP,GAAK,CAAGhD,SAAU,CACvB,IAAIgD,GAAIsP,KAAKtP,EAAIhD,MACjB,IAAIohC,SAAUxD,2BAA2BtrB,KAAMtS,OAC/C,IAAI+iB,IAAKzQ,KAAKQ,WAAW,EACzB9P,IAAKsP,KAAKtP,CACV,IAAG+f,KAAO/f,EAAG,KAAM,iCAAmCA,EAAI,OAAS+f,EACnEzQ,MAAKtP,GAAK+f,EACV,OAAOqe,SAIR,QAASC,aAAY/uB,KAAMtS,QAC1B,GAAIshC,SAAUhvB,KAAKQ,WAAW,EAC9B,IAAIyuB,QAASjvB,KAAKQ,WAAW,EAC7B,IAAI0uB,UAAWlvB,KAAKQ,WAAW,EAC/B,IAAI2uB,SAAUnvB,KAAKQ,WAAW,EAC9B,QAAQ3Q,GAAGY,EAAEy+B,SAAU11B,EAAEw1B,SAAUlnB,GAAGrX,EAAE0+B,QAAQ31B,EAAEy1B,SAInD,QAASG,YAAWpvB,KAAMtS,QACzB,GAAIshC,SAAUhvB,KAAKQ,WAAW,EAC9B,IAAIyuB,QAASjvB,KAAKQ,WAAW,EAC7B,IAAI0uB,UAAWlvB,KAAKQ,WAAW,EAC/B,IAAI2uB,SAAUnvB,KAAKQ,WAAW,EAC9B,QAAQ3Q,GAAGY,EAAEy+B,SAAU11B,EAAEw1B,SAAUlnB,GAAGrX,EAAE0+B,QAAQ31B,EAAEy1B,SAInD,GAAII,WAAYD,UAGhB,SAASE,aAAYtvB,KAAMtS,QAC1BsS,KAAKtP,GAAK,CACV,IAAI6+B,IAAKvvB,KAAKQ,WAAW,EACzB,IAAIgvB,IAAKxvB,KAAKQ,WAAW,EACzB,IAAI+S,OAAQvT,KAAKQ,WAAW,EAC5BR,MAAKtP,GAAG,EACR,QAAQ8+B,GAAID,GAAIhc,OAIjB,QAASkc,aAAYzvB,KAAMtS,QAC1B,GAAImJ,OACJmJ,MAAKtP,GAAK,CACVsP,MAAKtP,GAAK,EACVmG,KAAI64B,YAAc1vB,KAAKQ,WAAW,EAClCR,MAAKtP,GAAK,CACV,OAAOmG,KAIR,QAAS84B,YAAW3vB,KAAMtS,QACzB,GAAImJ,OACJmJ,MAAKtP,GAAK,CACVsP,MAAK4vB,GAAK5vB,KAAKQ,WAAW,EAC1B,OAAO3J,KAIR,GAAIg5B,QACJ78B,GAAMs8B,YACNx8B,GAAMsd,UACNvd,GAAM,SAASmN,KAAMtS,QAAUsS,KAAKtP,GAAK,IACzCkC,GAAM,SAASoN,KAAMtS,QAAUsS,KAAKtP,GAAK,GACzCiC,GAAMyd,UACN1d,GAAM0d,UACN5d,GAAMi9B,YACNl9B,GAAM,SAASyN,KAAMtS,QAAUsS,KAAKtP,GAAK,IACzC4B,GAAM,SAAS0N,KAAMtS,QAAUsS,KAAKtP,GAAK,IACzC2B,GAAM,SAAS2N,KAAMtS,QAAUsS,KAAKtP,GAAK,IACzC0B,EAAMge,UACNiJ,EAAM,SAASrZ,KAAMtS,QAAUsS,KAAKtP,GAAK,GACzCykB,EAAMwa,WACNvW,EAAM,SAASpZ,KAAMtS,QAAUsS,KAAKtP,GAAK,GACzCyB,EAAMie,UACNre,EAAM,SAASiO,KAAMtS,QAAUsS,KAAKtP,GAAK,GAEzC,SAASo/B,eAAc9vB,KAAMtS,OAAQ6hC,IACpC,GAAI1/B,GAAImQ,KAAKtP,CACb,IAAIq/B,OACJ,OAAM/vB,KAAKtP,EAAIb,EAAInC,OAAQ,CAC1B,GAAIsiC,IAAKhwB,KAAKQ,WAAW,EACzBR,MAAKtP,GAAG,CACR,KACCq/B,IAAIptB,KAAKktB,MAAMG,IAAIhwB,KAAMnQ,EAAInC,OAASsS,KAAKtP,IAC1C,MAAMoX,GAAK9H,KAAKtP,EAAIb,EAAInC,MAAQ,OAAOqiC,MAE1C,GAAG/vB,KAAKtP,GAAKb,EAAInC,OAAQsS,KAAKtP,EAAIb,EAAInC,MACtC,OAAOqiC,KAIR,GAAIE,iBAAkB/E,WAKtB,SAASgF,WAAUlwB,KAAMtS,QACxB,GAAIH,KACJA,GAAE4iC,QAAUnwB,KAAKQ,WAAW,EAAI9S,SAAU,CAC1C,QAAOH,EAAE4iC,SACR,IAAK,MACL,IAAK,MACL,IAAK,GAAQ,IAAK,GACjB,KACD,SAAS,GAAGziC,OAAS,EAAG,KAAM,IAAI0I,OAAM,uBAAyB7I,EAAE4iC,SAEpEnwB,KAAKQ,WAAW9S,OAChB,OAAOH,GAKR,QAAS6iC,oBAAmBpwB,KAAMtS,QACjC,GAAGA,SAAW,EAAG,MAAO,KACxB,IAAIkH,EACJ,KAAIA,EAAEoL,KAAKQ,WAAW,MAAM,KAAQ,KAAM,yBAA2B5L,CACrE,OAAO,MAKR,QAASy7B,mBAAkBrwB,KAAMtS,OAAQmE,MACxC,GAAGA,KAAKy+B,IAAK,CAAEtwB,KAAKtP,GAAKhD,MAAQ,OAAO,GACxC,GAAIgD,GAAIsP,KAAKtP,CAEb,IAAI6/B,UAAWpE,sBAAsBnsB,KAAM,EAAGnO,KAC9CmO,MAAKQ,WAAW9S,OAASgD,EAAIsP,KAAKtP,EAClC,OAAO6/B,UAIR,QAASC,mBAAkBxwB,KAAMtS,OAAQmE,MACxC,GAAIqe,KAAMlQ,KAAKQ,WAAW,EAC1B,IAAIiwB,QAASzwB,KAAKQ,WAAW,GAAK,CAClC,IAAIvE,IAAK+D,KAAKQ,WAAW,EACzB,QAAOvE,IACN,IAAK,GAAGA,GAAK,WAAa,MAC1B,KAAK,GAAGA,GAAK,YAAc,MAC3B,KAAK,GAAGA,GAAK,YAAc,MAC3B,KAAK,GAAGA,GAAK,WAAa,OAE3B,GAAI8E,MAAOuqB,2BAA2BtrB,KAAM,EAAGnO,KAC/C,IAAGkP,KAAKrT,SAAW,EAAGqT,KAAO,QAC7B,QAASmP,IAAIA,IAAKwgB,GAAGD,OAAQx0B,GAAGA,GAAI8E,KAAKA,MAI1C,QAAS4vB,WAAU3wB,KAAMtS,QACxB,GAAIwV,KAAMlD,KAAKQ,WAAW,EAC1B,IAAIowB,MAAO5wB,KAAKQ,WAAW,EAC3B,IAAI8gB,QACJ,KAAI,GAAI9zB,GAAI,EAAGA,GAAKojC,OAAQpjC,EAAG,CAC9B8zB,KAAK3e,KAAKipB,kCAAkC5rB,OAE7CshB,KAAKuP,MAAQ3tB,GAAKoe,MAAKwP,OAASF,IAChC,OAAOtP,MAIR,QAASyP,cAAa/wB,KAAMtS,QAC3B,GAAIsjC,UACJA,QAAOC,KAAOjxB,KAAKQ,WAAW,EAC9BR,MAAKtP,GAAKhD,OAAO,CACjB,OAAOsjC,QAKR,QAASE,WAAUlxB,KAAMtS,QACxB,GAAIugC,IAAKjuB,KAAKQ,WAAW,GAAIsT,IAAM9T,KAAKQ,WAAW,GAAI2wB,IAAMnxB,KAAKQ,WAAW,GAAI4wB,IAAMpxB,KAAKQ,WAAW,EACvGR,MAAKQ,WAAW,EAChB,IAAI+S,OAAQvT,KAAKQ,WAAW,EAC5BR,MAAKQ,WAAW,EAChBR,MAAKQ,WAAW,EAChB,QAAQhH,EAAEy0B,GAAIx9B,EAAEqjB,IAAK5Q,IAAIiuB,IAAIrd,KAK9B,QAASud,4BAA2BrxB,KAAMtS,QACzC,GAAI2S,QAAS8tB,gBAAgBnuB,KAC7B,IAAGK,OAAOzI,MAAQ,KAAQ,KAAM,yBAA2ByI,OAAOzI,IAClE,IAAI05B,UAAWtxB,KAAKQ,WAAW,EAC/B,OAAO8wB,YAAa,EAIrB,GAAIC,wBAAyBzG,UAK7B,SAAS0G,gBAAexxB,KAAMtS,QAC7BsS,KAAKQ,WAAW,EAChB,OAAOR,MAAKQ,WAAW,GAIxB,QAASixB,wBAAwBzxB,KAAMtS,QACtC,GAAI2P,GAAI3P,QAAU,EAAIsS,KAAKQ,WAAW,GAAK,EAAGkxB,KAC9CA,OAAQ1xB,KAAKQ,WAAW,EACxB,IAAImxB,KAAMC,SAASv0B,EAAE,EAAEw0B,QAAQx0B,EAAE,IAAI,EAAEy0B,OAAOz0B,EAAE,IAAI,EAAE00B,OAAO10B,EAAE,IAAI,EACnE,QAAQs0B,GAAID,OAIb,QAASM,eAAchyB,KAAMtS,QAC5B,GAAIukC,KAAMjyB,KAAKQ,WAAW,GAAI0xB,IAAMlyB,KAAKQ,WAAW,GAAI2xB,KAAOnyB,KAAKQ,WAAW,GAAI4xB,KAAOpyB,KAAKQ,WAAW,EAC1G,IAAI+S,OAAQvT,KAAKQ,WAAW,GAAI6xB,QAAUryB,KAAKQ,WAAW,GAAI8xB,UAAYtyB,KAAKQ,WAAW,EAC1F,IAAI+xB,SAAUvyB,KAAKQ,WAAW,GAAIgyB,UAAYxyB,KAAKQ,WAAW,EAC9D,QAASiyB,KAAMR,IAAKC,KAAMQ,KAAMP,KAAMC,MAAOO,MAAOpf,MAAOqf,OAAQP,QAClEQ,SAAUP,UAAWQ,SAAUP,QAASQ,SAAUP,WAIpD,QAASQ,YAAWhzB,KAAMtS,OAAQmE,MACjCmO,KAAKtP,GAAK,EACV,IAAIqQ,MAAOuqB,2BAA2BtrB,KAAM,EAAGnO,KAC/C,OAAOkP,MAIR,QAASkyB,gBAAejzB,KAAMtS,QAC7B,GAAIwkB,MAAO8b,cAAchuB,KACzBkS,MAAKghB,KAAOlzB,KAAKQ,WAAW,EAC5B,OAAO0R,MAIR,QAASihB,aAAYnzB,KAAMtS,OAAQmE,MAClC,GAAIqgB,MAAO8b,cAAchuB,KAAM,EAC/B,IAAI1F,KAAM6xB,sBAAsBnsB,KAAMtS,OAAO,EAAGmE,KAChDqgB,MAAKpa,IAAMwC,GACX,OAAO4X,MAIR,QAASkhB,cAAapzB,KAAMtS,OAAQmE,MACnC,GAAIwhC,MAAOrzB,KAAKQ,WAAW,EAC3B,IAAI8yB,QAASlH,uBAAuBpsB,KAAM,EAAGnO,KAC7C,QAAQwhC,KAAMC,QAEf,GAAIC,mBAAoBnH,sBAGxB,SAASoH,kBAAiBxzB,KAAMtS,QAC/B,GAAI6H,GAAI7H,SAAW,GAAK,EAAI,CAC5B,IAAI8L,GAAIwG,KAAKQ,WAAWjL,GAAIgN,EAAIvC,KAAKQ,WAAWjL,GAC5C9E,EAAIuP,KAAKQ,WAAW,GAAIgC,EAAIxC,KAAKQ,WAAW,EAChDR,MAAKtP,GAAK,CACV,QAAQb,GAAI2J,EAAEA,EAAG/I,EAAEA,GAAIqX,GAAItO,EAAE+I,EAAG9R,EAAE+R,IAInC,QAASixB,UAASzzB,KAAMtS,QACvB,GAAIugC,IAAKjuB,KAAKQ,WAAW,GAAIsT,IAAM9T,KAAKQ,WAAW,EACnD,IAAIkzB,OAAQ9E,YAAY5uB,KACxB,QAAQxG,EAAEy0B,GAAIx9B,EAAEqjB,IAAKoa,KAAKwF,MAAM,GAAIC,MAAMD,MAAM,IAIjD,QAASE,aAAY5zB,KAAMtS,QAC1B,GAAIs9B,QAAShrB,KAAKtP,EAAIhD,OAAS,CAC/B,IAAIugC,IAAKjuB,KAAKQ,WAAW,GAAIsT,IAAM9T,KAAKQ,WAAW,EACnD,IAAIqzB,UACJ,OAAM7zB,KAAKtP,EAAIs6B,OAAQ6I,OAAOlxB,KAAKisB,YAAY5uB,MAC/C,IAAGA,KAAKtP,IAAMs6B,OAAQ,KAAM,kBAC5B,IAAI8I,SAAU9zB,KAAKQ,WAAW,EAC9B,IAAGqzB,OAAOnmC,QAAUomC,QAAUhgB,IAAM,EAAG,KAAM,uBAC7C,QAAQta,EAAEy0B,GAAIx9B,EAAEqjB,IAAKtR,EAAEsxB,QAASJ,MAAMG,QAIvC,QAASE,mBAAkB/zB,KAAMtS,OAAQq1B,OACxC,GAAIx1B,KACJ,IAAIkhB,GAAIzO,KAAKQ,WAAW,GAAIoM,EAAI5M,KAAKQ,WAAW,EAChD,IAAI/P,GAAIuP,KAAKQ,WAAW,GAAI3P,EAAImP,KAAKQ,WAAW,EAChDjT,GAAEymC,YAAc5X,eAAe3rB,GAAK,GACpClD,GAAE0mC,QAAUpjC,EAAI,GAChBtD,GAAE2mC,QAAWrjC,GAAK,EAAK,GACvB,OAAOtD,GAER,QAAS4mC,cAAan0B,KAAMtS,QAAS,MAAOqmC,mBAAkB/zB,KAAKtS,OAAO,GAC1E,QAAS0mC,eAAcp0B,KAAMtS,QAAS,MAAOqmC,mBAAkB/zB,KAAKtS,OAAO,GAG3E,QAAS2mC,UAASr0B,KAAMtS,QACvB,GAAIH,KACJA,GAAE8lB,KAAOrT,KAAKQ,WAAW,EAAIjT,GAAE8lC,KAAOrzB,KAAKQ,WAAW,EAAIjT,GAAEgmB,MAAQvT,KAAKQ,WAAW,EACpFjT,GAAE+mC,OAAU/mC,EAAEgmB,OAAS,EAAK,CAC5B7lB,SAAU,CACVH,GAAED,KAAOymC,kBAAkB/zB,KAAMtS,OAAQH,EAAE+mC,OAC3C,OAAO/mC,GAIR,QAASgnC,YAAWv0B,KAAMtS,QACzBsS,KAAKtP,GAAK,CACV,IAAImG,MAAOmJ,KAAKQ,WAAW,GAAIR,KAAKQ,WAAW,GAC/C,IAAG3J,IAAI,KAAO,EAAGA,IAAI,IACrB,IAAGA,IAAI,KAAO,EAAGA,IAAI,IACrB,IAAGA,IAAI,GAAK,GAAKA,IAAI,GAAK,EAAG,KAAM,gBAAkBA,IAAI8U,KAAK,IAC9D,OAAO9U,KAIR,QAAS29B,eAAcx0B,KAAMtS,OAAQmE,MACpC,GAAIqgB,MAAO8b,cAAchuB,KAAM,EAC/B,IAAGnO,KAAK65B,MAAQ,IAAK1rB,KAAKtP,CAC1B,IAAIoH,KAAMuzB,UAAUrrB,KAAM,EAC1BkS,MAAKpa,IAAMA,GACXoa,MAAKphB,EAAKgH,MAAQ,MAAQA,MAAQ,MAAS,IAAM,GACjD,OAAOoa,MAIR,QAASuiB,cAAaz0B,KAAMtS,QAC3B,GAAIwkB,MAAO8b,cAAchuB,KAAM,EAC/B,IAAI00B,MAAO1f,WAAWhV,KAAM,EAC5BkS,MAAKpa,IAAM48B,IACX,OAAOxiB,MAGR,GAAIyiB,sBAAuBtG,wBAG3B,SAASuG,eAAc50B,KAAMtS,OAAQmE,MACpC,GAAI0f,KAAMvR,KAAKtP,EAAIhD,MACnB,IAAImnC,MAAO70B,KAAKQ,WAAW,EAC3B,IAAI+qB,KAAMvrB,KAAKQ,WAAW,EAC1B,IAAIs0B,SACJ,IAAGvJ,KAAM,GAAQA,KAAM,IAAMuJ,SAAW5I,2BAA2BlsB,KAAMurB,IACzE,IAAIwJ,MAAO/0B,KAAKQ,WAAW+Q,IAAMvR,KAAKtP,EACtCmB,MAAKmjC,MAAQzJ,GACb,QAAQA,IAAKsJ,KAAMC,SAAUC,MAI9B,QAASE,kBAAiBj1B,KAAMtS,OAAQmE,MACvC,GAAI0hB,OAAQvT,KAAKQ,WAAW,EAC5B,IAAI00B,KACJ,IAAI3nC,IACH4nC,SAAU5hB,MAAQ,EAClB6hB,YAAc7hB,QAAU,EAAK,EAC7B8hB,UAAY9hB,QAAU,EAAK,EAC3B+hB,KAAO/hB,QAAU,EAAK,EACtBgiB,SAAWhiB,QAAU,EAAK,EAC1Bqc,GAAKrc,QAAU,EAAK,KACpBiiB,MAAOjiB,QAAU,GAAK,EAEvB,IAAG1hB,KAAKmjC,QAAU,MAAQE,KAAOrG,eAAe7uB,KAAMtS,OAAO,EAE7DH,GAAE2nC,KAAOA,MAAQl1B,KAAKQ,WAAW9S,OAAO,EACxC,OAAOH,GAIR,QAASkoC,WAAUz1B,KAAMtS,OAAQmE,MAChC,GAAIm5B,QAAShrB,KAAKtP,EAAIhD,MACtB,IAAI6lB,OAAQvT,KAAKQ,WAAW,EAC5B,IAAIk1B,OAAQ11B,KAAKQ,WAAW,EAC5B,IAAI+qB,KAAMvrB,KAAKQ,WAAW,EAC1B,IAAIm1B,KAAM31B,KAAKQ,WAAW,EAC1BR,MAAKtP,GAAK,CACV,IAAIklC,MAAO51B,KAAKQ,WAAW,EAC3BR,MAAKtP,GAAK,CACV,IAAIqQ,MAAOmrB,2BAA2BlsB,KAAMurB,IAAK15B,KACjD,IAAIgkC,MAAOC,wBAAwB91B,KAAMgrB,OAAShrB,KAAKtP,EAAGmB,KAAM8jC,IAChE,QACCD,MAAOA,MACPK,KAAMh1B,KACN80B,KAAMA,MAKR,QAASG,mBAAkBh2B,KAAMtS,OAAQmE,MACxC,GAAGA,KAAK65B,KAAO,EAAG,MAAOJ,4BAA2BtrB,KAAMtS,OAAQmE,KAClE,IAAItE,GAAI09B,UAAUjrB,KAAKtS,OAAO8gC,UAC9B,IAAI1zB,MACJ,IAAGjJ,KAAKmjC,QAAU,KAAQ,CACzB,IAAI,GAAIxnC,GAAI,EAAGA,GAAKD,EAAEG,SAAUF,EAAGsN,GAAG6H,KAAK9Q,KAAKokC,OAAO1oC,EAAEC,GAAG,IAC5D,OAAOsN,QAEH,OAAOvN,GAIb,QAAS2oC,eAAcl2B,KAAMtS,OAAQmE,MACpC,GAAIskC,KAAM/G,WAAWpvB,KAAM,EAC3BA,MAAKtP,GACL,IAAI0lC,MAAOp2B,KAAKQ,WAAW,EAC3B9S,SAAU,CACV,QAAQ2oC,0BAA0Br2B,KAAMtS,OAAQmE,MAAOukC,MAIxD,QAASE,aAAYt2B,KAAMtS,OAAQmE,MAClC,GAAIskC,KAAM9G,UAAUrvB,KAAM,EAC1BA,MAAKtP,GAAK,CAAGhD,SAAU,EACvB,QAAQyoC,IAAKI,yBAAyBv2B,KAAMtS,OAAQmE,KAAMskC,MAI3D,QAASK,mBAAkBx2B,KAAMtS,QAChC,GAAI+oC,aAAcz2B,KAAKQ,WAAW,KAAO,CACzC,IAAIk2B,qBAAsB12B,KAAKQ,WAAW,KAAO,CACjD,IAAIm2B,kBAAmB32B,KAAKQ,WAAW,EACvC,QAAQi2B,YAAaC,oBAAqBC,kBAI3C,QAASC,cAAa52B,KAAMtS,OAAQmE,MACnC,GAAGA,KAAK65B,KAAO,EAAG,MAClB,IAAImL,KAAM72B,KAAKQ,WAAW,GAAIsT,IAAM9T,KAAKQ,WAAW,EACpD,IAAI+S,OAAQvT,KAAKQ,WAAW,GAAIs2B,MAAQ92B,KAAKQ,WAAW,EACxD,IAAIu2B,UAAW3K,uBAAuBpsB,KAAM,EAAGnO,KAC/C,IAAGA,KAAK65B,KAAO,EAAG1rB,KAAKQ,WAAW,EAClC,SAAShH,EAAEq9B,IAAIpmC,EAAEqjB,KAAMijB,SAAUD,MAAOvjB,OAIzC,QAASyjB,YAAWh3B,KAAMtS,OAAQmE,MAEjC,MAAO+kC,cAAa52B,KAAMtS,OAAQmE,MAInC,QAASolC,kBAAiBj3B,KAAMtS,QAC/B,GAAIwpC,UACJ,IAAIC,MAAOn3B,KAAKQ,WAAW,EAC3B,OAAO22B,OAAQD,OAAOv0B,KAAKosB,YAAY/uB,KAAKtS,QAC5C,OAAOwpC,QAIR,QAASE,WAAUp3B,KAAMtS,QACxB,GAAI2pC,KAAM/H,YAAYtvB,KAAM,GAC5B,IAAI+vB,KAAMD,cAAc9vB,KAAMtS,OAAO,GAAI2pC,IAAI,GAC7C,QAASA,IAAKA,IAAKrH,GAAGD,KAIvB,QAASuH,WAAUt3B,KAAMtS,OAAQmE,MAChC,GAAIhC,GAAImQ,KAAKtP,CACb,IAAI6mC,OAAQ,EACb,KACCv3B,KAAKtP,GAAK,CACV,IAAI6+B,KAAM19B,KAAK2lC,UAAUH,KAAK,EAAE,KAAKA,IAAI,EACzC,IAAII,YACJ,KAAI,EAAE,EAAE,EAAE,GAAG,GAAG,IAAIloC,QAAQggC,MAAQ,EAAGvvB,KAAKtP,GAAK,MAC5C+mC,aAAcpL,kBAAkBrsB,KAAM,EAAGnO,KAC9C,IAAI6lC,SAAU13B,KAAKQ,WAAW,EAC9B,IAAIm3B,QAAS33B,KAAKQ,WAAW,EAC7B,IAAIo3B,WAAY3H,gBAAgBjwB,KAAM,EACtC,IAAIvS,KAAMuS,KAAKQ,WAAW,EAC1BR,MAAKtP,GAAKjD,GAGV,KAAI,GAAID,GAAI,EAAGA,EAAIwS,KAAK2P,KAAKjiB,OAAO,IAAKF,EAAG;AAC3C,GAAGwS,KAAKtP,EAAEb,GAAKmQ,KAAK2P,KAAKniB,GAAI,KAAM,0BACnC,IAAIqqC,KAAM73B,KAAKA,KAAKtP,EACpB,IAAII,GAAIo7B,2BAA2BlsB,KAAMA,KAAK2P,KAAKniB,EAAE,GAAGwS,KAAK2P,KAAKniB,GAAG,EACrE+pC,QAASzmC,CACT,IAAGymC,MAAM7pC,SAAWmqC,IAAMH,QAAU,EAAEA,SAAU,MAEjD,GAAGH,MAAM7pC,SAAWgqC,SAAWH,MAAM7pC,SAAWgqC,QAAQ,EAAG,CAC1D,KAAM,YAAcA,QAAU,OAASH,MAAM7pC,OAG9CsS,KAAKtP,EAAIb,EAAInC,MAQb,QAASoD,EAAGymC,OACX,MAAMzvB,GAAK9H,KAAKtP,EAAIb,EAAInC,MAAQ,QAASoD,EAAGymC,QAI9C,GAAIO,aAAc,SAAS93B,KAAMtS,QAChC,GAAIyoC,KAAMpH,YAAY/uB,KAAM,EAC5BA,MAAKtP,GAAK,EACV,IAAIqnC,OAAQ1K,gBAAgBrtB,KAAMtS,OAAO,GACzC,QAAQyoC,IAAK4B,OAId,IAAIC,oBAAqB,SAASh4B,KAAMtS,QACvC,GAAI6jB,KAAMvR,KAAKtP,EAAIhD,MACnBsS,MAAKQ,WAAW,EAChB,IAAI21B,KAAMpH,YAAY/uB,KAAM,EAC5B,IAAIi4B,WAAYj4B,KAAKQ,YAAY9S,OAAO,IAAI,EAAG,YAC/CuqC,WAAYA,UAAU3oC,QAAQa,KAAK,GACnC,QAAQgmC,IAAK8B,WAId,SAASC,eAAcl4B,KAAMtS,QAC5B,GAAIH,MAAQsD,CACZA,GAAImP,KAAKQ,WAAW,EAAIjT,GAAE,GAAKwsB,YAAYlpB,IAAMA,CACjDA,GAAImP,KAAKQ,WAAW,EAAIjT,GAAE,GAAKwsB,YAAYlpB,IAAMA,CACjD,OAAOtD,GAIR,QAAS4qC,kBAAiBn4B,KAAMtS,QAC/B,GAAI0qC,KAAMp4B,KAAKQ,WAAW,EAC1B,IAAIjT,KACJ,OAAM6qC,OAAM,EAAG7qC,EAAEoV,KAAKorB,cAAc/tB,KAAM,GAC1C,OAAOzS,GAIR,QAAS8qC,eAAcr4B,KAAMtS,QAC5B,GAAI0qC,KAAMp4B,KAAKQ,WAAW,EAC1B,IAAIjT,KACJ,OAAM6qC,OAAM,EAAG7qC,EAAEoV,KAAKorB,cAAc/tB,KAAM,GAC1C,OAAOzS,GAIR,QAAS+qC,aAAYt4B,KAAMtS,QAC1BsS,KAAKtP,GAAK,CACV,IAAInD,IAAKgrC,KAAK,EAAGC,IAAI,EACrBjrC,GAAEgrC,KAAOv4B,KAAKQ,WAAW,EACzBjT,GAAEirC,IAAMx4B,KAAKQ,WAAW,EACxB,OAAOjT,GAIR,GAAIkrC,aAAcroB,SAClB,IAAIsoB,gBAAiBtoB,SAErB,IAAIuoB,eAAgBvoB,SAEpB,IAAIwoB,eAAgBxoB,SAGpB,IAAIyoB,cAAe5O,SACnB,IAAI6O,aAAc9K,aAClB,IAAI+K,oBAAqB/jB,UACzB,IAAIgkB,2BAA4B9N,WAChC,IAAI+N,iBAAkB/N,WACtB,IAAIgO,iBAAkBlkB,UACtB,IAAImkB,gBAAiBlP,SACrB,IAAImP,gBAAiBlO,WACrB,IAAImO,qBAAsBpP,SAC1B,IAAIqP,mBAAoBxO,UACxB,IAAIyO,sBAAuBtP,SAC3B,IAAIuP,gBAAiBtO,WACrB,IAAIuO,gBAAiBxP,SACrB,IAAIyP,gBAAiBzP,SACrB,IAAI0P,mBAAoBzO,WACxB,IAAI0O,WAAY9O,UAChB,IAAI+O,eAAgB/O,UACpB,IAAIgP,WAAYhP,UAChB,IAAIiP,kBAAmBjP,UACvB,IAAIkP,eAAgBlP,UACpB,IAAImP,aAAc/O,WAClB,IAAIgP,cAAevF,oBACnB,IAAIwF,eAAgBjP,WACpB,IAAIkP,eAAgBnQ,SACpB,IAAIoQ,cAAe1F,oBACnB,IAAI2F,eAAgB/L,iBACpB,IAAIgM,oBAAqBzP,UACzB,IAAI0P,kBAAmBxlB,UACvB,IAAIylB,WAAY3P,UAChB,IAAI4P,kBAAmBzQ,SACvB,IAAI0Q,gBAAiBzP,WACrB,IAAI0P,iBAAkB3Q,SACtB,IAAI4Q,mBAAoB5Q,SACxB,IAAI6Q,iBAAkB5P,WACtB,IAAI6P,gBAAiB9Q,SACrB,IAAI+Q,oBAAqB9P,WACzB,IAAI+P,eAAgBhR,SACpB,IAAIiR,kBAAmBjR,SACvB,IAAIkR,mBAAoBnmB,UACxB,IAAIomB,eAAgBjQ,YACpB,IAAIkQ,uBAAwBpR,SAC5B,IAAIqR,WAAYnQ,YAChB,IAAIoQ,cAAepP,qBACnB,IAAIqP,cAAevR,SACnB,IAAIwR,iBAAkBzmB,UACtB,IAAI0mB,gBAAiBzR,SACrB,IAAI0R,eAAgB1R,SACpB,IAAI2R,kBAAmB3R,SACvB,IAAI4R,oBAAqBzrB,SAIzB,IAAI0rB,0BAA2B1rB,SAC/B,IAAI2rB,4BAA6B3rB,SACjC,IAAI4rB,iBAAkB5rB,SACtB,IAAI6rB,gBAAiB7rB,SACrB,IAAI8rB,YAAa9rB,SACjB,IAAI+rB,WAAY/rB,SAChB,IAAIgsB,YAAahsB,SACjB,IAAIisB,eAAgBjsB,SACpB,IAAIksB,gBAAiBlsB,SACrB,IAAImsB,WAAYnsB,SAChB,IAAIosB,WAAYpsB,SAChB,IAAIqsB,mBAAoBrsB,SACxB,IAAIssB,gBAAiBtsB,SACrB,IAAIusB,gBAAiBvsB,SACrB,IAAIwsB,YAAaxsB,SACjB,IAAIysB,cAAezsB,SACnB,IAAI0sB,YAAa1sB,SACjB,IAAI2sB,YAAa3sB,SACjB,IAAI4sB,WAAY5sB,SAChB,IAAI6sB,cAAe7sB,SACnB,IAAI8sB,mBAAoB9sB,SACxB,IAAI+sB,kBAAmB/sB,SACvB,IAAIgtB,sBAAuBhtB,SAC3B,IAAIitB,kBAAmBjtB,SACvB,IAAIktB,aAAcltB,SAClB,IAAImtB,eAAgBntB,SACpB,IAAIotB,gBAAiBptB,SACrB,IAAIqtB,cAAertB,SACnB,IAAIstB,YAAattB,SACjB,IAAIutB,YAAavtB,SACjB,IAAIwtB,aAAcxtB,SAClB,IAAIytB,YAAaztB,SACjB,IAAI0tB,YAAa1tB,SACjB,IAAI2tB,gBAAiB3tB,SACrB,IAAI4tB,iBAAkB5tB,SACtB,IAAI6tB,gBAAiB7tB,SACrB,IAAI8tB,YAAa9tB,SACjB,IAAI+tB,YAAa/tB,SACjB,IAAIguB,aAAchuB,SAClB,IAAIiuB,aAAcjuB,SAClB,IAAIkuB,aAAcluB,SAClB,IAAImuB,aAAcnuB,SAClB,IAAIouB,aAAcpuB,SAClB,IAAIquB,gBAAiBruB,SACrB,IAAIsuB,aAActuB,SAClB,IAAIuuB,aAAcvuB,SAClB,IAAIwuB,aAAcxuB,SAClB,IAAIyuB,kBAAmBzuB,SACvB,IAAI0uB,cAAe1uB,SACnB,IAAI2uB,cAAe3uB,SACnB,IAAI4uB,kBAAmB5uB,SACvB,IAAI6uB,cAAe7uB,SACnB,IAAI8uB,aAAc9uB,SAClB,IAAI+uB,iBAAkB/uB,SACtB,IAAIgvB,gBAAiBhvB,SACrB,IAAIivB,oBAAqBjvB,SACzB,IAAIkvB,qBAAsBlvB,SAC1B,IAAImvB,YAAanvB,SACjB,IAAIovB,aAAcpvB,SAClB,IAAIqvB,uBAAwBrvB,SAC5B,IAAIsvB,kBAAmBtvB,SACvB,IAAIuvB,2BAA4BvvB,SAChC,IAAIwvB,oBAAqBxvB,SACzB,IAAIyvB,cAAezvB,SACnB,IAAI0vB,YAAa1vB,SACjB,IAAI2vB,cAAe3vB,SACnB,IAAI4vB,aAAc5vB,SAClB,IAAI6vB,aAAc7vB,SAClB,IAAI8vB,cAAe9vB,SACnB,IAAI+vB,gBAAiB/vB,SACrB,IAAIgwB,cAAehwB,SACnB,IAAIiwB,cAAejwB,SACnB,IAAIkwB,gBAAiBlwB,SACrB,IAAImwB,cAAenwB,SACnB,IAAIowB,iBAAkBpwB,SACtB,IAAIqwB,cAAerwB,SACnB,IAAIswB,iBAAkBtwB,SACtB,IAAIuwB,eAAgBvwB,SACpB,IAAIwwB,kBAAmBxwB,SACvB,IAAIywB,mBAAoBzwB,SACxB,IAAI0wB,cAAe1wB,SACnB,IAAI2wB,eAAgB3wB,SACpB,IAAI4wB,gBAAiB5wB,SACrB,IAAI6wB,iBAAkB7wB,SACtB,IAAI8wB,kBAAmB9wB,SACvB,IAAI+wB,oBAAqB/wB,SACzB,IAAIgxB,kBAAmBhxB,SACvB,IAAIixB,sBAAuBjxB,SAC3B,IAAIkxB,oBAAqBlxB,SACzB,IAAImxB,mBAAoBnxB,SACxB,IAAIoxB,kBAAmBpxB,SACvB,IAAIqxB,kBAAmBrxB,SACvB,IAAIsxB,YAAatxB,SACjB,IAAIuxB,YAAavxB,SACjB,IAAIwxB,aAAcxxB,SAClB,IAAIyxB,eAAgBzxB,SACpB,IAAI0xB,eAAgB1xB,SACpB,IAAI2xB,gBAAiB3xB,SACrB,IAAI4xB,eAAgB5xB,SACpB,IAAI6xB,cAAe7xB,SACnB,IAAI8xB,cAAe9xB,SACnB,IAAI+xB,iBAAkB/xB,SACtB,IAAIgyB,sBAAuBhyB,SAC3B,IAAIiyB,oBAAqBjyB,SACzB,IAAIkyB,mBAAoBlyB,SACxB,IAAImyB,WAAYnyB,SAChB,IAAIoyB,eAAgBpyB,SACpB,IAAIqyB,UAAWryB,SACf,IAAIsyB,YAAatyB,SACjB,IAAIuyB,eAAgBvyB,SACpB,IAAIwyB,WAAYxyB,SAChB,IAAIyyB,mBAAoB1W,qBACxB,IAAI2W,iBAAkB1yB,SACtB,IAAI2yB,kBAAmB3yB,SACvB,IAAI4yB,UAAW5yB,SACf,IAAI6yB,aAAc7yB,SAClB,IAAI8yB,aAAc9yB,SAClB,IAAI+yB,eAAgB/yB,SACpB,IAAIgzB,uBAAwBhzB,SAC5B,IAAIizB,cAAejzB,SACnB,IAAIkzB,gBAAiBlzB,SACrB,IAAImzB,kBAAmBnzB,SACvB,IAAIozB,iBAAkBpzB,SACtB,IAAIqzB,cAAerzB,SACnB,IAAIszB,YAAatzB,SACjB,IAAIuzB,YAAavzB,SACjB,IAAIwzB,gBAAiBxzB,SACrB,IAAIyzB,iBAAkBzzB,SACtB,IAAI0zB,YAAa1zB,SACjB,IAAI2zB,gBAAiB3zB,SACrB,IAAI4zB,YAAa5zB,SACjB,IAAI6zB,cAAe7zB,SACnB,IAAI8zB,eAAgB9zB,SACpB,IAAI+zB,iBAAkB/zB,SACtB,IAAIg0B,mBAAoBh0B,SACxB,IAAIi0B,oBAAqBj0B,SACzB,IAAIk0B,oBAAqBl0B,SACzB,IAAIm0B,kBAAmBn0B,SACvB,IAAIo0B,kBAAmBp0B,SACvB,IAAIq0B,gBAAiBr0B,SACrB,IAAIs0B,mBAAoBt0B,SACxB,IAAIu0B,iBAAkBv0B,SACtB,IAAIw0B,cAAex0B,SACnB,IAAIy0B,aAAcz0B,SAClB,IAAI00B,kBAAmB10B,SACvB,IAAI20B,sBAAuB30B,SAC3B,IAAI40B,mBAAoB50B,SACxB,IAAI60B,gBAAiB70B,SACrB,IAAI80B,eAAgB90B,SACpB,IAAI+0B,cAAe/0B,SACnB,IAAIg1B,aAAch1B,SAClB,IAAIi1B,iBAAkBj1B,SACtB,IAAIk1B,YAAal1B,SACjB,IAAIm1B,kBAAmBn1B,SACvB,IAAIo1B,0BAA2Bp1B,SAC/B,IAAIq1B,iBAAkBr1B,SACtB,IAAIs1B,iBAAkBt1B,SACtB,IAAIu1B,iBAAkBv1B,SACtB,IAAIw1B,sBAAuBx1B,SAC3B,IAAIy1B,qBAAsBz1B,SAC1B,IAAI01B,aAAc11B,SAClB,IAAI21B,cAAe31B,SACnB,IAAI41B,iBAAkB51B,SACtB,IAAI61B,iBAAkB71B,SACtB,IAAI81B,YAAa91B,SACjB,IAAI+1B,YAAa/1B,SACjB,IAAIg2B,oBAAqBh2B,SACzB,IAAIi2B,qBAAsBj2B,SAC1B,IAAIk2B,eAAgBl2B,SACpB,IAAIm2B,cAAen2B,SACnB,IAAIo2B,gBAAiBp2B,SACrB,IAAIq2B,cAAer2B,SACnB,IAAIs2B,eAAgBt2B,SACpB,IAAIu2B,cAAev2B,SACnB,IAAIw2B,WAAYx2B,SAChB,IAAIy2B,WAAYz2B,SAChB,IAAI02B,WAAY12B,SAChB,IAAI22B,mBAAoB32B,SACxB,IAAI42B,kBAAmB52B,SACvB,IAAI62B,yBAA0B72B,SAC9B,IAAI82B,mBAAoB92B,SACxB,IAAI+2B,eAAgB/2B,SACpB,IAAIg3B,gBAAiBh3B,SACrB,IAAIi3B,mBAAoBj3B,SACxB,IAAIk3B,eAAgBl3B,SACpB,IAAIm3B,mBAAoBn3B,SACxB,IAAIo3B,oBAAqBp3B,SACzB,IAAIq3B,mBAAoBr3B,SACxB,IAAIs3B,gBAAiBt3B,SACrB,IAAIu3B,wBAAyBv3B,SAC7B,IAAIw3B,wBAAyBx3B,SAC7B,IAAIy3B,uBAAwBz3B,SAC5B,IAAI03B,sBAAuB13B,SAC3B,IAAI23B,oBAAqB33B,SACzB,IAAI43B,aAAc53B,SAClB,IAAI63B,aAAc73B,SAClB,IAAI83B,cAAe93B,SACnB,IAAI+3B,kBAAmB/3B,SACvB,IAAIg4B,kBAAmBh4B,SACvB,IAAIi4B,oBAAqBj4B,SACzB,IAAIk4B,kBAAmBl4B,SACvB,IAAIm4B,iBAAkBn4B,SACtB,IAAIo4B,qBAAsBp4B,SAC1B,IAAIq4B,kBAAmBr4B,SACvB,IAAIs4B,mBAAoBt4B,SACxB,IAAIu4B,cAAev4B,SACnB,IAAIw4B,kBAAmBx4B,SACvB,IAAIy4B,WAAYz4B,SAChB,IAAI04B,YAAa14B,SACjB,IAAI24B,WAAY34B,SAChB,IAAI44B,YAAa54B,SACjB,IAAI64B,eAAgB74B,SACpB,IAAI84B,eAAgB94B,SACpB,IAAI+4B,YAAa/4B,SACjB,IAAIg5B,YAAah5B,SACjB,IAAIi5B,kBAAmBj5B,SACvB,IAAIk5B,mBAAoBl5B,SACxB,IAAIm5B,gBAAiBn5B,SACrB,IAAIo5B,eAAgBp5B,SACpB,IAAIq5B,mBAAoBr5B,SACxB,IAAIs5B,YAAat5B,SACjB,IAAIu5B,kBAAmBv5B,SACvB,IAAIw5B,aAAcx5B,SAClB,IAAIy5B,aAAcz5B,SAClB,IAAI05B,WAAY15B,SAChB,IAAI25B,gBAAiB35B,SACrB,IAAI45B,eAAgB55B,SACpB,IAAI65B,YAAa75B,SACjB,IAAI85B,eAAgB95B,SACpB,IAAI+5B,aAAc/5B,SAClB,IAAIg6B,YAAah6B,SACjB,IAAIi6B,iBAAkBj6B,SACtB,IAAIk6B,kBAAmBl6B,SACvB,IAAIm6B,uBAAwBn6B,SAC5B,IAAIo6B,gBAAiBp6B,SACrB,IAAIq6B,gBAAiBr6B,SACrB,IAAIs6B,gBAAiBt6B,SACrB,IAAIu6B,gBAAiBv6B,SACrB,IAAIw6B,iBAAkBx6B,SACtB,IAAIy6B,mBAAoBz6B,SACxB,IAAI06B,kBAAmB16B,SACvB,IAAI26B,WAAY36B,SAChB,IAAI46B,cAAe56B,SACnB,IAAI66B,YAAa76B,SACjB,IAAI86B,oBAAqB96B,SACzB,IAAI+6B,cAAe/6B,SACnB,IAAIg7B,uBAAwBh7B,SAC5B,IAAIi7B,WAAYj7B,SAChB,IAAIk7B,cAAel7B,SACnB,IAAIm7B,cAAen7B,SACnB,IAAIo7B,WAAYp7B,SAChB,IAAIq7B,kBAAmBr7B,SACvB,IAAIs7B,eAAgBt7B,SACpB,IAAIu7B,gBAAiBv7B,SACrB,IAAIw7B,oBAAqBx7B,SACzB,IAAIy7B,YAAaz7B,SAGjB,SAAS07B,mBAAkB9rC,MAC1B,GAAIvS,KAAMuS,KAAKQ,WAAW,EAC1B,OAAOR,MAAKQ,WAAW/S,IAAK,aAI7B,QAASs+C,gBAAe/rC,KAAMtS,OAAQmE,MACrC,GAAIqgB,MAAO8b,cAAchuB,KAAM,KAC7BA,KAAKtP,CACP,IAAI4J,KAAM8xB,uBAAuBpsB,KAAMtS,OAAO,EAAGmE,KACjDqgB,MAAKpa,IAAMwC,GACX,OAAO4X,MAGR,QAAS85B,gBAAehsC,KAAMtS,OAAQmE,MACrC,GAAIqgB,MAAO8b,cAAchuB,KAAM,KAC7BA,KAAKtP,CACP,IAAIu7C,KAAMj3B,WAAWhV,KAAM,EAC3BkS,MAAKpa,IAAMm0C,GACX,OAAO/5B,MAGR,QAASg6B,gBAAelsC,KAAMtS,QAC7B,GAAIwkB,MAAO8b,cAAchuB,KAAM,KAC7BA,KAAKtP,CACP,IAAIu7C,KAAMjsC,KAAKQ,WAAW,EAC1B0R,MAAKpa,IAAMm0C,GACX,OAAO/5B,MAGR,QAASi6B,mBAAkBnsC,KAAMtS,QAChC,GAAI69B,KAAMvrB,KAAKQ,WAAW,EAC1B,IAAG+qB,MAAQ,EAAG,CAAEvrB,KAAKtP,GAAK,OAAO,GACjC,MAAOsP,MAAKQ,WAAW+qB,IAAK,aAI7B,QAAS6gB,qBAAoBpsC,KAAMtS,QAClCsS,KAAKtP,GAAK,CACVsP,MAAKtP,GAAK,CACVsP,MAAKtP,GAAK,CACVsP,MAAKtP,GAAK,CACVsP,MAAKtP,GAAK,CACVsP,MAAKtP,GAAKhD,OAAS,EAGpB,GAAI2+C,QACJt6C,EAAM,KACNC,EAAK,MACLC,EAAK,MACLq6C,GAAK,IACLC,IAAO,IACPC,IAAO,IACPC,IAAM,KACNC,IAAO,IACPC,IAAO,IACPC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAO,IACPC,IAAM,KACN33B,IAAM,KACN43B,GAAM,KAIN,IAAIC,UAAW,QAAUC,oBACxB,GAAIC,QAAS/iC,SAAS,KAAMgjC,QAAUhjC,SAAS,OAAQijC,OAAS,gBAAiBC,KAAO,iBAAkBC,QAAU,OAEpH,IAAIC,WAAY,QAASA,WAAUC,IAAKC,MAAOC,OAC9C,GAAIC,SAAW7gD,GAAK,KACpB,IAAI4J,GAAI82C,IAAIh1C,MAAMsP,UAAW5a,EAAI,CACjC,IAAGwJ,EAAG,KAAKxJ,GAAGwJ,EAAEtJ,SAAUF,EAAG,CAC5B,GAAImE,GAAI4W,YAAYvR,EAAExJ,GACtB,QAAOmE,EAAE,IAGR,IAAK,YAAa,KAGlB,KAAK,UAAW,KAGhB,KAAK,UAEL,IAAK,YAAa,KAGlB,KAAK,WACJ,GAAGA,EAAEmG,KAAO,IAAK,KACjB1K,IAAKi/C,MAAMzyC,SAASjI,EAAEmG,IAAK,IAC3B,MAGD,KAAK,WAEL,IAAK,aAAc,KAGnB,KAAK,SAAUm2C,KAAKltC,KAAOpP,EAAEmG,GAAK,MAGlC,KAAK,MAAOm2C,KAAK19B,GAAK5e,EAAEmG,GAAK,MAG7B,KAAK,UACJ,IAAInG,EAAEmG,IAAK,KAEZ,KAAK,YAAam2C,KAAKC,OAAS,CAAG,MACnC,KAAK,YAAa,KAGlB,KAAK,KACJ,IAAIv8C,EAAEmG,IAAK,KAEZ,KAAK,OAAQm2C,KAAKl3C,EAAI,CAAG,MACzB,KAAK,OAAQ,KAGb,KAAK,KACJ,IAAIpF,EAAEmG,IAAK,KAEZ,KAAK,OAAQm2C,KAAKrhC,EAAI,CAAG,MACzB,KAAK,OAAQ,KAGb,KAAK,KACJ,IAAIjb,EAAEmG,IAAK,KAEZ,KAAK,OAAQm2C,KAAKzgD,EAAI,CAAG,MACzB,KAAK,OAAQ,KAGb,KAAK,SACJ,GAAGmE,EAAEw8C,IAAKF,KAAK7pC,MAAQzS,EAAEw8C,IAAI//C,OAAO,EAAE,EACtC,MAGD,KAAK,UAAW6/C,KAAKG,OAASz8C,EAAEmG,GAAK,MAGrC,KAAK,aAAc,KAGnB,KAAK,UAAW,KAEhB,SACC,GAAGnG,EAAE,GAAGhE,WAAW,KAAO,GAAI,KAAM,4BAA8BgE,EAAE,IAIvE,GAAIoxB,SACJ,IAAGkrB,KAAKrhC,EAAGmW,MAAMpgB,KAAK,qBACtB,IAAGsrC,KAAKzgD,EAAGu1B,MAAMpgB,KAAK,sBACtBorC,OAAMprC,KAAK,gBAAkBogB,MAAMpX,KAAK,IAAM,KAC9CqiC,OAAMrrC,KAAK,UACX,OAAOvV,IAIR,SAASihD,SAAQ70C,GAChB,GAAI80C,WAAY,MAEhB,IAAIx9C,GAAI0I,EAAEV,MAAM00C,QAASpgD,GAAK,KAC9B,KAAI6Y,MAAMnV,GAAI,MAAO,EACrBw9C,OAAM,GAAKx9C,EAAE,EAEb,IAAIg9C,KAAMt0C,EAAEV,MAAM20C,QAClB,IAAGxnC,MAAM6nC,KAAM1gD,GAAKygD,UAAUC,IAAI,GAAIQ,MAAM,GAAIA,MAAM,GAEtD,OAAOA,OAAM,GAAG3iC,KAAK,IAAM2iC,MAAM,GAAGh/C,QAAQs+C,QAAQ,SAAWU,MAAM,GAAG3iC,KAAK,IAE9E,MAAO,SAAS2hC,UAASiB,IACxB,MAAOA,IAAGj/C,QAAQo+C,OAAO,IAAI59C,MAAM69C,MAAMn/C,IAAI6/C,SAAS1iC,KAAK,OAK7D,IAAI6iC,UAAW,0CAA2CC,SAAW,cACrE,SAASC,UAAS3gD,EAAG8D,MACpB,GAAI88C,MAAO98C,KAAOA,KAAK+8C,SAAW,IAClC,IAAIlmC,KACJ,KAAI3a,EAAG,MAAO,KACd,IAAI4D,EAEJ,IAAG5D,EAAE+K,MAAM,sBAAuB,CACjC4P,EAAE5X,EAAIoZ,SAASZ,YAAYvb,EAAEK,OAAOL,EAAEwB,QAAQ,KAAK,GAAGO,MAAM,kBAAkB,IAC9E4Y,GAAElP,EAAIzL,CACN,IAAG4gD,KAAMjmC,EAAEyC,EAAIzC,EAAE5X,MAGb,IAAIa,EAAI5D,EAAE+K,MAAM21C,UAAY,CAChC/lC,EAAElP,EAAIzL,CACN2a,GAAE5X,EAAIoZ,SAASZ,aAAavb,EAAE+K,MAAM01C,eAAe7iC,KAAK,IAAIrc,QAAQ8Y,SAAS,KAC7E,IAAGumC,KAAMjmC,EAAEyC,EAAImiC,SAASv/C,GAIzB,MAAO2a,GAIR,GAAImmC,OAAQ,gDACZ,IAAIC,OAAQ,4BACZ,IAAIC,OAAQ,6BACZ,SAASC,eAAc1hD,KAAMuE,MAC5B,GAAIhC,MAAUmI,GAAK,EACnB,KAAI1K,KAAM,MAAOuC,EAEjB,IAAIizB,KAAMx1B,KAAKwL,MAAM+1C,MACrB,IAAG5oC,MAAM6c,KAAM,CACd9qB,GAAK8qB,IAAI,GAAGxzB,QAAQw/C,MAAM,IAAIh/C,MAAMi/C,MACpC,KAAI,GAAIvhD,GAAI,EAAGA,GAAKwK,GAAGtK,SAAUF,EAAG,CACnC,GAAID,GAAImhD,SAAS12C,GAAGxK,GAAIqE,KACxB,IAAGtE,GAAK,KAAMsC,EAAEA,EAAEnC,QAAUH,EAE7Bu1B,IAAMva,YAAYua,IAAI,GAAKjzB,GAAEghC,MAAQ/N,IAAImsB,KAAOp/C,GAAEihC,OAAShO,IAAIosB,YAEhE,MAAOr/C,GAGR6zB,KAAKyrB,IAAM,mFACX,IAAIC,cAAe,kBACnB,SAASC,eAAcvsB,IAAKjxB,MAC3B,IAAIA,KAAKy9C,QAAS,MAAO,EACzB,IAAI/hD,IAAKye,WACTze,GAAEA,EAAEG,QAAWke,UAAU,MAAO,MAC/ByW,MAAOpW,MAAMS,KAAK,GAClBuiC,MAAOnsB,IAAI+N,MACXqe,YAAapsB,IAAIgO,QAElB,KAAI,GAAItjC,GAAI,EAAGA,GAAKs1B,IAAIp1B,SAAUF,EAAG,CAAE,GAAGs1B,IAAIt1B,IAAM,KAAM,QACzD,IAAIqC,GAAIizB,IAAIt1B,EACZ,IAAI+hD,OAAQ,MACZ,IAAG1/C,EAAE2J,EAAG+1C,OAAS1/C,EAAE2J,MACd,CACJ+1C,OAAS,IACT,IAAG1/C,EAAEiB,EAAEgI,MAAMs2C,cAAeG,OAAS,uBACrCA,QAAS,IAAM3lC,UAAU/Z,EAAEiB,GAAK,OAEjCy+C,OAAS,OACThiD,GAAEA,EAAEG,QAAU,MAEf,GAAGH,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,QAAYH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KACjE,MAAO/B,GAAEoe,KAAK,IAGf,QAAS6jC,mBAAkBliD,KAAMI,QAChC,OAAQJ,KAAKkT,WAAW,GAAIlT,KAAKkT,WAAW,IAI7C,QAASivC,eAAcniD,KAAMuE,MAC5B,GAAIhC,KACJ,IAAI6/C,MAAO,KACXl/B,cAAaljB,KAAM,QAASqiD,YAAW73C,IAAKyK,EAAGqO,IAC9C,OAAOrO,EAAE2W,GACR,IAAK,cAAerpB,EAAEghC,MAAQ/4B,IAAI,EAAIjI,GAAEihC,OAASh5B,IAAI,EAAI,MACzD,KAAK,aAAcjI,EAAE8S,KAAK7K,IAAM,MAChC,KAAK,YAAa,MAAO,KAEzB,KAAK,cAAe43C,KAAO,IAAM,MACjC,KAAK,YAAaA,KAAO,KAAO,MAChC,SAAS,IAAIA,MAAQ79C,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,qBAAuBwa,GAAK,IAAMrO,EAAE2W,KAGrF,OAAOrpB,GAGR,QAAS+/C,mBAAkB9sB,IAAKv1B,GAC/B,IAAIA,EAAGA,EAAI+iB,QAAQ,EACnB/iB,GAAE4iB,YAAY,EAAG2S,IAAI+N,MACrBtjC,GAAE4iB,YAAY,EAAG2S,IAAIgO,OACrB,OAAOvjC,GAGR,GAAIsiD,kBAAmBl8B,aAEvB,SAASm8B,eAAchtB,IAAKjxB,MAC3B,GAAI+f,IAAKd,WACTa,cAAaC,GAAI,cAAeg+B,kBAAkB9sB,KAClD,KAAI,GAAIt1B,GAAI,EAAGA,EAAIs1B,IAAIp1B,SAAUF,EAAGmkB,aAAaC,GAAI,aAAci+B,iBAAiB/sB,IAAIt1B,IACxFmkB,cAAaC,GAAI,YACjB,OAAOA,IAAGL,MAEX,QAASw+B,UAASz1C,KACjB,SAAUrN,WAAY,YAAa,MAAOA,SAAQiB,MAAMO,OAAO,KAAM6L,IACrE,IAAI/M,MAAQuN,GAAKR,IAAIxK,MAAM,GAC3B,KAAI,GAAItC,GAAI,EAAGA,EAAIsN,GAAGpN,SAAUF,EAAGD,EAAEC,GAAKsN,GAAGtN,GAAGG,WAAW,EAC3D,OAAOJ,GAIR,QAASyiD,eAAchwC,KAAMtS,QAC5B,GAAIH,KACJA,GAAE0iD,MAAQjwC,KAAKQ,WAAW,EAC1BjT,GAAE2iD,MAAQlwC,KAAKQ,WAAW,EAC1B,OAAOjT,GAGR,QAAS4iD,wBAAuBnwC,KAAMtS,QACrC,GAAIH,KACJA,GAAEolC,MAAQ3yB,KAAKQ,WAAW,EAG1B,IAAI4vC,KAAMpwC,KAAKQ,WAAW,EAC1B,IAAG4vC,MAAQ,EAAG,KAAM,2BAA6BA,GAEjD7iD,GAAE8iD,MAAQrwC,KAAKQ,WAAW,EAC1B,QAAOjT,EAAE8iD,OACR,IAAK,GAAG,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,KAC5D,SAAS,KAAM,sCAAwC9iD,EAAE8iD,MAE1DjgC,UAAUpQ,KAAMtS,OAAO,GACvB,OAAOH,GAIR,QAAS+iD,0BAAyBtwC,KAAMtS,QACvC,MAAO0iB,WAAUpQ,KAAMtS,QAGxB,QAAS6iD,uBAAsBvwC,KAAMtS,QACpC,GAAIH,KACJ,IAAIi9B,MAAOj9B,EAAEijD,sBAAwBR,cAAchwC,KAAM,EAAItS,SAAU,CACvE,IAAG88B,KAAK0lB,OAAS,EAAG,KAAM,oCAAsC1lB,KAAK0lB,KACrE,IAAG1lB,KAAKylB,MAAQ,GAAKzlB,KAAKylB,MAAQ,EAAG,KAAM,oCAAsCzlB,KAAKylB,KACtF1iD,GAAEolC,MAAQ3yB,KAAKQ,WAAW,EAAI9S,SAAU,CACxC,IAAI6iB,IAAKvQ,KAAKQ,WAAW,EAAI9S,SAAU,CACvCH,GAAEkjD,iBAAmBN,uBAAuBnwC,KAAMuQ,GAAK7iB,SAAU6iB,EACjEhjB,GAAEmjD,mBAAqBJ,yBAAyBtwC,KAAMtS,OACtD,OAAOH,GAGR,QAASojD,iBAAgB3wC,KAAMtS,QAC9B,GAAIH,KACJ,IAAIi9B,MAAOj9B,EAAEijD,sBAAwBR,cAAchwC,KAAM,EAAItS,SAAU,CACvE,IAAG88B,KAAKylB,OAAS,GAAKzlB,KAAK0lB,OAAS,EAAG,KAAM,6BAA+B1lB,KAAKylB,MAAQ,MAAQzlB,KAAK0lB,KACtG3iD,GAAEqjD,KAAO5wC,KAAKQ,WAAW,GACzBjT,GAAEsjD,kBAAoB7wC,KAAKQ,WAAW,GACtCjT,GAAEujD,sBAAwB9wC,KAAKQ,WAAW,GAC1C,OAAOjT,GAIR,QAASwjD,uCAAsCC,UAC9C,GAAIC,UAAW,EAAQC,aACvB,IAAIC,iBAAkBpB,SAASiB,SAC/B,IAAIvjD,KAAM0jD,gBAAgBzjD,OAAS,EAAGF,EAAG4jD,YACzC,IAAIC,eAAeC,cAAeC,aAClCL,eAAgBxhD,YAAYjC,IAC5ByjD,eAAc,GAAKC,gBAAgBzjD,MACnC,KAAIF,EAAI,EAAGA,GAAKC,MAAOD,EAAG0jD,cAAc1jD,GAAK2jD,gBAAgB3jD,EAAE,EAC/D,KAAIA,EAAIC,IAAI,EAAGD,GAAK,IAAKA,EAAG,CAC3B4jD,aAAeF,cAAc1jD,EAC7B6jD,gBAAkBJ,SAAW,SAAY,EAAU,EAAI,CACvDK,eAAiBL,UAAY,EAAK,KAClCM,eAAgBF,cAAgBC,aAChCL,UAAWM,cAAgBH,aAE5B,MAAOH,UAAW,MAInB,GAAIO,+BAAgC,WACnC,GAAIC,WAAY,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,GAAM,EAAM,IAAM,GAAM,EACpG,IAAIC,cAAe,MAAQ,KAAQ,MAAQ,MAAQ,KAAQ,KAAQ,MAAQ,MAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACnI,IAAIC,YAAa,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,IAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,IAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,KAAQ,KAAQ,MACj1B,IAAIC,KAAM,SAASC,MAAQ,OAASA,KAAK,EAAMA,KAAK,KAAQ,IAC5D,IAAIC,QAAS,SAASC,MAAOC,OAAS,MAAOJ,KAAIG,MAAQC,OACzD,IAAIC,sBAAuB,SAASjB,UACnC,GAAIkB,QAASR,YAAYV,SAAStjD,OAAS,EAC3C,IAAIykD,gBAAiB,GACrB,KAAI,GAAI3kD,GAAIwjD,SAAStjD,OAAO,EAAGF,GAAK,IAAKA,EAAG,CAC3C,GAAI4kD,MAAOpB,SAASxjD,EACpB,KAAI,GAAI4K,GAAI,EAAGA,GAAK,IAAKA,EAAG,CAC3B,GAAGg6C,KAAO,GAAMF,QAAUP,UAAUQ,eACpCC,OAAQ,IAAKD,gBAGf,MAAOD,QAER,OAAO,UAASG,UACf,GAAIrB,UAAWjB,SAASsC,SACxB,IAAIH,QAASD,qBAAqBjB,SAClC,IAAIsB,OAAQtB,SAAStjD,MACrB,IAAI6kD,kBAAmB7iD,YAAY,GACnC,KAAI,GAAIlC,GAAI,EAAGA,GAAK,KAAMA,EAAG+kD,iBAAiB/kD,GAAK,CACnD,IAAIglD,MAAMC,iBAAkBC,QAC5B,KAAIJ,MAAQ,KAAO,EAAG,CACrBE,KAAON,QAAU,CACjBK,kBAAiBD,OAASR,OAAOL,SAAS,GAAIe,QAC5CF,KACFE,MAAON,OAAS,GAChBO,kBAAmBzB,SAASA,SAAStjD,OAAS,EAC9C6kD,kBAAiBD,OAASR,OAAOW,iBAAkBD,MAEpD,MAAMF,MAAQ,EAAG,GACdA,KACFE,MAAON,QAAU,CACjBK,kBAAiBD,OAASR,OAAOd,SAASsB,OAAQE,QAChDF,KACFE,MAAON,OAAS,GAChBK,kBAAiBD,OAASR,OAAOd,SAASsB,OAAQE,MAEnDF,MAAQ,EACRI,UAAW,GAAK1B,SAAStjD,MACzB,OAAMglD,SAAW,EAAG,CACnBF,KAAON,QAAU,CACjBK,kBAAiBD,OAASR,OAAOL,SAASiB,UAAWF,QACnDF,QACAI,QACFF,MAAON,OAAS,GAChBK,kBAAiBD,OAASR,OAAOd,SAASsB,OAAQE,QAChDF,QACAI,SAEH,MAAOH,qBAKT,IAAII,4BAA6B,SAASN,SAAUO,KAAMC,cAAeC,SAAUpgC,GAElF,IAAIA,EAAGA,EAAIkgC,IACX,KAAIE,SAAUA,SAAWtB,8BAA8Ba,SACvD,IAAIC,OAAOS,KACX,KAAIT,MAAQ,EAAGA,OAASM,KAAKllD,SAAU4kD,MAAO,CAC7CS,MAAQH,KAAKN,MACbS,QAASD,SAASD,cAClBE,QAAUA,OAAO,EAAMA,OAAO,GAAM,GACpCrgC,GAAE4/B,OAASS,QACTF,cAEH,OAAQngC,EAAGmgC,cAAeC,UAG3B,IAAIE,yBAA0B,SAASX,UACtC,GAAIQ,eAAgB,EAAGC,SAAWtB,8BAA8Ba,SAChE,OAAO,UAASO,MACf,GAAIlgC,GAAIigC,2BAA2B,GAAIC,KAAMC,cAAeC,SAC5DD,eAAgBngC,EAAE,EAClB,OAAOA,GAAE,IAKX,SAASugC,sBAAqBjzC,KAAMtS,OAAQmE,KAAMgF,KACjD,GAAItJ,IAAO+Y,IAAK4kB,YAAYlrB,MAAOkzC,kBAAmBhoB,YAAYlrB,MAClE,IAAGnO,KAAKwgD,SAAU9kD,EAAE4lD,SAAWpC,sCAAsCl/C,KAAKwgD,SAC1Ex7C,KAAIu8C,MAAQ7lD,EAAE2lD,oBAAsB3lD,EAAE4lD,QACtC,IAAGt8C,IAAIu8C,MAAOv8C,IAAIw8C,eAAiBL,wBAAwBnhD,KAAKwgD,SAChE,OAAO9kD,GAIR,QAAS+lD,sBAAqBtzC,KAAMtS,OAAQoN,IAC3C,GAAIvN,GAAIuN,MAAUvN,GAAEgmD,KAAOvzC,KAAKQ,WAAW,EAAIR,MAAKtP,GAAK,CACzD,IAAGnD,EAAEgmD,OAAS,EAAGhmD,EAAEqlD,KAAOjC,gBAAgB3wC,KAAMtS,YAC3CH,GAAEqlD,KAAOrC,sBAAsBvwC,KAAMtS,OAC1C,OAAOH,GAER,QAASimD,gBAAexzC,KAAMtS,OAAQmE,MACrC,GAAItE,IAAMi3B,KAAMxkB,KAAKQ,WAAW,GAChC,IAAGjT,EAAEi3B,KAAM8uB,qBAAqBtzC,KAAMtS,OAAO,EAAGH,OAC3C0lD,sBAAqBjzC,KAAMtS,OAAO,EAAGmE,KAAMtE,EAChD,OAAOA,GAIR,QAASkmD,SAAQtoC,GAChB,GAAI5d,GAAI4d,EAAE/c,OAAO+c,EAAE,KAAK,IAAI,EAAE,EAAE,EAChC,QAAQvR,SAASrM,EAAEa,OAAO,EAAE,GAAG,IAAIwL,SAASrM,EAAEa,OAAO,EAAE,GAAG,IAAIwL,SAASrM,EAAEa,OAAO,EAAE,GAAG,KAEtF,QAASslD,SAAQvF,KAChB,IAAI,GAAI3gD,GAAE,EAAED,EAAE,EAAGC,GAAG,IAAKA,EAAGD,EAAIA,EAAE,KAAO4gD,IAAI3gD,GAAG,IAAI,IAAI2gD,IAAI3gD,GAAG,EAAE,EAAE2gD,IAAI3gD,GACvE,OAAOD,GAAE0Z,SAAS,IAAInE,cAAc1U,OAAO,GAG5C,QAASulD,SAAQxF,KAChB,GAAI5rC,GAAI4rC,IAAI,GAAG,IAAKyF,EAAIzF,IAAI,GAAG,IAAKh6C,EAAEg6C,IAAI,GAAG,GAC7C,IAAIj3C,GAAIhG,KAAKiK,IAAIoH,EAAGqxC,EAAGz/C,GAAI6C,EAAI9F,KAAKgK,IAAIqH,EAAGqxC,EAAGz/C,GAAIqO,EAAItL,EAAIF,CAC1D,IAAGwL,IAAM,EAAG,OAAQ,EAAG,EAAGD,EAE1B,IAAIsxC,IAAK,EAAG18C,EAAI,EAAG28C,GAAM58C,EAAIF,CAC7BG,GAAIqL,GAAKsxC,GAAK,EAAI,EAAIA,GAAKA,GAC3B,QAAO58C,GACN,IAAKqL,GAAGsxC,KAAOD,EAAIz/C,GAAKqO,EAAI,GAAG,CAAG,MAClC,KAAKoxC,GAAGC,IAAO1/C,EAAIoO,GAAKC,EAAI,CAAI,MAChC,KAAKrO,GAAG0/C,IAAOtxC,EAAIqxC,GAAKpxC,EAAI,CAAI,OAEjC,OAAQqxC,GAAK,EAAG18C,EAAG28C,GAAK,GAGzB,QAASC,SAAQC,KAChB,GAAI/8C,GAAI+8C,IAAI,GAAI78C,EAAI68C,IAAI,GAAI1xC,EAAI0xC,IAAI,EACpC,IAAIxxC,GAAIrL,EAAI,GAAKmL,EAAI,GAAMA,EAAI,EAAIA,GAAItL,EAAIsL,EAAIE,EAAE,CACjD,IAAI2rC,MAAOn3C,EAAEA,EAAEA,GAAIi9C,GAAK,EAAEh9C,CAE1B,IAAIi9C,EACJ,IAAG/8C,IAAM,EAAG,OAAO88C,GAAG,GACrB,IAAK,GAAG,IAAK,GAAGC,EAAI1xC,EAAIyxC,EAAI9F,KAAI,IAAM3rC,CAAG2rC,KAAI,IAAM+F,CAAG,MACtD,KAAK,GAAGA,EAAI1xC,GAAK,EAAIyxC,GAAO9F,KAAI,IAAM+F,CAAG/F,KAAI,IAAM3rC,CAAG,MACtD,KAAK,GAAG0xC,EAAI1xC,GAAKyxC,GAAK,EAAM9F,KAAI,IAAM3rC,CAAG2rC,KAAI,IAAM+F,CAAG,MACtD,KAAK,GAAGA,EAAI1xC,GAAK,EAAIyxC,GAAO9F,KAAI,IAAM+F,CAAG/F,KAAI,IAAM3rC,CAAG,MACtD,KAAK,GAAG0xC,EAAI1xC,GAAKyxC,GAAK,EAAM9F,KAAI,IAAM3rC,CAAG2rC,KAAI,IAAM+F,CAAG,MACtD,KAAK,GAAGA,EAAI1xC,GAAK,EAAIyxC,GAAO9F,KAAI,IAAM+F,CAAG/F,KAAI,IAAM3rC,CAAG,OAEvD,IAAI,GAAIhV,GAAI,EAAGA,GAAK,IAAKA,EAAG2gD,IAAI3gD,GAAK0D,KAAKC,MAAMg9C,IAAI3gD,GAAG,IACvD,OAAO2gD,KAIR,QAASgG,UAASphC,IAAKqhC,MACtB,GAAGA,OAAS,EAAG,MAAOrhC,IACtB,IAAIihC,KAAML,QAAQF,QAAQ1gC,KAC1B,IAAIqhC,KAAO,EAAGJ,IAAI,GAAKA,IAAI,IAAM,EAAII,UAChCJ,KAAI,GAAK,GAAK,EAAIA,IAAI,KAAO,EAAII,KACtC,OAAOV,SAAQK,QAAQC,MAIxB,GAAIK,SAAU,EAAGC,QAAU,GAAIC,QAAU,EAAGC,IAAMH,OAClD,SAASI,UAASjpB,OAAS,OAAUA,OAAU,IAAIgpB,IAAK,GAAG,KAAOA,IAAM,EACxE,QAASE,SAAQC,IAAM,QAAUA,GAAK,GAAGH,IAAM,IAAM,GAAK,GAAG,IAC7D,QAASI,YAAWC,KAAO,QAAUA,IAAML,IAAM,GAAGA,IAAI,IAAK,GAAG,IAChE,QAASM,aAAYC,OAAS,MAAOH,YAAWF,QAAQD,SAASM,SACjE,QAASC,UAASD,MAAOE,MACxB,GAAGH,YAAYC,QAAUA,MAAO,CAC/B,IAAIP,IAAIH,QAASG,IAAID,UAAWC,IAAK,GAAGM,YAAYC,SAAWA,MAAO,KACtE,IAAGP,MAAQD,QAAS,IAAIC,IAAIH,QAAQ,EAAGG,IAAIF,UAAWE,IAAK,GAAGM,YAAYC,SAAWA,MAAO,KAC5F,IAAGP,MAAQF,QAASE,IAAMH,SAK5B,GAAIa,qBACHC,KAAQ,OACRC,MAAS,QACTC,OAAU,aACVC,OAAU,WACVC,OAAU,YACVC,WAAc,iBACdC,WAAc,eACdC,kBAAqB,WACrBC,WAAc,SACdC,UAAa,WACbC,eAAkB,cAClBC,eAAkB,kBAClBC,eAAkB,gBAClBC,sBAAyB,YACzBC,cAAiB,YAGlB,IAAIz0B,UAEJ,IAAIK,UAGJ,SAASq0B,aAAYplD,EAAGe,MACvB2vB,OAAO20B,QACP,IAAI3lD,QACJM,GAAE,GAAGgI,MAAMsP,UAAUmD,QAAQ,SAASxd,GACrC,GAAI4D,GAAI4W,YAAYxa,EACpB,QAAO4D,EAAE,IACR,IAAK,SAAU,IAAK,UAAW,IAAK,WAAY,KAGhD,KAAK,SAAU,KACf,KAAK,UAAW6vB,OAAO20B,MAAMxzC,KAAKnS,KAAOA,QAAW,MAGpD,KAAK,eACJ,GAAGmB,EAAEqiC,YAAaxjC,KAAKwjC,YAAcriC,EAAEqiC,WACvC,MACD,KAAK,iBAAkB,IAAK,iBAAkB,KAG9C,KAAK,WACJ,IAAIxjC,KAAK4lD,QAAS5lD,KAAK4lD,UACvB,IAAGzkD,EAAE0kD,QAAS7lD,KAAK4lD,QAAQC,QAAUz8C,SAASjI,EAAE0kD,QAAS,GACzD,IAAG1kD,EAAE2kD,MAAO9lD,KAAK4lD,QAAQE,MAAQ18C,SAASjI,EAAE2kD,MAAO,GACnD,IAAG3kD,EAAEyiD,KAAM5jD,KAAK4lD,QAAQhC,KAAOj3C,WAAWxL,EAAEyiD,KAE5C,IAAGziD,EAAEw8C,IAAK39C,KAAK4lD,QAAQjI,IAAMx8C,EAAEw8C,IAAIvlC,UAAUjX,EAAEw8C,IAAIzgD,OAAS,EAC5D,MACD,KAAK,aAAc,IAAK,aAAc,KAGtC,KAAK,WACJ,IAAI8C,KAAK+lD,QAAS/lD,KAAK+lD,UACvB,IAAG5kD,EAAE2kD,MAAO9lD,KAAK+lD,QAAQD,MAAQ18C,SAASjI,EAAE2kD,MAAO,GACnD,IAAG3kD,EAAEyiD,KAAM5jD,KAAK+lD,QAAQnC,KAAOj3C,WAAWxL,EAAEyiD,KAE5C,IAAGziD,EAAEw8C,IAAK39C,KAAK+lD,QAAQpI,IAAMx8C,EAAEw8C,IAAIvlC,UAAUjX,EAAEw8C,IAAIzgD,OAAS,EAC5D,MACD,KAAK,aAAc,IAAK,aAAc,KAEtC,SAAS,GAAGmE,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,gBAAkBzE,EAAE,GAAK,gBAMlE,QAAS6kD,eAAc1lD,EAAGe,MACzB2vB,OAAOi1B,YACP,IAAIzzC,GAAsBkD,KAAK7V,IAAIsN,OACnC,KAAI,GAAInQ,GAAE,EAAGA,EAAIwV,EAAEtV,SAAUF,EAAGg0B,OAAOi1B,UAAUzzC,EAAExV,IAAM6C,IAAIsN,OAAOqF,EAAExV,GACtE,IAAIwJ,GAAIlG,EAAE,GAAGgI,MAAMsP,SACnB,KAAIpR,EAAG,MACP,KAAIxJ,EAAE,EAAGA,EAAIwJ,EAAEtJ,SAAUF,EAAG,CAC3B,GAAImE,GAAI4W,YAAYvR,EAAExJ,GACtB,QAAOmE,EAAE,IACR,IAAK,WAAY,IAAK,aAAc,IAAK,aAAc,IAAK,YAAa,KACzE,KAAK,UAAW,CACf,GAAI0L,GAAEiM,YAAYY,SAASvY,EAAE+kD,aAAct+C,EAAEwB,SAASjI,EAAEglD,SAAS,GACjEn1B,QAAOi1B,UAAUr+C,GAAKiF,CAAG,IAAGjF,EAAE,EAAG/H,IAAIuN,KAAKP,EAAEjF,GAC3C,KACF,SAAS,GAAGvG,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,gBAAkBzE,EAAE,GAAK,iBAKlE,QAASilD,eAAcC,GAAIhlD,MAC1B,GAAItE,IAAK,eACP,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,MAAMge,QAAQ,SAAS/R,GAC1D,IAAI,GAAIhM,GAAIgM,EAAE,GAAIhM,GAAKgM,EAAE,KAAMhM,EAAG,GAAGqpD,GAAGrpD,KAAOoE,UAAWrE,EAAEA,EAAEG,QAAWke,UAAU,SAAS,MAAM+qC,SAASnpD,EAAEkpD,WAAW9sC,UAAUitC,GAAGrpD,OAEtI,IAAGD,EAAEG,SAAW,EAAG,MAAO,EAC1BH,GAAEA,EAAEG,QAAU,YACdH,GAAE,GAAKqe,UAAU,UAAW,MAAQqjC,MAAM1hD,EAAEG,OAAO,IAAK4B,QAAQ,KAAM,IACtE,OAAO/B,GAAEoe,KAAK,IAIf,QAASmrC,eAAchmD,EAAGe,MACzB2vB,OAAOu1B,SACPjmD,GAAE,GAAGgI,MAAMsP,UAAUmD,QAAQ,SAASxd,GACrC,GAAI4D,GAAI4W,YAAYxa,EACpB,QAAO4D,EAAE,IACR,IAAK,WAAY,IAAK,YAAa,IAAK,aAAc,IAAK,aAAc,KAGzE,KAAK,YAAcA,GAAE,EACpB,IAAGA,EAAEglD,SAAUhlD,EAAEglD,SAAW/8C,SAASjI,EAAEglD,SAAU,GACjD,IAAGhlD,EAAEqlD,OAAQrlD,EAAEqlD,OAASp9C,SAASjI,EAAEqlD,OAAQ,GAC3Cx1B,QAAOu1B,OAAOp0C,KAAKhR,EAAI,MACxB,KAAK,QAAS,KAGd,KAAK,aAAc,IAAK,eAAgB,KAGxC,KAAK,cAAe,IAAK,gBAAiB,IAAK,gBAAiB,KAEhE,KAAK,UAAW,IAAK,YAAa,KAClC,KAAK,OAAQ,KACb,SAAS,GAAGE,KAAK6wB,IAAK,KAAM,gBAAkB/wB,EAAE,GAAK,iBAKxD,QAASslD,eAAcC,SACtB,GAAI3pD,KACJA,GAAEA,EAAEG,QAAWke,UAAU,UAAU,KACnCsrC,SAAQ3rC,QAAQ,SAAS9a,GAAKlD,EAAEA,EAAEG,QAAWke,UAAU,KAAM,KAAMnb,IACnElD,GAAEA,EAAEG,QAAU,YACd,IAAGH,EAAEG,SAAW,EAAG,MAAO,EAC1BH,GAAE,GAAKqe,UAAU,UAAU,MAAOqjC,MAAM1hD,EAAEG,OAAO,IAAI4B,QAAQ,KAAK,IAClE,OAAO/B,GAAEoe,KAAK,IAIf,GAAIwrC,eAAe,QAAUC,cAC7B,GAAIC,aAAc,+BAClB,IAAIC,aAAc,+BAClB,IAAIC,YAAa,2BAEjB,OAAO,SAASJ,eAAc7pD,KAAMuE,MACnC,IAAIvE,KAAM,MAAOk0B,OAEjB,IAAI1wB,EAGJ,IAAIA,EAAExD,KAAKwL,MAAMu+C,aAAeb,cAAc1lD,EAAGe,KAMjD,IAAIf,EAAExD,KAAKwL,MAAMy+C,YAAcrB,YAAYplD,EAAGe,KAM9C,IAAIf,EAAExD,KAAKwL,MAAMw+C,aAAeR,cAAchmD,EAAGe,KAOjD,OAAO2vB,WAIR,IAAIg2B,iBAAkB5rC,UAAU,aAAc,MAC7CyW,MAASpW,MAAMS,KAAK,GACpB6Z,WAAYta,MAAMM,IAGnBmX,MAAK+zB,IAAM,4EAEX,SAASC,eAAcC,GAAI9lD,MAC1B,GAAItE,IAAKye,WAAYwrC,iBAAkBjiD,CACvC,KAAIA,EAAIqhD,cAAce,GAAGtnD,OAAS,KAAM9C,EAAEA,EAAEG,QAAU6H,CACtDhI,GAAEA,EAAEG,QAAU,mIACdH,GAAEA,EAAEG,QAAU,0HACdH,GAAEA,EAAEG,QAAU,yFACdH,GAAEA,EAAEG,QAAU,8FACd,IAAI6H,EAAI0hD,cAAcplD,KAAKqlD,SAAW3pD,EAAEA,EAAEG,QAAU,CACpDH,GAAEA,EAAEG,QAAU,sFACdH,GAAEA,EAAEG,QAAU,mBACdH,GAAEA,EAAEG,QAAU,sGAEd,IAAGH,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,eAAmBH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KACxE,MAAO/B,GAAEoe,KAAK,IAGf,QAASisC,cAAatqD,KAAMI,QAC3B,GAAI2lC,MAAO/lC,KAAKkT,WAAW,EAC3B,IAAIq3C,WAAYrkC,mBAAmBlmB,KAAKI,OAAO,EAC/C,QAAQ2lC,KAAMwkB,WAIf,QAASC,eAAcxqD,KAAMI,QAC5B,GAAImJ,MAAQ0c,SACZ1c,KAAIkhD,SAAWzqD,KAAKkT,WAAW,EAC/B3J,KAAImhD,MAAQ5hC,gBAAgB9oB,KAAM,EAClCuJ,KAAIohD,IAAM3qD,KAAKkT,WAAW,EAC1B3J,KAAIqhD,IAAM5qD,KAAKkT,WAAW,EAC1B3J,KAAIshD,IAAM7qD,KAAKkT,WAAW,EAC1B3J,KAAIuhD,QAAU9qD,KAAKkT,WAAW,EAC9B3J,KAAIwhD,SAAW/qD,KAAKkT,WAAW,EAC/BlT,MAAKoD,GACLmG,KAAIyhD,SAAW3iC,eAAeroB,KAAM,EACpCuJ,KAAI0hD,YAAcjrD,KAAKkT,WAAW,EAClC3J,KAAIkK,KAAOyS,mBAAmBlmB,KAAMI,OAAS,GAE7CmJ,KAAI0c,MAAMilC,KAAO3hD,IAAIohD,MAAQ,GAC7BphD,KAAI0c,MAAMklC,OAAS5hD,IAAImhD,MAAM3hC,OAC7Bxf,KAAI0c,MAAMmlC,UAAY7hD,IAAImhD,MAAM1hC,UAChCzf,KAAI0c,MAAMolC,QAAU9hD,IAAImhD,MAAMzhC,QAC9B1f,KAAI0c,MAAMqlC,OAAS/hD,IAAImhD,MAAMxhC,OAC7B3f,KAAI0c,MAAMslC,SAAWhiD,IAAImhD,MAAMvhC,SAC/B5f,KAAI0c,MAAMulC,OAASjiD,IAAImhD,MAAMthC,OAC7B7f,KAAI0c,MAAMwlC,IAAMliD,IAAIqhD,IAAM,CAC1BrhD,KAAI0c,MAAMylC,IAAMniD,IAAIqhD,IAAM,CAC1B,OAAOrhD,KAIR,QAASoiD,aAAY3rD,KAAMI,QAC1B,GAAIwrD,YAAa5rD,KAAKkT,WAAW,EACjC,IAAI6yB,MAAO/lC,KAAKkT,WAAW,EAC3B4P,WAAU9iB,KAAMI,OAAO,EACvB,QAAQwgC,KAAKgrB,WAAY7lB,KAAKA,MAI/B,QAAS8lB,eAAc7rD,KAAMuE,MAC5B2vB,OAAOi1B,YACP,KAAI,GAAI9kD,KAAKtB,KAAIsN,OAAQ6jB,OAAOi1B,UAAU9kD,GAAKtB,IAAIsN,OAAOhM,EAE1D6vB,QAAOu1B,SACP,IAAIzyC,OAAQ,EACZ,IAAIorC,MAAO,KACXl/B,cAAaljB,KAAM,QAAS8rD,YAAWthD,IAAKyK,EAAGqO,IAC9C,OAAOrO,EAAE2W,GACR,IAAK,SACJsI,OAAOi1B,UAAU3+C,IAAI,IAAMA,IAAI,EAAIzH,KAAIuN,KAAK9F,IAAI,GAAIA,IAAI,GACxD,MACD,KAAK,UAAW,KAChB,KAAK,gBAAiB,KACtB,KAAK,UAAW,KAChB,KAAK,YAAa,KAClB,KAAK,QACJ,GAAGwM,QAAU,UAAW,CACvBkd,OAAOu1B,OAAOp0C,KAAK7K,KAEpB,KACD,KAAK,WAAY,KACjB,KAAK,SAAU,KACf,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,qBAAsB,KAC3B,KAAK,uBAAwB,KAC7B,KAAK,mBAAoB,KACzB,KAAK,eAAgBwM,MAAQ,MAAQ,MACrC,KAAK,aAAcA,MAAQ,EAAI,MAC/B,KAAK,gBAAiBA,MAAQ,OAAS,MACvC,KAAK,cAAeA,MAAQ,EAAI,MAChC,KAAK,aAAcA,MAAQ,SAAW,MACtC,KAAK,WAAYA,MAAQ,EAAI,MAC7B,KAAK,gBAAiBA,MAAQ,OAAS,MACvC,KAAK,cAAeA,MAAQ,EAAI,MAChC,KAAK,kBAAmBA,MAAQ,SAAW,MAC3C,KAAK,gBAAiBA,MAAQ,EAAI,MAClC,KAAK,uBAAwBA,MAAQ,cAAgB,MACrD,KAAK,qBAAsBA,MAAQ,EAAI,MACvC,KAAK,kBAAmBA,MAAQ,SAAW,MAC3C,KAAK,gBAAiBA,MAAQ,EAAI,MAClC,KAAK,iBAAkBA,MAAQ,QAAU,MACzC,KAAK,eAAgBA,MAAQ,EAAI,MACjC,KAAK,eAAgBA,MAAQ,MAAQ,MACrC,KAAK,aAAcA,MAAQ,EAAI,MAC/B,KAAK,sBAAuBA,MAAQ,aAAe,MACnD,KAAK,oBAAqBA,MAAQ,EAAI,MACtC,KAAK,uBAAwBA,MAAQ,cAAgB,MACrD,KAAK,qBAAsBA,MAAQ,EAAI,MACvC,KAAK,wBAAyBA,MAAQ,eAAiB,MACvD,KAAK,sBAAuBA,MAAQ,EAAI,MACxC,KAAK,oBAAqBA,MAAQ,WAAa,MAC/C,KAAK,kBAAmBA,MAAQ,EAAI,MACpC,KAAK,cAAeorC,KAAO,IAAM,MACjC,KAAK,YAAaA,KAAO,KAAO,MAChC,KAAK,0BAA2B,KAChC,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,kCAAmC,KACxC,KAAK,gCAAiC,KACtC,KAAK,yBAA0B,KAC/B,KAAK,uBAAwB,KAC7B,KAAK,wBAAyB,KAC9B,SAAS,IAAIA,MAAQ79C,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,qBAAuBwa,GAAK,IAAMrO,EAAE2W,KAGrF,OAAOsI,QAIR,QAAS63B,eAAc/rD,KAAMuE,MAC5B,GAAI+f,IAAKd,WACTa,cAAaC,GAAI,qBAYjBD,cAAaC,GAAI,mBACjB,OAAOA,IAAGL,MAEXmS,KAAK41B,MAAQ,2EAGb,SAASC,iBAAgBzoD,EAAGe,MAC3BgwB,OAAO23B,cAAcC,YACrB,IAAIr1C,WACHtT,EAAE,GAAGgI,MAAMsP,eAAemD,QAAQ,SAASxd,GAC3C,GAAI4D,GAAI4W,YAAYxa,EACpB,QAAO4D,EAAE,IACR,IAAK,eAAgB,IAAK,iBAAkB,KAG5C,KAAK,aAAcyS,MAAM+pC,IAAMx8C,EAAEmG,GAAK,MAGtC,KAAK,YAAasM,MAAM+pC,IAAMx8C,EAAE+nD,OAAS,MAGzC,KAAK,UACL,IAAK,WAEL,IAAK,UACL,IAAK,WAEL,IAAK,UACL,IAAK,WAEL,IAAK,UACL,IAAK,WAEL,IAAK,cACL,IAAK,eAEL,IAAK,cACL,IAAK,eAEL,IAAK,cACL,IAAK,eAEL,IAAK,cACL,IAAK,eAEL,IAAK,cACL,IAAK,eAEL,IAAK,cACL,IAAK,eAEL,IAAK,YACL,IAAK,aAEL,IAAK,eACL,IAAK,gBACJ,GAAI/nD,EAAE,GAAG,KAAO,IAAK,CACpBkwB,OAAO23B,cAAcC,UAAU92C,KAAKyB,MACpCA,cACM,CACNA,MAAMrD,KAAOpP,EAAE,GAAGiX,UAAU,EAAGjX,EAAE,GAAGjE,OAAS,GAE9C,KAED,SAAS,GAAGmE,KAAK6wB,IAAK,KAAM,gBAAkB/wB,EAAE,GAAK,mBAMxD,QAASgoD,kBAAiB7oD,EAAGe,OAG7B,QAAS+nD,iBAAgB9oD,EAAGe,OAE5B,GAAIgoD,WAAY,+CAChB,IAAIC,WAAY,iDAChB,IAAIC,WAAY,+CAGhB,SAASC,qBAAoB1sD,KAAMuE,MAClCgwB,OAAO23B,gBAEP,IAAI1oD,KAIF,YAAa+oD,UAAWN,kBAExB,aAAcO,UAAWH,mBAEzB,YAAaI,UAAWH,kBACxBruC,QAAQ,SAASvU,GAClB,KAAKlG,EAAExD,KAAKwL,MAAM9B,EAAE,KAAM,KAAM,IAAIZ,OAAMY,EAAE,GAAK;AACjDA,EAAE,GAAGlG,EAAGe,QAIV,GAAIooD,cAAe,uDAGnB,SAASC,iBAAgB5sD,KAAMuE,MAE9B,IAAIvE,MAAQA,KAAKI,SAAW,EAAG,MAAOm0B,OAEtC,IAAI/wB,EAGJ,MAAKA,EAAExD,KAAKwL,MAAMmhD,eAAgB,KAAM,kCACxCD,qBAAoBlpD,EAAE,GAAIe,KAE1B,OAAOgwB,QAGR,QAASs4B,eACR,GAAI5sD,IAAKye,WACTze,GAAEA,EAAEG,QAAU,+FACdH,GAAEA,EAAEG,QAAW,mBAEfH,GAAEA,EAAEG,QAAY,6BAChBH,GAAEA,EAAEG,QAAa,8DACjBH,GAAEA,EAAEG,QAAa,0DACjBH,GAAEA,EAAEG,QAAa,0CACjBH,GAAEA,EAAEG,QAAa,0CACjBH,GAAEA,EAAEG,QAAa,kDACjBH,GAAEA,EAAEG,QAAa,kDACjBH,GAAEA,EAAEG,QAAa,kDACjBH,GAAEA,EAAEG,QAAa,kDACjBH,GAAEA,EAAEG,QAAa,kDACjBH,GAAEA,EAAEG,QAAa,kDACjBH,GAAEA,EAAEG,QAAa,8CACjBH,GAAEA,EAAEG,QAAa,oDACjBH,GAAEA,EAAEG,QAAY,gBAEhBH,GAAEA,EAAEG,QAAY,8BAChBH,GAAEA,EAAEG,QAAa,eACjBH,GAAEA,EAAEG,QAAc,+BAClBH,GAAEA,EAAEG,QAAc,qBAClBH,GAAEA,EAAEG,QAAc,qBAClBH,GAAEA,EAAEG,QAAc,6CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,uCAClBH,GAAEA,EAAEG,QAAc,yCAClBH,GAAEA,EAAEG,QAAc,oDAClBH,GAAEA,EAAEG,QAAc,oDAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,8CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,6CAClBH,GAAEA,EAAEG,QAAc,yDAClBH,GAAEA,EAAEG,QAAc,uDAClBH,GAAEA,EAAEG,QAAc,uDAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,sDAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,8CAClBH,GAAEA,EAAEG,QAAc,iDAClBH,GAAEA,EAAEG,QAAc,oDAClBH,GAAEA,EAAEG,QAAc,oDAClBH,GAAEA,EAAEG,QAAc,qDAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAa,gBACjBH,GAAEA,EAAEG,QAAa,eACjBH,GAAEA,EAAEG,QAAc,+BAClBH,GAAEA,EAAEG,QAAc,qBAClBH,GAAEA,EAAEG,QAAc,qBAClBH,GAAEA,EAAEG,QAAc,6CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,uCAClBH,GAAEA,EAAEG,QAAc,yCAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,6CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,6CAClBH,GAAEA,EAAEG,QAAc,yDAClBH,GAAEA,EAAEG,QAAc,uDAClBH,GAAEA,EAAEG,QAAc,uDAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,2CAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,sDAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAc,8CAClBH,GAAEA,EAAEG,QAAc,iDAClBH,GAAEA,EAAEG,QAAc,oDAClBH,GAAEA,EAAEG,QAAc,0CAClBH,GAAEA,EAAEG,QAAc,qDAClBH,GAAEA,EAAEG,QAAc,4CAClBH,GAAEA,EAAEG,QAAa,gBACjBH,GAAEA,EAAEG,QAAY,iBAEhBH,GAAEA,EAAEG,QAAY,6BAChBH,GAAEA,EAAEG,QAAa,kBACjBH,GAAEA,EAAEG,QAAc,uDAClBH,GAAEA,EAAEG,QAAc,+BAClBH,GAAEA,EAAEG,QAAe,WACnBH,GAAEA,EAAEG,QAAgB,2GACpBH,GAAEA,EAAEG,QAAgB,+GACpBH,GAAEA,EAAEG,QAAgB,gHACpBH,GAAEA,EAAEG,QAAe,YACnBH,GAAEA,EAAEG,QAAe,oCACnBH,GAAEA,EAAEG,QAAc,eAClBH,GAAEA,EAAEG,QAAc,+BAClBH,GAAEA,EAAEG,QAAe,WACnBH,GAAEA,EAAEG,QAAgB,mIACpBH,GAAEA,EAAEG,QAAgB,uIACpBH,GAAEA,EAAEG,QAAe,YACnBH,GAAEA,EAAEG,QAAe,oCACnBH,GAAEA,EAAEG,QAAc,eAClBH,GAAEA,EAAEG,QAAa,mBACjBH,GAAEA,EAAEG,QAAa,gBACjBH,GAAEA,EAAEG,QAAc,kMAClBH,GAAEA,EAAEG,QAAc,wIAClBH,GAAEA,EAAEG,QAAc,wIAClBH,GAAEA,EAAEG,QAAa,iBACjBH,GAAEA,EAAEG,QAAa,oBACjBH,GAAEA,EAAEG,QAAc,iBAClBH,GAAEA,EAAEG,QAAe,eACnBH,GAAEA,EAAEG,QAAgB,mJACpBH,GAAEA,EAAEG,QAAe,gBACnBH,GAAEA,EAAEG,QAAc,kBAClBH,GAAEA,EAAEG,QAAc,iBAClBH,GAAEA,EAAEG,QAAe,eACnBH,GAAEA,EAAEG,QAAgB,mJACpBH,GAAEA,EAAEG,QAAe,gBACnBH,GAAEA,EAAEG,QAAc,kBAClBH,GAAEA,EAAEG,QAAc,iBAClBH,GAAEA,EAAEG,QAAe,eACnBH,GAAEA,EAAEG,QAAgB,mJACpBH,GAAEA,EAAEG,QAAe,gBACnBH,GAAEA,EAAEG,QAAe,4LACnBH,GAAEA,EAAEG,QAAe,kDACnBH,GAAEA,EAAEG,QAAc,kBAClBH,GAAEA,EAAEG,QAAa,qBACjBH,GAAEA,EAAEG,QAAa,oBACjBH,GAAEA,EAAEG,QAAc,uDAClBH,GAAEA,EAAEG,QAAc,+BAClBH,GAAEA,EAAEG,QAAe,WACnBH,GAAEA,EAAEG,QAAgB,2GACpBH,GAAEA,EAAEG,QAAgB,qIACpBH,GAAEA,EAAEG,QAAgB,iHACpBH,GAAEA,EAAEG,QAAe,YACnBH,GAAEA,EAAEG,QAAe,0FACnBH,GAAEA,EAAEG,QAAc,eAClBH,GAAEA,EAAEG,QAAc,+BAClBH,GAAEA,EAAEG,QAAe,WACnBH,GAAEA,EAAEG,QAAgB,2GACpBH,GAAEA,EAAEG,QAAgB,iHACpBH,GAAEA,EAAEG,QAAe,YACnBH,GAAEA,EAAEG,QAAe,wFACnBH,GAAEA,EAAEG,QAAc,eAClBH,GAAEA,EAAEG,QAAa,qBACjBH,GAAEA,EAAEG,QAAY,gBAEhBH,GAAEA,EAAEG,QAAW,oBACfH,GAAEA,EAAEG,QAAW,oBACfH,GAAEA,EAAEG,QAAY,WAChBH,GAAEA,EAAEG,QAAa,kSACjBH,GAAEA,EAAEG,QAAY,YAChBH,GAAEA,EAAEG,QAAY,WAChBH,GAAEA,EAAEG,QAAa,kSACjBH,GAAEA,EAAEG,QAAc,YAClBH,GAAEA,EAAEG,QAAW,qBACfH,GAAEA,EAAEG,QAAW,wBACfH,GAAEA,EAAEG,QAAU,YACd,OAAOH,GAAEoe,KAAK,IAGf,QAASyuC,aAAYp6C,KAAMtS,QAC1B,GAAI2sD,gBAAiBr6C,KAAKQ,WAAW,EACrC,IAAG65C,iBAAmB,OAAQ,MAC9Br6C,MAAKtP,GAAKhD,OAAO,EAIlB,QAAS4sD,kBAAiBt6C,KAAMtS,QAAU,MAAOsS,MAAKQ,WAAW,GAGjE,QAAS+5C,oBAAmBv6C,KAAMtS,QACjC,GAAIH,KACJA,GAAEitD,SAAWx6C,KAAKQ,WAAW,EAC7BjT,GAAEktD,WAAaz6C,KAAKQ,WAAW,EAC/B,QAAOjT,EAAEitD,UACR,IAAK,GAAGx6C,KAAKtP,GAAK,CAAG,MACrB,KAAK,GAAGnD,EAAEmtD,UAAYC,YAAY36C,KAAM,EAAI,MAC5C,KAAK,GAAGzS,EAAEmtD,UAAY5sB,eAAe9tB,KAAM,EAAI,MAC/C,KAAK,GAAGzS,EAAEmtD,UAAYJ,iBAAiBt6C,KAAM,EAAI,MACjD,KAAK,GAAGA,KAAKtP,GAAK,CAAG,OAEtBsP,KAAKtP,GAAK,CACV,OAAOnD,GAIR,QAASotD,aAAY36C,KAAMtS,QAC1B,MAAO0iB,WAAUpQ,KAAMtS,QAIxB,QAASktD,qBAAoB56C,KAAMtS,QAClC,MAAO0iB,WAAUpQ,KAAMtS,QAIxB,QAASmtD,eAAc76C,KAAMtS,QAC5B,GAAIotD,SAAU96C,KAAKQ,WAAW,EAC9B,IAAIiQ,IAAKzQ,KAAKQ,WAAW,EACzB,IAAIjT,IAAKutD,QACT,QAAOA,SACN,IAAK,GAAM,IAAK,GAAM,IAAK,GAAM,IAAK,GACtC,IAAK,GAAM,IAAK,IAAM,IAAK,IAAM,IAAK,IACrCvtD,EAAE,GAAKgtD,mBAAmBv6C,KAAMyQ,GAAK,MACtC,KAAK,GAAMljB,EAAE,GAAKqtD,oBAAoB56C,KAAMyQ,GAAK,MACjD,KAAK,IAAM,IAAK,IAAMljB,EAAE,GAAKyS,KAAKQ,WAAWiQ,KAAO,EAAI,EAAI,EAAI,MAChE,SAAS,KAAM,IAAIra,OAAM,8BAAgC0kD,QAAU,IAAMrqC,IAE1E,MAAOljB,GAIR,QAASwtD,aAAY/6C,KAAMtS,QAC1B,GAAI6jB,KAAMvR,KAAKtP,EAAIhD,MACnBsS,MAAKtP,GAAK,CACV,IAAIw9B,MAAOluB,KAAKQ,WAAW,EAC3BR,MAAKtP,GAAK,CACV,IAAIsqD,OAAQh7C,KAAKQ,WAAW,EAC5B,IAAIy6C,OACJ,OAAMD,SAAU,EAAGC,IAAIt4C,KAAKk4C,cAAc76C,KAAMuR,IAAIvR,KAAKtP,GACzD,QAAQw9B,KAAKA,KAAM+sB,IAAIA,KAIxB,QAASC,cAAaC,GAAIC,OACzBA,MAAM7vC,QAAQ,SAAS8vC,KACtB,OAAOA,IAAI,IACV,IAAK,GAAM,KACX,KAAK,GAAM,KACX,KAAK,GAAM,IAAK,GAAM,IAAK,GAAM,IAAK,IAAM,KAC5C,KAAK,IAAM,KACX,KAAK,IAAM,KACX,SAAS,KAAM,QAAUA,IAAI,GAAGp0C,SAAS,OAM5C,QAASq0C,cAAahuD,KAAMuE,MAC3B,GAAIhB,KACJ,KAAIvD,KAAM,MAAOuD,EACjB,IAAIH,GAAI,EAAGlD,EAAI,GACdF,KAAKwL,MAAMsP,eAAemD,QAAQ,SAASxd,GAC3C,GAAI4D,GAAI4W,YAAYxa,EACpB,QAAO4D,EAAE,IACR,IAAK,QAAS,KAEd,KAAK,aAAc,IAAK,cAAe,IAAK,eAAgB,KAE5D,KAAK,WAAaA,GAAE,EAAI,IAAGA,EAAEnE,EAAGA,EAAImE,EAAEnE,MAAQmE,GAAEnE,EAAIA,CAAGqD,GAAE8R,KAAKhR,EAAI,SAGpE,OAAOd,GAGR,QAAS0qD,cAAajuD,KAAMuE,OAE5B,QAAS2pD,yBAAwBluD,KAAMI,QACtC,GAAImJ,OACJA,KAAIrJ,EAAIF,KAAKkT,WAAW,EACxB,IAAI0R,QACJA,MAAK1Y,EAAIlM,KAAKkT,WAAW,EACzB0R,MAAKzhB,EAAInD,KAAKkT,WAAW,EACzB3J,KAAI2C,EAAIiiD,YAAYvpC,KACpB,IAAIqB,OAAQjmB,KAAKkT,WAAW,EAC5B,IAAG+S,MAAQ,EAAK1c,IAAInG,EAAI,GACxB,IAAG6iB,MAAQ,EAAK1c,IAAI4X,EAAI,GACxB,OAAO5X,KAIR,QAAS6kD,cAAapuD,KAAMuE,MAC3B,GAAIgF,OACJ,IAAI64C,MAAO,KACXl/B,cAAaljB,KAAM,QAASquD,WAAU7jD,IAAKyK,EAAGqO,IAC7C,OAAOrO,EAAE2W,GACR,IAAK,oBAAqBriB,IAAI8L,KAAK7K,IAAM,MACzC,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,SAAS,IAAI43C,MAAQ79C,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,qBAAuBwa,GAAK,IAAMrO,EAAE2W,KAGrF,OAAOriB,KAGR,QAAS+kD,cAAatuD,KAAMuE,OAE5B,QAASgqD,gBAAen0C,IAAKo0C,YAAav6B,OAAQw6B,UAAWlqD,MAC5D,IAAI,GAAIrE,GAAI,EAAGA,GAAKsuD,YAAYpuD,SAAUF,EAAG,CAC5C,GAAIwuD,eAAcF,YAAYtuD,EAC9B,IAAIy0B,UAASg6B,WAAWr0C,WAAWF,IAAKs0C,cAAc1sD,QAAQ,MAAM,IAAK,MAAO0sD,cAAenqD,KAC/F,KAAIowB,WAAaA,SAASv0B,OAAQ,QAElC,IAAIwuD,YAAah2C,KAAKqb,OACtB,KAAI,GAAInpB,GAAI,EAAGA,GAAK8jD,WAAWxuD,SAAU0K,EAAG,CAC3C,GAAI+jD,WAAYD,WAAW9jD,EAC3B,IAAIgqB,MAAO25B,UAAUI,UACrB,IAAG/5B,KAAM,CACR,GAAImC,KAAMnC,KAAK45B,cACf,IAAGz3B,IAAK63B,wBAAwBD,UAAW56B,OAAO46B,WAAYl6B,aAMlE,QAASm6B,yBAAwBD,UAAWp7B,MAAOkB,UAClDA,SAAS1W,QAAQ,SAAS8wC,SACzB,GAAInqC,MAAO6O,MAAMs7B,QAAQlmB,IACzB,KAAKjkB,KAAM,CACVA,OACA6O,OAAMs7B,QAAQlmB,KAAOjkB,IACrB,IAAIK,OAAQ+pC,kBAAkBv7B,MAAM,SAAS,kBAC7C,IAAIw7B,UAAWC,YAAYH,QAAQlmB,IACnC,IAAG5jB,MAAM1iB,EAAE2J,EAAI+iD,SAAS/iD,EAAG+Y,MAAM1iB,EAAE2J,EAAI+iD,SAAS/iD,CAChD,IAAG+Y,MAAMzK,EAAEtO,EAAI+iD,SAAS/iD,EAAG+Y,MAAMzK,EAAEtO,EAAI+iD,SAAS/iD,CAChD,IAAG+Y,MAAM1iB,EAAEY,EAAI8rD,SAAS9rD,EAAG8hB,MAAM1iB,EAAEY,EAAI8rD,SAAS9rD,CAChD,IAAG8hB,MAAMzK,EAAErX,EAAI8rD,SAAS9rD,EAAG8hB,MAAMzK,EAAErX,EAAI8rD,SAAS9rD,CAChD,IAAIgsD,SAAUC,aAAanqC,MAC3B,IAAIkqC,UAAY17B,MAAM,QAASA,MAAM,QAAU07B,QAGhD,IAAKvqC,KAAKzhB,EAAGyhB,KAAKzhB,IAClB,IAAIlD,IAAMkhB,EAAG4tC,QAAQM,OAAQ7rD,EAAGurD,QAAQvrD,EAAG0I,EAAG6iD,QAAQ7iD,EACtD,IAAG6iD,QAAQlxC,EAAG5d,EAAE4d,EAAIkxC,QAAQlxC,CAC5B+G,MAAKzhB,EAAEkS,KAAKpV,KAKd,QAASqvD,oBAAmBtvD,KAAMuE,MACjC,GAAGvE,KAAKwL,MAAM,2BAA4B,QAC1C,IAAI+jD,WACJ,IAAIC,eACJ,IAAIC,SAAUzvD,KAAKwL,MAAM,qDACzB,IAAGikD,SAAWA,QAAQ,GAAIA,QAAQ,GAAGjtD,MAAM,mBAAmByb,QAAQ,SAASxd,GAC9E,GAAGA,IAAM,IAAMA,EAAEivD,SAAW,GAAI,MAChC,IAAIvuC,GAAI1gB,EAAE+K,MAAM,6BAChB,IAAG2V,EAAGouC,QAAQl6C,KAAK8L,EAAE,KAEtB,IAAIwuC,SAAU3vD,KAAKwL,MAAM,6DACzB,IAAGmkD,SAAWA,QAAQ,GAAIA,QAAQ,GAAGntD,MAAM,oBAAoByb,QAAQ,SAASxd,EAAG+nB,OAClF,GAAG/nB,IAAM,IAAMA,EAAEivD,SAAW,GAAI,MAChC,IAAIE,IAAKnvD,EAAE+K,MAAM,0BACjB,KAAIokD,GAAI,MACR,IAAIvrD,GAAI4W,YAAY20C,GAAG,GACvB,IAAIb,UAAaM,OAAQhrD,EAAEwrD,UAAYN,QAAQlrD,EAAEwrD,UAAYN,QAAQlrD,EAAEwrD,UAAYvrD,UAAWukC,IAAKxkC,EAAEwkC,IAAKvI,KAAMj8B,EAAEi8B,KAClH,IAAI1b,MAAOsqC,YAAY7qD,EAAEwkC,IACzB,IAAGtkC,KAAKurD,WAAavrD,KAAKurD,WAAalrC,KAAK1Y,EAAG,MAC/C,IAAI6jD,WAAYtvD,EAAE+K,MAAM,+CACxB,KAAKukD,YAAcA,UAAU,GAAI,MACjC,IAAIjvB,IAAKsgB,SAAS2O,UAAU,GAC5B,KAAIjvB,GAAI,MACRiuB,SAAQ7iD,EAAI40B,GAAG50B,CACf6iD,SAAQvrD,EAAIs9B,GAAGt9B,CACf,IAAGe,KAAK+8C,SAAUyN,QAAQlxC,EAAIijB,GAAGjjB,CACjC2xC,aAAYn6C,KAAK05C,UAElB,OAAOS,aAGR,QAASQ,oBAAmBhwD,KAAMuE,OAElC,QAAS0rD,uBAAsBjwD,KAAMI,QACpC,GAAImJ,OACJA,KAAI2mD,QAAUlwD,KAAKkT,WAAW,EAC9B,IAAIi9C,KAAM3oC,mBAAmBxnB,KAAM,GACnCuJ,KAAI4mD,IAAMA,IAAI5tD,CACdgH,KAAIs/B,IAAMslB,YAAYgC,IAAI5tD,EAC1BvC,MAAKoD,GAAK,EACV,OAAOmG,KAIR,GAAI6mD,wBAAyBlqC,kBAG7B,IAAImqC,sBAAuBrqC,aAG3B,SAASsqC,oBAAmBtwD,KAAMuE,MACjC,GAAIgF,OACJ,IAAIgmD,WACJ,IAAIpsD,KACJ,IAAIi/C,MAAO,KACXl/B,cAAaljB,KAAM,QAASuwD,aAAY/lD,IAAKyK,EAAGqO,IAC/C,OAAOrO,EAAE2W,GACR,IAAK,mBAAoB2jC,QAAQl6C,KAAK7K,IAAM,MAC5C,KAAK,kBAAmBrH,EAAIqH,GAAK,MACjC,KAAK,iBAAkBrH,EAAEK,EAAIgH,IAAIhH,CAAGL,GAAE0a,EAAIrT,IAAIqT,CAAG1a,GAAE+I,EAAI1B,IAAI0B,CAAG,MAC9D,KAAK,gBACJ/I,EAAEksD,OAASE,QAAQpsD,EAAE+sD,eACd/sD,GAAE+sD,OACT,IAAG3rD,KAAKurD,WAAavrD,KAAKurD,WAAa3sD,EAAEgtD,IAAIjkD,EAAG,YACzC/I,GAAEgtD,GAAK5mD,KAAI8L,KAAKlS,EAAI,MAC5B,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,yBAA0B,KAC/B,KAAK,uBAAwB,KAC7B,KAAK,sBAAuB,KAC5B,KAAK,oBAAqB,KAC1B,SAAS,IAAIi/C,MAAQ79C,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,qBAAuBwa,GAAK,IAAMrO,EAAE2W,KAGrF,OAAOriB,KAGR,QAASinD,oBAAmBxwD,KAAMuE,OAElC,GAAIksD,UAAW,WACd,GAAIC,SAAU,kDACd,IAAIC,OACJ,SAASC,QAAOhlD,GAAGC,GAAGC,GAAGC,GAAG8kD,GAAGC,IAC9B,GAAI77C,GAAIlJ,GAAG3L,OAAO,EAAEkM,SAASP,GAAG,IAAI,EAAE,EAAGmJ,EAAI47C,GAAG1wD,OAAO,EAAEkM,SAASwkD,GAAG,IAAI,EAAE,CAC3E,IAAG57C,EAAE,GAAK27C,GAAGzwD,SAAW,EAAG8U,EAAE,CAC7B,IAAG27C,GAAGzwD,OAAS,EAAG8U,GAAKy7C,OAAOxtD,CAC9B,IAAG2I,GAAG1L,OAAS,EAAG6U,GAAK07C,OAAOzkD,CAC9B,OAAOL,IAAKklD,WAAW77C,GAAK87C,WAAW/7C,GAExC,MAAO,SAASw7C,UAASQ,KAAMzkD,MAC9BmkD,OAASnkD,IACT,OAAOykD,MAAKjvD,QAAQ0uD,QAASE,WAM/B,SAASM,WAAU9tD,GAAK,MAAO,UAASsP,KAAMtS,QAAUsS,KAAKtP,GAAGA,CAAG,SACnE,QAAS+tD,YAAWz+C,KAAMtS,QAAUsS,KAAKtP,GAAG,CAAG,QAK/C,QAASguD,eAAc1+C,KAAMtS,QAC5B,GAAI+C,GAAIuP,KAAKQ,WAAW,EACxB,QAAQ/P,EAAI,MAASA,GAAK,GAAM,EAAIA,GAAK,GAAM,GAIhD,QAASkuD,gBAAe3+C,KAAMtS,QAC7B,GAAI8L,GAAEwG,KAAKQ,WAAW,GAAI+B,EAAEvC,KAAKQ,WAAW,EAC5C,IAAI/P,GAAEiuD,cAAc1+C,KAAM,EAC1B,IAAIwC,GAAEk8C,cAAc1+C,KAAM,EAC1B,QAASnQ,GAAG2J,EAAEA,EAAG/I,EAAEA,EAAE,GAAI2hB,KAAK3hB,EAAE,GAAI4hB,KAAK5hB,EAAE,IAAKqX,GAAGtO,EAAE+I,EAAG9R,EAAE+R,EAAE,GAAI4P,KAAK5P,EAAE,GAAI6P,KAAK7P,EAAE,KAInF,QAASo8C,mBAAkB5+C,KAAMtS,QAChC,GAAI8L,GAAEwG,KAAKQ,WAAW,GAAI+B,EAAEvC,KAAKQ,WAAW,EAC5C,IAAI/P,GAAEiuD,cAAc1+C,KAAM,EAC1B,IAAIwC,GAAEk8C,cAAc1+C,KAAM,EAC1B,QAASnQ,GAAG2J,EAAEA,EAAG/I,EAAEA,EAAE,GAAI2hB,KAAK3hB,EAAE,GAAI4hB,KAAK5hB,EAAE,IAAKqX,GAAGtO,EAAE+I,EAAG9R,EAAE+R,EAAE,GAAI4P,KAAK5P,EAAE,GAAI6P,KAAK7P,EAAE,KAInF,QAASq8C,eAAc7+C,KAAMtS,QAC5B,GAAI8L,GAAIwG,KAAKQ,WAAW,EACxB,IAAI/P,GAAIiuD,cAAc1+C,KAAM,EAC5B,QAAQxG,EAAEA,EAAG/I,EAAEA,EAAE,GAAI2hB,KAAK3hB,EAAE,GAAI4hB,KAAK5hB,EAAE,IAIxC,QAASquD,kBAAiB9+C,KAAMtS,QAC/B,GAAI8L,GAAIwG,KAAKQ,WAAW,EACxB,IAAIu+C,IAAK/+C,KAAKQ,WAAW,EACzB,IAAI4R,OAAQ2sC,GAAK,QAAW,GAAI1sC,MAAQ0sC,GAAK,QAAW,EACxDA,KAAM,KACN,IAAG3sC,OAAS,EAAG,MAAM2sC,IAAM,IAAOA,IAAM,GACxC,QAAQvlD,EAAEA,EAAE/I,EAAEsuD,GAAG3sC,KAAKA,KAAKC,KAAKA,MAMjC,QAAS2sC,eAAch/C,KAAMtS,QAC5B,GAAIkK,OAAQoI,KAAKA,KAAKtP,KAAO,KAAS,CACtC,IAAIuuD,MAAON,eAAe3+C,KAAM,EAChC,QAAQpI,KAAMqnD,MAIf,QAASC,iBAAgBl/C,KAAMtS,QAC9B,GAAIkK,OAAQoI,KAAKA,KAAKtP,KAAO,KAAS,CACtC,IAAIyuD,MAAOn/C,KAAKQ,WAAW,EAC3B,IAAIy+C,MAAON,eAAe3+C,KAAM,EAChC,QAAQpI,KAAMunD,KAAMF,MAIrB,QAASG,kBAAiBp/C,KAAMtS,QAC/B,GAAIkK,OAAQoI,KAAKA,KAAKtP,KAAO,KAAS,CACtCsP,MAAKtP,GAAK,CACV,QAAQkH,MAGT,QAASynD,oBAAmBr/C,KAAMtS,QACjC,GAAIkK,OAAQoI,KAAKA,KAAKtP,KAAO,KAAS,CACtC,IAAIyuD,MAAOn/C,KAAKQ,WAAW,EAC3BR,MAAKtP,GAAK,CACV,QAAQkH,KAAMunD,MAIf,QAASG,gBAAet/C,KAAMtS,QAC7B,GAAIkK,OAAQoI,KAAKA,KAAKtP,KAAO,KAAS,CACtC,IAAIuuD,MAAOL,kBAAkB5+C,KAAM,EACnC,QAAQpI,KAAMqnD,MAIf,QAASM,gBAAev/C,KAAMtS,QAC7B,GAAIkK,OAAQoI,KAAKA,KAAKtP,KAAO,KAAS,CACtCsP,MAAKtP,GAAK,CACV,QAAQkH,MAIT,QAAS4nD,qBAAoBx/C,KAAMtS,QAClC,GAAI+xD,SAAUz/C,KAAKA,KAAKtP,EAAE,GAAK,CAC/B,IAAIgvD,WAAY,CAChB1/C,MAAKtP,GAAK,CACV,QAAQ+uD,QAASC,WAIlB,QAASC,qBAAoB3/C,KAAMtS,QAClCsS,KAAKtP,GAAI,CACT,IAAIoU,QAAS9E,KAAKQ,WAAW,EAC7B,IAAIjT,KAEJ,KAAI,GAAIC,GAAI,EAAGA,GAAKsX,SAAUtX,EAAGD,EAAEoV,KAAK3C,KAAKQ,WAAW,GACxD,OAAOjT,GAIR,QAASqyD,mBAAkB5/C,KAAMtS,QAChC,GAAImyD,SAAW7/C,KAAKA,KAAKtP,EAAE,GAAK,IAAQ,EAAI,CAC5CsP,MAAKtP,GAAK,CACV,QAAQmvD,QAAS7/C,KAAKQ,WAAW,IAIlC,QAASs/C,iBAAgB9/C,KAAMtS,QAC9B,GAAIqyD,OAAS//C,KAAKA,KAAKtP,EAAE,GAAK,IAAQ,EAAI,CAC1CsP,MAAKtP,GAAK,CACV,QAAQqvD,MAAO//C,KAAKQ,WAAW,IAIhC,QAASw/C,mBAAkBhgD,KAAMtS,QAChC,GAAI+xD,SAAWz/C,KAAKA,KAAKtP,EAAE,GAAK,IAAQ,EAAI,CAC5CsP,MAAKtP,GAAK,CACV,QAAQ+uD,SAIT,QAASQ,wBAAuBjgD,KAAMtS,QACrC,GAAIkK,MAAOoI,KAAKQ,WAAW,GAAI+qB,IAAMvrB,KAAKQ,WAAW,EACrD,QAAQ5I,KAAM2zB,KAIf,QAAS20B,oBAAmBlgD,KAAMtS,QACjCsS,KAAKQ,WAAW,EAChB,OAAOy/C,wBAAuBjgD,KAAM,GAIrC,QAASmgD,wBAAuBngD,KAAMtS,QACrCsS,KAAKQ,WAAW,EAChB,OAAOy/C,wBAAuBjgD,KAAM,GAIrC,QAASogD,cAAapgD,KAAMtS,QAC3B,GAAI2yD,KAAMrgD,KAAKA,KAAKtP,GAAK,EACzB,IAAIkH,OAAQoI,KAAKA,KAAKtP,GAAK,KAAO,CAClCsP,MAAKtP,GAAK,CACV,IAAI+e,KAAMovC,cAAc7+C,KAAK,EAC7B,QAAQpI,KAAM6X,KAIf,QAAS6wC,eAActgD,KAAMtS,QAC5B,GAAI2yD,KAAMrgD,KAAKA,KAAKtP,GAAK,EACzB,IAAIkH,OAAQoI,KAAKA,KAAKtP,GAAK,KAAO,CAClCsP,MAAKtP,GAAK,CACV,IAAI+e,KAAMqvC,iBAAiB9+C,KAAK,EAChC,QAAQpI,KAAM6X,KAIf,QAAS8wC,gBAAevgD,KAAMtS,QAC7B,GAAI2yD,KAAMrgD,KAAKA,KAAKtP,GAAK,EACzB,IAAIkH,OAAQoI,KAAKA,KAAKtP,GAAK,KAAO,CAClCsP,MAAKtP,GAAK,CACV,IAAIyuD,MAAOn/C,KAAKQ,WAAW,EAC3B,IAAIiP,KAAMovC,cAAc7+C,KAAK,EAC7B,QAAQpI,KAAMunD,KAAM1vC,KAKrB,QAAS+wC,eAAcxgD,KAAMtS,QAC5B,GAAI2yD,KAAMrgD,KAAKA,KAAKtP,GAAK,EACzB,IAAIkH,OAAQoI,KAAKA,KAAKtP,GAAK,KAAO,CAClCsP,MAAKtP,GAAK,CACV,IAAI+vD,OAAQzgD,KAAKQ,WAAW,EAC5B,QAAQkgD,SAASD,OAAQE,KAAKF,QAG/B,QAASG,kBAAiB5gD,KAAMtS,QAC/BsS,KAAKtP,GACL,IAAImwD,SAAU7gD,KAAKQ,WAAW,GAAIsgD,IAAMC,SAAS/gD,KACjD,QAAQ6gD,SAAUC,IAAI,KAAO,EAAIH,KAAOK,OAAOF,IAAI,KAGpD,QAASC,UAAS/gD,KAAMtS,QACvB,OAAQsS,KAAKA,KAAKtP,EAAE,IAAI,EAAGsP,KAAKQ,WAAW,GAAK,OAIjD,GAAIygD,kBAAmBzC,UAAU,EAEjC,IAAI0C,iBAAkBzC,UAGtB,SAAS0C,cAAanhD,KAAMtS,QAC3BsS,KAAKtP,GACL,IAAImmC,KAAM72B,KAAKQ,WAAW,EAC1B,IAAIsT,KAAM9T,KAAKQ,WAAW,EAC1B,QAAQq2B,IAAK/iB,KAId,QAASstC,cAAaphD,KAAMtS,QAAUsS,KAAKtP,GAAK,OAAOwkB,MAAKlV,KAAKQ,WAAW,IAG5E,QAAS6gD,cAAarhD,KAAMtS,QAAUsS,KAAKtP,GAAK,OAAOsP,MAAKQ,WAAW,GAGvE,QAAS8gD,eAActhD,KAAMtS,QAAUsS,KAAKtP,GAAK,OAAOsP,MAAKQ,WAAW,KAAK,EAG7E,QAAS+gD,cAAavhD,KAAMtS,QAAUsS,KAAKtP,GAAK,OAAOskB,YAAWhV,KAAM,GAGxE,QAASwhD,cAAaxhD,KAAMtS,QAAUsS,KAAKtP,GAAK,OAAO46B,4BAA2BtrB,MAGlF,QAASyhD,aAAYzhD,MACpB,GAAIlI,OACJ,QAAQA,IAAI,GAAKkI,KAAKQ,WAAW,IAEhC,IAAK,GACJ1I,IAAI,GAAKmyB,UAAUjqB,KAAM,GAAK,OAAS,OACvCA,MAAKtP,GAAK,CAAG,MAEd,KAAK,IACJoH,IAAI,GAAKod,KAAKlV,KAAKA,KAAKtP,GACxBsP,MAAKtP,GAAK,CAAG,MAEd,KAAK,GACJsP,KAAKtP,GAAK,CAAG,MAEd,KAAK,GACJoH,IAAI,GAAKkd,WAAWhV,KAAM,EAAI,MAE/B,KAAK,GACJlI,IAAI,GAAKq0B,sBAAsBnsB,KAAO,OAGxC,MAAOlI,KAIR,QAAS4pD,mBAAkB1hD,KAAM21B,KAChC,GAAIsZ,OAAQjvC,KAAKQ,WAAW,EAC5B,IAAI3J,OACJ,KAAI,GAAIrJ,GAAI,EAAGA,GAAKyhD,QAASzhD,EAAGqJ,IAAI8L,KAAKosB,YAAY/uB,KAAM,GAC3D,OAAOnJ,KAIR,QAAS8qD,qBAAoB3hD,MAC5B,GAAI4hD,MAAO,EAAI5hD,KAAKQ,WAAW,EAC/B,IAAIqhD,MAAO,EAAI7hD,KAAKQ,WAAW,EAC/B,KAAI,GAAIhT,GAAI,EAAGD,KAAMC,GAAKq0D,OAASt0D,EAAEC,SAAYA,EAChD,IAAI,GAAI4K,GAAI,EAAGA,GAAKwpD,OAAQxpD,EAAG7K,EAAEC,GAAG4K,GAAKqpD,YAAYzhD,KACtD,OAAOzS,GAIR,QAASu0D,eAAc9hD,KAAMtS,QAC5B,GAAIkK,MAAQoI,KAAKQ,WAAW,KAAO,EAAK,CACxC,IAAIuhD,WAAY/hD,KAAKQ,WAAW,EAChC,QAAQ5I,KAAM,EAAGmqD,WAIlB,QAASC,gBAAehiD,KAAMtS,QAC7B,GAAIkK,MAAQoI,KAAKQ,WAAW,KAAO,EAAK,CACxC,IAAI2+C,MAAOn/C,KAAKQ,WAAW,EAC3B,IAAIuhD,WAAY/hD,KAAKQ,WAAW,EAChC,QAAQ5I,KAAMunD,KAAM4C,WAIrB,QAASE,kBAAiBjiD,KAAMtS,QAC/B,GAAIkK,MAAQoI,KAAKQ,WAAW,KAAO,EAAK,CACxCR,MAAKtP,GAAK,CACV,IAAIilC,KAAM31B,KAAKQ,WAAW,EAC1B,QAAQ5I,KAAM+9B,KAIf,QAASusB,kBAAiBliD,KAAMtS,QAC/B,GAAIkK,MAAQoI,KAAKQ,WAAW,KAAO,EAAK,CACxC,IAAIm1B,KAAM31B,KAAKQ,WAAW,EAC1B,QAAQ5I,KAAM+9B,KAKf,QAASwsB,iBAAgBniD,KAAMtS,QAC9B,GAAIkK,MAAQoI,KAAKQ,WAAW,KAAO,EAAK,CACxCR,MAAKtP,GAAK,CACV,QAAQkH,MAIT,GAAIwqD,cAAe3D,UAEnB,IAAI4D,cAAe5D,UAEnB,IAAI6D,aAAc7D,UAElB,IAAI8D,aAAc9D,UAElB,IAAI+D,aAAc/D,UAElB,IAAIgE,gBAAiBhE,UAErB,IAAIiE,aAAcjE,UAElB,IAAIkE,aAAclE,UAElB,IAAImE,kBAAmBnE,UAEvB,IAAIoE,cAAepE,UAEnB,IAAIqE,aAAcrE,UAElB,IAAIsE,gBAAiBtE,UAErB,IAAIuE,kBAAmBvE,UAEvB,IAAIwE,gBAAiBxE,UAErB,IAAIyE,gBAAiBzE,UAErB,IAAI0E,cAAe1E,UAEnB,IAAI2E,iBAAkB3E,UAEtB,IAAI4E,gBAAiB5E,UAErB,IAAI6E,gBAAiB7E,UAGrB,IAAI8E,iBAAkBnzC,SAEtB,IAAIozC,mBAAoBpzC,SAExB,IAAIqzC,mBAAoBrzC,SAExB,IAAIszC,cAAetzC,SAGnB,IAAIuzC,WACJ3xD,GAAQknB,EAAE,SAAU7b,EAAE8jD,cACtBlvD,GAAQinB,EAAE,SAAU7b,EAAEqmD,cACtBxxD,GAAQgnB,EAAE,SAAU7b,EAAE+kD,cACtBjwD,GAAQ+mB,EAAE,SAAU7b,EAAE8lD,cACtBhqC,GAAQD,EAAE,SAAU7b,EAAEwlD,cACtBzpC,GAAQF,EAAE,SAAU7b,EAAEglD,cACtBltC,GAAQ+D,EAAE,WAAY7b,EAAE4lD,gBACxB5pC,GAAQH,EAAE,YAAa7b,EAAE6jD,iBACzB9uD,GAAQ8mB,EAAE,QAAS7b,EAAEslD,aACrBtwD,IAAQ6mB,EAAE,QAAS7b,EAAEqlD,aACrBpwD,IAAQ4mB,EAAE,QAAS7b,EAAEilD,aACrB/vD,IAAQ2mB,EAAE,QAAS7b,EAAEklD,aACrB/vD,IAAQ0mB,EAAE,QAAS7b,EAAEmlD,aACrB/vD,IAAQymB,EAAE,QAAS7b,EAAEylD,aACrBpwD,IAAQwmB,EAAE,WAAY7b,EAAEolD,gBACxB9vD,IAAQumB,EAAE,WAAY7b,EAAEgmD,gBACxBzwD,IAAQsmB,EAAE,WAAY7b,EAAE6lD,gBACxBrwD,IAAQqmB,EAAE,WAAY7b,EAAEimD,gBACxBxwD,IAAQomB,EAAE,YAAa7b,EAAE+lD,iBACzBrwD,IAAQmmB,EAAE,aAAc7b,EAAE2lD,kBAC1BhwD,IAAQkmB,EAAE,WAAY7b,EAAE0lD,gBACxB9vD,IAAQimB,EAAE,aAAc7b,EAAEulD,kBAC1BxtC,IAAQ8D,EAAE,SAAU7b,EAAEmkD,cACtBhoC,IAAQN,EAAE,SAAU7b,EAAE+jD,cACtB/rC,IAAQ6D,EAAE,UAAW7b,EAAEikD,eACvBtnC,IAAQd,EAAE,SAAU7b,EAAEgkD,cACtBpnC,IAAQf,EAAE,SAAU7b,EAAEkkD,cACtBrnC,IAAQhB,EAAE,WAAY7b,EAAEkiD,gBACxBplC,IAAQjB,EAAE,UAAW7b,EAAEmjD,eACvBpmC,IAAQlB,EAAE,aAAc7b,EAAEujD,kBAC1BgD,IAAQ1qC,EAAE,UAAW7b,EAAEykD,eACvBxsC,IAAQ4D,EAAE,SAAU7b,EAAE+iD,cACtBltD,IAAQgmB,EAAE,UAAW7b,EAAE2hD,eACvB7rD,IAAQ+lB,EAAE,aAAc7b,EAAE4kD,kBAC1B7uD,IAAQ8lB,EAAE,YAAa7b,EAAEkmD,iBACzBlwD,IAAQ6lB,EAAE,cAAe7b,EAAEmmD,mBAC3BnpC,IAAQnB,EAAE,aAAc7b,EAAE6kD,kBAC1B3sC,IAAQ2D,EAAE,YAAa7b,EAAE8kD,iBACzB3sC,IAAQ0D,EAAE,aAAc7b,EAAE+hD,kBAC1B9kC,IAAQpB,EAAE,UAAW7b,EAAEijD,eACvBhtD,IAAQ4lB,EAAE,WAAY7b,EAAEiiD,gBACxBuE,IAAQ3qC,EAAE,WAAY7b,EAAE2kD,gBACxB8B,IAAQ5qC,EAAE,WAAY7b,EAAEkjD,gBACxBwD,IAAQ7qC,EAAE,YAAa7b,EAAE6hD,iBACzB8E,IAAQ9qC,EAAE,cAAe7b,EAAEomD,mBAC3BhpC,IAAQvB,EAAE,eAAgB7b,EAAEgiD,oBAC5B5pC,OAGA,IAAIwuC,WACJvpC,GAAM,GAAMwpC,GAAM,GAClBC,GAAM,GAAMC,GAAM,GAClBzpC,GAAM,GAAM0pC,GAAM,GAClBC,GAAM,GAAMC,GAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBpX,GAAM,GAAMqX,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBC,GAAM,GAAMhqC,IAAM,GAClBiqC,GAAM,GAAMC,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBjZ,GAAM,GAAMkZ,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClB1qC,GAAM,GAAM2qC,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBC,GAAM,GAAMC,IAAM,GAClBC,GAAM,GAAMC,IAAM,KAElB,WAAY,IAAI,GAAIt0D,KAAKsyD,UAAUN,SAAShyD,GAAKgyD,SAASM,SAAStyD,OAEnE,IAAIu0D,SACJ,IAAIC,QACJn0D,GAAQknB,EAAE,cAAe7b,EAAE2iD,mBAC3B/tD,GAAQinB,EAAE,YAAa7b,EAAEyiD,iBACzB3tD,GAAQ+mB,EAAE,gBAAiB7b,EAAEsiD,qBAC7BtmC,GAAQH,EAAE,cAAe7b,EAAEuiD,mBAC3BjtD,IAAQumB,EAAE,aAAc7b,EAAE4jD,kBAC1B/mC,IAAQhB,EAAE,gBAAiB7b,EAAEmiD,qBAC7B9kC,IAAQxB,EAAE,eAAgB7b,EAAE6iD,oBAC5BiE,IAAQjrC,EAAE,mBAAoB7b,EAAE8iD,wBAChC1qC,OAIA,SAAS2wC,eAAcpmD,KAAMtS,OAAQmE,MACpC,GAAIqgB,MAAO8b,cAAchuB,KAAM,EAC/B,IAAGnO,KAAK65B,MAAQ,IAAK1rB,KAAKtP,CAC1B,IAAIoH,KAAMuuD,mBAAmBrmD,KAAK,EAClC,IAAIuT,OAAQvT,KAAKQ,WAAW,EAC5B,IAAG3O,KAAK65B,MAAQ,EAAG,CAClB1rB,KAAKQ,WAAW,EAChB,IAAG3O,KAAK65B,MAAQ,EAAG,CAClB,GAAI46B,KAAMtmD,KAAKQ,WAAW,IAG5B,GAAI+lD,KAAM,EACV,IAAG10D,KAAK65B,KAAO,EAAG1rB,KAAKtP,GAAKhD,OAAO,OAC9B,IAAGmE,KAAK65B,OAAS,EAAG1rB,KAAKtP,GAAKhD,OAAO,OACrC64D,KAAMC,2BAA2BxmD,KAAMtS,OAAO,GAAImE,KACvD,QAAQqgB,KAAKA,KAAMpa,IAAIA,IAAI,GAAI2uD,QAAQF,IAAKG,OAASnzC,OAAS,EAAK,EAAGtb,GAAGH,IAAI,IAI9E,QAASuuD,oBAAmBrmD,MAC3B,GAAI4M,EACJ,IAAGY,eAAexN,KAAKA,KAAKtP,EAAI,KAAO,MAAQ,OAAQskB,WAAWhV,MAAM,IACxE,QAAOA,KAAKA,KAAKtP,IAChB,IAAK,GAAMsP,KAAKtP,GAAK,CAAG,QAAQ,SAAU,IAC1C,KAAK,GAAMkc,EAAI5M,KAAKA,KAAKtP,EAAE,KAAO,CAAKsP,MAAKtP,GAAK,CAAG,QAAQkc,EAAE,IAC9D,KAAK,GAAMA,EAAI5M,KAAKA,KAAKtP,EAAE,EAAIsP,MAAKtP,GAAK,CAAG,QAAQkc,EAAE,IACtD,KAAK,GAAM5M,KAAKtP,GAAK,CAAG,QAAQ,GAAG,KAEpC,SAID,QAASi2D,gBAAe3mD,KAAMtS,OAAQmoC,KAAMhkC,MAC3C,GAAGA,KAAK65B,KAAO,EAAG,MAAOtb,WAAUpQ,KAAMtS,OACzC,IAAIs9B,QAAShrB,KAAKtP,EAAIhD,MACtB,IAAIH,KACJ,KAAI,GAAIC,GAAI,EAAGA,IAAMqoC,KAAKnoC,SAAUF,EAAG,CACtC,OAAOqoC,KAAKroC,GAAG,IACd,IAAK,WACJqoC,KAAKroC,GAAG,GAAKm0D,oBAAoB3hD,KACjCzS,GAAEoV,KAAKkzB,KAAKroC,GAAG,GACf,MACD,KAAK,aACJqoC,KAAKroC,GAAG,GAAKk0D,kBAAkB1hD,KAAM61B,KAAKroC,GAAG,GAC7CD,GAAEoV,KAAKkzB,KAAKroC,GAAG,GACf,MACD,SAAS,OAGXE,OAASs9B,OAAShrB,KAAKtP,CACvB,IAAGhD,SAAW,EAAGH,EAAEoV,KAAKyN,UAAUpQ,KAAMtS,QACxC,OAAOH,GAIR,QAASuoC,yBAAwB91B,KAAMtS,OAAQmE,KAAM8jC,KACpD,GAAI3K,QAAShrB,KAAKtP,EAAIhD,MACtB,IAAImoC,MAAO+wB,WAAW5mD,KAAM21B,IAC5B,IAAIkxB,KACJ,IAAG77B,SAAWhrB,KAAKtP,EAAGm2D,KAAOF,eAAe3mD,KAAMgrB,OAAShrB,KAAKtP,EAAGmlC,KAAMhkC,KACzE,QAAQgkC,KAAMgxB,MAIf,QAASL,4BAA2BxmD,KAAMtS,OAAQmE,MACjD,GAAIm5B,QAAShrB,KAAKtP,EAAIhD,MACtB,IAAIm5D,MAAMlxB,IAAM31B,KAAKQ,WAAW,EAChC,IAAGm1B,KAAO,MAAQ,UAAWvlB,UAAUpQ,KAAMtS,OAAO,GACpD,IAAImoC,MAAO+wB,WAAW5mD,KAAM21B,IAC5B,IAAGjoC,SAAWioC,IAAM,EAAGkxB,KAAOF,eAAe3mD,KAAMtS,OAASioC,IAAM,EAAGE,KAAMhkC,KAC3E,QAAQgkC,KAAMgxB,MAIf,QAASxwB,2BAA0Br2B,KAAMtS,OAAQmE,MAChD,GAAIm5B,QAAShrB,KAAKtP,EAAIhD,MACtB,IAAIm5D,MAAMlxB,IAAM31B,KAAKQ,WAAW,EAChC,IAAIq1B,MAAO+wB,WAAW5mD,KAAM21B,IAC5B,IAAGA,KAAO,MAAQ,UAAWvlB,UAAUpQ,KAAMtS,OAAO,GACpD,IAAGA,SAAWioC,IAAM,EAAGkxB,KAAOF,eAAe3mD,KAAMgrB,OAAS2K,IAAM,EAAGE,KAAMhkC,KAC3E,QAAQgkC,KAAMgxB,MAIf,QAAStwB,0BAAyBv2B,KAAMtS,OAAQmE,KAAMskC,KACrD,GAAInL,QAAShrB,KAAKtP,EAAIhD,MACtB,IAAIm5D,MAAMlxB,IAAM31B,KAAKQ,WAAW,EAChC,IAAGm1B,KAAO,MAAQ,UAAWvlB,UAAUpQ,KAAMtS,OAAO,GACpD,IAAImoC,MAAO+wB,WAAW5mD,KAAM21B,IAC5B,IAAGjoC,SAAWioC,IAAM,EAAGkxB,KAAOF,eAAe3mD,KAAMgrB,OAAS2K,IAAM,EAAGE,KAAMhkC,KAC3E,QAAQgkC,KAAMgxB,MAIf,QAASD,YAAW5mD,KAAMtS,QACzB,GAAIs9B,QAAShrB,KAAKtP,EAAIhD,MACtB,IAAI6U,GAAGitB,GAAIs3B,OACX,OAAM97B,QAAUhrB,KAAKtP,EAAG,CACvBhD,OAASs9B,OAAShrB,KAAKtP,CACvB8+B,IAAKxvB,KAAKA,KAAKtP,EACf6R,GAAIohD,SAASn0B,GAEb,IAAGA,KAAO,IAAQA,KAAO,GAAM,CAC9BA,GAAKxvB,KAAKA,KAAKtP,EAAI,EACnB6R,IAAKitB,KAAO,GAAO02B,MAAQC,OAAO32B,IAEnC,IAAIjtB,IAAMA,EAAElF,EAAG,CAAEypD,KAAKnkD,KAAKyN,UAAUpQ,KAAMtS,aACtC,CAAEo5D,KAAKnkD,MAAMJ,EAAE2W,EAAG3W,EAAElF,EAAE2C,KAAMtS,WAElC,MAAOo5D,MAGR,QAASC,QAAOh5D,GAAK,MAAOA,GAAES,IAAI,QAASg1B,IAAG7xB,GAAK,MAAOA,GAAE,KAAMga,KAAK,KAGvE,QAASq7C,mBAAkBP,QAASl0C,MAAOL,KAAM+0C,SAAUp1D,MAC1D,GAAGA,OAASD,WAAaC,KAAK65B,OAAS,EAAG,MAAO,SACjD,IAAIw7B,QAAS30C,QAAU3gB,UAAY2gB,OAAS1iB,GAAGY,EAAE,EAAG+I,EAAE,GACtD,IAAI2tD,UAAYp4D,GAAIC,GAAI4I,KAAMnH,EAAG0uD,KAAMiI,QAAS5tD,CAChD,KAAIitD,QAAQ,KAAOA,QAAQ,GAAG,GAAI,MAAO,EAEzC,KAAI,GAAIzrD,IAAK,EAAGqsD,MAAQZ,QAAQ,GAAG/4D,OAAQsN,GAAKqsD,QAASrsD,GAAI,CAC5D,GAAIqC,GAAIopD,QAAQ,GAAGzrD,GAEnB,QAAOqC,EAAE,IAGR,IAAK,YAAa8pD,MAAMxkD,KAAK,IAAMwkD,MAAMhjC,MAAQ,MAEjD,KAAK,WAAYgjC,MAAMxkD,KAAK,IAAMwkD,MAAMhjC,MAAQ,MAEhD,KAAK,aAAcgjC,MAAMxkD,KAAKwkD,MAAMhjC,MAAQ,IAAM,MAIlD,KAAK,SACJp1B,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,SACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,SACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,SACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,WACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,YACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,QACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,QACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,KAAKD,GACnB,MAED,KAAK,QACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,QACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,KAAKD,GACnB,MAED,KAAK,QACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MAED,KAAK,QACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,KAAKD,GACnB,MAID,KAAK,WACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MACD,KAAK,WACJA,GAAKo4D,MAAMhjC,KAAOn1B,IAAKm4D,MAAMhjC,KAC7BgjC,OAAMxkD,KAAK3T,GAAG,IAAID,GAClB,MACD,KAAK,WAAY,KAIjB,KAAK,gBAAiB,KAEtB,KAAK,cAAe,KAEpB,KAAK,YAAa,KAIlB,KAAK,SACJ6I,KAAOyF,EAAE,GAAG,EAAI5M,GAAIwhB,eAAeuqC,YAAYf,YAAYp+C,EAAE,GAAG,KAAM6pD,OACtEC,OAAMxkD,KAAK84C,YAAYhrD,GACvB,MAED,KAAK,UACJmH,KAAOyF,EAAE,GAAG,EAAI5M,GAAIwhB,eAAeuqC,YAAYf,YAAYp+C,EAAE,GAAG,KAAM6U,KACtEi1C,OAAMxkD,KAAK84C,YAAYhrD,GACvB,MACD,KAAK,WACJmH,KAAOyF,EAAE,GAAG,EAAI8hD,MAAO9hD,EAAE,GAAG,EAAI5M,GAAIwhB,eAAe5U,EAAE,GAAG,GAAI6pD,OAC5DC,OAAMxkD,KAAKskD,SAAS,GAAG9H,KAAK,GAAG,IAAI1D,YAAYhrD,GAC/C,MAID,KAAK,UAEL,IAAK,aAEJ,GAAI62D,MAAOjqD,EAAE,GAAG,GAAIkqD,KAAOlqD,EAAE,GAAG,EAChC,KAAIiqD,KAAMA,KAAO,CACjB,IAAIE,MAAOL,MAAMlnD,OAAOqnD,KACxBH,OAAMz5D,QAAU45D,IAChB,IAAGC,OAAS,OAAQA,KAAOC,KAAK/lD,OAChC0lD,OAAMxkD,KAAK4kD,KAAO,IAAMC,KAAK77C,KAAK,KAAO,IACzC,MAGD,KAAK,UAAWw7C,MAAMxkD,KAAKtF,EAAE,GAAK,OAAS,QAAU,MAErD,KAAK,SAAU8pD,MAAMxkD,KAAKtF,EAAE,GAAK,MAEjC,KAAK,SAAU8pD,MAAMxkD,KAAK3U,OAAOqP,EAAE,IAAM,MAEzC,KAAK,SAAU8pD,MAAMxkD,KAAK,IAAMtF,EAAE,GAAK,IAAM,MAE7C,KAAK,SAAU8pD,MAAMxkD,KAAKtF,EAAE,GAAK,MAEjC,KAAK,UACJzF,KAAOyF,EAAE,GAAG,EAAI7D,GAAI8Y,gBAAgBjV,EAAE,GAAG,GAAI6pD,OAC7CC,OAAMxkD,KAAK+5C,aAAaljD,GACxB,MAED,KAAK,YACJ5B,KAAOyF,EAAE,GAAG,EAAI8hD,MAAO9hD,EAAE,GAAG,EAAI7D,GAAI6D,EAAE,GAAG,EACzC8pD,OAAMxkD,KAAKskD,SAAS,GAAG9H,KAAK,GAAG,IAAIzC,aAAaljD,GAChD,MAED,KAAK,aACJ2tD,MAAMxkD,KAAK,OAASwkD,MAAMhjC,MAAQ,IAClC,MAID,KAAK,cAAe,KAGpB,KAAK,UAEJijC,QAAU/pD,EAAE,GAAG,EACf,IAAIoqD,KAAMR,SAAS,GAAGG,QACtB,IAAIrmD,MAAO0mD,IAAI1xB,IACf,IAAGh1B,OAAQ2mD,qBAAqB3mD,KAAO2mD,oBAAoB3mD,KAC3DomD,OAAMxkD,KAAK5B,KACX,MAGD,KAAK,WAEJ,GAAI4mD,SAAUtqD,EAAE,GAAG,EAAI+pD,SAAU/pD,EAAE,GAAG,EAAI,IAAIuqD,WAE9C,IAAGX,SAASU,QAAQ,GAAIC,WAAaX,SAASU,QAAQ,GAAGP,aACpD,IAAGH,SAASU,QAAQ,GAAIC,WAAaX,SAASU,QAAQ,GAAGP,QAC9D,KAAIQ,WAAYA,YAAc1yB,KAAM,YACpCiyB,OAAMxkD,KAAKilD,WAAW1yB,KACtB,MAID,KAAK,WAAYiyB,MAAMxkD,KAAK,IAAMwkD,MAAMhjC,MAAQ,IAAM,MAGtD,KAAK,YAAagjC,MAAMxkD,KAAK,QAAU,MAIvC,KAAK,SACJlS,GAAKA,EAAE4M,EAAE,GAAG,GAAG7D,EAAE6D,EAAE,GAAG,GACtB,IAAIzI,IAAKnE,EAAGyhB,KAAKzhB,EAAG+I,EAAE0Y,KAAK1Y,EAC3B,IAAGytD,SAASY,QAAQpM,YAAYhrD,IAAK,CACpC,GAAIq3D,SAAWb,SAASY,QAAQpM,YAAYhrD,GAC5C02D,OAAMxkD,KAAKqkD,kBAAkBc,QAASZ,OAAQtyD,EAAGqyD,SAAUp1D,WAEvD,CACJ,GAAIk2D,KAAM,KACV,KAAIh5D,GAAG,EAAEA,IAAIk4D,SAASe,OAAOt6D,SAAUqB,GAAI,CAE1CC,GAAKi4D,SAASe,OAAOj5D,GACrB,IAAG0B,EAAEA,EAAIzB,GAAG,GAAGa,EAAEY,GAAKA,EAAEA,EAAIzB,GAAG,GAAG8Y,EAAErX,EAAG,QACvC,IAAGA,EAAE+I,EAAIxK,GAAG,GAAGa,EAAE2J,GAAK/I,EAAE+I,EAAIxK,GAAG,GAAG8Y,EAAEtO,EAAG,QACvC2tD,OAAMxkD,KAAKqkD,kBAAkBh4D,GAAG,GAAIk4D,OAAQtyD,EAAGqyD,SAAUp1D,OAE1D,IAAIk2D,IAAKZ,MAAMxkD,KAAKtF,EAAE,IAEvB,KAGD,KAAK,WACJ8pD,MAAMxkD,KAAK,IAAMtF,EAAE,GAAG7O,IAAIu4D,QAAQp7C,KAAK,KAAO,IAC9C,MAID,KAAK,aAEJ,KAGD,KAAK,eAAgB,KAGrB,KAAK,SAAU,KAGf,KAAK,YAAa,KAGlB,KAAK,aACJw7C,MAAMxkD,KAAK,GACX,MAGD,KAAK,aAAc,KAGnB,KAAK,WAAYwkD,MAAMxkD,KAAK,GAAK,MAGjC,KAAK,cAAe,KAGpB,KAAK,aAAc,KAEnB,SAAS,KAAM,+BAAiCtF,GAKlD,MAAO8pD,OAAM,GAId,QAASc,6BAA4B36D,KAAMI,QAC1C,GAAIioC,KAAMroC,KAAKkT,WAAW,EAC1B,OAAO4P,WAAU9iB,KAAMI,OAAO,GAG/B,GAAIw6D,cACJl2D,EAAK,YACLC,EAAK,QACLC,EAAK,QAIL,IAAI8uD,QACJjvD,EAAQ,OACRC,EAAQ,OACRC,EAAQ,aACRC,EAAQ,YACRC,EAAQ,OACRgnB,EAAQ,UACRC,EAAQ,cACRjE,EAAQ,aACRkE,EAAQ,QACRjnB,EAAQ,gBACRC,GAAQ,OACRC,GAAQ,aACRC,GAAQ,cACRC,GAAQ,cACRC,GAAQ,cACRC,GAAQ,OACRC,GAAQ,QACRC,GAAQ,MACRK,GAAQ,iBACRmiB,GAAQ,mBACR+yC,GAAQ,iBACRC,GAAQ,oBACR9uC,GAAQ,OACRC,GAAQ,UACRC,GAAQ,mBACRnE,GAAQ,YACR2E,GAAQ,UACRC,GAAQ,gBACRC,GAAQ,cACRE,GAAQ,YACRwpC,GAAQ,UACRtuC,GAAQ,cACRpiB,GAAQ,eACRC,GAAQ;AACRC,GAAQ,OACRC,GAAQ,cACRgnB,GAAQ,QACR9E,GAAQ,gBACRC,GAAQ,YACR8E,GAAQ,QACRhnB,GAAQ,SACRC,GAAQ,kBACRC,GAAQ,eACRC,GAAQ,OACRC,GAAQ,MACR20D,GAAQ,OACRC,GAAQ,QACR/tC,GAAQ,QACRguC,GAAQ,gBACRC,GAAQ,cACRhuC,GAAQ,SACR7mB,GAAQ,aACRkwD,GAAQ,YACRppC,GAAQ,cACRguC,GAAQ,eACRC,GAAQ,eACRhuC,GAAQ,eACRypC,GAAQ,mBACRxpC,GAAQ,mBACR2pC,GAAQ,eACRE,GAAQ,cACRnX,GAAQ,iBACRsX,GAAQ,eACRE,GAAQ,cACRE,GAAQ,kBACRE,GAAQ,cACRC,GAAQ,YACRE,GAAQ,cACRE,GAAQ,YACRhZ,GAAQ,gBACRqc,GAAQ,OACRC,GAAQ,SACRC,GAAQ,cACRjuC,GAAQ,YACRC,GAAQ,eACRiuC,GAAQ,mBACRhuC,GAAQ,WACRiuC,GAAQ,aACRhuC,GAAQ,UACRiuC,GAAQ,QACRC,GAAQ,gBACRxD,GAAQ,cACRzqC,GAAQ,cACR4qC,GAAQ,QACRE,GAAQ,UACRE,GAAQ,OACRkD,GAAQ,SACRC,GAAQ,YACRjF,GAAQ,UACRE,GAAQ,eACRC,GAAQ,gBACRE,GAAQ,iBACRE,IAAQ,iBACRC,IAAQ,oBACRE,IAAQ,oBACRE,IAAQ,WACRE,IAAQ,gBACR/pC,IAAQ,gBACRkqC,IAAQ,gBACRE,IAAQ,gBACRE,IAAQ,eACRC,IAAQ,SACR4D,IAAQ,cACRC,IAAQ,gBACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,UACRC,IAAQ,UACRC,IAAQ,QACRC,IAAQ,MACRC,IAAQ,cACRpE,IAAQ,iBACRC,IAAQ,UACRI,IAAQ,aACRE,IAAQ,eACR8D,IAAQ,eACRC,IAAQ,aACRzd,IAAQ,cACRC,IAAQ,cACRC,IAAQ,kBACRwd,IAAQ,YACRC,IAAQ,iBACRC,IAAQ,cACRzd,IAAQ,eACR0d,IAAQ,eACRzd,IAAQ,YACR0d,IAAQ,QACRC,IAAQ,YACRC,IAAQ,UACRC,IAAQ,gBACRC,IAAQ,UACRC,IAAQ,aACRC,IAAQ,aACRC,IAAQ,gBACRC,IAAQ,YACRC,IAAQ,aACRC,IAAQ,UACRC,IAAQ,OACRC,IAAQ,cACRC,IAAQ,UACRC,IAAQ,YACRC,IAAQ,iBACRC,IAAQ,cACRC,IAAQ,oBACR1e,IAAQ,gBACRC,IAAQ,eACRC,IAAQ,iBACRye,IAAQ,kBACRC,IAAQ,cACRC,IAAQ,qBACRC,IAAQ,SACRC,IAAQ,cACRC,IAAQ,WACRC,IAAQ,WACRC,IAAQ,eACRC,IAAQ,eACRC,IAAQ,iBACRC,IAAQ,eACRC,IAAQ,kBACRjf,IAAQ,qBACRkf,IAAQ,aACRC,IAAQ,YACRC,IAAQ,YACRC,IAAQ,gBACRC,IAAQ,cACRC,IAAQ,eACRC,IAAQ,kBACRC,IAAQ,oBACRC,IAAQ,kBACRC,IAAQ,iBACRC,IAAQ,UACRC,IAAQ,YACRC,IAAQ,YACRC,IAAQ,aACRC,IAAQ,cACRC,IAAQ,UACRC,IAAQ,SACRjgB,IAAQ,cACRkgB,IAAQ,UACRC,IAAQ,oBACRC,IAAQ,kBACRC,IAAQ,QACRC,IAAQ,aACRC,IAAQ,YACRC,IAAQ,cACRxyC,IAAQ,mBACRyyC,IAAQ,oBACRC,IAAQ,cACRzyC,IAAQ,cACR0yC,IAAQ,mBACRzyC,IAAQ,eACR0yC,IAAQ,aACRC,IAAQ,eACR5gB,IAAQ,gBACR6gB,IAAQ,aACRC,IAAQ,cACRC,IAAQ,cACRC,IAAQ,iBACRC,IAAQ,YACRC,IAAQ,cACRC,IAAQ,eACRC,IAAQ,aACRC,IAAQ,aACRC,IAAQ,gBACRC,IAAQ,eACRC,IAAQ,kBACRC,IAAQ,gBACRC,IAAQ,qBACRC,IAAQ,WACRC,IAAQ,OACRC,IAAQ,gBACRC,IAAQ,kBACRC,IAAQ,aACRC,IAAQ,aACRC,IAAQ,eACRC,IAAQ,iBACRC,IAAQ,cACRC,IAAQ,iBACRC,IAAQ,qBACRC,IAAQ,YACRC,IAAQ,oBACRC,IAAQ,WACRC,IAAQ,cACRC,IAAQ,iBACRC,IAAQ,WACRC,IAAQ,eACRC,IAAQ,gBACRC,IAAQ,gBACRC,IAAQ,mBACRC,IAAQ,iBACRC,IAAQ,eACRC,IAAQ,cACRC,IAAQ,YACRC,IAAQ,kBACRC,IAAQ,oBACRC,IAAQ,iBACRC,IAAQ,YACRC,IAAQ,aACRC,IAAQ,oBACRC,IAAQ,aACRC,IAAQ,eACRC,IAAQ,iBACRC,IAAQ,kBACRC,IAAQ,eACRC,IAAQ,gBACRC,IAAQ,gBACRC,IAAQ,qBACRC,IAAQ,mBACRC,IAAQ,qBACRC,IAAQ,yBACRC,IAAQ,cACRC,IAAQ,aACRC,IAAQ,mBACRC,IAAQ,sBACRC,IAAQ,eACRC,IAAQ,eACRC,IAAQ,gBACRC,IAAQ,cACRC,IAAQ,kBACRC,IAAQ,cACRC,IAAQ,gBACRC,IAAQ,kBACRC,IAAQ,2BACRC,IAAQ,eACRC,IAAQ,iBACRC,IAAQ,aACRC,IAAQ,iBACRC,IAAQ,YACRC,IAAQ,mBACRC,IAAQ,cACRC,IAAQ,wBACRt3C,IAAQ,kBACRu3C,IAAQ,qBACRC,IAAQ,kBACRC,IAAQ,kBACRC,IAAQ,kBACRC,IAAQ,qBACRC,IAAQ,aACRC,IAAQ,iBACRC,IAAQ,eACRC,IAAQ,mBACRC,IAAQ,aACRC,IAAQ,eACRC,IAAQ,kBACRC,IAAQ,gBACRC,IAAQ,gBACRC,IAAQ,kBACRC,IAAQ,kBACRC,IAAQ,gBACRC,IAAQ,iBACRC,IAAQ,uBACRC,IAAQ,0BACRC,IAAQ,iBACRC,IAAQ,eACRC,IAAQ,YACRC,IAAQ,cACRC,IAAQ,aACRC,IAAQ,iBACRC,IAAQ,kBACRC,IAAQ,kBACRC,IAAQ,gBACRC,IAAQ,kBACRC,IAAQ,gBACRC,IAAQ,gBACRC,IAAQ,qBACRC,IAAQ,cACRC,IAAQ,mBACRv5C,IAAQ,uBACRw5C,IAAQ,mBACRC,IAAQ,kBACRC,IAAQ,mBACRC,IAAQ,cACRC,IAAQ,iBACRC,IAAQ,kBACRC,IAAQ,eACRC,IAAQ,eACRC,IAAQ,oBACRC,IAAQ,sBACRC,IAAQ,sBACRC,IAAQ,mBACRC,IAAQ,qBACRC,IAAQ,qBACRC,IAAQ,gBACRC,IAAQ,aACRC,IAAQ,YACRC,IAAQ,cACRC,IAAQ,mBACRC,IAAQ,gBACRC,IAAQ,wBACRC,IAAQ,qBACRC,IAAQ,SACRC,IAAQ,kBACRC,IAAQ,gBACRC,IAAQ,kBACRC,IAAQ,gBACRC,IAAQ,gBACRC,IAAQ,mBACRC,IAAQ,mBACRC,IAAQ,oBACRC,IAAQ,eACRC,IAAQ,oBACRC,IAAQ,uBACRC,IAAQ,cACRC,IAAQ,WACRC,IAAQ,WACRC,IAAQ,aACRC,IAAQ,aACRC,IAAQ,eACRC,IAAQ,eACRC,IAAQ,cACRC,IAAQ,qBACRC,IAAQ,yBACRC,IAAQ,mBACRC,IAAQ,WACRC,IAAQ,iBACRC,IAAQ,iBACRC,IAAQ,eACRC,IAAQ,YACRC,IAAQ,mBACRC,IAAQ,mBACRC,IAAQ,iBACRC,IAAQ,kBACRC,IAAQ,oBACRC,IAAQ,mBACRC,IAAQ,cACRC,IAAQ,gBACRC,IAAQ,WACRC,IAAQ,YACRC,IAAQ,cACRC,IAAQ,cACRC,IAAQ,mBACRC,IAAQ,oBACRC,IAAQ,iBACRC,IAAQ,YACRC,IAAQ,SACRC,IAAQ,SACRC,IAAQ,gBACRC,IAAQ,mBACRC,IAAQ,iBACRC,IAAQ,WACRC,IAAQ,gBACRC,IAAQ,gBACRC,IAAQ,cACRC,IAAQ,iBACRC,IAAQ,iBACRC,IAAQ,oBACRC,IAAQ,sBACRC,IAAQ,aACRC,IAAQ,cACRC,IAAQ,cACRC,IAAQ,oBACRC,IAAQ,eACRC,IAAQ,gBACRC,IAAQ,oBAIR,IAAI1Z,OACJ5uD,EAAQ,QACRC,EAAQ,KACRC,EAAQ,OACRC,EAAQ,UACRC,EAAQ,MACRgnB,EAAQ,UACRC,EAAQ,MACRjE,EAAQ,MACRkE,EAAQ,MACRjnB,EAAQ,SACRC,GAAQ,KACRC,GAAQ,MACRC,GAAQ,QACRC,GAAQ,SACRC,GAAQ,QACRC,GAAQ,MACRC,GAAQ,MACRC,GAAQ,MACRC,GAAQ,OACRC,GAAQ,KACRC,GAAQ,OACRC,GAAQ,MACRC,GAAQ,KACRmiB,GAAQ,QACR+yC,GAAQ,MACRC,GAAQ,MACR9uC,GAAQ,OACRC,GAAQ,QACRC,GAAQ,SACRnE,GAAQ,QACR2E,GAAQ,OACRC,GAAQ,MACRC,GAAQ,MACRC,GAAQ,QACRC,GAAQ,OACRwpC,GAAQ,QACRtuC,GAAQ,MACRpiB,GAAQ,KACRC,GAAQ,MACRC,GAAQ,MACRC,GAAQ,SACRgnB,GAAQ,OACR9E,GAAQ,WACRC,GAAQ,OACR8E,GAAQ,OACRhnB,GAAQ,SACRC,GAAQ,MACRC,GAAQ,OACRC,GAAQ,OACRC,GAAQ,SACR20D,GAAQ,QACRC,GAAQ,SACR/tC,GAAQ,SACRguC,GAAQ,OACRC,GAAQ,OACRhuC,GAAQ,SACR7mB,GAAQ,KACRkwD,GAAQ,KACRC,GAAQ,OACRC,GAAQ,MACRC,GAAQ,OACRvpC,GAAQ,OACRguC,GAAQ,MACRC,GAAQ,OACRhuC,GAAQ,QACRypC,GAAQ,OACRxpC,GAAQ,OACR2pC,GAAQ,MACRE,GAAQ,QACRnX,GAAQ,OACRsX,GAAQ,UACRE,GAAQ,OACRE,GAAQ,SACRE,GAAQ,SACRC,GAAQ,MACRE,GAAQ,QACRE,GAAQ,OACRhZ,GAAQ,UACRqc,GAAQ,SACRC,GAAQ,SACRC,GAAQ,SACRjuC,GAAQ,WACRC,GAAQ,SACRiuC,GAAQ,YACRhuC,GAAQ,QACRiuC,GAAQ,OACRhuC,GAAQ,OACRiuC,GAAQ,OACRC,GAAQ,WACRxD,GAAQ,SACRzqC,GAAQ,QACR4qC,GAAQ,UACRE,GAAQ,SACRE,GAAQ,YACRkD,GAAQ,cACRC,GAAQ,YACRjF,GAAQ,SACRE,GAAQ,QACRC,GAAQ,OACRE,GAAQ,OACRE,IAAQ,SACRC,IAAQ,UACRE,IAAQ,UACRE,IAAQ,QACRE,IAAQ,QACR/pC,IAAQ,QACRkqC,IAAQ,cACRE,IAAQ,WACRE,IAAQ,YACRC,IAAQ,MACR4D,IAAQ,OACRC,IAAQ,OACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,SACRC,IAAQ,OACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,OACRC,IAAQ,UACRC,IAAQ,aACRpE,IAAQ,OACRC,IAAQ,QACRE,IAAQ,YACRE,IAAQ,OACRE,IAAQ,OACR8D,IAAQ,QACRC,IAAQ,SACRzd,IAAQ,WACRC,IAAQ,UACRC,IAAQ,IACRwd,IAAQ,IACRC,IAAQ,QACRC,IAAQ,SACRzd,IAAQ,QACR0d,IAAQ,UACRzd,IAAQ,QACR0d,IAAQ,WACRC,IAAQ,SACRC,IAAQ,OACRC,IAAQ,YACR8P,IAAQ,YACR7P,IAAQ,MACRC,IAAQ,MACRC,IAAQ,MACRC,IAAQ,UACRC,IAAQ,UACRC,IAAQ,UACRC,IAAQ,WACRC,IAAQ,WACRC,IAAQ,OACRC,IAAQ,UACRC,IAAQ,WACRC,IAAQ,cACRmP,IAAQ,iBACRlP,IAAQ,gBACRmP,IAAQ,iBACRC,IAAQ,WACRC,IAAQ,cACRpP,IAAQ,iBACRqP,IAAQ,iBACR/tB,IAAQ,aACRC,IAAQ,QACRC,IAAQ,UACRye,IAAQ,WACRqP,IAAQ,QACRpP,IAAQ,QACRC,IAAQ,OACRC,IAAQ,OACRC,IAAQ,SACRC,IAAQ,aACRC,IAAQ,MACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,OACRC,IAAQ,WACR4O,IAAQ,UACR9tB,IAAQ,OACRC,IAAQ,UACR8tB,IAAQ,YACRC,IAAQ,UACRC,IAAQ,OACRC,IAAQ,UACRC,IAAQ,UACRC,IAAQ,OACRjP,IAAQ,WACRjf,IAAQ,gBACRkf,IAAQ,aACRC,IAAQ,eACRC,IAAQ,WACRC,IAAQ,YACRC,IAAQ,WACRC,IAAQ,OACRC,IAAQ,SACRC,IAAQ,OACRC,IAAQ,UACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,YACRC,IAAQ,UACRC,IAAQ,aACRC,IAAQ,aACR/f,IAAQ,WACRkuB,IAAQ,QACRhO,IAAQ,UACRC,IAAQ,WACRC,IAAQ,QACRC,IAAQ,SACRC,IAAQ,OACRC,IAAQ,OACRC,IAAQ,UACRxyC,IAAQ,YACRyyC,IAAQ,MACRC,IAAQ,OACRzyC,IAAQ,OACR2yC,IAAQ,UACRC,IAAQ,UACRsN,IAAQ,QACRluB,IAAQ,MACR6gB,IAAQ,OACRC,IAAQ,UACRC,IAAQ,SACRC,IAAQ,WACRC,IAAQ,SACRC,IAAQ,aACRC,IAAQ,OACRgN,IAAQ,OACRC,IAAQ,OACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,OACRC,IAAQ,gBACRC,IAAQ,WACRzuB,IAAQ,aACR0uB,IAAQ,cACRvN,IAAQ,gBACRwN,IAAQ,kBACRC,IAAQ,gBACRxN,IAAQ,WACRyN,IAAQ,OACRC,IAAQ,QACRC,IAAQ,aACRC,IAAQ,KACRC,IAAQ,QACR1N,IAAQ,SACRC,IAAQ,YACRC,IAAQ,cACRC,IAAQ,iBACRr5C,IAAQ,OACRs5C,IAAQ,gBACRuN,IAAQ,WACRC,IAAQ,cACRvN,IAAQ,WACRC,IAAQ,iBACRuN,IAAQ,aACRC,IAAQ,YACRC,IAAQ,eACRC,IAAQ,eACRzN,IAAQ,cACRC,IAAQ,aACRC,IAAQ,cACRC,IAAQ,eACRC,IAAQ,SACRsN,IAAQ,WACRC,IAAQ,UACRtN,IAAQ,UACRC,IAAQ,YACRC,IAAQ,UACRqN,IAAQ,SACRpN,IAAQ,SACRC,IAAQ,aACRC,IAAQ,YACRC,IAAQ,OACRC,IAAQ,YACRC,IAAQ,QACRC,IAAQ,OACRC,IAAQ,SACRC,IAAQ,YACRC,IAAQ,QACR4M,IAAQ,YACRC,IAAQ,WACR5M,IAAQ,UACRC,IAAQ,cACRC,IAAQ,cACRC,IAAQ,SACRC,IAAQ,eACRC,IAAQ,WACRwM,IAAQ,YACRvM,IAAQ,UACRC,IAAQ,WACRC,IAAQ,cACRC,IAAQ,MACRqM,IAAQ,SACRC,IAAQ,UACRC,IAAQ,QACRtM,IAAQ,UACRuM,IAAQ,UACRC,IAAQ,WACRvM,IAAQ,WACRC,IAAQ,UACRC,IAAQ,SACRC,IAAQ,QACRC,IAAQ,WACRC,IAAQ,QACRC,IAAQ,YACRC,IAAQ,UACRC,IAAQ,MACRC,IAAQ,QACRC,IAAQ,QACRC,IAAQ,QACR6L,IAAQ,OACR5L,IAAQ,QACRC,IAAQ,UACRC,IAAQ,UACRC,IAAQ,QACRC,IAAQ,OACRC,IAAQ,OACRC,IAAQ,QACRC,IAAQ,QACRsL,IAAQ,QACRC,IAAQ,WACRtL,IAAQ,aACRuL,IAAQ,cACRtL,IAAQ,OACRuL,IAAQ,WACRC,IAAQ,OACRC,IAAQ,gBACRC,IAAQ,YACRzL,IAAQ,cACR0L,IAAQ,QACRzL,IAAQ,iBACRC,IAAQ,kBACRyL,IAAQ,kBACRC,IAAQ,iBACRzL,IAAQ,UACRC,IAAQ,UACRC,IAAQ,WACRwL,IAAQ,QACRC,IAAQ,UACRC,IAAQ,aACRC,IAAQ,eACRC,IAAQ,oBACR3L,IAAQ,QACRt3C,IAAQ,UACRu3C,IAAQ,aACR2L,IAAQ,eACRjjD,IAAQ,QACRu3C,IAAQ,cACRC,IAAQ,cACR0L,IAAQ,WACRjjD,IAAQ,eACRkjD,IAAQ,YACRC,IAAQ,WACRC,IAAQ,WACRC,IAAQ,OACRC,IAAQ,OACRC,IAAQ,UACRC,IAAQ,QACRC,IAAQ,SACRC,IAAQ,OACRC,IAAQ,WACRC,IAAQ,gBACRpM,IAAQ,YACRqM,IAAQ,kBACRC,IAAQ,eACRrM,IAAQ,gBACRC,IAAQ,mBACRC,IAAQ,cACRC,IAAQ,gBACRC,IAAQ,cACRC,IAAQ,WACRC,IAAQ,MAER,IAAI5S,WACJzuD,EAAQ,EACRC,EAAQ,EACRQ,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EACRE,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EACRmiB,GAAQ,EACR+yC,GAAQ,EACRC,GAAQ,EACR9uC,GAAQ,EACRC,GAAQ,EACRS,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EACRhnB,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EACRgnB,GAAQ,EACR9E,GAAQ,EACRC,GAAQ,EACR8E,GAAQ,EACRhnB,GAAQ,EACRE,GAAQ,EACRC,GAAQ,EACR80D,GAAQ,EACR9tC,GAAQ,EACR0pC,GAAQ,EACRxpC,GAAQ,EACR2pC,GAAQ,EACRE,GAAQ,EACRnX,GAAQ,EACRwX,GAAQ,EACRE,GAAQ,EACRE,GAAQ,EACRG,GAAQ,EACRE,GAAQ,EACRhZ,GAAQ,EACRsc,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EACR/tC,GAAQ,EACRC,GAAQ,EACRopC,GAAQ,EACRC,GAAQ,EACRE,GAAQ,EACRtpC,IAAQ,EACRouC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRG,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRnE,IAAQ,EACRqE,IAAQ,EACRC,IAAQ,EACRzd,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRwd,IAAQ,EACRE,IAAQ,EACRzd,IAAQ,EACR0d,IAAQ,EACRzd,IAAQ,EACR0d,IAAQ,EACRC,IAAQ,EACRE,IAAQ,EACR8P,IAAQ,EACR7P,IAAQ,EACRC,IAAQ,EACR7d,IAAQ,EACRC,IAAQ,EACRye,IAAQ,EACRqP,IAAQ,EACR9O,IAAQ,EACRG,IAAQ,EACR4O,IAAQ,EACR9tB,IAAQ,EACRC,IAAQ,EACR8tB,IAAQ,EACRK,IAAQ,EACR9O,IAAQ,EACRC,IAAQ,EACRK,IAAQ,EACRC,IAAQ,EACRE,IAAQ,EACRC,IAAQ,EACRE,IAAQ,EACRI,IAAQ,EACRG,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRxyC,IAAQ,EACRyyC,IAAQ,EACRC,IAAQ,EACRU,IAAQ,EACRgN,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRM,IAAQ,EACRrN,IAAQ,EACR0N,IAAQ,EACRE,IAAQ,EACRK,IAAQ,EACRrN,IAAQ,EACRC,IAAQ,EACRqN,IAAQ,EACRpN,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACR4M,IAAQ,EACRC,IAAQ,EACR5M,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRwM,IAAQ,EACRvM,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRqM,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRtM,IAAQ,EACRuM,IAAQ,EACRC,IAAQ,EACRvM,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRQ,IAAQ,EACRsL,IAAQ,EACRC,IAAQ,EACRtL,IAAQ,EACRwL,IAAQ,EACRC,IAAQ,EACRG,IAAQ,EACRvL,IAAQ,EACRC,IAAQ,EACR0L,IAAQ,EACRC,IAAQ,EACRzL,IAAQ,EACRt3C,IAAQ,EACRu3C,IAAQ,EACR2L,IAAQ,EACRG,IAAQ,EACRQ,IAAQ,EACRC,IAAQ,EACRpM,IAAQ,EACRqM,IAAQ,EACRC,IAAQ,EACRrM,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRC,IAAQ,EACRz/D,MAAQ,EAGR,IAAI8zD,sBACH4X,aAAc,OACdC,cAAe,QACfC,kBAAmB,YACnBC,eAAgB,SAChBC,kBAAmB,YACnBC,mBAAoB,aACpBC,aAAc,OACdC,kBAAmB,YACnBC,iBAAkB,WAClBC,mBAAoB,aACpBC,yBAA0B,mBAC1BC,kBAAmB,YACnBC,eAAgB,SAChBC,kBAAmB,YACnBC,cAAe,QACfC,kBAAmB,YACnBC,eAAgB,SAChBC,qBAAsB,eACtBC,wBAAyB,kBACzBC,mBAAoB,aACpBC,sBAAuB,gBACvBC,kBAAmB,YACnBC,qBAAsB,eACtBC,mBAAoB,aACpBC,gBAAiB,UACjBC,wBAAyB,kBACzBC,qBAAsB,eACtBC,YAAa,MACbC,aAAc,OACdC,iBAAkB,WAClBC,qBAAsB,eACtBC,qBAAsB,eACtBC,YAAa,MACbC,aAAc,OACdC,aAAc,OACdC,gBAAiB,UACjBC,qBAAsB,eACtBC,oBAAqB,cACrBC,qBAAsB,eACtBC,mBAAoB,aACpBC,eAAgB,SAChBC,kBAAmB,YACnBC,cAAe,QACfC,iBAAkB,WAClBC,eAAgB,SAChBC,kBAAmB,YACnBC,mBAAoB,aACpBC,sBAAuB,gBACvBC,oBAAqB,cACrBC,cAAe,QACfC,mBAAoB,aACpBC,kBAAmB,YACnBC,wBAAyB,kBACzBC,cAAe,QACfC,qBAAsB,eACtBC,aAAc,OACdC,gBAAiB,UACjBC,eAAgB,SAChBC,cAAe,QACfC,cAAe,QACfC,eAAgB,SAChBC,cAAe,QACfC,eAAgB,SAChBC,eAAgB,SAChBC,cAAe,QACfC,kBAAmB,YACnBC,oBAAqB,cACrBC,mBAAoB,aACpBC,qBAAsB,eACtBC,oBAAqB,cACrBC,kBAAmB,YACnBC,kBAAmB,YACnBC,cAAe,QACfC,sBAAuB,gBACvBC,yBAA0B,mBAC1BC,iBAAkB,WAClBC,kBAAmB,YACnBC,iBAAkB,WAClBC,oBAAqB,cACrBC,mBAAoB,aACpBC,oBAAqB,cACrBC,kBAAmB,YACnBC,uBAAwB,iBACxBC,uBAAwB,iBACxBC,wBAAyB,kBACzBC,wBAAyB,kBACzBC,qBAAsB,eACtBC,YAAa,MACbC,qBAAsB,eACtBC,qBAAsB,eACtBC,qBAAsB,eACtBC,oBAAqB,cACrBC,iBAAkB,WAClBC,gBAAiB,UACjBC,YAAa,MACbC,YAAa,MACbC,aAAc,OACdC,cAAe,QACfC,eAAgB,SAChBC,eAAgB,SAChBC,gBAAiB,UACjBC,gBAAiB,UACjBC,eAAgB,SAChBC,eAAgB,SAChBC,kBAAmB,YACnBC,kBAAmB,YACnBC,cAAe,QACfC,iBAAkB,WAClBC,eAAgB,SAChBC,gBAAiB,UACjBC,gBAAiB,UACjBC,cAAe,QACfC,cAAe,QACfC,mBAAoB,aACpBC,qBAAsB,eACtBC,qBAAsB,eACtBC,YAAa,MACbC,eAAgB,SAGjB,IAAIrlD,QACJ,IAAIslD,YAEJljD,MAAKmjD,GAAK,+EAEV,SAASC,YAAWhkD,IAAKxoB,KACxB,IAAI,GAAI9M,GAAI,EAAGC,IAAMq1B,IAAIp1B,OAAQF,EAAIC,MAAOD,EAAG,GAAGs1B,IAAIt1B,GAAGsD,IAAMwJ,IAAK,CAAEwoB,IAAI+N,OAAU,OAAOrjC,GAC3Fs1B,IAAIr1B,MAAQqD,EAAEwJ,IAAMwoB,KAAI+N,OAAU/N,KAAIgO,QAAW,OAAOrjC,KAGzD,QAASs5E,gBAAevlD,OAAQtP,KAAMrgB,MACrC,GAAI6W,GAAI7W,KAAKm1E,OAAO90D,KAAKxJ,GAAK,KAAOwJ,KAAKxJ,EAAI,UAC9C,KAAI,GAAIlb,GAAI,EAAGC,IAAM+zB,OAAO9zB,OAAQF,GAAKC,MAAOD,EAAG,GAAGg0B,OAAOh0B,GAAGmpD,WAAajuC,EAAG,MAAOlb,EACvFg0B,QAAO/zB,MACNkpD,SAASjuC,EACTu+D,OAAO,EACPjwB,OAAO,EACPkwB,SAAS,EACTC,KAAK,EACLC,kBAAkB,EAEnB,OAAO35E,KAGR,QAAS45E,aAAYr1D,EAAGqV,MAAOigD,OAAQz1E,MACtC,IACC,GAAGmgB,EAAElhB,IAAM,IAAKkhB,EAAEzc,EAAIyc,EAAEzc,GAAK2f,KAAKlD,EAAEphB,OAC/B,IAAGy2B,QAAU,EAAG,CACpB,GAAGrV,EAAElhB,IAAM,IAAK,CACf,IAAIkhB,EAAEphB,EAAE,KAAOohB,EAAEphB,EAAGohB,EAAEzc,EAAIlF,IAAIyE,aAAakd,EAAEphB,EAAEg2E,cAC1C50D,GAAEzc,EAAIlF,IAAI6F,aAAa8b,EAAEphB,EAAEg2E,cAE5B,IAAG50D,EAAElhB,IAAM,IAAK,CACpB,GAAI2J,IAAKkM,QAAQqL,EAAEphB,EACnB,KAAI6J,GAAG,KAAOA,GAAIuX,EAAEzc,EAAIlF,IAAIyE,aAAa2F,GAAGmsE,cACvC50D,GAAEzc,EAAIlF,IAAI6F,aAAauE,GAAGmsE,cAE3B,IAAG50D,EAAEphB,IAAMgB,UAAW,MAAO,OAC7BogB,GAAEzc,EAAIlF,IAAIgG,SAAS2b,EAAEphB,EAAEg2E,cAExB,IAAG50D,EAAElhB,IAAM,IAAKkhB,EAAEzc,EAAIlF,IAAIoN,OAAO4pB,MAAM1gB,QAAQqL,EAAEphB,GAAGg2E,cACpD50D,GAAEzc,EAAIlF,IAAIoN,OAAO4pB,MAAMrV,EAAEphB,EAAEg2E,SAChC,IAAG/0E,KAAK01E,OAAQv1D,EAAEtJ,EAAIrY,IAAIsN,OAAO0pB,OAChC,MAAMvf,GAAK,GAAGjW,KAAK6wB,IAAK,KAAM5a,GAChC,GAAGw/D,OAAQ,IACVt1D,EAAEniB,EAAI2xB,OAAO20B,MAAMmxB,OACnB,IAAIt1D,EAAEniB,EAAE0mD,SAAWvkC,EAAEniB,EAAE0mD,QAAQD,MAAO,CACrCtkC,EAAEniB,EAAE0mD,QAAQpI,IAAMgG,SAAStyB,OAAO23B,cAAcC,UAAUznC,EAAEniB,EAAE0mD,QAAQD,OAAOnI,IAAKn8B,EAAEniB,EAAE0mD,QAAQnC,MAAQ,EACtG,IAAGviD,KAAK6wB,IAAK1Q,EAAEniB,EAAE0mD,QAAQixB,QAAU3lD,OAAO23B,cAAcC,UAAUznC,EAAEniB,EAAE0mD,QAAQD,OAAOnI,IAEtF,GAAIn8B,EAAEniB,EAAEumD,SAAWpkC,EAAEniB,EAAEumD,QAAQE,MAAO,CACrCtkC,EAAEniB,EAAEumD,QAAQjI,IAAMgG,SAAStyB,OAAO23B,cAAcC,UAAUznC,EAAEniB,EAAEumD,QAAQE,OAAOnI,IAAKn8B,EAAEniB,EAAEumD,QAAQhC,MAAQ,EACtG,IAAGviD,KAAK6wB,IAAK1Q,EAAEniB,EAAEumD,QAAQoxB,QAAU3lD,OAAO23B,cAAcC,UAAUznC,EAAEniB,EAAEumD,QAAQE,OAAOnI,KAErF,MAAMrmC,GAAK,GAAGjW,KAAK6wB,IAAK,KAAM5a,IAEjC,QAAS2/D,kBAAiBC,GAAI73E,GAC7B,GAAIgB,GAAIyrD,kBAAkBzsD,EAC1B,IAAGgB,EAAEhB,EAAE2J,GAAG3I,EAAEiX,EAAEtO,GAAK3I,EAAEhB,EAAEY,GAAGI,EAAEiX,EAAErX,GAAKI,EAAEhB,EAAE2J,GAAG,GAAK3I,EAAEhB,EAAEY,GAAG,EAAGi3E,GAAG,QAAUhrB,aAAa7rD,GAEpF,GAAI82E,aAAc,4CAClB,IAAIC,gBAAiB,wDACrB,IAAIC,YAAa,8BACjB,IAAIC,UAAW,aACf,IAAIC,UAAW,wBAEf,SAASC,cAAa16E,KAAMuE,KAAMuwB,MACjC,IAAI90B,KAAM,MAAOA,KAEjB,IAAIuC,KAIJ,IAAIo4E,OAAQ36E,KAAKwL,MAAM,yBAAyBgd,OAAO,IAAIA,KAC3D,IAAGmyD,KAAO,EAAG,CACZ,GAAI9xC,KAAM7oC,KAAKc,OAAO65E,KAAK,IAAInvE,MAAMgvE,SACrC,IAAG3xC,KAAO,KAAMsxC,iBAAiB53E,EAAGsmC,IAAI,IAIzC,GAAI+xC,cACJ,IAAIhxC,QAAS5pC,KAAKwL,MAAM6uE,YACxB,IAAGzwC,OAAQ,IAAI+wC,KAAO,EAAGA,MAAQ/wC,OAAOxpC,SAAUu6E,KACjDC,WAAWD,MAAQ3rB,kBAAkBplB,OAAO+wC,MAAM75E,OAAO8oC,OAAO+wC,MAAM14E,QAAQ,KAAM,GAGrF,IAAI44E,WACJ,IAAGt2E,KAAKu2E,WAAY,CAEnB,GAAIxmB,MAAOt0D,KAAKwL,MAAMivE,SACtB,IAAGnmB,KAAMymB,kBAAkBF,QAASvmB,MAGrC,GAAI0mB,WAAaz4E,GAAI2J,EAAE,IAAS/I,EAAE,KAAUqX,GAAItO,EAAE,EAAG/I,EAAE,GAGvD,IAAI83E,MAAKj7E,KAAKwL,MAAM8uE,eACpB,IAAGW,KAAMC,kBAAkBD,KAAK,GAAI14E,EAAGgC,KAAMy2E,SAG7C,IAAIvwC,OAAQzqC,KAAKwL,MAAM+uE,WACvB,IAAG9vC,MAAO0wC,oBAAoB54E,EAAGkoC,MAAO3V,KAExC,KAAIvyB,EAAE,SAAWy4E,SAASxgE,EAAErX,GAAK63E,SAASz4E,EAAEY,GAAK63E,SAASxgE,EAAEtO,GAAK8uE,SAASz4E,EAAE2J,EAAG3J,EAAE,QAAU6sD,aAAa4rB,SACxG,IAAGz2E,KAAKurD,UAAY,GAAKvtD,EAAE,QAAS,CACnC,GAAI64E,QAASpsB,kBAAkBzsD,EAAE,QACjC,IAAGgC,KAAKurD,WAAasrB,OAAO5gE,EAAEtO,EAAG,CAChCkvE,OAAO5gE,EAAEtO,EAAI3H,KAAKurD,UAAY,CAC9B,IAAGsrB,OAAO5gE,EAAEtO,EAAI8uE,SAASxgE,EAAEtO,EAAGkvE,OAAO5gE,EAAEtO,EAAI8uE,SAASxgE,EAAEtO,CACtD,IAAGkvE,OAAO5gE,EAAEtO,EAAIkvE,OAAO74E,EAAE2J,EAAGkvE,OAAO74E,EAAE2J,EAAIkvE,OAAO5gE,EAAEtO,CAClD,IAAGkvE,OAAO5gE,EAAErX,EAAI63E,SAASxgE,EAAErX,EAAGi4E,OAAO5gE,EAAErX,EAAI63E,SAASxgE,EAAErX,CACtD,IAAGi4E,OAAO5gE,EAAErX,EAAIi4E,OAAO74E,EAAEY,EAAGi4E,OAAO74E,EAAEY,EAAIi4E,OAAO5gE,EAAErX,CAClDZ,GAAE,YAAcA,EAAE,OAClBA,GAAE,QAAU6sD,aAAagsB,SAG3B,GAAGR,WAAWx6E,OAAS,EAAGmC,EAAE,WAAaq4E,UACzC,IAAGC,QAAQz6E,OAAS,EAAGmC,EAAE,SAAWs4E,OACpC,OAAOt4E,GAGR,QAAS84E,qBAAoBzxC,QAC5B,GAAGA,OAAOxpC,QAAU,EAAG,MAAO,EAC9B,IAAIH,GAAI,sBAAwB2pC,OAAOxpC,OAAS,IAChD,KAAI,GAAIF,GAAI,EAAGA,GAAK0pC,OAAOxpC,SAAUF,EAAGD,GAAK,mBAAqBmvD,aAAaxlB,OAAO1pC,IAAM,KAC5F,OAAOD,GAAI,gBAGZ,QAASk7E,qBAAoB54E,EAAGvC,KAAM80B,MACrC,IAAI,GAAI50B,GAAI,EAAGA,GAAKF,KAAKI,SAAUF,EAAG,CACrC,GAAIsK,KAAMyQ,YAAYjb,KAAKE,GAAI,KAC/B,KAAIsK,IAAIq+B,IAAK,MACb,IAAI5R,KAAMnC,KAAOA,KAAK,OAAOtqB,IAAI03B,IAAM,IACvC,IAAGjL,IAAK,CACPzsB,IAAI2sB,OAASF,IAAIE,MACjB,IAAG3sB,IAAI61B,SAAU71B,IAAI2sB,QAAU,IAAI3sB,IAAI61B,QACvC71B,KAAI8wE,IAAMrkD,QACJ,CACNzsB,IAAI2sB,OAAS3sB,IAAI61B,QACjBpJ,MAAOE,OAAQ3sB,IAAI61B,SAAUhJ,WAAY,WACzC7sB,KAAI8wE,IAAMrkD,IAEX,GAAIskD,KAAMvsB,kBAAkBxkD,IAAIq+B,IAChC,KAAI,GAAI5zB,GAAEsmE,IAAIh5E,EAAE2J,EAAE+I,GAAGsmE,IAAI/gE,EAAEtO,IAAI+I,EAAG,IAAI,GAAIC,GAAEqmE,IAAIh5E,EAAEY,EAAE+R,GAAGqmE,IAAI/gE,EAAErX,IAAI+R,EAAG,CACnE,GAAIoB,MAAO63C,aAAahrD,EAAE+R,EAAEhJ,EAAE+I,GAC9B,KAAI1S,EAAE+T,MAAO/T,EAAE+T,OAAS9S,EAAE,OAAOF,EAAEgB,UACnC/B,GAAE+T,MAAMlT,EAAIoH,MAKf,QAASuwE,mBAAkBF,QAASvmB,MACnC,GAAIknB,SAAU,KACd,KAAI,GAAIC,MAAO,EAAGA,MAAQnnB,KAAKl0D,SAAUq7E,KAAM,CAC9C,GAAI9zB,MAAO1sC,YAAYq5C,KAAKmnB,MAAO,KACnC,IAAIC,MAAKpvE,SAASq7C,KAAK/5C,IAAK,IAAI,EAAG+tE,KAAKrvE,SAASq7C,KAAK95C,IAAI,IAAI,QACvD85C,MAAK/5C,UAAY+5C,MAAK95C,GAC7B,KAAI2tE,SAAW7zB,KAAKzpB,MAAO,CAAEs9C,QAAU,IAAM9zB,WAAUC,KAAKzpB,MAAOypB,MACnE,GAAGA,KAAKzpB,MAAO,CACdypB,KAAKi0B,IAAMz0B,UAAUQ,KAAKzpB,MAC1BypB,MAAKk0B,IAAMz0B,QAAQO,KAAKi0B,IACxBj0B,MAAKT,IAAMA,IAEZ,MAAMw0B,MAAQC,KAAMd,QAAQa,QAAU/zB,MAIxC,QAASm0B,mBAAkB1B,GAAI9lB,MAC9B,GAAIr0D,IAAK,UAAWumB,IAAK0X,KACzB,KAAI,GAAIh+B,GAAI,EAAGA,GAAKo0D,KAAKl0D,SAAUF,EAAG,CACrC,KAAKsmB,IAAM8tC,KAAKp0D,IAAK,QACrB,IAAIwkB,IAAM9W,IAAI1N,EAAE,EAAE2N,IAAI3N,EAAE,EAExBg+B,QAAS,CACT,IAAG1X,IAAIo1D,IAAK19C,MAAQkpB,QAAQ5gC,IAAIo1D,SAC3B,IAAGp1D,IAAIq1D,IAAK39C,MAAQ1X,IAAIq1D,GAC7B,IAAG39C,OAAS,EAAG,CAAExZ,EAAEwZ,MAAQopB,WAAWppB,MAAQxZ,GAAEq3D,YAAa,EAC7D97E,EAAEA,EAAEG,QAAWke,UAAU,MAAO,KAAMoG,GAEvCzkB,EAAEA,EAAEG,QAAU,SACd,OAAOH,GAAEoe,KAAK,IAGf,QAAS29D,mBAAkBp3D,KAAMikB,IAAKuxC,GAAI71E,KAAM+G,IAAK++C,IACpD,GAAGzlC,KAAKthB,IAAMgB,UAAW,MAAO,EAChC,IAAI4K,IAAK,EACT,IAAI+sE,MAAOr3D,KAAKphB,EAAG04E,KAAOt3D,KAAKthB,CAC/B,QAAOshB,KAAKphB,GACX,IAAK,IAAK0L,GAAK0V,KAAKthB,EAAI,IAAM,GAAK,MACnC,KAAK,IAAK4L,GAAK,GAAG0V,KAAKthB,CAAG,MAC1B,KAAK,IAAK4L,GAAK0Y,KAAKhD,KAAKthB,EAAI,MAC7B,KAAK,IACJ,GAAGiB,KAAK43E,UAAWjtE,GAAK,GAAInF,MAAK6a,KAAKthB,GAAGkb,kBACpC,CACJoG,KAAKphB,EAAI,GACT0L,IAAK,IAAI0V,KAAKthB,EAAI+V,QAAQuL,KAAKthB,GAC/B,UAAUshB,MAAKxJ,IAAM,YAAawJ,KAAKxJ,EAAIrY,IAAIsN,OAAO,IAEvD,KACD,SAASnB,GAAK0V,KAAKthB,CAAG,OAEvB,GAAIA,GAAI6a,SAAS,IAAK7B,UAAUpN,KAAMjP,GAAMiM,EAAE28B,IAE9C,IAAIuzC,IAAK3C,eAAel1E,KAAKqlD,QAAShlC,KAAMrgB,KAC5C,IAAG63E,KAAO,EAAGn8E,EAAEsC,EAAI65E,EACnB,QAAOx3D,KAAKphB,GACX,IAAK,IAAK,KACV,KAAK,IAAKvD,EAAEuD,EAAI,GAAK,MACrB,KAAK,IAAKvD,EAAEuD,EAAI,GAAK,MACrB,KAAK,IAAKvD,EAAEuD,EAAI,GAAK,MACrB,SACC,GAAGe,KAAKy9C,QAAS,CAChB1+C,EAAI6a,SAAS,IAAK,GAAGq7D,WAAWj1E,KAAK83E,QAASz3D,KAAKthB,GACnDrD,GAAEuD,EAAI,GAAK,OAEZvD,EAAEuD,EAAI,KAAO,OAEf,GAAGohB,KAAKphB,GAAKy4E,KAAM,CAAEr3D,KAAKphB,EAAIy4E,IAAMr3D,MAAKthB,EAAI44E,KAC7C,MAAO59D,WAAU,IAAKhb,EAAGrD,GAG1B,GAAIi7E,mBAAoB,QAAUoB,6BACjC,GAAIC,WAAY,kBAAmBC,SAAW,kBAC9C,IAAIp8B,QAAS,qBAAsBq8B,QAAU,wCAC7C,IAAIC,SAAUv/D,SAAS,KAAMw/D,QAAUx/D,SAAS,IAEjD,OAAO,SAAS+9D,mBAAkB0B,MAAOr6E,EAAGgC,KAAMs4E,OACjD,GAAIpvE,IAAK,EAAGhN,EAAI,GAAIq8E,SAAYC,QAAWzxE,IAAM,EAAGpL,EAAE,EAAG+M,GAAG,EAAG1J,EAAE,GAAImhB,CACrE,IAAIxJ,KAAK8hE,KAAO,EAAGC,KAAO,CAC1B,IAAIC,KACJ,IAAInjD,OAAQ,EAAGigD,OAAS,EAAGmD,UAAY96E,MAAM+e,QAAQ8S,OAAOu1B,QAASnnB,EACrE,KAAI,GAAI86C,MAAOR,MAAMp6E,MAAMg6E,UAAWrlE,GAAK,EAAGkmE,QAAUD,KAAKh9E,OAAQ+W,IAAMkmE,UAAWlmE,GAAI,CACzF1W,EAAI28E,KAAKjmE,IAAIu4C,MACb,IAAI4tB,MAAO78E,EAAEL,MACb,IAAGk9E,OAAS,EAAG,QAGf,KAAI7vE,GAAK,EAAGA,GAAK6vE,OAAQ7vE,GAAI,GAAGhN,EAAEJ,WAAWoN,MAAQ,GAAI,QAASA,EAClEyN,KAAMD,YAAYxa,EAAEK,OAAO,EAAE2M,IAAK,KAElCuvE,YAAc9hE,KAAIhP,IAAM,YAAcI,SAAS4O,IAAIhP,EAAG,IAAM8wE,KAAK,CAAGC,OAAQ,CAC5E,IAAG14E,KAAKurD,WAAavrD,KAAKurD,UAAYktB,KAAM,QAC5C,IAAGH,MAAMt6E,EAAE2J,EAAI8wE,KAAO,EAAGH,MAAMt6E,EAAE2J,EAAI8wE,KAAO,CAC5C,IAAGH,MAAMriE,EAAEtO,EAAI8wE,KAAO,EAAGH,MAAMriE,EAAEtO,EAAI8wE,KAAO,CAG5CF,OAAQr8E,EAAEK,OAAO2M,IAAIjL,MAAM+5E,UAC3B,KAAI9uE,SAAYyN,KAAIhP,IAAM,YAAc,EAAI,EAAGuB,IAAMqvE,MAAM18E,SAAUqN,GAAI,CACxEhN,EAAIq8E,MAAMrvE,IAAIiiD,MACd,IAAGjvD,EAAEL,SAAW,EAAG,QACnB28E,MAAOt8E,EAAE+K,MAAM40C,OAAS90C,KAAMmC,EAAIvN,GAAE,CAAG+M,IAAG,CAC1CxM,GAAI,OAASA,EAAEK,OAAO,EAAE,IAAI,IAAI,IAAI,IAAML,CAC1C,IAAGs8E,MAAQ,MAAQA,KAAK38E,SAAW,EAAG,CACrCkL,IAAM,CAAG/H,GAAEw5E,KAAK,EAChB,KAAI78E,EAAE,EAAGA,GAAKqD,EAAEnD,SAAUF,EAAG,CAC5B,IAAI+M,GAAG1J,EAAElD,WAAWH,GAAG,IAAM,GAAK+M,GAAK,GAAI,KAC3C3B,KAAM,GAAGA,IAAM2B,KAEd3B,GACF2xE,MAAO3xE,UACC2xE,IACT,KAAI/8E,EAAI,EAAGA,GAAKO,EAAEL,SAAUF,EAAG,GAAGO,EAAEJ,WAAWH,KAAO,GAAI,QAASA,CACnEgb,KAAMD,YAAYxa,EAAEK,OAAO,EAAEZ,GAAI,KACjC,KAAIgb,IAAIhP,EAAGgP,IAAIhP,EAAItL,MAAMutD,aAAajiD,EAAE8wE,KAAK,EAAG75E,EAAE85E,MAClD15E,GAAI9C,EAAEK,OAAOZ,EACbwkB,IAAMlhB,EAAE,GAGR,KAAIu5E,KAAKx5E,EAAEiI,MAAMkxE,WAAY,MAAQK,KAAK,KAAO,GAAIr4D,EAAEphB,EAAE0Y,YAAY+gE,KAAK,GAE1E,IAAGx4E,KAAKg5E,cAAgBR,KAAKx5E,EAAEiI,MAAMmxE,WAAY,MAAQI,KAAK,KAAO,GAAIr4D,EAAE3U,EAAEiM,YAAY+gE,KAAK,GAG9F,IAAG7hE,IAAI1X,IAAMc,WAAaogB,EAAEphB,IAAMgB,UAAW,CAC5C,IAAIC,KAAKi5E,WAAY,QACrB94D,GAAElhB,EAAI,WAEFkhB,GAAElhB,EAAI0X,IAAI1X,GAAK,GACpB,IAAGq5E,MAAMt6E,EAAEY,EAAImI,IAAKuxE,MAAMt6E,EAAEY,EAAImI,GAChC,IAAGuxE,MAAMriE,EAAErX,EAAImI,IAAKuxE,MAAMriE,EAAErX,EAAImI,GAEhC,QAAOoZ,EAAElhB,GACR,IAAK,IAAKkhB,EAAEphB,EAAIuM,WAAW6U,EAAEphB,EAAI,MACjC,KAAK,IACJ45E,KAAOlpD,KAAK1nB,SAASoY,EAAEphB,EAAG,IAC1BohB,GAAEphB,EAAI45E,KAAK15E,CACXkhB,GAAExY,EAAIgxE,KAAKhxE,CACX,IAAG3H,KAAK+8C,SAAU58B,EAAE7G,EAAIq/D,KAAKr/D,CAC7B,MACD,KAAK,MACJ6G,EAAElhB,EAAI,GACNkhB,GAAEphB,EAAKohB,EAAEphB,GAAG,KAAQsZ,SAAS8H,EAAEphB,GAAK,EACpC,IAAGiB,KAAK+8C,SAAU58B,EAAE7G,EAAI6G,EAAEphB,CAC1B,MACD,KAAK,YACJy5E,KAAOx5E,EAAEiI,MAAMixE,QACf/3D,GAAElhB,EAAI,GACN,IAAGu5E,MAAQ,KAAM,CAAE,GAAIG,KAAO97B,SAAS27B,KAAK,IAAMr4D,EAAEphB,EAAI45E,KAAK15E,MAAUkhB,GAAEphB,EAAI,EAC7E,MACD,KAAK,IAAKohB,EAAEphB,EAAIoZ,aAAagI,EAAEphB,EAAI,MACnC,KAAK,IACJ,IAAIiB,KAAK43E,UAAW,CAAEz3D,EAAEphB,EAAI+V,QAAQqL,EAAEphB,EAAIohB,GAAElhB,EAAI,IAChD,KAED,KAAK,IAAKkhB,EAAEzc,EAAIyc,EAAEphB,CAAGohB,GAAEphB,EAAI8kB,MAAM1D,EAAEphB,EAAI,OAGxCy2B,MAAQigD,OAAS,CACjB,IAAGmD,WAAajiE,IAAI3Y,IAAM+B,UAAW,CACpCg+B,GAAKpO,OAAOu1B,OAAOvuC,IAAI3Y,EACvB,IAAG+/B,IAAM,KAAM,CACd,GAAGA,GAAG+mB,UAAY,KAAMtvB,MAAQuI,GAAG+mB,QACnC,IAAG9kD,KAAKu2E,YAAcx4C,GAAGonB,QAAU,KAAMswB,OAAS13C,GAAGonB,QAGvDqwB,YAAYr1D,EAAGqV,MAAOigD,OAAQz1E,KAC9BhC,GAAE2Y,IAAIhP,GAAKwY,OAKd,SAAS+4D,mBAAkBrD,GAAI71E,KAAM+G,IAAK++C,IACzC,GAAIpqD,MAAQiM,KAAQ+Y,MAAQ+pC,kBAAkBorB,GAAG,SAAUx1D,KAAMikB,IAAKt8B,GAAK,GAAI+nD,QAAWr/C,EAAE,EAAGC,EAAE,CACjG,KAAIA,EAAI+P,MAAM1iB,EAAEY,EAAG+R,GAAK+P,MAAMzK,EAAErX,IAAK+R,EAAGo/C,KAAKp/C,GAAK67C,WAAW77C,EAC7D,KAAID,EAAIgQ,MAAM1iB,EAAE2J,EAAG+I,GAAKgQ,MAAMzK,EAAEtO,IAAK+I,EAAG,CACvC/I,IACAK,IAAKykD,WAAW/7C,EAChB,KAAIC,EAAI+P,MAAM1iB,EAAEY,EAAG+R,GAAK+P,MAAMzK,EAAErX,IAAK+R,EAAG,CACvC2zB,IAAMyrB,KAAKp/C,GAAK3I,EAChB,IAAG6tE,GAAGvxC,OAASvkC,UAAW,QAC1B,KAAIsgB,KAAOo3D,kBAAkB5B,GAAGvxC,KAAMA,IAAKuxC,GAAI71E,KAAM+G,IAAK++C,MAAQ,KAAMn+C,EAAEmJ,KAAKuP,MAEhF,GAAG1Y,EAAE9L,OAAS,EAAGH,EAAEA,EAAEG,QAAWke,UAAU,MAAOpS,EAAEmS,KAAK,KAAMnS,EAAEK,KAEjE,MAAOtM,GAAEoe,KAAK,IAGf,GAAIq/D,aAAcp/D,UAAU,YAAa,MACxCyW,MAASpW,MAAMS,KAAK,GACpBu+D,UAAWh/D,MAAMzS,GAGlB,SAAS0xE,cAAatyE,IAAK/G,KAAM8lD,IAChC,GAAIpqD,IAAKye,WAAYg/D,YACrB,IAAIn7E,GAAI8nD,GAAGtxB,WAAWztB,KAAMuyE,KAAO,EAAGC,MAAQ,EAC9C,IAAI1D,IAAK/vB,GAAG0zB,OAAOx7E,EACnB,IAAG63E,KAAO91E,UAAW81E,KACrB,IAAIvxC,KAAMuxC,GAAG,OAAS,IAAGvxC,MAAQvkC,UAAWukC,IAAM,IAClD5oC,GAAEA,EAAEG,QAAWke,UAAU,YAAa,MAAOuqB,IAAOA,KAEpD,IAAGuxC,GAAG,WAAa91E,WAAa81E,GAAG,SAASh6E,OAAS,EAAGH,EAAEA,EAAEG,QAAW07E,kBAAkB1B,GAAIA,GAAG,SAChGn6E,GAAE49E,KAAO59E,EAAEG,QAAU,cACrB,IAAGg6E,GAAG,UAAY91E,UAAW,CAC5Bw5E,MAAQL,kBAAkBrD,GAAI71E,KAAM+G,IAAK++C,GACzC,IAAGyzB,MAAM19E,OAAS,EAAGH,EAAEA,EAAEG,QAAU,MAEpC,GAAGH,EAAEG,OAAOy9E,KAAK,EAAG,CAAE59E,EAAEA,EAAEG,QAAU,cAAkBH,GAAE49E,MAAM59E,EAAE49E,MAAM77E,QAAQ,KAAK,KAEnF,GAAGo4E,GAAG,aAAe91E,WAAa81E,GAAG,WAAWh6E,OAAS,EAAGH,EAAEA,EAAEG,QAAWi7E,oBAAoBjB,GAAG,WAElG,IAAGn6E,EAAEG,OAAO,EAAG,CAAEH,EAAEA,EAAEG,QAAU,cAAkBH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KACxE,MAAO/B,GAAEoe,KAAK,IAIf,QAAS2/D,iBAAgBh+E,KAAMI,QAC9B,GAAIgb,KACJA,GAAElP,EAAIlM,KAAKkT,WAAW,EACtBlT,MAAKoD,GAAKhD,OAAO,CACjB,OAAOgb,GAER,QAAS6iE,iBAAgBhpE,EAAGgQ,MAAOm1D,IAClC,GAAIn6E,GAAI+iB,QAAQ,GAAG,EAAE,GACrB/iB,GAAE4iB,YAAY,EAAG5N,EAGjBhV,GAAE4iB,YAAY,EAAG,EACjB5iB,GAAE4iB,YAAY,EAAG,IACjB5iB,GAAE4iB,YAAY,EAAG,EACjB5iB,GAAE4iB,YAAY,EAAG,EAGjB,IAAIq7D,UAAW,EAAGC,IAAMl+E,EAAEmD,CAC1BnD,GAAEmD,GAAK,CAEP,IAAIg7E,QAASlyE,EAAE+I,EAAG9R,EAAE,EACpB,KAAI,GAAIjD,GAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,GAAG+kB,MAAM1iB,EAAEY,EAAMjD,EAAE,GAAM,IAAO+kB,MAAMzK,EAAErX,EAAKjD,GAAK,GAAK,QACvD,IAAIm+E,QAAS,EAAGC,MAAQ,CACxB,KAAI,GAAIxzE,GAAK5K,GAAG,GAAK4K,EAAM5K,EAAE,GAAI,KAAO4K,EAAG,CAC1CszE,MAAMj7E,EAAI2H,CACV,IAAGsvE,GAAGjsB,YAAYiwB,QAAS,CAAE,GAAGC,MAAQ,EAAGA,MAAQvzE,CAAGwzE,MAAOxzE,GAE9D,GAAGuzE,MAAQ,EAAG,WACZH,QACFj+E,GAAE4iB,YAAY,EAAGw7D,MACjBp+E,GAAE4iB,YAAY,EAAGy7D,MAGlB,GAAIl7E,GAAInD,EAAEmD,CACVnD,GAAEmD,EAAI+6E,GACNl+E,GAAE4iB,YAAY,EAAGq7D,SACjBj+E,GAAEmD,EAAIA,CAEN,OAAOnD,GAAEG,OAASH,EAAEmD,EAAInD,EAAE0S,MAAM,EAAG1S,EAAEmD,GAAKnD,EAE3C,QAASs+E,kBAAiBj6D,GAAI81D,GAAIn1D,MAAOhQ,GACxC,GAAIhV,GAAIg+E,gBAAgBhpE,EAAGgQ,MAAOm1D,GAClC,IAAGn6E,EAAEG,OAAS,GAAIikB,aAAaC,GAAI,YAAarkB,GAIjD,GAAIu+E,gBAAiBh3D,kBACrB,IAAIi3D,gBAAiBh3D,kBAGrB,SAASi3D,iBAAgB1+E,KAAMI,QAC9B,GAAIgb,KAEJpb,MAAKoD,GAAK,EACVgY,GAAE3H,KAAOmT,mBAAmB5mB,KAAMI,OAAS,GAC3C,OAAOgb,GAIR,QAASujE,oBAAmB3+E,KAAMI,QACjC,GAAIwkB,MAAO2B,eAAevmB,KAC1B,QAAQ4kB,MAET,QAASg6D,oBAAmBh6D,KAAMi6D,MAAO5+E,GACxC,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,EAC1B,OAAO2D,gBAAek4D,MAAO5+E,GAK9B,QAAS6+E,mBAAkB9+E,KAAMI,QAChC,GAAIwkB,MAAO2B,eAAevmB,KAC1B,IAAI++E,OAAQ/+E,KAAKkT,WAAW,EAC5B,QAAQ0R,KAAMm6D,MAAO,KAEtB,QAASC,mBAAkBp6D,KAAMi6D,MAAO5+E,GACvC,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,EAC1B2D,gBAAek4D,MAAO5+E,EACtBA,GAAE4iB,YAAY,EAAG+B,KAAKthB,EAAI,EAAI,EAC9B,OAAOrD,GAIR,QAASg/E,oBAAmBj/E,KAAMI,QACjC,GAAIwkB,MAAO2B,eAAevmB,KAC1B,IAAIk/E,QAASl/E,KAAKkT,WAAW,EAC7B,QAAQ0R,KAAMs6D,OAAQ,KAIvB,QAASC,mBAAkBn/E,KAAMI,QAChC,GAAIwkB,MAAO2B,eAAevmB,KAC1B,IAAI4lC,MAAO5lC,KAAKkT,WAAW,EAC3B,QAAQ0R,KAAMghB,KAAM,KAErB,QAASw5C,mBAAkBx6D,KAAMi6D,MAAO5+E,GACvC,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,GAC1B2D,gBAAek4D,MAAO5+E,EACtBA,GAAE4iB,YAAY,EAAGg8D,MAAMv7E,EACvB,OAAOrD,GAIR,QAASo/E,mBAAkBr/E,KAAMI,QAChC,GAAIwkB,MAAO2B,eAAevmB,KAC1B,IAAI2c,OAAQ+K,WAAW1nB,KACvB,QAAQ4kB,KAAMjI,MAAO,KAEtB,QAAS2iE,mBAAkB16D,KAAMi6D,MAAO5+E,GACvC,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,GAC1B2D,gBAAek4D,MAAO5+E,EACtB0nB,YAAW/C,KAAKthB,EAAGrD,EACnB,OAAOA,GAIR,QAASs/E,iBAAgBv/E,KAAMI,QAC9B,GAAIwkB,MAAO2B,eAAevmB,KAC1B,IAAI2c,OAAQuK,eAAelnB,KAC3B,QAAQ4kB,KAAMjI,MAAO,KAEtB,QAAS6iE,iBAAgB56D,KAAMi6D,MAAO5+E,GACrC,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,GAC1B2D,gBAAek4D,MAAO5+E,EACtBqnB,gBAAe1C,KAAKthB,EAAGrD,EACvB,OAAOA,GAKR,QAASw/E,iBAAgBz/E,KAAMI,QAC9B,GAAIwkB,MAAO2B,eAAevmB,KAC1B,IAAI2c,OAAQuJ,mBAAmBlmB,KAC/B,QAAQ4kB,KAAMjI,MAAO,OAEtB,QAAS+iE,iBAAgB96D,KAAMi6D,MAAO5+E,GACrC,GAAGA,GAAK,KAAMA,EAAI+iB,QAAQ,GAAK,EAAI4B,KAAKthB,EAAElD,OAC1CumB,gBAAek4D,MAAO5+E,EACtBqmB,oBAAmB1B,KAAKthB,EAAGrD,EAC3B,OAAOA,GAAEG,OAASH,EAAEmD,EAAInD,EAAE0S,MAAM,EAAG1S,EAAEmD,GAAKnD,EAI3C,QAAS0/E,mBAAkB3/E,KAAMI,OAAQmE,MACxC,GAAIqgB,MAAO2B,eAAevmB,KAC1B,IAAI2c,OAAQ3c,KAAKkT,WAAW,EAC5B,IAAIjT,IAAK2kB,KAAMjI,MAAO,IACtB,IAAGpY,KAAKg5E,YAAa,CACpB,GAAIpkB,SAAUwB,4BAA4B36D,KAAMI,OAAO,EACvDH,GAAE,GAAK,OAEHD,MAAKoD,GAAKhD,OAAO,CACtB,OAAOH,GAIR,QAAS2/E,oBAAmB5/E,KAAMI,OAAQmE,MACzC,GAAIqgB,MAAO2B,eAAevmB,KAC1B,IAAI2c,OAAQ3c,KAAKkT,WAAW,EAC5B,IAAIjT,IAAK2kB,KAAMjI,MAAO,IACtB,IAAGpY,KAAKg5E,YAAa,CACpB,GAAIpkB,SAAUwB,4BAA4B36D,KAAMI,OAAO,EACvDH,GAAE,GAAK,OAEHD,MAAKoD,GAAKhD,OAAO,CACtB,OAAOH,GAIR,QAAS4/E,kBAAiB7/E,KAAMI,OAAQmE,MACvC,GAAIqgB,MAAO2B,eAAevmB,KAC1B,IAAI2c,OAAQ+K,WAAW1nB,KACvB,IAAIC,IAAK2kB,KAAMjI,MAAO,IACtB,IAAGpY,KAAKg5E,YAAa,CACpB,GAAIpkB,SAAUwB,4BAA4B36D,KAAMI,OAAS,GACzDH,GAAE,GAAK,OAEHD,MAAKoD,GAAKhD,OAAO,EACtB,OAAOH,GAIR,QAAS6/E,qBAAoB9/E,KAAMI,OAAQmE,MAC1C,GAAIyR,OAAQhW,KAAKoD,CACjB,IAAIwhB,MAAO2B,eAAevmB,KAC1B,IAAI2c,OAAQuJ,mBAAmBlmB,KAC/B,IAAIC,IAAK2kB,KAAMjI,MAAO,MACtB,IAAGpY,KAAKg5E,YAAa,CACpB,GAAIpkB,SAAUwB,4BAA4B36D,KAAMgW,MAAQ5V,OAASJ,KAAKoD,OAElEpD,MAAKoD,EAAI4S,MAAQ5V,MACtB,OAAOH,GAIR,GAAI8/E,oBAAqBv4D,kBAGzB,SAASw4D,gBAAehgF,KAAMI,OAAQmE,MACrC,GAAI0f,KAAMjkB,KAAKoD,EAAIhD,MACnB,IAAI+vD,KAAM3oC,mBAAmBxnB,KAAM,GACnC,IAAIigF,OAAQp5D,2BAA2B7mB,KACvC,IAAImiB,KAAM+D,mBAAmBlmB,KAC7B,IAAIkgF,SAAUh6D,mBAAmBlmB,KACjC,IAAImgF,SAAUj6D,mBAAmBlmB,KACjCA,MAAKoD,EAAI6gB,GACT,QAAQksC,IAAIA,IAAK8vB,MAAMA,MAAO99D,IAAIA,IAAK+9D,QAAQA,QAASC,QAAQA,SAIjE,QAASC,cAAapgF,KAAMuE,KAAMuwB,MACjC,IAAI90B,KAAM,MAAOA,KACjB,KAAI80B,KAAMA,MAAQurD,SAClB,IAAI99E,KAEJ,IAAIsmC,IACJ,IAAImyC,WAAYz4E,GAAI2J,EAAE,IAAS/I,EAAE,KAAUqX,GAAItO,EAAE,EAAG/I,EAAE,GAEtD,IAAIi/C,MAAO,MAAOn+B,IAAM,KACxB,IAAIslB,KAAK7kB,EAAG4d,GAAIrtB,EAAGC,EAAGoB,KAAM4mE,KAAM3wE,EAClC,IAAIquE,cACJ13D,cAAaljB,KAAM,QAASsgF,UAAS91E,IAAK+1E,QAEzC,GAAGt8D,IAAK,MACR,QAAOs8D,OAAO30D,GACb,IAAK,WAAYid,IAAMr+B,GAAK,MAC5B,KAAK,YACJ++B,IAAM/+B,GACN,IAAGjG,KAAKurD,WAAavrD,KAAKurD,WAAavmB,IAAIr9B,EAAG+X,IAAI,IAClD1X,IAAKykD,WAAWznB,IAAIr9B,EACpB,MAED,KAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,gBACL,IAAK,cACL,IAAK,eACL,IAAK,cACL,IAAK,cACL,IAAK,YACL,IAAK,YACJwY,GAAMlhB,EAAEgH,IAAI,GACZ,QAAOA,IAAI,IACV,IAAK,IAAKka,EAAEphB,EAAIkH,IAAI,EAAI,MACxB,KAAK,IAAK0yE,KAAOlpD,KAAKxpB,IAAI,GAAKka,GAAEphB,EAAI45E,KAAK15E,CAAGkhB,GAAExY,EAAIgxE,KAAKhxE,CAAG,MAC3D,KAAK,IAAKwY,EAAEphB,EAAIkH,IAAI,GAAK,KAAO,KAAO,MACvC,KAAK,IAAKka,EAAEphB,EAAIkH,IAAI,EAAIka,GAAEzc,EAAI2f,KAAKlD,EAAEphB,EAAI,MACzC,KAAK,MAAOohB,EAAElhB,EAAI,GAAKkhB,GAAEphB,EAAIsZ,SAASpS,IAAI,GAAK,OAEhD,GAAGjG,KAAKg5E,aAAe/yE,IAAIpK,OAAS,EAAGskB,EAAE3U,EAAIvF,IAAI,EACjD,IAAI83B,GAAKpO,OAAOu1B,OAAOj/C,IAAI,GAAGic,WAAaszD,YAAYr1D,EAAE4d,GAAGyD,KAAK,KAAKxhC,KACtEhC,GAAEwuD,WAAW77C,EAAE1K,IAAI,GAAGrH,GAAKoJ,IAAMmY,CACjC,IAAGs2D,SAASz4E,EAAE2J,EAAIq9B,IAAIr9B,EAAG8uE,SAASz4E,EAAE2J,EAAIq9B,IAAIr9B,CAC5C,IAAG8uE,SAASz4E,EAAEY,EAAI+R,EAAG8lE,SAASz4E,EAAEY,EAAI+R,CACpC,IAAG8lE,SAASxgE,EAAEtO,EAAIq9B,IAAIr9B,EAAG8uE,SAASxgE,EAAEtO,EAAIq9B,IAAIr9B,CAC5C,IAAG8uE,SAASxgE,EAAErX,EAAI+R,EAAG8lE,SAASxgE,EAAErX,EAAI+R,CACpC,MAED,KAAK,eAAgB,IAAI3Q,KAAKi5E,WAAY,KACzC94D,IAAMlhB,EAAE,IAAIF,EAAEgB,UACd/B,GAAEwuD,WAAW77C,EAAE1K,IAAI,GAAGrH,GAAKoJ,IAAMmY,CACjC,IAAGs2D,SAASz4E,EAAE2J,EAAIq9B,IAAIr9B,EAAG8uE,SAASz4E,EAAE2J,EAAIq9B,IAAIr9B,CAC5C,IAAG8uE,SAASz4E,EAAEY,EAAI+R,EAAG8lE,SAASz4E,EAAEY,EAAI+R,CACpC,IAAG8lE,SAASxgE,EAAEtO,EAAIq9B,IAAIr9B,EAAG8uE,SAASxgE,EAAEtO,EAAIq9B,IAAIr9B,CAC5C,IAAG8uE,SAASxgE,EAAErX,EAAI+R,EAAG8lE,SAASxgE,EAAErX,EAAI+R,CACpC,MAGD,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,eAAgB0lE,WAAWvlE,KAAK7K,IAAM,MAE3C,KAAK,WACJ,GAAIysB,KAAMnC,KAAK,OAAOtqB,IAAIy1E,MAC1B,IAAGhpD,IAAK,CACPzsB,IAAI2sB,OAASF,IAAIE,MACjB,IAAG3sB,IAAI2X,IAAK3X,IAAI2sB,QAAU,IAAI3sB,IAAI2X,GAClC3X,KAAI8wE,IAAMrkD,IAEX,IAAIhiB,EAAEzK,IAAI2lD,IAAI5tD,EAAE2J,EAAE+I,GAAGzK,IAAI2lD,IAAI31C,EAAEtO,IAAI+I,EAAG,IAAIC,EAAE1K,IAAI2lD,IAAI5tD,EAAEY,EAAE+R,GAAG1K,IAAI2lD,IAAI31C,EAAErX,IAAI+R,EAAG,CAC3EoB,KAAO63C,aAAahrD,EAAE+R,EAAEhJ,EAAE+I,GAC1B,KAAI1S,EAAE+T,MAAO/T,EAAE+T,OAAS9S,EAAE,IAAIF,EAAEgB,UAChC/B,GAAE+T,MAAMlT,EAAIoH,IAEb,KAED,KAAK,aAAc,KACnB,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,YAAa,KAClB,KAAK,mBAAoB,KACzB,KAAK,kBAAmB,KACxB,KAAK,iBAAkB,KACvB,KAAK,UAAW,KAChB,KAAK,SAAU,KACf,KAAK,eAAgB,KACrB,KAAK,gBAAiB,KACtB,KAAK,aAAc,KACnB,KAAK,eAAgB,KACrB,KAAK,WAAY,KACjB,KAAK,mBAAoB,KACzB,KAAK,eAAgB,KACrB,KAAK,mBAAoB,KACzB,KAAK,aAAc,KACnB,KAAK,iBAAkB,KACvB,KAAK,oBAAqB,KAC1B,KAAK,kBAAmB,KACxB,KAAK,qBAAsB,KAC3B,KAAK,kBAAmB,KACxB,KAAK;AAAc,KACnB,KAAK,eAAgB,KACrB,KAAK,cAAe43C,KAAO,IAAM,MACjC,KAAK,YAAaA,KAAO,KAAO,MAChC,KAAK,cAAe,KACpB,KAAK,aAAc,KACnB,KAAK,mBAAoB,KACzB,KAAK,qBAAsB,KAC3B,KAAK,kBAAmB,KACxB,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,SAAU,KACf,KAAK,gBAAiB,KACtB,KAAK,cAAe,KACpB,KAAK,iBAAkB,KACvB,KAAK,eAAgB,KACrB,KAAK,sBAAuB,KAC5B,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,oBAAqB,KAC1B,KAAK,WAAY,KACjB,KAAK,qBAAsB,KAC3B,KAAK,eAAgB,KACrB,KAAK,mBAAoB,KACzB,KAAK,oBAAqB,KAC1B,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,oBAAqB,KAC1B,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,kBAAmB,KACxB,KAAK,gCAAiC,KACtC,KAAK,8BAA+B,KACpC,KAAK,iBAAkB,KACvB,KAAK,eAAgB,KACrB,KAAK,gBAAiB,KACtB,KAAK,UAAW,KAChB,KAAK,cAAe,KACpB,KAAK,qBAAsB,KAC3B,KAAK,eAAgB,KACrB,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,UAAW,KAChB,KAAK,cAAe,KAGpB,KAAK,0BAA2B,KAChC,KAAK,aAAc,KACnB,KAAK,wBAAyB,KAG9B,KAAK,kBAAmB,KACxB,KAAK,gBAAiB,KACtB,KAAK,uBAAwB,KAC7B,KAAK,kBAAmB,KACxB,KAAK,YAAa,KAClB,KAAK,gBAAiB,KACtB,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,wBAAyB,KAC9B,KAAK,kBAAmB,KACxB,KAAK,sBAAuB,KAG5B,KAAK,oBAAqB,KAC1B,KAAK,wBAAyB,KAC9B,KAAK,uBAAwB,KAC7B,KAAK,0BAA2B,KAChC,KAAK,qBAAsB,KAC3B,KAAK,sBAAuB,KAC5B,KAAK,kBAAmB,KAGxB,KAAK,sBAAuB,KAC5B,KAAK,eAAgB,KACrB,KAAK,oBAAqB,KAG1B,KAAK,WAAY,KAGjB,KAAK,wBAAyB,KAC9B,KAAK,kBAAmB,KACxB,KAAK,sBAAuB,KAE5B,SAAS,IAAIA,MAAQ79C,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,qBAAuBy3E,OAAO30D,KAE5ErnB,KACH,KAAIhC,EAAE,UAAYy4E,SAASz4E,EAAE2J,EAAI,KAAW28B,MAAQA,IAAIruB,EAAEtO,EAAI,GAAK28B,IAAIruB,EAAErX,EAAI,GAAK0lC,IAAItmC,EAAE2J,EAAI,GAAK28B,IAAItmC,EAAEY,EAAI,IAAKZ,EAAE,QAAU6sD,aAAavmB,KAAOmyC,SAChJ,IAAGz2E,KAAKurD,WAAavtD,EAAE,QAAS,CAC/B,GAAI64E,QAASpsB,kBAAkBzsD,EAAE,QACjC,IAAGgC,KAAKurD,WAAasrB,OAAO5gE,EAAEtO,EAAG,CAChCkvE,OAAO5gE,EAAEtO,EAAI3H,KAAKurD,UAAY,CAC9B,IAAGsrB,OAAO5gE,EAAEtO,EAAI8uE,SAASxgE,EAAEtO,EAAGkvE,OAAO5gE,EAAEtO,EAAI8uE,SAASxgE,EAAEtO,CACtD,IAAGkvE,OAAO5gE,EAAEtO,EAAIkvE,OAAO74E,EAAE2J,EAAGkvE,OAAO74E,EAAE2J,EAAIkvE,OAAO5gE,EAAEtO,CAClD,IAAGkvE,OAAO5gE,EAAErX,EAAI63E,SAASxgE,EAAErX,EAAGi4E,OAAO5gE,EAAErX,EAAI63E,SAASxgE,EAAErX,CACtD,IAAGi4E,OAAO5gE,EAAErX,EAAIi4E,OAAO74E,EAAEY,EAAGi4E,OAAO74E,EAAEY,EAAIi4E,OAAO5gE,EAAErX,CAClDZ,GAAE,YAAcA,EAAE,OAClBA,GAAE,QAAU6sD,aAAagsB,SAG3B,GAAGR,WAAWx6E,OAAS,EAAGmC,EAAE,WAAaq4E,UACzC,OAAOr4E,GAIR,QAASi+E,mBAAkBl8D,GAAIM,KAAM3P,EAAGC,EAAG3Q,MAC1C,GAAGqgB,KAAKthB,IAAMgB,UAAW,MAAO,EAChC,IAAI4K,IAAK,EACT,QAAO0V,KAAKphB,GACX,IAAK,IAAK0L,GAAK0V,KAAKthB,EAAI,IAAM,GAAK,MACnC,KAAK,IAAK,IAAK,IAAK4L,GAAK,GAAG0V,KAAKthB,CAAG,MACpC,SAAS4L,GAAK0V,KAAKthB,CAAG,OAEvB,GAAIrD,IAAMiM,EAAE+I,EAAG9R,EAAE+R,EAEjBjV,GAAEsC,EAAIk3E,eAAel1E,KAAKqlD,QAAShlC,KAAMrgB,KACzC,QAAOqgB,KAAKphB,GACX,IAAK,IAAK,IAAK,MACd,GAAGe,KAAKy9C,QAAS,CAChB9yC,GAAKsqE,WAAWj1E,KAAK83E,QAASz3D,KAAKthB,EACnCrD,GAAEuD,EAAI,GAAKvD,GAAEqD,EAAI4L,EACjBmV,cAAaC,GAAI,cAAe86D,kBAAkBx6D,KAAM3kB,QAClD,CACNA,EAAEuD,EAAI,KACN6gB,cAAaC,GAAI,YAAao7D,gBAAgB96D,KAAM3kB,IAErD,MACD,KAAK,IAEJ,GAAG2kB,KAAKthB,IAAMshB,KAAKthB,EAAI,IAAMshB,KAAKthB,GAAK,KAAQshB,KAAKthB,EAAI,IAAM+gB,aAAaC,GAAI,YAAak7D,gBAAgB56D,KAAM3kB,QAC7GokB,cAAaC,GAAI,cAAeg7D,kBAAkB16D,KAAM3kB,GAC7D,OACD,KAAK,IACJA,EAAEuD,EAAI,GACN6gB,cAAaC,GAAI,cAAe06D,kBAAkBp6D,KAAM3kB,GACxD,OACD,KAAK,IAAuBA,EAAEuD,EAAI,GAAK,OAExC6gB,aAAaC,GAAI,eAAgBs6D,mBAAmBh6D,KAAM3kB,IAG3D,QAASwgF,iBAAgBn8D,GAAI81D,GAAI9uE,IAAK/G,KAAM8lD,IAC3C,GAAIplC,OAAQ+pC,kBAAkBorB,GAAG,SAAW,MAAOvxC,IAAKt8B,GAAK,GAAI+nD,OACjEjwC,cAAaC,GAAI,oBACjB,KAAI,GAAIrP,GAAIgQ,MAAM1iB,EAAE2J,EAAG+I,GAAKgQ,MAAMzK,EAAEtO,IAAK+I,EAAG,CAC3C1I,GAAKykD,WAAW/7C,EAGhBspE,kBAAiBj6D,GAAI81D,GAAIn1D,MAAOhQ,EAChC,KAAI,GAAIC,GAAI+P,MAAM1iB,EAAEY,EAAG+R,GAAK+P,MAAMzK,EAAErX,IAAK+R,EAAG,CAE3C,GAAGD,IAAMgQ,MAAM1iB,EAAE2J,EAAGooD,KAAKp/C,GAAK67C,WAAW77C,EACzC2zB,KAAMyrB,KAAKp/C,GAAK3I,EAChB,KAAI6tE,GAAGvxC,KAAM,QAEb23C,mBAAkBl8D,GAAI81D,GAAGvxC,KAAM5zB,EAAGC,EAAG3Q,OAGvC8f,aAAaC,GAAI,mBAGlB,QAASo8D,cAAap1E,IAAK/G,KAAM8lD,IAChC,GAAI/lC,IAAKd,WACT,IAAIjhB,GAAI8nD,GAAGtxB,WAAWztB,KAAM8uE,GAAK/vB,GAAG0zB,OAAOx7E,MAC3C,IAAI2J,GAAI8iD,kBAAkBorB,GAAG,SAAW,KACxC/1D,cAAaC,GAAI,gBAEjBD,cAAaC,GAAI,WAAYm6D,eAAevyE,GAI5Cu0E,iBAAgBn8D,GAAI81D,GAAI9uE,IAAK/G,KAAM8lD,GAiCnChmC,cAAaC,GAAI,cACjB,OAAOA,IAAGL,MAGX,GAAI08D,cACF,oBAAqB,MACrB,uBAAwB,MACxB,aAAc,MACd,qBAAsB,MACtB,WAAY,KACZ,WAAY,MACZ,oBAAqB,MAErB,gBAAiB,MACjB,qBAAsB,MACtB,oBAAqB,MACrB,eAAgB,MAChB,wBAAyB,QACzB,yBAA0B,MAC1B,6BAA8B,MAC9B,oBAAqB,MACrB,cAAe,QACf,uBAAwB,KAK1B,IAAIC,aACF,YAAa,MACb,yBAA0B,MAC1B,aAAc,MACd,YAAa,MACb,uBAAwB,MACxB,gBAAiB,MACjB,qBAAsB,MACtB,WAAY,QACZ,aAAc,WAKhB,IAAIC,YACF,QAAS,WAIX,IAAIC,aACF,gBAAiB,SACjB,WAAY,SACZ,aAAc,SACd,iBAAkB,SAClB,iBAAkB,UAClB,gBAAiB,SACjB,UAAW,UACX,eAAgB,QAChB,eAAgB,UAChB,UAAW,MAIb,IAAIC,mBACF,aAAc,UACd,kBAAmB,UACnB,sBAAuB,SACvB,uBAAwB,SACxB,YAAa,UACb,YAAa,UACb,WAAY,UACZ,eAAgB,UAChB,eAAgB,kBAChB,iBAAkB,SAClB,uBAAwB,SACxB,cAAe,QACf,gBAAiB,SACjB,gBAAiB,SACjB,qBAAsB,SACtB,WAAY,QACZ,UAAW,MACX,UAAW,KAGb,SAASC,qBAAoBtjD,OAAQhI,UACpC,IAAI,GAAI5qB,GAAI,EAAGA,GAAK4yB,OAAOt9B,SAAU0K,EAAG,CAAE,GAAI7C,GAAIy1B,OAAO5yB,EACxD,KAAI,GAAI5K,GAAE,EAAGA,GAAKw1B,SAASt1B,SAAUF,EAAG,CAAE,GAAIkb,GAAIsa,SAASx1B,EAC1D,IAAG+H,EAAEmT,EAAE,KAAO,KAAMnT,EAAEmT,EAAE,IAAMA,EAAE,KAInC,QAAS6lE,eAAcvjD,OAAQhI,UAC9B,IAAI,GAAIx1B,GAAI,EAAGA,GAAKw1B,SAASt1B,SAAUF,EAAG,CAAE,GAAIkb,GAAIsa,SAASx1B,EAC5D,IAAGw9B,OAAOtiB,EAAE,KAAO,KAAMsiB,OAAOtiB,EAAE,IAAMA,EAAE,IAI5C,QAAS8lE,mBAAkB72B,IAC1B42B,cAAc52B,GAAG82B,QAASR,WAC1BM,eAAc52B,GAAG+2B,OAAQN,UAEzBE,qBAAoB32B,GAAGg3B,OAAQT,UAC/BI,qBAAoB32B,GAAG0zB,OAAQ8C,SAE/BvH,UAASxvE,SAAW4S,aAAa2tC,GAAG82B,QAAQr3E,SAAU,YAGvD,GAAIw3E,WAAY,eAChB,SAASC,cAAavhF,KAAMuE,MAC3B,IAAIvE,KAAM,KAAM,IAAI8I,OAAM,sBAC1B,IAAIuhD,KAAOm3B,cAAeL,WAAYE,UAAWtD,UAAWqD,UAAWrsD,MAAO,GAC9E,IAAIqtB,MAAO,MAAOrtB,MAAQ,SACzB/0B,KAAKwL,MAAMsP,eAAemD,QAAQ,QAASwjE,QAAOhhF,GAClD,GAAI4D,GAAI4W,YAAYxa,EACpB,QAAO8a,SAASlX,EAAE,KACjB,IAAK,QAAS,KAGd,KAAK,YACJ,GAAG5D,EAAE+K,MAAM81E,WAAYvsD,MAAQ,QAAUt0B,EAAE+K,MAAM,WAAW,EAC5D6+C,IAAGt1B,MAAQ1wB,EAAE0wB,MACb,MACD,KAAK,cAAe,KAGpB,KAAK,qBAAuB1wB,GAAE,EAAIgmD,IAAGm3B,WAAan9E,CAAG,MACrD,KAAK,iBAAkB,KAGvB,KAAK,eAAgB,IAAK,iBAAkB,KAG5C,KAAK,oBAAsBA,GAAE,EAAIgmD,IAAG82B,QAAU98E,CAAG,MACjD,KAAK,sBAAwBA,GAAE,EAAIgmD,IAAG82B,QAAU98E,CAAG,MAGnD,KAAK,sBAAuB,KAC5B,KAAK,wBAAyB,KAG9B,KAAK,cAAe,IAAK,eAAgB,KAEzC,KAAK,sBAAwBA,GAAE,EAAIgmD,IAAGg3B,OAAOhsE,KAAKhR,EAAI,MAGtD,KAAK,WAAY,IAAK,YAAa,KAEnC,KAAK,eAAiBA,GAAE,EAAIA,GAAEoP,KAAOmJ,SAASvY,EAAEoP,KAAO42C,IAAG0zB,OAAO1oE,KAAKhR,EAAI,MAG1E,KAAK,kBAAmB,IAAK,oBAAqB,KAElD,KAAK,iBAAkB,KAGvB,KAAK,sBAAuB,IAAK,wBAAyB,IAAK,uBAAwB,KAEvF,KAAK,qBAAsB,KAG3B,KAAK,kBAAmB,KACxB,KAAK,iBAAkB,IAAK,gBAAiB+9C,KAAK,IAAM,MACxD,KAAK,kBAAmBA,KAAK,KAAO,MAEpC,KAAK,eAAgB,IAAK,iBAAkB,IAAK,iBAAkB,KAGnE,KAAK,gBAAkB/9C,GAAE,EAAIgmD,IAAG+2B,OAAS/8E,CAAG,MAC5C,KAAK,kBAAoBA,GAAE,EAAIgmD,IAAG+2B,OAAS/8E,CAAG,MAG9C,KAAK,WAAY,KAGjB,KAAK,wBAAyB,IAAK,yBAA0B,IAAK,uBAAwB,KAE1F,KAAK,sBAAuB,IAAK,wBAAyB,KAG1D,KAAK,gBAAiB,IAAK,iBAAkB,IAAK,eAAgB,KAElE,KAAK,cAAe,KAGpB,KAAK,cAAe,IAAK,gBAAiB,KAG1C,KAAK,iBAAkB,IAAK,kBAAmB,IAAK,mBAAoB,KAExE,KAAK,gBAAiB,KAGtB,KAAK,iBAAkB,IAAK,mBAAoB,KAGhD,KAAK,kBAAmB,IAAK,oBAAqB,KAGlD,KAAK,sBAAuB,IAAK,qBAAsB,IAAK,uBAAwB,KAEpF,KAAK,oBAAqB,KAG1B,KAAK,WAAY,IAAK,YAAa,IAAK,YAAa,KAErD,KAAK,OAAQ+9C,KAAK,IAAM,MACxB,KAAK,SAAUA,KAAK,KAAO,MAG3B,KAAK,UAAW,KAChB,KAAK,oBAAqBA,KAAK,IAAM,MACrC,KAAK,sBAAuBA,KAAK,KAAO,MAExC,SAAS,IAAIA,MAAQ79C,KAAK6wB,IAAK,KAAM,gBAAkB/wB,EAAE,GAAK,iBAGhE,IAAGsa,MAAMS,KAAKnd,QAAQooD,GAAGt1B,UAAY,EAAG,KAAM,IAAIjsB,OAAM,sBAAwBuhD,GAAGt1B,MAEnFmsD,mBAAkB72B,GAElB,OAAOA,IAGR,GAAIq3B,aAAcpjE,UAAU,WAAY,MACvCyW,MAASpW,MAAMS,KAAK,GAGpBu+D,UAAWh/D,MAAMzS,GAGlB,SAASy1E,UAASt3B,IAEjB,IAAM,MAAO3tC,cAAa2tC,GAAGu3B,SAAST,QAAQr3E,UAAY,OAAS,QAAW,MAAM0Q,GAAK,MAAO,SAGjG,QAASqnE,cAAax3B,GAAI9lD,MACzB,GAAItE,IAAKye,WACTze,GAAEA,EAAEG,QAAUshF,WACdzhF,GAAEA,EAAEG,QAAWke,UAAU,aAAc,MAAOxU,SAAS63E,SAASt3B,KAChEpqD,GAAEA,EAAEG,QAAU,UACd,KAAI,GAAIF,GAAI,EAAGA,GAAKmqD,GAAGtxB,WAAW34B,SAAUF,EAC3CD,EAAEA,EAAEG,QAAWke,UAAU,QAAQ,MAAM7K,KAAK42C,GAAGtxB,WAAW74B,GAAGY,OAAO,EAAE,IAAKghF,QAAQ,IAAI5hF,EAAE,GAAI6hF,OAAO,OAAO7hF,EAAE,IAC9GD,GAAEA,EAAEG,QAAU,WACd,IAAGH,EAAEG,OAAO,EAAE,CAAEH,EAAEA,EAAEG,QAAU,aAAeH,GAAE,GAAGA,EAAE,GAAG+B,QAAQ,KAAK,KACpE,MAAO/B,GAAEoe,KAAK,IAGf,QAAS2jE,mBAAkBhiF,KAAMI,QAChC,GAAIgb,KACJA,GAAE6mE,QAAUjiF,KAAKkT,WAAW,EAC5BkI,GAAE8mE,OAASliF,KAAKkT,WAAW,EAC3BkI,GAAE+mE,SAAWn7D,YAAYhnB,KAAKI,OAAO,EACrCgb,GAAE3H,KAAOyS,mBAAmBlmB,KAC5B,OAAOob,GAER,QAASgnE,mBAAkBpiF,KAAMC,GAChC,IAAIA,EAAGA,EAAI+iB,QAAQ,IACnB/iB,GAAE4iB,YAAY,EAAG7iB,KAAKiiF,QACtBhiF,GAAE4iB,YAAY,EAAG7iB,KAAKkiF,OACtBj7D,aAAYjnB,KAAKmiF,SAAUliF,EAC3BqmB,oBAAmBtmB,KAAKyT,KAAK3S,OAAO,EAAE,IAAKb,EAC3C,OAAOA,GAAEG,OAASH,EAAEmD,EAAInD,EAAE0S,MAAM,EAAG1S,EAAEmD,GAAKnD,EAI3C,QAASoiF,iBAAgBriF,KAAMI,QAC9BJ,KAAKkT,WAAW,EAChB,IAAI65C,gBAAiB/sD,KAAKkT,WAAW,EACrC,IAAIovE,SAAWliF,OAAS,EAAK8lB,mBAAmBlmB,MAAQ,EACxD,QAAQ+sD,eAAgBu1B,SAEzB,QAASC,iBAAgBviF,KAAMC,GAC9B,IAAIA,EAAGA,EAAI+iB,QAAQ,EACnB/iB,GAAE4iB,YAAY,EAAG,EACjB5iB,GAAE4iB,YAAY,EAAG,EACjB,OAAO5iB,GAGR,QAASuiF,qBAAoBxiF,KAAMI,QAClC,GAAIH,KACJD,MAAKkT,WAAW,EAChBjT,GAAEwiF,OAASziF,KAAKkT,WAAW,EAC3BlT,MAAKoD,GAAKhD,OAAS,CACnB,OAAOH,GAIR,QAASyiF,cAAa1iF,KAAMuE,MAC3B,GAAI8lD,KAAOm3B,cAAeL,WAAYE,UAAWtD,UAAWqD,UAAWrsD,MAAO,GAC9E,IAAIqtB,MAAO,MAAOhnC,CAElB8H,cAAaljB,KAAM,QAAS2iF,WAAUn4E,IAAKyK,GAC1C,OAAOA,EAAE2W,GACR,IAAK,cAAey+B,GAAG0zB,OAAO1oE,KAAK7K,IAAM,MAEzC,KAAK,eAAgB,KACrB,KAAK,iBAAkB,KACvB,KAAK,cAAe,IAAK,YAAa,KACtC,KAAK,aAAc,KACnB,KAAK,eAAgB,KACrB,KAAK,WAAY,KACjB,KAAK,eAAgB,KAErB,KAAK,oBAAqB,KAC1B,KAAK,oBAAqB,KAC1B,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,oBAAqB,KAC1B,KAAK,kBAAmB,KACxB,KAAK,kBAAmB,KACxB,KAAK,gBAAiB,KACtB,KAAK,oBAAqB,KAC1B,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,iBAAkB,KACvB,KAAK,kBAAmB,KACxB,KAAK,UAAW,KAChB,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,wBAAyB,KAC9B,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,sBAAuB,KAC5B,KAAK,YAAa,KAClB,KAAK,iBAAkB,KACvB,KAAK,iBAAkB,KAOvB,KAAK,wBAAyB,KAC9B,KAAK,kBAAmB,KACxB,KAAK,sBAAuB,KAE5B,KAAK,cAAe43C,KAAO,IAAM,MACjC,KAAK,gBAAiB,KACtB,KAAK,kBAAmB,KACxB,KAAK,YAAaA,KAAO,KAAO,MAChC,KAAK,aAAc,KACnB,SAAS,IAAIA,MAAQ79C,KAAK6wB,IAAK,KAAM,IAAItsB,OAAM,qBAAuBmM,EAAE2W,KAI1Es1D,mBAAkB72B,GAElB,OAAOA,IAIR,QAASu4B,iBAAgBt+D,GAAI+lC,GAAI9lD,MAChC8f,aAAaC,GAAI,oBACjB,KAAI,GAAIhZ,KAAM,EAAGA,KAAO++C,GAAGtxB,WAAW34B,SAAUkL,IAAK,CACpD,GAAI/H,IAAM0+E,QAAS,EAAGC,OAAQ52E,IAAI,EAAG62E,SAAU,OAAS72E,IAAI,GAAImI,KAAM42C,GAAGtxB,WAAWztB,KACpF+Y,cAAaC,GAAI,cAAe89D,kBAAkB7+E,IAEnD8gB,aAAaC,GAAI,mBAIlB,QAASu+D,sBAAqB7iF,KAAMC,GACnC,IAAIA,EAAGA,EAAI+iB,QAAQ,IACnB,KAAI,GAAI9iB,GAAI,EAAGA,GAAK,IAAKA,EAAGD,EAAE4iB,YAAY,EAAG,EAC7CyD,oBAAmB,UAAWrmB,EAC9BqmB,oBAAmBlnB,KAAKE,QAASW,EACjCqmB,oBAAmBlnB,KAAKE,QAASW,EACjCqmB,oBAAmB,OAAQrmB,EAC3BA,GAAEG,OAASH,EAAEmD,CACb,OAAOnD,GAAEG,OAASH,EAAEmD,EAAInD,EAAE0S,MAAM,EAAG1S,EAAEmD,GAAKnD,EAI3C,QAAS6iF,iBAAgBx+D,GAAI+lC,GAAI9lD,MAChC8f,aAAaC,GAAI,oBAEjBD,cAAaC,GAAI,mBAIlB,QAASy+D,mBAAkB/iF,KAAMC,GAChC,IAAIA,EAAGA,EAAI+iB,QAAQ,GACnB/iB,GAAE4iB,YAAY,EAAE,EAChB5iB,GAAE4iB,YAAY,EAAE,EAChB5iB,GAAE4iB,YAAY,EAAE,EAChB8E,YAAW,EAAG1nB,EACdA,GAAE4iB,aAAa,EAAG,KAClB5iB,GAAE4iB,YAAY,EAAG,GACjB5iB,GAAE4iB,YAAY,EAAG,EACjB,OAAO5iB,GAIR,QAAS+iF,sBAAqBhjF,KAAMC,GACnC,IAAIA,EAAGA,EAAI+iB,QAAQ,EACnB/iB,GAAE4iB,YAAY,EAAE,EAChB,OAAO5iB,GAIR,QAASgjF,cAAa54B,GAAI9lD,MACzB,GAAI+f,IAAKd,WACTa,cAAaC,GAAI,eACjBD,cAAaC,GAAI,iBAAkBu+D,uBAEnC,IAAG,EAAGx+D,aAAaC,GAAI,YAAai+D,kBAGpC,IAAG,EAAGO,gBAAgBx+D,GAAI+lC,GAAI9lD,KAC9Bq+E,iBAAgBt+D,GAAI+lC,GAAI9lD,KAIxB,IAAG,EAAG8f,aAAaC,GAAI,cAAey+D,oBAOtC,IAAG,EAAG1+D,aAAaC,GAAI,iBAAkB0+D,uBAIzC3+D,cAAaC,GAAI,aAEjB,OAAOA,IAAGL,MAEX,QAASi/D,UAASljF,KAAMyT,KAAMlP,MAC7B,GAAGkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAQ,MAAOsiF,cAAa,KAAQn+E,KACpE,OAAOg9E,cAAa,KAAQh9E,MAG7B,QAAS4+E,UAASnjF,KAAMyT,KAAMlP,KAAMuwB,MACnC,GAAGrhB,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAQ,MAAOggF,cAAa,KAAQ77E,KAAMuwB,KAC1E,OAAO4lD,cAAa,KAAQn2E,KAAMuwB,MAGnC,QAASsuD,WAAUpjF,KAAMyT,KAAMlP,MAC9B,GAAGkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAQ,MAAOyrD,eAAc,KAAQtnD,KACrE,OAAOslD,eAAc,KAAQtlD,MAG9B,QAAS8+E,aAAYrjF,KAAMyT,KAAMlP,MAChC,MAAOqoD,iBAAgB5sD,KAAMuE,MAG9B,QAAS++E,WAAUtjF,KAAMyT,KAAMlP,MAC9B,GAAGkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAQ,MAAO+hD,eAAc,KAAQ59C,KACrE,OAAOm9C,eAAc,KAAQn9C,MAG9B,QAASoqD,YAAW3uD,KAAMyT,KAAMlP,MAC/B,GAAGkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAQ,MAAOkwD,oBAAmB,KAAQ/rD,KAC1E,OAAO+qD,oBAAmB,KAAQ/qD,MAGnC,QAASg/E,UAASvjF,KAAMyT,KAAMlP,MAC7B,GAAGkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAQ,MAAOguD,cAAa,KAAQ7pD,KACpE,OAAOypD,cAAa,KAAQzpD,MAG7B,QAASi/E,UAASn5B,GAAI52C,KAAMlP,MAC3B,OAAQkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAS6iF,aAAepB,cAAcx3B,GAAI9lD,MAGhF,QAASk/E,UAASzjF,KAAMyT,KAAMlP,KAAM8lD,IACnC,OAAQ52C,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAASsgF,aAAe9C,cAAc59E,KAAMuE,KAAM8lD,IAGxF,QAASq5B,WAAU1jF,KAAMyT,KAAMlP,MAC9B,OAAQkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAAS2rD,cAAgB3B,eAAepqD,KAAMuE,MAGpF,QAASo/E,WAAU3jF,KAAMyT,KAAMlP,MAC9B,OAAQkP,KAAK3S,OAAO2S,KAAKrT,OAAO,KAAK,OAASoiD,cAAgBT,eAAe/hD,KAAMuE,MAWpF,GAAIq/E,YAAW,iDACf,IAAIC,WAAU,oDACd,IAAIC,MAAO,SAAS3gF,GAAK,MAAOzC,QAAOC,aAAawC,GACpD,SAAS4gF,kBAAiB7oE,IAAKC,WAC9B,GAAI6oE,OAAQ9oE,IAAI1Y,MAAM,MACtB,IAAI4Y,KAAU,KAAID,UAAWC,EAAE,GAAK4oE,MAAM,EAC1C,IAAGA,MAAM5jF,SAAW,EAAG,MAAOgb,EAC9B,IAAI1R,GAAIwR,IAAI1P,MAAMo4E,YAAav/E,EAAGyG,EAAG7C,EAAG/H,CACxC,IAAGwJ,EAAG,IAAIxJ,EAAI,EAAGA,GAAKwJ,EAAEtJ,SAAUF,EAAG,CACpCmE,EAAIqF,EAAExJ,GAAGsL,MAAMq4E,UACjB,KAAI/4E,EAAEzG,EAAE,GAAGpC,QAAQ,SAAW,EAAGmZ,EAAE/W,EAAE,IAAMA,EAAE,GAAGvD,OAAO,EAAEuD,EAAE,GAAGjE,OAAO,OAC9D,CACJ,GAAGiE,EAAE,GAAGvD,OAAO,EAAE,KAAO,SAAUmH,EAAI,QAAQ5D,EAAE,GAAGvD,OAAO,OACrDmH,GAAI5D,EAAE,GAAGvD,OAAOgK,EAAE,EACvBsQ,GAAEnT,GAAK5D,EAAE,GAAGvD,OAAO,EAAEuD,EAAE,GAAGjE,OAAO,IAGnC,MAAOgb,GAER,QAAS6oE,qBAAoB/oE,KAC5B,GAAI8oE,OAAQ9oE,IAAI1Y,MAAM,MACtB,IAAI4Y,KACJ,IAAG4oE,MAAM5jF,SAAW,EAAG,MAAOgb,EAC9B,IAAI1R,GAAIwR,IAAI1P,MAAMo4E,YAAav/E,EAAGyG,EAAG7C,EAAG/H,CACxC,IAAGwJ,EAAG,IAAIxJ,EAAI,EAAGA,GAAKwJ,EAAEtJ,SAAUF,EAAG,CACpCmE,EAAIqF,EAAExJ,GAAGsL,MAAMq4E,UACjB,KAAI/4E,EAAEzG,EAAE,GAAGpC,QAAQ,SAAW,EAAGmZ,EAAE/W,EAAE,IAAMA,EAAE,GAAGvD,OAAO,EAAEuD,EAAE,GAAGjE,OAAO,OAC9D,CACJ,GAAGiE,EAAE,GAAGvD,OAAO,EAAE,KAAO,SAAUmH,EAAI,QAAQ5D,EAAE,GAAGvD,OAAO,OACrDmH,GAAI5D,EAAE,GAAGvD,OAAOgK,EAAE,EACvBsQ,GAAEnT,GAAK5D,EAAE,GAAGvD,OAAO,EAAEuD,EAAE,GAAGjE,OAAO,IAGnC,MAAOgb,GAKR,QAAS8oE,aAAY/zE,OAAQwM,OAC5B,GAAIpS,KAAMoG,cAAcR,SAAW6L,YAAY7L,OAC/C,IAAG5F,MAAQ,UAAW,MAAOxH,KAAIgG,SAAS4T,MAC1C,OAAO5Z,KAAIoN,OAAO5F,IAAKoS,OAGxB,QAASwnE,mBAAkBC,UAAWC,GAAIvkF,GAAI0K,KAC7C,QAAQ1K,GAAG,GAAG0L,MAAM,sBAAsB,GAAG,KAAK,IACjD,IAAK,UAAWhB,IAAMkS,aAAalS,IAAM,MACzC,KAAK,KAAM,IAAK,MAAOA,IAAM8B,SAAS9B,IAAK,GAAK,MAChD,KAAK,KAAM,IAAK,QAASA,IAAMqF,WAAWrF,IAAM,MAChD,KAAK,OAAQ,IAAK,cAAeA,IAAM,GAAIT,MAAKS,IAAM,MACtD,KAAK,KAAM,IAAK,SAAU,IAAK,QAAS,IAAK,OAAQ,IAAK,aAAc,KACxE,SAAS,KAAM,gBAAkB1K,GAAG,GAErCskF,UAAUpoE,YAAYqoE,GAAG,KAAO75E,IAGjC,QAAS85E,kBAAiB1/D,KAAM2/D,GAAItkF,GACnC,IACC,GAAG2kB,KAAKphB,IAAM,IAAK,CAAEohB,KAAK3c,EAAI2c,KAAK3c,GAAK2f,KAAKhD,KAAKthB,OAC7C,IAAGihF,KAAO,UAAW,CACzB,GAAG3/D,KAAKphB,IAAM,IAAK,CAClB,IAAIohB,KAAKthB,EAAE,KAAOshB,KAAKthB,EAAGshB,KAAK3c,EAAIlF,IAAIyE,aAAaod,KAAKthB,OACpDshB,MAAK3c,EAAIlF,IAAI6F,aAAagc,KAAKthB,OAEhCshB,MAAK3c,EAAIlF,IAAIgG,SAAS6b,KAAKthB,OAE5BshB,MAAK3c,EAAIi8E,YAAYK,IAAI,UAAW3/D,KAAKthB,EAC9C,IAAGrD,EAAEg6E,OAAQr1D,KAAKxJ,EAAIzK,cAAc4zE,KAAKA,IAAI,UAC5C,MAAM/pE,GAAK,GAAGva,EAAEm1B,IAAK,KAAM5a,IAG9B,QAASgqE,oBAAmBtwD,OAAQuwD,KAAMlgF,MACzC,GAAGA,KAAKu2E,WAAY,CACnB,GAAG2J,KAAKC,SAAU,CACjB,GAAIC,GAAIF,KAAKC,QACb,IAAGC,EAAEC,QAASD,EAAEj+C,YAAckhB,mBAAmB+8B,EAAEC,UAAYD,EAAEC,SAGnE1wD,OAAOuwD,KAAKI,IAAMJ,KAInB,QAASK,iBAAgBC,IAAKr6E,GAAI1K,KAAM4kB,KAAMpY,KAAM0nB,OAAQ8wD,KAAMz7C,IAAKtpC,GACtE,GAAIskF,IAAK,UAAWU,IAAMrgE,KAAKsgE,QAASr7E,IAAQ5J,GAAIA,KACpD,IAAIklF,aACJ,IAAGF,MAAQ3gF,WAAailC,IAAK07C,IAAM17C,IAAI27C,OACvC,IAAGD,MAAQ3gF,WAAa0gF,KAAMC,IAAMD,KAAKE,OACzC,OAAMhxD,OAAO+wD,OAAS3gF,UAAW,CAChC,GAAG4vB,OAAO+wD,KAAKV,GAAIA,GAAKrwD,OAAO+wD,KAAKV,EACpC,IAAGrwD,OAAO+wD,KAAKP,SAAUS,UAAU9vE,KAAK6e,OAAO+wD,KAAKP,SACpD,KAAIxwD,OAAO+wD,KAAKG,OAAQ,KACxBH,KAAM/wD,OAAO+wD,KAAKG,OAEnB,OAAOplF,KAAKk3B,MACX,IAAK,UACJtS,KAAKphB,EAAI,GACTohB,MAAKthB,EAAIoZ,aAAaqoE,IACtB,MACD,KAAK,SACJngE,KAAKphB,EAAI,GAAKohB,MAAK1Y,EAAIqQ,YAAYP,YAAY+oE,KAC/CngE,MAAKthB,EAAIyhF,IAAI9iF,QAAQ,MAAQ,EAAIyI,GAAKka,KAAK1Y,CAC3C,MACD,KAAK,WACJ0Y,KAAKthB,GAAKyG,KAAKiI,MAAM+yE,KAAO,GAAIh7E,MAAKA,KAAKs7E,IAAI,KAAM,GAAI,OAAS,GAAK,GAAK,GAAK,IAChF,IAAGzgE,KAAKthB,IAAMshB,KAAKthB,EAAGshB,KAAKthB,EAAI0Y,YAAY+oE,SACtC,IAAGngE,KAAKthB,GAAK,GAAKshB,KAAKthB,EAAE,GAAIshB,KAAKthB,EAAIshB,KAAKthB,EAAG,CACnD,KAAIihF,IAAMA,IAAM,UAAWA,GAAK,YAEjC,KAAK,SACJ,GAAG3/D,KAAKthB,IAAMgB,UAAWsgB,KAAKthB,GAAGyhF,GACjC,KAAIngE,KAAKphB,EAAGohB,KAAKphB,EAAI,GACrB,MACD,KAAK,QAASohB,KAAKphB,EAAI,GAAKohB,MAAKthB,EAAI8kB,MAAM28D,IAAMngE,MAAK3c,EAAI88E,GAAK,MAC/D,SAASngE,KAAKphB,EAAI,GAAKohB,MAAKthB,EAAIiZ,YAAY7R,GAAK,OAElD45E,iBAAiB1/D,KAAM2/D,GAAItkF,EAC3B,IAAGA,EAAEs9E,aAAe,MAAQ34D,KAAK0gE,QAAS,CACzC1gE,KAAK7U,EAAI0gD,SAASz0C,YAAY4I,KAAK0gE,SAAU94E,KAC7CoY,MAAK0gE,QAAUhhF,UAEhB,GAAGrE,EAAE66E,WAAY,CAChBqK,UAAUlnE,QAAQ,SAASxd,GAC1B,IAAIoJ,EAAE68B,aAAejmC,EAAEimC,YAAa78B,EAAE68B,YAAcjmC,EAAEimC,aAEvD9hB,MAAKriB,EAAIsH,EAEV+a,KAAKgc,KAAOhc,KAAKsgE,UAAY5gF,UAAYsgB,KAAKsgE,QAAU,UAGzD,QAASK,oBAAmBx2B,SAC3BA,QAAQvrD,EAAIurD,QAAQzrD,CACpByrD,SAAQzrD,EAAIyrD,QAAQ9mD,EAAI8mD,QAAQnuB,KAAOt8B,UAGxC,QAASkhF,gBAAejiF,GACvB,GAAGrB,SAAWC,OAAOmf,SAAS/d,GAAI,MAAOA,GAAEoW,SAAS,OACpD,UAAUpW,KAAM,SAAU,MAAOA,EACjC,MAAM,IAAIuF,OAAM,+CAIjB,GAAI28E,WAAY,kCAChB,SAASC,gBAAeniF,EAAGgB,MAC1B,GAAIyI,KAAMw4E,eAAejiF,EACzB,IAAI8gF,GACJ,IAAIrtE,UAAY8rC,GAChB,IAAI7uB,WAAa0xD,cAAiBC,YAAeC,UAAY,EAC7D,IAAIz1E,UAAYwU,QAAa2kB,MAC7B,IAAIu8C,MAAO/B,iBAAiB,2BAA4BgC,KAAO,CAC/D,IAAI5iF,GAAI,EAAG+I,EAAI,CACf,IAAI8uE,WAAYz4E,GAAI2J,EAAE,IAAS/I,EAAE,KAAUqX,GAAItO,EAAE,EAAG/I,EAAE,GACtD,IAAI+wB,WAAauwD,OACjB,IAAI/5E,IAAK,GAAIs7E,KAAO,CACpB,IAAIpL,cACJ,IAAI3gD,UAAYmqD,aAAgB6B,KAAO,EAAGnmF,KAC1C,IAAI60B,aAAeo6B,UACnB,IAAIm3B,UAAYlB,IAChBS,WAAUU,UAAY,CACtB,OAAO9B,GAAKoB,UAAUW,KAAKp5E,KAAO,OAAOq3E,GAAG,IAC3C,IAAK,OACJ,GAAGrtE,MAAMA,MAAM5W,OAAO,GAAG,GAAI,KAC7B,IAAGikF,GAAG,KAAK,IAAKS,gBAAgB93E,IAAI2F,MAAMozE,KAAM1B,GAAG77D,OAAQ9d,GAAIo7E,KAAM9uE,MAAMA,MAAM5W,OAAO,GAAG,IAAI,UAAU2uD,QAAQnqC,MAAOzhB,EAAEA,EAAE+I,EAAEA,GAAIgoB,OAAQgyD,MAAM/iF,GAAIomC,IAAKhlC,UACpJ,CAAEmG,GAAK,EAAIo7E,MAAO/B,iBAAiBM,GAAG,GAAK0B,MAAO1B,GAAG77D,MAAQ67D,GAAG,GAAGjkF,OACxE,KACD,KAAK,OACJ,GAAGikF,GAAG,KAAK,IAAI,CACd,GAAG1vD,SAASv0B,OAAS,EAAGwkB,KAAKzhB,EAAIwxB,QACjC,MAAKpwB,KAAKurD,WAAavrD,KAAKurD,UAAY5jD,IAAM0Y,KAAKthB,IAAMgB,UAAWshF,SAAS70B,WAAW5tD,GAAK6tD,WAAW9kD,IAAM0Y,IAC9G,IAAGA,KAAKyhE,KAAM,CACbzhE,KAAKxhB,GAAK+zB,OAAOvS,KAAKyhE,KAAMnG,QAAQt7D,KAAK0hE,cACzC1hE,MAAKyhE,KAAOzhE,KAAK0hE,cAAgBhiF,UAElC,GAAGsgB,KAAK2hE,aAAe3hE,KAAK4hE,UAAW,CACtC,GAAIv5E,IAAK9J,GAAKmJ,SAASsY,KAAK2hE,YAAY,IAAI,EAC5C,IAAIh6E,IAAKL,GAAKI,SAASsY,KAAK4hE,UAAU,IAAI,EAC1C5L,YAAWvlE,MAAM9S,GAAGY,EAAEA,EAAE+I,EAAEA,GAAGsO,GAAGrX,EAAE8J,GAAGf,EAAEK,QAEtCpJ,CACF,IAAGyhB,KAAK2hE,YAAapjF,IAAMyhB,KAAK2hE,gBAC1B,CACN3hE,KAAOq/D,oBAAoBI,GAAG,GAC9B,IAAGz/D,KAAKogC,MAAO7hD,GAAKyhB,KAAKogC,MAAQ,CACjC,IAAG7hD,EAAI63E,SAASz4E,EAAEY,EAAG63E,SAASz4E,EAAEY,EAAIA,CACpC,IAAGA,EAAI63E,SAASxgE,EAAErX,EAAG63E,SAASxgE,EAAErX,EAAIA,CACpC,IAAGkhF,GAAG,GAAGvjF,QAAQ,KAAO,OAAQqC,CAChCwxB,aAED,KACD,KAAK,MACJ,GAAG0vD,GAAG,KAAK,KAAOA,GAAG,GAAGvjF,QAAQ,KAAO,KAAM,CAC5C,GAAGoL,EAAI8uE,SAASz4E,EAAE2J,EAAG8uE,SAASz4E,EAAE2J,EAAIA,CACpC,IAAGA,EAAI8uE,SAASxgE,EAAEtO,EAAG8uE,SAASxgE,EAAEtO,EAAIA,CACpC,IAAGm4E,GAAG,GAAGvjF,QAAQ,KAAO,KAAM,CAC7ByoC,IAAMw6C,iBAAiBM,GAAG,GAC1B,IAAG96C,IAAIyb,MAAO94C,GAAKq9B,IAAIyb,MAAQ,EAEhC7hD,EAAI,IAAK+I,MACH,CACNq9B,IAAMw6C,iBAAiBM,GAAG,GAC1B,IAAG96C,IAAIyb,MAAO94C,GAAKq9B,IAAIyb,MAAQ,EAEhC,KACD,KAAK,YACJ,GAAGq/B,GAAG,KAAK,IAAI,CACd,IAAIvhC,IAAI9rC,MAAM6f,OAAO,KAAKwtD,GAAG,GAAI,KAAM,cAAcvhC,GACrD6iC,YAAWtwE,KAAKwwE,UAChB,IAAG7K,SAASz4E,EAAE2J,GAAK8uE,SAASxgE,EAAEtO,GAAK8uE,SAASz4E,EAAEY,GAAK63E,SAASxgE,EAAErX,EAAGyiF,SAAS,QAAUx2B,aAAa4rB,SACjG,IAAGJ,WAAWx6E,OAAQwlF,SAAS,WAAahL,UAC5C3mD,QAAO4xD,WAAaD,aACd,CACN5K,UAAYz4E,GAAI2J,EAAE,IAAS/I,EAAE,KAAUqX,GAAItO,EAAE,EAAG/I,EAAE,GAClD+I,GAAI/I,EAAI,CACR6T,OAAM3B,MAAMgvE,GAAG,GAAI,OACnBvhC,KAAMihC,iBAAiBM,GAAG,GAC1BwB,WAAY/iC,IAAIra,IAChBm9C,YACAhL,eAED,KACD,KAAK,QACJ,GAAGyJ,GAAG,KAAK,IAAI,CAAC,IAAIvhC,IAAI9rC,MAAM6f,OAAO,KAAKwtD,GAAG,GAAI,KAAM,cAAcvhC,QAChE,IAAGuhC,GAAG,GAAG1xE,OAAO,IAAM,KAAM,UAC5B,CACJvC,MAAQ2zE,iBAAiBM,GAAG,GAC5BrtE,OAAM3B,MAAMgvE,GAAG,GAAI,OACnB6B,UAED,KAED,KAAK,QACJ,GAAG7B,GAAG,KAAK,IAAKG,mBAAmBtwD,OAAQuwD,KAAMlgF,UAC5CkgF,MAAOV,iBAAiBM,GAAG,GAChC,MAED,KAAK,eACJI,KAAKF,GAAKR,iBAAiBM,GAAG,IAAIoC,QAAU,SAC5C,MAED,KAAK,SACJ,GAAGzvE,MAAMA,MAAM5W,OAAO,GAAG,KAAO,QAAS,KACzC4kF,MAAOjB,iBAAiBM,GAAG,GAC3B6B,OAAOlB,KAAKhgC,MAAM,GAAGkhC,MAAM9lF,QAAW4kF,IACtC,KAAI,GAAI9kF,GAAI,EAAGA,GAAK8kF,KAAK0B,OAAQxmF,EAAGgmF,MAAMA,MAAM9lF,QAAU4kF,IAC1D,MAED,KAAK,aAAc,KACnB,KAAK,YAAa,KAClB,KAAK,IAAK,KACV,KAAK,IAAK,KACV,KAAK,IAAK,KACV,KAAK,IAAK,KACV,KAAK,MAAO,KACZ,KAAK,MAAO,KACZ,KAAK,OAAQ,KACb,KAAK,SAAU,KACf,KAAK,YAAa,KAClB,KAAK,UAAW,KAChB,KAAK,OACJ,GAAGX,GAAG,GAAGvjF,QAAQ,KAAO,KAAM,UACzB,IAAGujF,GAAG,KAAK,IAAK35E,IAAMsC,IAAI2F,MAAMqzE,KAAM3B,GAAG77D,WACzCw9D,MAAO3B,GAAG77D,MAAQ67D,GAAG,GAAGjkF,MAC7B,MACD,KAAK,WACJ,IAAImE,KAAKu2E,WAAY,KACrB2J,MAAKC,SAAWX,iBAAiBM,GAAG,GACpC,MACD,KAAK,aAAc,KAEnB,KAAK,SACL,IAAK,QACL,IAAK,cACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,gBACL,IAAK,UACJ,GAAGA,GAAG,GAAGvjF,QAAQ,KAAO,KAAM,UACzB,IAAGujF,GAAG,KAAK,IAAKrqD,cAAcC,MAAOoqD,GAAG,GAAIr3E,IAAI2F,MAAMszE,KAAM5B,GAAG77D,YAC/Dy9D,MAAO5B,GAAG77D,MAAQ67D,GAAG,GAAGjkF,MAC7B,MACD,KAAK,aAAc,KAEnB,KAAK,SACL,IAAK,WACJ,GAAGikF,GAAG,KAAK,IAAI,CAAC,IAAIvhC,IAAI9rC,MAAM6f,OAAO,KAAKwtD,GAAG,GAAI,KAAM,cAAcvhC,QAChE9rC,OAAM3B,MAAMgvE,GAAG,GAAI,OACxB,MAED,KAAK,UACJ,GAAGA,GAAG,KAAK,IAAI,CACd,IAAIvhC,IAAI9rC,MAAM6f,OAAO,KAAKwtD,GAAG,GAAI,KAAM,cAAcvhC,GACrDyiC,oBAAmBx2B,QACnBp6B,UAAStf,KAAK05C,aACR,CACN/3C,MAAM3B,MAAMgvE,GAAG,GAAI,OACnBvhC,KAAMihC,iBAAiBM,GAAG,GAC1Bt1B,UAAW5tC,EAAE2hC,IAAI6jC,QAElB,KAED,KAAK,OAAQ,KAEb,KAAK,mBACL,IAAK,qBACL,IAAK,2BACL,IAAK,yBACL,IAAK,aACL,IAAK,aACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,iBACL,IAAK,aACL,IAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,wBACL,IAAK,eACL,IAAK,YACL,IAAK,gBACL,IAAK,kBACL,IAAK,mBACJ,GAAGtC,GAAG,KAAK,IAAI,CAAC,IAAIvhC,IAAI9rC,MAAM6f,OAAO,KAAKwtD,GAAG,GAAI,KAAM,cAAcvhC,QAChE,IAAGuhC,GAAG,GAAGviF,OAAOuiF,GAAG,GAAGjkF,OAAO,KAAO,IAAK4W,MAAM3B,MAAMgvE,GAAG,GAAI,MACjE,MAED,SACC,GAAIuC,MAAO,IACX,QAAO5vE,MAAMA,MAAM5W,OAAO,GAAG,IAE5B,IAAK,yBAA0B,OAAOikF,GAAG,IACxC,IAAK,WAAY,KACjB,KAAK,4BAA6B,KAClC,KAAK,qBAAsB,KAC3B,KAAK,uBAAwB,KAC7B,KAAK,SAAU,KACf,KAAK,QAAS,KACd,KAAK,QAAS,KACd,KAAK,MAAO,KACZ,KAAK,gBAAiB,KACtB,KAAK,mBAAoB,KACzB,KAAK,sBAAuB,KAC5B,SAASuC,KAAO,MACf,KAGF,KAAK,mBAAoB,OAAOvC,GAAG,IAClC,IAAK,UAAW,KAChB,KAAK,iBAAkB,KACvB,KAAK,qBAAsB,KAC3B,KAAK,QAAS,KACd,KAAK,UAAW,KAChB,KAAK,YAAa,KAClB,KAAK,WAAY,KACjB,KAAK,kBAAmB,KACxB,SAASuC,KAAO,MACf,KAGF,KAAK,gBAAiB,OAAOvC,GAAG,IAC/B,IAAK,eAAgB,KACrB,KAAK,cAAe,KACpB,KAAK,aAAc,KACnB,KAAK,aAAc,KACnB,KAAK,WAAY,KACjB,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,oBAAqB,KAC1B,KAAK,UAAW,KAChB,KAAK,YAAa,KAClB,KAAK,aAAc,KACnB,KAAK,kBAAmB,KACxB,KAAK,iBAAkB,KACvB,KAAK,MAAO,KACZ,KAAK,yBAA0B,KAC/B,KAAK,sBAAuB,KAC5B,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,gBAAiB,KACtB,KAAK,YAAa,KAClB,KAAK,OAAQ,KACb,KAAK,MAAO,KACZ,KAAK,QAAS,KACd,KAAK,iBAAkB,KACvB,KAAK,cAAe,KACpB,KAAK,WAAY,KACjB,KAAK,gBAAiB,KACtB,KAAK,MAAO,KACZ,KAAK,aAAc,KACnB,KAAK,UAAW,KAChB,KAAK,WAAY,KACjB,KAAK,UAAW,KAChB,KAAK,aAAc,KACnB,KAAK,UAAW,KAChB,KAAK,QAAS,KACd,KAAK,OAAQ,KACb,KAAK,MAAO,KACZ,KAAK,gBAAiB,KACtB,KAAK,iBAAkB,KACvB,KAAK,2BAA4B,KACjC,KAAK,SAAU,KACf,KAAK,cAAe,KACpB,KAAK,qBAAsB,KAC3B,SAASuC,KAAO,MACf,KAGF,KAAK,kBAAmB,OAAOvC,GAAG,IACjC,IAAK,aAAc,KACnB,KAAK,SAAU,KACf,KAAK,QAAS,KACd,SAASuC,KAAO,MACf,KAGF,KAAK,mBAAoB,OAAOvC,GAAG,IAClC,IAAK,WAAY,KACjB,KAAK,UAAW,KAChB,KAAK,QAAS,KACd,KAAK,QAAS,KACd,KAAK,QAAS,KACd,KAAK,OAAQ,KACb,KAAK,SAAU,KACf,KAAK,SAAU,KACf,KAAK,SAAU,KACf,KAAK,SAAU,KACf,KAAK,YAAa,KAClB,KAAK,cAAe,KACpB,KAAK,WAAY,KACjB,KAAK,iBAAkB,KACvB,KAAK,kBAAmB,KACxB,KAAK,mBAAoB,KACzB,KAAK,mBAAoB,KACzB,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,iBAAkB,KACvB,KAAK,YAAa,KAClB,KAAK,YAAa,KAClB,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,mBAAoB,KACzB,KAAK,oBAAqB,KAC1B,KAAK,sBAAuB,KAC5B,KAAK,YAAa,KAClB,KAAK,iBAAkB,KACvB,KAAK,iBAAkB,KACvB,KAAK,iBAAkB,KACvB,KAAK,gBAAiB,KACtB,KAAK,WAAY,KACjB,KAAK,wBAAyB,KAC9B,KAAK,kBAAmB,KACxB,KAAK,gBAAiB,KACtB,KAAK,cAAe,KACpB,KAAK,gBAAiB,KACtB,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,iBAAkB,KACvB,KAAK,OAAQ,KACb,KAAK,cAAe,KACpB,KAAK,YAAa,KAClB,KAAK,YAAa,KAClB,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,kBAAmB,KACxB,KAAK,kBAAmB,KACxB,KAAK,kBAAmB,KACxB,KAAK,wBAAyB,KAC9B,KAAK,mBAAoB,KACzB,KAAK,gBAAiB,KACtB,KAAK,gBAAiB,KACtB,KAAK,2BAA4B,KACjC,KAAK,gBAAiB,KACtB,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,8BAA+B,KACpC,KAAK,gBAAiB,KACtB,KAAK,oBAAqB,KAC1B,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,sBAAuB,KAC5B,KAAK,gBAAiB,KACtB,KAAK,sBAAuB,KAC5B,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,YAAa,KAClB,KAAK,kBAAmB,KACxB,SAASuC,KAAO,MACf,KAGF,KAAK,aAAc,IAAK,aAAc,OAAOvC,GAAG,IAC/C,IAAK,uBAAwB,KAC7B,KAAK,4BAA6B,KAClC,KAAK,mBAAoB,KACzB,KAAK,WAAY,KACjB,KAAK,aAAc,KACnB,KAAK,cAAe,KACpB,KAAK,aAAc,KACnB,KAAK,yBAA0B,KAC/B,KAAK,mBAAoB,KACzB,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,aAAc,KACnB,KAAK,cAAe,KACpB,KAAK,cAAe,KACpB,KAAK,aAAc,KACnB,KAAK,mBAAoB,KACzB,KAAK,OAAQ,KACb,KAAK,WAAY,KACjB,KAAK,WAAY,KACjB,KAAK,aAAc,KACnB,KAAK,yBAA0B,KAC/B,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,gBAAiB,KACtB,KAAK,aAAc,KACnB,KAAK,sBAAuB,KAC5B,KAAK,SAAU,KACf,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,gBAAiB,KACtB,KAAK,WAAY,KACjB,KAAK,oBAAqB,KAC1B,KAAK,iBAAkB,KACvB,KAAK,cAAe,KACpB,KAAK,iBAAkB,KACvB,KAAK,cAAe,KACpB,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,qBAAsB,KAC3B,KAAK,oBAAqB,KAC1B,KAAK,uBAAwB,KAC7B,KAAK,wBAAyB,KAC9B,KAAK,cAAe,KACpB,SAASuC,KAAO,MACf,KAGF,KAAK,aAAc,OAAOvC,GAAG,IAC5B,IAAK,YAAa,KAClB,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,WAAY,KACjB,KAAK,WAAY,KACjB,KAAK,SAAU,KACf,KAAK,SAAU,KACf,SAASuC,KAAO,MACf,KAGF,KAAK,aAAc,OAAOvC,GAAG,IAC5B,IAAK,mBAAoB,KACzB,KAAK,sBAAuB,KAC5B,KAAK,gBAAiB,KACtB,KAAK,eAAgB,KACrB,SAASuC,KAAO,MACf,KAGF,KAAK,aAAc,OAAOvC,GAAG,IAC5B,IAAK,KAAM,KACX,KAAK,iBAAkB,KACvB,KAAK,oBAAqB,KAC1B,KAAK,cAAe,KACpB,KAAK,YAAa,KAClB,KAAK,qBAAsB,KAC3B,KAAK,iBAAkB,KACvB,KAAK,YAAa,KAClB,KAAK,aAAc,KACnB,KAAK,aAAc,KACnB,KAAK,cAAe,KACpB,KAAK,cAAe,KACpB,KAAK,WAAY,KACjB,KAAK,SAAU,KACf,KAAK,aAAc,KACnB,KAAK,iBAAkB,KACvB,KAAK,qBAAsB,KAC3B,KAAK,qBAAsB,KAC3B,KAAK,SAAU,KACf,KAAK,SAAU,KACf,KAAK,UAAW,KAChB,KAAK,oBAAqB,KAC1B,KAAK,uBAAwB,KAC7B,KAAK,iBAAkB,KACvB,KAAK,YAAa,KAClB,KAAK,aAAc,KACnB,KAAK,MAAO,KACZ,KAAK,QAAS,KACd,KAAK,iBAAkB,KACvB,KAAK,kBAAmB,KACxB,KAAK,qBAAsB,KAC3B,SAASuC,KAAO,MACf,KAGF,KAAK,UAEL,IAAK,wBAEL,IAAK,iBAAkB,OAAOvC,GAAG,IAChC,IAAK,QAAS,KACd,KAAK,OAAQ,KACb,KAAK,MAAO,KACZ,KAAK,MAAO,KACZ,KAAK,OAAQ,KACb,KAAK,aAAc,KACnB,KAAK,QAAS,KACd,KAAK,gBAAiB,KACtB,KAAK,QAAS,KACd,KAAK,aAAc,KACnB,KAAK,eAAgB,KACrB,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,eAAgB,KACrB,KAAK,aAAc,KACnB,KAAK,YAAa,KAClB,KAAK,YAAa,KAClB,KAAK,YAAa,KAClB,KAAK,YAAa,KAClB,KAAK,WAAY,KACjB,KAAK,SAAU,KACf,KAAK,SAAU,KACf,KAAK,SAAU,KACf,SAASuC,KAAO,MACf,KAGF,KAAK,UAAW,IAAK,SAAU,IAAK,OAAQ,OAAOvC,GAAG,IACrD,IAAK,MAAO,KACZ,KAAK,QAAS,KACd,KAAK,QAAS,KACd,KAAK,QAAS,KACd,KAAK,QAAS,KACd,KAAK,UAAW,KAChB,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,cAAe,KACpB,KAAK,gBAAiB,KAEtB,KAAK,SACL,IAAK,UACL,IAAK,cACL,IAAK,WACL,IAAK,MACL,IAAK,YACL,IAAK,UAAW,KAEhB,KAAK,MAAO,KACZ,SAASuC,KAAO,MACf,KAGF,KAAK,YAAa,KAElB,SAASA,KAAO,KAAO,OAExB,GAAGA,KAAM,KAET,KAAI5vE,MAAMA,MAAM5W,OAAO,GAAG,GAAI,KAAM,qBAAuBikF,GAAG,GAAK,IAAMrtE,MAAMqH,KAAK,IACpF,IAAGrH,MAAMA,MAAM5W,OAAO,GAAG,KAAK,2BAA4B,CACzD,GAAGikF,GAAG,GAAGvjF,QAAQ,KAAO,KAAM,UACzB,IAAGujF,GAAG,KAAK,IAAKF,kBAAkBC,UAAWC,GAAIvkF,GAAIkN,IAAI2F,MAAMszE,KAAM5B,GAAG77D,YACxE,CAAE1oB,GAAKukF,EAAI4B,MAAO5B,GAAG77D,MAAQ67D,GAAG,GAAGjkF,OACxC,MAED,GAAGmE,KAAK6wB,IAAK,KAAM,qBAAuBivD,GAAG,GAAK,IAAMrtE,MAAMqH,KAAK,KAErE,GAAI9U,OACJ,KAAIhF,KAAKsiF,aAAetiF,KAAKuiF,UAAWv9E,IAAIw0E,OAAS9pD,MACrD1qB,KAAIwvB,WAAa4sD,UACjBp8E,KAAIxG,IAAMA,IAAIyN,WACdjH,KAAI0wB,MAAQA,KACZ1wB,KAAI66E,UAAYA,SAChB,OAAO76E,KAGR,QAASw9E,YAAW/mF,KAAMuE,MACzByiF,cAAcziF,KAAKA,SACnB,QAAOA,KAAK+F,MAAM,UACjB,IAAK,SAAU,MAAOo7E,gBAAe1kF,OAAOH,OAAOb,MAAOuE,KAC1D,KAAK,SAAU,IAAK,SAAU,IAAK,OAAQ,MAAOmhF,gBAAe1lF,KAAMuE,KACvE,KAAK,QAAS,MAAOmhF,gBAAe1lF,KAAKkB,IAAI4iF,MAAMzlE,KAAK,IAAK9Z,OAI/D,QAAS0iF,YAAW58B,GAAI9lD,MACvB,GAAItE,IAAKye,WACT,OAAOze,GAAEoe,KAAK,IAGf,QAAS6oE,eAAcnuE,KACtB,GAAIzV,KACJ,IAAIrD,GAAI8Y,IAAIzB,OAGZ,IAAIlU,GAAI,GAAIsG,CACZA,GAAI+W,QAAQxgB,EAAGmD,EACfA,IAAK,EAAIqU,eAAexX,EAAEmD,EAC1BE,GAAE6jF,SAAWz9E,CAGbA,GAAI+N,eAAexX,EAAEmD,EAAIA,IAAI,CAC7B,QAAOsG,GACN,IAAK,GAAY,KACjB,KAAK,YAAY,IAAK,YAAYtG,GAAG,CAAG,MACxC,SACC,GAAGsG,EAAI,IAAO,KAAM,IAAIZ,OAAM,0BAA4BY,EAAEiQ,SAAS,IACrEvW,IAAKsG,EAGPA,EAAI+W,QAAQxgB,EAAGmD,EAAIA,IAAKsG,EAAEtJ,SAAW,EAAI,EAAI,EAAIsJ,EAAEtJ,MAAQkD,GAAE8jF,UAAY19E,CAEzE,KAAIA,EAAI+N,eAAexX,EAAEmD,MAAQ,WAAY,MAAOE,EACpD,MAAM,IAAIwF,OAAM,iCAIjB,QAASu+E,OAAMpyE,EAAGvC,KAAMtS,OAAQmE,MAC/B,GAAInB,GAAIhD,MACR,IAAIsC,QACJ,IAAIa,GAAImP,KAAKC,MAAMD,KAAKtP,EAAEsP,KAAKtP,EAAEA,EACjC,IAAGmB,MAAQA,KAAKy+B,KAAOz+B,KAAKy+B,IAAI+iB,eAAgB,OAAO9wC,EAAE2W,GACzD,IAAK,MAAO,IAAK,WAAY,IAAK,WAAY,IAAK,eAAgB,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,KACnH,SACC,GAAGroB,EAAEnD,SAAW,EAAG,KACnBmE,MAAKy+B,IAAI+iB,eAAexiD,GAEzBb,KAAK2S,KAAK9R,EACVmP,MAAKtP,GAAKA,CACV,IAAI2gB,MAAQujE,cAAcpnE,eAAexN,KAAKA,KAAKtP,GACnD,OAAM2gB,MAAQ,MAAQA,KAAK6H,IAAM,WAAY,CAC5CxoB,EAAI8c,eAAexN,KAAKA,KAAKtP,EAAE,EAC/BV,MAAK2S,KAAK3C,KAAKC,MAAMD,KAAKtP,EAAE,EAAEsP,KAAKtP,EAAE,EAAEA,GACvCsP,MAAKtP,GAAK,EAAEA,CACZ2gB,MAAQujE,cAAcpnE,eAAexN,KAAMA,KAAKtP,IAEjD,GAAIkc,GAAK7c,QAAQC,KACjBkQ,WAAU0M,EAAG,EACb,IAAIioE,IAAK,CAAGjoE,GAAE+C,OACd,KAAI,GAAIvX,GAAI,EAAGA,EAAIpI,KAAKtC,SAAU0K,EAAG,CAAEwU,EAAE+C,KAAKhN,KAAKkyE,GAAKA,KAAM7kF,KAAKoI,GAAG1K,OACtE,MAAO6U,GAAElF,EAAEuP,EAAGA,EAAElf,OAAQmE,MAGzB,QAASijF,gBAAe9iE,EAAGngB,KAAMuF,UAChC,GAAG4a,EAAElhB,IAAM,IAAK,CAAEkhB,EAAEzc,EAAIyc,EAAEzc,GAAK2f,KAAKlD,EAAEphB,GACtC,IAAIohB,EAAE+iE,GAAI,MACV,KACC,GAAI1tD,OAAQrV,EAAE+iE,GAAG1hD,MAAM,CACvB,IAAGrhB,EAAElhB,IAAM,SACN,IAAGu2B,QAAU,EAAG,CACpB,GAAGrV,EAAElhB,IAAM,IAAK,CACf,IAAIkhB,EAAEphB,EAAE,KAAOohB,EAAEphB,EAAGohB,EAAEzc,EAAIlF,IAAIyE,aAAakd,EAAEphB,OACxCohB,GAAEzc,EAAIlF,IAAI6F,aAAa8b,EAAEphB,OAE1BohB,GAAEzc,EAAIlF,IAAIgG,SAAS2b,EAAEphB,OAEtBohB,GAAEzc,EAAIlF,IAAIoN,OAAO4pB,MAAMrV,EAAEphB;AAAIwG,SAASA,UAAU,OACrD,IAAGvF,KAAK01E,OAAQv1D,EAAEtJ,EAAIrY,IAAIsN,OAAO0pB,OAChC,MAAMvf,GAAK,GAAGjW,KAAK6wB,IAAK,KAAM5a,IAGjC,QAASktE,WAAUl9E,IAAKo2B,KAAMp9B,GAC7B,OAASF,EAAEkH,IAAKo2B,KAAKA,KAAMp9B,EAAEA,GAI9B,QAASmkF,gBAAej1E,KAAMmF,SAC7B,GAAIwyC,KAAO9lD,QACX,IAAIw5E,UACJ,IAAIx0E,OACJ,IAAIq+E,aACJ,IAAIC,aAAc,KAClB,IAAI5iE,SACJ,IAAI6iE,cAAe,IACnB,IAAItyD,OACJ,IAAIuyD,WAAY,EAChB,IAAIC,YACJ,IAAIC,UAAUC,UAAWj7E,GAAIk7E,KAAM5M,IAAK6M,KAAMC,IAC9C,IAAIC,mBACJ,IAAIC,kBACJ,IAAIC,SACJ,IAAIC,QACJ,IAAIC,YAAa,IACjB,IAAIC,OACJ,IAAIC,WACJ,IAAIC,SAAU,QAASC,QAAOC,KAC7B,GAAGA,IAAM,EAAG,MAAO/5D,QAAO+5D,IAC1B,IAAGA,IAAM,GAAI,MAAOH,SAAQG,IAAI,IAAM/5D,OAAO+5D,IAC7C,OAAO/5D,QAAO+5D,KAEf,IAAIC,oBAAqB,QAASC,KAAIrkE,KAAMskE,MAC3C,GAAIC,KAAMD,KAAKzB,GAAGznF,IAClB,KAAImpF,MAAQA,IAAIziD,YAAa,MAC7BwiD,MAAK3mF,IACL2mF,MAAK3mF,EAAEmkC,YAAcyiD,IAAIziD,WACzB,IAAIljC,EACJ,IAAIA,EAAI4iD,QAAQyiC,QAAQM,IAAIxiD,UAAY,CAAEuiD,KAAK3mF,EAAE0mD,SAAWpI,IAAIr9C,GAChE,GAAIA,EAAI4iD,QAAQyiC,QAAQM,IAAIviD,UAAY,CAAEsiD,KAAK3mF,EAAEumD,SAAWjI,IAAIr9C,IAEjE,IAAI4lF,SAAU,QAASA,SAAQxkE,KAAMskE,KAAMrxE,SAC1C,IAAI6wE,WAAY,MAChB,IAAG7wE,QAAQijE,YAAcoO,KAAKzB,IAAMyB,KAAKzB,GAAGznF,KAAMgpF,mBAAmBpkE,KAAMskE,KAC3EjB,UAAWrjE,IACXsjE,WAAY/5B,YAAYvpC,KACxB,IAAGK,MAAM1iB,EAAG,CACX,GAAGqiB,KAAK1Y,EAAI+Y,MAAM1iB,EAAE2J,EAAG+Y,MAAM1iB,EAAE2J,EAAI0Y,KAAK1Y,CACxC,IAAG0Y,KAAKzhB,EAAI8hB,MAAM1iB,EAAEY,EAAG8hB,MAAM1iB,EAAEY,EAAIyhB,KAAKzhB,EAEzC,GAAG8hB,MAAMzK,EAAG,CACX,GAAGoK,KAAK1Y,EAAI,EAAI+Y,MAAMzK,EAAEtO,EAAG+Y,MAAMzK,EAAEtO,EAAI0Y,KAAK1Y,EAAI,CAChD,IAAG0Y,KAAKzhB,EAAI,EAAI8hB,MAAMzK,EAAErX,EAAG8hB,MAAMzK,EAAErX,EAAIyhB,KAAKzhB,EAAI,EAEjD,GAAG0U,QAAQi4C,WAAam4B,SAAS/7E,GAAK2L,QAAQi4C,UAAW44B,WAAa,UACjEn/E,KAAI2+E,WAAagB,KAEvB,IAAI3kF,OACHy+B,IAAK,MACL0E,MAAO,EACPiB,UACA4xB,QAAS+tB,gBACT5tB,OAAQ6tB,eACRc,WACAC,SAAU,GACVlrD,KAAM,EACNmrD,SAAU,EACVC,UAAW,EACXC,IAAK,MAEN,IAAG5xE,QAAQktC,SAAUxgD,KAAKwgD,SAAWltC,QAAQktC,QAC7C,IAAI61B,cACJ,IAAI8O,WACJ,IAAI/vB,cACJ,IAAIgwB,KAAM,EAAGC,KAAO,EAAGC,MAAQ,CAC/BlwB,UAAS5gC,WAAax0B,KAAKokC,MAC3BgxB,UAASY,QAAUh2D,KAAKg2D,OACxBZ,UAASe,OAASn2D,KAAKm2D,MACvB,IAAIovB,SAAU,EACd,IAAIC,YAAa,CACjB,IAAIC,UAAW,CAGfzlF,MAAKglF,SAAW,IAChB1pF,QAAO,KAEP,OAAM6S,KAAKtP,EAAIsP,KAAKtS,OAAS,EAAG,CAC/B,GAAImC,GAAImQ,KAAKtP,CACb,IAAI6mF,YAAav3E,KAAKQ,WAAW,EACjC,IAAG+2E,aAAe,GAAKH,UAAY,MAAO,KAC1C,IAAI1pF,QAAUsS,KAAKtP,IAAMsP,KAAKtS,OAAS,EAAIsS,KAAKQ,WAAW,GAAK7O,CAChE,IAAI4Q,GAAIqyE,cAAc2C,WAEtB,IAAGh1E,GAAKA,EAAElF,EAAG,CACZ,GAAG8H,QAAQgvE,WAAY,CACtB,GAAGiD,UAAY,eAAiB70E,EAAE2W,IAAM,cAAe,MAExDk+D,QAAU70E,EAAE2W,CACZ,IAAG3W,EAAE/I,IAAM,GAAK+I,EAAE/I,GAAK,GAAI,CAC1B,GAAI40B,IAAKpuB,KAAKQ,WAAW,EAAI9S,SAAU,CACvC,KAAImE,KAAKy+B,KAAOlC,KAAOmpD,WAAY,KAAM,aACzC,IAAGh1E,EAAE/I,GAAK,GAAG,CAAEwG,KAAKtP,GAAK,EAAIhD,SAAU,IAGxC,GAAIoK,IACJ,IAAGyK,EAAE2W,IAAM,MAAOphB,IAAMyK,EAAElF,EAAE2C,KAAMtS,OAAQmE,UACrCiG,KAAM68E,MAAMpyE,EAAGvC,KAAMtS,OAAQmE,KAClC,IAAI8/E,IAAKpvE,EAAE2W,CAEX,QAAOy4D,IAEN,IAAK,WAAYh6B,GAAG9lD,KAAK2lF,SAAW1/E,GAAK,MACzC,KAAK,eAAgB6/C,GAAG9lD,KAAK4lF,aAAe,IAAM,MAClD,KAAK,WACJ,IAAI5lF,KAAKy+B,IAAKtwB,KAAKtP,EAAI,CACvBmB,MAAKy+B,IAAMx4B,GACX,IAAGjG,KAAK6wB,IAAKC,QAAQC,MAAM9qB,IAC3B,KAAIqN,QAAQktC,SAAU,KAAM,IAAIj8C,OAAM,6BACtC,IAAG0B,IAAI0sB,OAAS,EAAG,KAAM,IAAIpuB,OAAM,gCACnC,KAAI0B,IAAIs7C,MAAO,KAAM,IAAIh9C,OAAM,wBAC/B,MACD,KAAK,cAAevE,KAAK+kF,SAAW9+E,GAAK,MACzC,KAAK,cAAe,KACpB,KAAK,WAEJ,GAAGA,MAAQ,MAAQA,IAAM,SACpB,IAAGA,MAAQ,MAAQA,IAAM,IAC9BjG,MAAKglF,SAAW/+E,GAChB3K,QAAO2K,IACP,MACD,KAAK,UAAWjG,KAAK8kF,QAAU7+E,GAAK,MACpC,KAAK,aAAcjG,KAAKilF,UAAYh/E,GAAK,MACzC,KAAK,WAAY,KACjB,KAAK,aAAc6/C,GAAG9lD,KAAK6lF,WAAa5/E,GAAK,MAC7C,KAAK,WAAY,KACjB,KAAK,WAA6D,KAClE,KAAK,cAAe,CACnB,GAAGA,IAAI,IAAMA,IAAI,GAAI,KAAM,wBAA0BA,IACpD,KACF,KAAK,YAAa6/C,GAAG9lD,KAAK8lF,UAAY7/E,GAAK,MAC3C,KAAK,YAAa6/C,GAAG9lD,KAAK+lF,UAAY9/E,GAAK,MAC3C,KAAK,WAAY6/C,GAAG9lD,KAAKgmF,SAAW//E,GAAK,MACzC,KAAK,WAAY6/C,GAAG9lD,KAAKimF,SAAWhgF,GAAK,MACzC,KAAK,gBAAiB6/C,GAAG9lD,KAAKkmF,cAAgBjgF,GAAK,MACnD,KAAK,iBAAkB6/C,GAAG9lD,KAAKmmF,eAAiBlgF,GAAK,MACrD,KAAK,cAAejG,KAAKomF,YAAcngF,GAAK,MAC5C,KAAK,WAAY,KACjB,KAAK,uBAAwB6/C,GAAG9lD,KAAKqmF,SAAWpgF,GAAK,MACrD,KAAK,SAAU,KACf,KAAK,KAAMm+E,IAAItzE,KAAK7K,IAAM,MAC1B,KAAK,SAAU,KACf,KAAK,UAAW,KAChB,KAAK,iBAAkB,KACvB,KAAK,QAAS,KAEd,KAAK,UAAWmvD,WAAWgwB,MAAQn/E,IAAMo/E,MAAO,CAAG,MACnD,KAAK,aAAcjwB,SAASgwB,OAAOC,MAAQp/E,GAAK,MAChD,KAAK,QAAS,KACd,KAAK,MAAOmvD,SAAS,KAAKkwB,OAASr/E,GAAK,MACxC,KAAK,cAAemvD,SAASgwB,KAAOhwB,SAASgwB,KAAKhnF,OAAO6H,IAAMo/E,OAAQp/E,IAAIpK,MAAQ,MAEnF,KAAK,UAAWmJ,IAAI,YAAciB,GAAK,MACvC,KAAK,WAAY,GAAGA,MAAQ,GAAKjG,KAAK6wB,IAAKC,QAAQC,MAAM,sBAAwB9qB,IAAM,MACvF,KAAK,WAAY,IAAK,eAAgB,KAEtC,KAAK,cAAe,CACnBo9E,UAAUp9E,IAAIoY,KAAOpY,GACrBjG,MAAKokC,OAAOtzB,KAAK7K,IAAIiJ,MACpB,KACF,KAAK,MAAO,CACX,KAAKs2E,WAAY,KACjB,IAAG9kE,MAAMzK,EAAG,CACXjR,IAAI,UAAY0b,KAChB,IAAGA,MAAMzK,EAAEtO,EAAI,GAAK+Y,MAAMzK,EAAErX,EAAI,EAAG,CAClC8hB,MAAMzK,EAAEtO,GAAK+Y,OAAMzK,EAAErX,GACrBoG,KAAI,QAAU6lD,aAAanqC,MAC3BA,OAAMzK,EAAEtO,GAAK+Y,OAAMzK,EAAErX,IAEtB,GAAGy3E,WAAWx6E,OAAS,EAAGmJ,IAAI,WAAaqxE,UAC3C,IAAG8O,QAAQtpF,OAAS,EAAGmJ,IAAI,YAAcmgF,QAE1C,GAAG3B,YAAc,GAAIC,SAAWz+E,QAAUw0E,QAAOgK,WAAax+E,GAC9DA,QACC,KACF,KAAK,MAAO,CACX,GAAGhF,KAAK65B,OAAS,EAAE,MACd,IAAG5zB,IAAIq4B,UAAY,KAAQt+B,KAAK65B,KAAO,MACvC,IAAG5zB,IAAIq4B,UAAY,EAAQt+B,KAAK65B,KAAO,MACvC,IAAG5zB,IAAIq4B,UAAY,EAAQt+B,KAAK65B,KAAO,MACvC,IAAG6rD,aAAgB,EAAQ1lF,KAAK65B,KAAO,MACvC,IAAG6rD,aAAgB,IAAQ1lF,KAAK65B,KAAO,MACvC,IAAG6rD,aAAgB,KAAQ1lF,KAAK65B,KAAO,CAC5C,IAAG2rD,aAAc,KACjBrB,YAAa,IACbn/E,OACA,IAAGhF,KAAK65B,KAAO,EAAG,CACjB,GAAG2pD,YAAc,GAAIA,UAAY,QACjC9iE,QAAS1iB,GAAG2J,EAAE,EAAE/I,EAAE,GAAGqX,GAAGtO,EAAE,EAAE/I,EAAE,GAE9B,IAAI0nF,UAAWjoE,IAAKlQ,KAAKtP,EAAIhD,OAAQqT,KAAKs0E,UAC1CH,WAAUiD,QAAQjoE,KAAOioE,OACzBtmF,MAAKokC,OAAOtzB,KAAK0yE,eAEbA,YAAaH,UAAUrlF,KAAOkR,KAAK,KAAKA,IAC7CmnE,cACA8O,YACC,KACF,KAAK,SAAU,IAAK,WAAY,IAAK,WAAY,CAChDlB,UAAY5nD,KAAMp2B,IAAIo2B,KAAM6mD,GAAIkB,IAAIn+E,IAAIo2B,MAAOt9B,EAAEkH,IAAIA,IAAKhH,EAAE,IAC5DgkF,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,UAASjmF,EAAEqH,IAAIrH,EAAG+I,EAAE1B,IAAI0B,GAAIs8E,SAAU3wE,SACrC,KACF,KAAK,UAAW,CACf2wE,UAAY5nD,KAAMp2B,IAAIo2B,KAAM6mD,GAAIkB,IAAIn+E,IAAIo2B,MAAOt9B,EAAEkH,IAAIA,IAAKhH,EAAEgH,IAAIhH,EAChEgkF,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,UAASjmF,EAAEqH,IAAIrH,EAAG+I,EAAE1B,IAAI0B,GAAIs8E,SAAU3wE,SACrC,KACF,KAAK,KAAM,CACV2wE,UAAY5nD,KAAMp2B,IAAIo2B,KAAM6mD,GAAIkB,IAAIn+E,IAAIo2B,MAAOt9B,EAAEkH,IAAI67B,MAAO7iC,EAAE,IAC9DgkF,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,UAASjmF,EAAEqH,IAAIrH,EAAG+I,EAAE1B,IAAI0B,GAAIs8E,SAAU3wE,SACrC,KACF,KAAK,QAAS,CACb,IAAI,GAAI/M,GAAIN,IAAIrH,EAAG2H,GAAKN,IAAI0K,IAAKpK,EAAG,CACnC,GAAI81B,MAAOp2B,IAAI47B,MAAMt7B,EAAEN,IAAIrH,GAAG,EAC9BqlF,WAAW5nD,KAAKA,KAAM6mD,GAAGkB,IAAI/nD,MAAOt9B,EAAEkH,IAAI47B,MAAMt7B,EAAEN,IAAIrH,GAAG,GAAIK,EAAE,IAC/DgkF,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,UAASjmF,EAAE2H,EAAGoB,EAAE1B,IAAI0B,GAAIs8E,SAAU3wE,UAElC,KACF,KAAK,UAAW,CACf,OAAOrN,IAAIA,KACV,IAAK,SAAUs9E,aAAet9E,GAAK,MACnC,KAAK,gBAAiB,KAAM,2BAC5B,SACCg+E,UAAallF,EAAEkH,IAAIA,IAAKo2B,KAAKp2B,IAAIoa,KAAKgc,KAAMp9B,EAAEgH,IAAIG,GAClD69E,UAASf,GAAKkB,IAAIH,SAAS5nD,KAC3B,IAAG/oB,QAAQ0lE,YAAaiL,SAASz4E,EAAI,IAAI2pD,kBAAkBlvD,IAAI2uD,QAAQl0C,MAAMza,IAAIoa,KAAK+0C,SAAUp1D,KAChGijF,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,SAAQ5+E,IAAIoa,KAAM4jE,SAAU3wE,QAC5BiwE,cAAet9E,KAEhB,KACF,KAAK,SAAU,CACd,GAAGs9E,aAAc,CAChBA,aAAat9E,IAAMA,GACnBg+E,WAAallF,EAAEwkF,aAAat9E,IAAKo2B,KAAKknD,aAAaljE,KAAKgc,KAAMp9B,EAAE,IAChEglF,UAASf,GAAKkB,IAAIH,SAAS5nD,KAC3B,IAAG/oB,QAAQ0lE,YAAaiL,SAASz4E,EAAI,IAAI2pD,kBAAkBouB,aAAa3uB,QAASl0C,MAAO6iE,aAAaljE,KAAM+0C,SAAUp1D,KACrHijF,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,SAAQtB,aAAaljE,KAAM4jE,SAAU3wE,QACrCiwE,cAAe,MAEf,KACF,KAAK,QAAS,CACbS,eAAelzE,KAAK7K,KACnB,KACF,KAAK,UAAW,CACf,IAAIk+E,WAAY,KAGhB,IAAGZ,aAAcQ,gBAAgBn6B,YAAY25B,aAAaljE,OAAQpa,IAAI,GACrE,KACF,KAAK,WACJg+E,SAASd,UAAUlyD,IAAIhrB,IAAIo7B,MAAMpiC,EAAGgH,IAAIo2B,KAAM,IAC9C4nD,UAASf,GAAKkB,IAAIH,SAAS5nD,KAC3B4mD,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,UAASjmF,EAAEqH,IAAIrH,EAAG+I,EAAE1B,IAAI0B,GAAIs8E,SAAU3wE,QACtC,MACD,KAAK,QAAS,IAAK,WAClB2wE,SAASd,UAAUl9E,IAAIA,IAAKA,IAAIo2B,KAAM,IACtC4nD,UAASf,GAAKkB,IAAIH,SAAS5nD,KAC3B4mD,gBAAegB,SAAU3wE,QAASwyC,GAAG9lD,KAAK2lF,SAC1Cd,UAASjmF,EAAEqH,IAAIrH,EAAG+I,EAAE1B,IAAI0B,GAAIs8E,SAAU3wE,QACtC,MACD,KAAK,aAAc,CAClB,GAAGkyE,aAAe,EAAG9kE,MAAQza,IAC5B,KACF,KAAK,MAAO,CACXgrB,IAAMhrB,IACL,KACF,KAAK,SAAU,CACdzH,IAAIuN,KAAK9F,IAAI,GAAIA,IAAI,IACpB,KACF,KAAK,cAAe,CACnBzH,IAAIuN,KAAK9F,IAAKw/E,YACb,KAEF,KAAK,aAAcpP,WAAaA,WAAWj4E,OAAO6H,IAAM,MAExD,KAAK,MAAOk/E,QAAQl/E,IAAIu/B,IAAI,IAAMxlC,KAAK2lC,QAAU1/B,GAAK,MACtD,KAAK,MAAOjG,KAAK2lC,QAAQ4gD,IAAMtgF,GAAK,MAEpC,KAAK,QAAS,CACb,IAAI69E,KAAO79E,IAAI,GAAGjI,EAAE2J,EAAGm8E,MAAQ79E,IAAI,GAAGgQ,EAAEtO,IAAKm8E,KAC5C,IAAID,KAAO59E,IAAI,GAAGjI,EAAEY,EAAGilF,MAAQ59E,IAAI,GAAGgQ,EAAErX,IAAKilF,KAC5C,GAAG7+E,IAAI4kD,aAAahrD,EAAEilF,KAAKl8E,EAAEm8E,QAC5B9+E,IAAI4kD,aAAahrD,EAAEilF,KAAKl8E,EAAEm8E,QAAQjlF,EAAIoH,IAAI,GAC5C,KACF,KAAK,eAAgB,CACpB,IAAI69E,KAAO79E,IAAI,GAAGjI,EAAE2J,EAAGm8E,MAAQ79E,IAAI,GAAGgQ,EAAEtO,IAAKm8E,KAC5C,IAAID,KAAO59E,IAAI,GAAGjI,EAAEY,EAAGilF,MAAQ59E,IAAI,GAAGgQ,EAAErX,IAAKilF,KAC5C,GAAG7+E,IAAI4kD,aAAahrD,EAAEilF,KAAKl8E,EAAEm8E,QAC5B9+E,IAAI4kD,aAAahrD,EAAEilF,KAAKl8E,EAAEm8E,QAAQjlF,EAAE88E,QAAU11E,IAAI,GACpD,KAGF,KAAK,OAAQ,CACZ,GAAGjG,KAAK65B,MAAQ,GAAK75B,KAAK65B,MAAQ,EAAG,KACrCnxB,IAAK1D,IAAI4kD,YAAY3jD,IAAI,IACzB,IAAIugF,SAAUrB,QAAQl/E,IAAI,GAC1B,KAAIyC,GAAI,KACR,KAAIA,GAAG9J,EAAG8J,GAAG9J,IACbglF,OAAQhnE,EAAE3W,IAAI,GAAGhH,EAAEunF,QAAQD,IAAItnF,EAC/ByJ,IAAG9J,EAAEkS,KAAK8yE,MACT,KAEF,SAAS,OAAOlzE,EAAE2W,GAClB,IAAK,aAAc,KACnB,KAAK,QAASgiC,aAAa+6B,IAAIn+E,IAAIo2B,MAAOp2B,IAAImjD,IAAM,MAEpD,KAAK,UAAW,KAChB,KAAK,SAAU,KACf,KAAK,SAAU,KACf,KAAK,UAAW,KAChB,KAAK,UAAW,KAChB,KAAK,MAAO,KACZ,KAAK,QAAS,KACd,KAAK,cAAe,KACpB,KAAK,MAAO,KACZ,KAAK,WAAY,KACjB,KAAK,UAAW,KAChB,KAAK,MAAO,KACZ,KAAK,SAAU,KACf,KAAK,WAAY,KACjB,KAAK,UAAW,KAChB,KAAK,SAAU,KACf,KAAK,OAAQ,KACb,KAAK,OAAQ,KACb,KAAK,SAAU,KACf,KAAK,QAAS,KACd,KAAK,OAAQ,KACb,KAAK,OAAQ,KACb,KAAK,OAAQ,KACb,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,OAAQ,KACb,KAAK,UAAW,IAAK,YAAa,KAClC,KAAK,YAAa,IAAK,YAAa,IAAK,SAAU,KACnD,KAAK,QAAS,KACd,KAAK,UAAW86B,QAAUj+E,GAAK,MAC/B,KAAK,WAAY,KACjB,KAAK,mBAAoB,IAAK,SAAU,KACxC,KAAK,MAAO,IAAK,OAAQ,IAAK,WAAY,KAC1C,KAAK,OAAQ,KACb,KAAK,QAAS,KACd,KAAK,QAAS,KACd,KAAK,WAAY,KACjB,KAAK,UAAWo+E,QAAUp+E,GAAK,MAC/B,KAAK,QAAS,KAEd,KAAK,kBAAmB,KACxB,KAAK,aAAc,KAGnB,KAAK,YAAa,KAGlB,KAAK,QAAS,KACd,KAAK,cAAe,KACpB,KAAK,aAAc,KACnB,KAAK,oBAAqB,KAG1B,KAAK,aAAc,KACnB,KAAK,OAAQ,KACb,KAAK,UAAW,KAChB,KAAK,SAAU,KACf,KAAK,UAAW,KAChB,KAAK,WAAY,KACjB,KAAK,OAAQ,KACb,KAAK,WAAY,KACjB,KAAK,WAAY,KACjB,KAAK,SAAU,KACf,KAAK,SAAU,KACf,KAAK,QAAS,KACd,KAAK,QAAS,KAGd,KAAK,UAAW,KAGhB,KAAK,OAAQ,KAGb,KAAK,YAAa,KAGlB,KAAK,cAAe,KACpB,KAAK,YAAa,KAClB,KAAK,YAAa,KAElB,KAAK,MAAO,KACZ,KAAK,MAAO,KAEZ,KAAK,MAAO,EAEV,KACF,KAAK,WAAY,EAEf,KACF,KAAK,mBAAoB,EAEvB,KAGF,KAAK,aAAc,EAEjB,KACF,KAAK,SAAU,EAEb,KACF,KAAK,WAAY,EAEf,KACF,KAAK,cAAe,EAElB,KAEF,KAAK,OAAQ,KACb,KAAK,eAAgB,KAErB,KAAK,gBAAiB,KAGtB,KAAK,MAAO,IAAK,OAAQ,IAAK,SAAU,IAAK,aAAc,IAAK,aAAc,KAG9E,KAAK,KAAM,IAAK,OAAQ,KAGxB,KAAK,OAAQ,IAAK,SAAU,IAAK,aAAc,KAG/C,KAAK,QAAS,KACd,KAAK,eAAgB,KACrB,KAAK,aAAc,KAGnB,KAAK,aAAc,KACnB,KAAK,UAAW,IAAK,KAAM,IAAK,OAAQ,IAAK,OAAQ,KAGrD,KAAK,aAAc,KACnB,KAAK,QAAS,KACd,KAAK,eAAgB,IAAK,MAAO,IAAK,eAAgB,IAAK,MAAO,IAAK,sBAEvE,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,IAAK,OACrE,IAAK,YAAa,IAAK,iBAAkB,IAAK,eAC9C,IAAK,OAAQ,KACb,SAAS,OAAOyK,EAAE2W,GAElB,IAAK,MACL,IAAK,QAAS,IAAK,MACnB,IAAK,aAAc,IAAK,WACxB,IAAK,QAAS,IAAK,OACnB,IAAK,OAAQ,IAAK,WAAY,IAAK,OAAQ,KAC3C,KAAK,WACL,IAAK,cAAe,IAAK,eAAgB,IAAK,UAAW,IAAK,UAAW,IAAK,WAAY,IAAK,mBAAoB,KACnH,KAAK,aAAc,IAAK,aACxB,IAAK,QAAS,IAAK,UAAW,IAAK,kBAAmB,IAAK,cAAe,IAAK,eAAgB,KAC/F,KAAK,WAAY,IAAK,aAAc,KACpC,KAAK,aAAc,IAAK,YAAa,IAAK,cAAe,KACzD,KAAK,aAAc,IAAK,WAAY,IAAK,QAAS,KAClD,KAAK,cAAe,IAAK,SAAU,IAAK,SAAU,KAClD,KAAK,WAAY,KACjB,KAAK,cAAe,IAAK,OAAQ,IAAK,SAAU,KAChD,KAAK,qBAAsB,KAC3B,KAAK,SAAU,IAAK,kBAAmB,KACvC,KAAK,MAAO,IAAK,UAAW,KAC5B,KAAK,YAAa,IAAK,eAAgB,KACvC,KAAK,cAAe,IAAK,YAAa,KACtC,KAAK,SAAU,IAAK,aAAc,KAClC,KAAK,UAAW,KAChB,KAAK,gBAAiB,IAAK,QAAS,KAGpC,KAAK,OAAQ,IAAK,MAAO,KACzB,KAAK,OAAQ,KAGb,KAAK,aAAc,KACnB,KAAK,MAAO,KACZ,KAAK,aAAc,KAGnB,KAAK,YAAa,KAClB,KAAK,aAAc,KACnB,KAAK,iBAAkB,KACvB,KAAK,WAAY,KACjB,KAAK,kBAAmB,KAGxB,KAAK,QAAS,KACd,KAAK,SAAU,KACf,KAAK,WAAY,KAGjB,KAAK,MAAO,IAAK,OAAQ,IAAK,OAAQ,IAAK,WAAY,KACvD,KAAK,SAAU,KAGf,KAAK,aAAc,KACnB,KAAK,aAAc,IAAK,iBAAkB,KAC1C,KAAK,eAAgB,KACrB,KAAK,iBAAkB,KACvB,KAAK,OAAQ,KACb,KAAK,WAAY,KAGjB,KAAK,mBAAoB,KACzB,KAAK,aAAc,IAAK,kBAAmB,IAAK,sBAAuB,KACvE,KAAK,SAAU,KAEf,KAAK,SAAU,IAAK,aAGpB,IAAK,cAAe,IAAK,aAAc,IAAK,YAAa,IAAK,eAC9D,IAAK,eAAgB,IAAK,YAAa,IAAK,MAC5C,IAAK,uBAAwB,IAAK,qBAElC,IAAK,SAAU,IAAK,mBAAoB,IAAK,WAAY,KAGzD,KAAK,WAAY,IAAK,gBAAiB,KAGvC,KAAK,cAAe,IAAK,aAAc,KAEvC,SAAS,OAAO3W,EAAE2W,GAElB,IAAK,cAAe,KACpB,KAAK,UAAW,KAChB,KAAK,YAAa,IAAK,QAAS,IAAK,YAAa,IAAK,UAAW,IAAK,OAAQ,IAAK,YAAa,IAAK,eAAgB,KAGtH,KAAK,eAAgB,IAAK,cAAe,KACzC,KAAK,UAAW,IAAK,UAAW,IAAK,UAAW,KAChD,KAAK,cAAe,IAAK,WAAY,IAAK,eAAgB,KAC1D,KAAK,YAAa,KAGlB,KAAK,WAAY,IAAK,UAAW,IAAK,OAAQ,IAAK,aACnD,IAAK,MAAO,IAAK,SAAU,IAAK,eAAgB,IAAK,eACrD,IAAK,OAAQ,KACb,SAAS,GAAG/T,QAAQud,IAAK,KAAM,uBAAyBngB,EAAE2W,UAErDlZ,MAAKtP,GAAKhD,OAElB,GAAI4qF,eAAgBnyE,OAAOD,KAAKgvE,WAAWqD,KAAK,SAAS9pE,EAAE7B,GAAK,MAAOkF,QAAOrD,GAAKqD,OAAOlF,KAAOpe,IAAI,SAAST,GAAG,MAAOmnF,WAAUnnF,GAAGgT,MACrI,IAAIkyE,YAAaqF,cAAcr4E,OAC/B03C,IAAGu9B,UAAUoD,aACb3gC,IAAGtxB,WAAWiyD,aACd,KAAInzE,QAAQgvE,WAAYx8B,GAAG0zB,OAAOA,MAClC1zB,IAAG29B,SAASA,QACZ39B,IAAGgyB,QAAU7mD,GACb60B,IAAGtnD,IAAMA,IAAIyN,WACb,IAAGjM,KAAKy+B,IAAKqnB,GAAG6gC,WAAa3mF,KAAKy+B,GAClCqnB,IAAG8gC,WACH,IAAG1C,UAAYnkF,UAAW+lD,GAAG8gC,SAASC,QAAU3C,OAChD,OAAOp+B,IAGR,QAASghC,cAAaC,IAAKzzE,SAC3B,IAAIA,QAASA,UACbmvE,eAAcnvE,QACdjY,WACA,IAAI2rF,SAASC,QAAS5J,QACtB,IAAG0J,IAAIx3E,UAAW,CACjBy3E,QAAUD,IAAI92E,KAAK,WACnBg3E,SAAUF,IAAI92E,KAAK,sBACnBotE,UAAW0J,IAAI92E,KAAK,iBACd,CACN5B,UAAU04E,IAAK,EACf1J,WAAatqE,QAASg0E,KAGvB,IAAI1J,SAAUA,SAAW0J,IAAI92E,KAAK,QAClC,IAAIi3E,UAAUC,SAAUC,SAExB,IAAGJ,QAASE,SAAWvE,cAAcqE,QACrC,IAAG1zE,QAAQivE,YAAcjvE,QAAQgvE,WAAY8E,iBACxC,CACJ,GAAG/J,SAAU+J,UAAYhE,eAAe/F,SAAStqE,QAASO,UAAW+pE,SAASptE,UACzE,MAAM,IAAI1L,OAAM,+BAGtB,GAAGwiF,IAAIx3E,UAAW83E,YAAYN,IAE9B,IAAIO,SACJ,KAAI,GAAIxnF,KAAKinF,KAAIE,QAASK,MAAMxnF,GAAKinF,IAAIE,QAAQnnF,EACjD,KAAIA,IAAKinF,KAAIQ,WAAYD,MAAMxnF,GAAKinF,IAAIQ,WAAWznF,EACnDsnF,WAAU1xD,MAAQ0xD,UAAUvH,UAAYyH,KACxC,IAAGh0E,QAAQk0E,UAAWJ,UAAUL,IAAMA,GACtCK,WAAUF,SAAWA,QACrB,OAAOE,WAIP,QAASC,aAAYN,KAEpB,GAAIU,KAAMV,IAAI92E,KAAK,8BACnB,IAAGw3E,IAAK,IAAMV,IAAIQ,WAAalvD,wBAAwBovD,IAAKrgE,kBAAqB,MAAMnR,IAGvF,GAAIyxE,IAAKX,IAAI92E,KAAK,sBAClB,IAAGy3E,GAAI,IAAMX,IAAIE,QAAU5uD,wBAAwBqvD,GAAI9/D,cAAiB,MAAM3R,KAI/E,GAAI+I,iBACJ9e,GAAUmnB,EAAE,YAAa7b,EAAEiuE,iBAC3Bt5E,GAAUknB,EAAE,eAAgB7b,EAAE4uE,oBAC9Bh6E,GAAUinB,EAAE,YAAa7b,EAAEwvE,iBAC3B36E,GAAUgnB,EAAE,eAAgB7b,EAAEkvE,oBAC9Bp6E,GAAU+mB,EAAE,cAAe7b,EAAE+uE,mBAC7BjzD,GAAUD,EAAE,cAAe7b,EAAEsvE,mBAC7BvzD,GAAUF,EAAE,YAAa7b,EAAE0vE,iBAC3B53D,GAAU+D,EAAE,cAAe7b,EAAEovE,mBAC7BpzD,GAAUH,EAAE,gBAAiB7b,EAAE+vE,qBAC/Bh7E,GAAU8mB,EAAE,aAAc7b,EAAE8vE,kBAC5B96E,IAAU6mB,EAAE,cAAe7b,EAAE4vE,mBAC7B36E,IAAU4mB,EAAE,eAAgB7b,EAAE6vE,oBAC9Bv6E,IAAUumB,EAAE,gBAAiB7b,EAAEyyE,qBAC/Bh9E,IAAUomB,EAAE,aAAc7b,EAAEiW,eAC5BvgB,IAAUmmB,EAAE,iBAAkB7b,EAAE+S,WAChCpd,IAAUkmB,EAAE,gBAAiB7b,EAAE+S,WAC/Bnd,IAAUimB,EAAE,iBAAkB7b,EAAE+S,WAChCgF,IAAU8D,EAAE,eAAgB7b,EAAE+S,WAC9B+3C,IAAUjvC,EAAE,gBAAiB7b,EAAE+S,WAC/Bg4C,IAAUlvC,EAAE,kBAAmB7b,EAAE+S,WACjCkJ,IAAUJ,EAAE,eAAgB7b,EAAE+S,WAC9BmJ,IAAUL,EAAE,kBAAmB7b,EAAE+S,WACjCoJ,IAAUN,EAAE,iBAAkB7b,EAAE+S,WAChCiF,IAAU6D,EAAE,kBAAmB7b,EAAE+S,WACjC4J,IAAUd,EAAE,gBAAiB7b,EAAE+S,WAC/B6J,IAAUf,EAAE,iBAAkB7b,EAAE+S,WAChC8J,IAAUhB,EAAE,mBAAoB7b,EAAE+S,WAClC+J,IAAUjB,EAAE,eAAgB7b,EAAE+S,WAC9BgK,IAAUlB,EAAE,iBAAkB7b,EAAE+S,WAChCwzC,IAAU1qC,EAAE,cAAe7b,EAAE+S,WAC7BkF,IAAU4D,EAAE,YAAa7b,EAAE+S,WAC3Bld,IAAUgmB,EAAE,aAAc7b,EAAE+S,WAC5Bjd,IAAU+lB,EAAE,WAAY7b,EAAE+S,WAC1Bhd,IAAU8lB,EAAE,UAAW7b,EAAE+S,WACzB/c,IAAU6lB,EAAE,mBAAoB7b,EAAE+S,WAClCmF,IAAU2D,EAAE,gBAAiB7b,EAAE+S,WAC/BoF,IAAU0D,EAAE,UAAW7b,EAAEy6C,eACzBx9B,IAAUpB,EAAE,SAAU7b,EAAEu6C,cACxBtkD,IAAU4lB,EAAE,UAAW7b,EAAE+S,WACzB7c,IAAU2lB,EAAE,YAAa7b,EAAE+S,WAC3B5c,IAAU0lB,EAAE,QAAS7b,EAAE47C,aACvBxlD,IAAUylB,EAAE,WAAY7b,EAAE+S,WAC1B1c,IAAUwlB,EAAE,cAAe7b,EAAE+S,WAC7Bi4C,IAAUnvC,EAAE,eAAgB7b,EAAE+S,WAC9Bk4C,IAAUpvC,EAAE,SAAU7b,EAAE+S,WACxBmK,IAAUrB,EAAE,cAAe7b,EAAE+S,WAC7Bm4C,IAAUrvC,EAAE,YAAa7b,EAAE+S,WAC3Bo4C,IAAUtvC,EAAE,cAAe7b,EAAE+S,WAC7BoK,IAAUtB,EAAE,YAAa7b,EAAE+S,WAC3Bzc,IAAUulB,EAAE,mBAAoB7b,EAAE+S,WAClCyzC,IAAU3qC,EAAE,iBAAkB7b,EAAE+S,WAChC0zC,IAAU5qC,EAAE,gBAAiB7b,EAAE+S,WAC/B2zC,IAAU7qC,EAAE,SAAU7b,EAAE+S,WACxB4zC,IAAU9qC,EAAE,aAAc7b,EAAE+S,WAC5Bq4C,IAAUvvC,EAAE,iBAAkB7b,EAAE+S,WAChCs4C,IAAUxvC,EAAE,oBAAqB7b,EAAEm+C,yBACnC9gC,IAAUxB,EAAE,UAAW7b,EAAE+S,WACzB+zC,IAAUjrC,EAAE,gBAAiB7b,EAAE+S,WAC/BuK,IAAUzB,EAAE,gBAAiB7b,EAAE+S,WAC/Bk0C,IAAUprC,EAAE,iBAAkB7b,EAAE+S,WAChCo0C,IAAUtrC,EAAE,gBAAiB7b,EAAE+S,WAC/Bi9B,IAAUn0B,EAAE,iBAAkB7b,EAAE+S,WAChCu0C,IAAUzrC,EAAE,gBAAiB7b,EAAE+S,WAC/Bm8B,KAAUrzB,EAAE,iBAAkB7b,EAAE+S,WAChCo8B,KAAUtzB,EAAE,gBAAiB7b,EAAE+S,WAC/Bq8B,KAAUvzB,EAAE,cAAe7b,EAAE+S,WAC7B65C,KAAU/wC,EAAE,eAAgB7b,EAAE+S,UAAW4B,EAAE,GAC3Ck4C,KAAUhxC,EAAE,aAAc7b,EAAE+S,WAC5B+5C,KAAUjxC,EAAE,kBAAmB7b,EAAE+S,WACjCs8B,KAAUxzB,EAAE,gBAAiB7b,EAAE+S,WAC/Bg6C,KAAUlxC,EAAE,oBAAqB7b,EAAE+S,WACnCu8B,KAAUzzB,EAAE,kBAAmB7b,EAAE+S,WACjCi6C,KAAUnxC,EAAE,iBAAkB7b,EAAE+S,WAChCk6C,KAAUpxC,EAAE,eAAgB7b,EAAE+S,WAC9Bm6C,KAAUrxC,EAAE,kBAAmB7b,EAAE+S,WACjCo6C,KAAUtxC,EAAE,gBAAiB7b,EAAE+S,WAC/BkqD,KAAUphD,EAAE,iBAAkB7b,EAAE+S,WAChCq6C,KAAUvxC,EAAE,eAAgB7b,EAAE+S,WAC9Bs6C,KAAUxxC,EAAE,oBAAqB7b,EAAE+S,WACnCu6C,KAAUzxC,EAAE,kBAAmB7b,EAAE+S,WACjCw6C,KAAU1xC,EAAE,oBAAqB7b,EAAE+S,WACnCy6C,KAAU3xC,EAAE,kBAAmB7b,EAAE+S,WACjC06C,KAAU5xC,EAAE,YAAa7b,EAAE2uE,iBAC3BjhB,KAAU7xC,EAAE,WAAY7b,EAAEyuE,eAAgB95D,EAAE,IAC5Ck5C,KAAUhyC,EAAE,UAAW7b,EAAE+S,WACzB+6C,KAAUjyC,EAAE,SAAU7b,EAAE+S,WACxBg7C,KAAUlyC,EAAE,YAAa7b,EAAEsyE,iBAC3BpV,KAAUrhD,EAAE,eAAgB7b,EAAE+S,WAC9Bi7C,KAAUnyC,EAAE,iBAAkB7b,EAAE+S,WAChCoqD,KAAUthD,EAAE,cAAe7b,EAAEiyE,mBAC7B7U,KAAUvhD,EAAE,cAAe7b,EAAE+S,WAC7BsqD,KAAUxhD,EAAE,cAAe7b,EAAE+S,WAC7Bk7C,KAAUpyC,EAAE,cAAe7b,EAAEmyC,mBAC7BmrB,KAAUzhD,EAAE,YAAa7b,EAAE+S,WAC3Bw8B,KAAU1zB,EAAE,kBAAmB7b,EAAE+S,WACjCy8B,KAAU3zB,EAAE,gBAAiB7b,EAAE+S,WAC/B08B,KAAU5zB,EAAE,uBAAwB7b,EAAE+S,WACtCm7C,KAAUryC,EAAE,qBAAsB7b,EAAE+S,WACpCwqD,KAAU1hD,EAAE,kBAAmB7b,EAAE+S,WACjCo7C,KAAUtyC,EAAE,gBAAiB7b,EAAE+S,WAC/Bq7C,KAAUvyC,EAAE,YAAa7b,EAAE+S,WAC3Bs7C,KAAUxyC,EAAE,iBAAkB7b,EAAE+S,WAChCu7C,KAAUzyC,EAAE,gBAAiB7b,EAAE+S,WAC/Bw7C,KAAU1yC,EAAE,iBAAkB7b,EAAE+S,WAChCy7C,KAAU3yC,EAAE,mBAAoB7b,EAAE+S,WAClC07C,KAAU5yC,EAAE,wBAAyB7b,EAAE+S,WACvC27C,KAAU7yC,EAAE,sBAAuB7b,EAAE+S,WACrC47C,KAAU9yC,EAAE,kBAAmB7b,EAAE+S,WACjC67C,KAAU/yC,EAAE,0BAA2B7b,EAAE+S,WACzCyqD,KAAU3hD,EAAE,eAAgB7b,EAAEgwE,oBAC9BtgC,KAAU7zB,EAAE,qBAAsB7b,EAAE+S,WACpC48B,KAAU9zB,EAAE,mBAAoB7b,EAAE+S,WAClC0qD,KAAU5hD,EAAE,wBAAyB7b,EAAE+S,WACvC2qD,KAAU7hD,EAAE,sBAAuB7b,EAAE+S,WACrC4qD,KAAU9hD,EAAE,oBAAqB7b,EAAE+S,WACnC6qD,KAAU/hD,EAAE,kBAAmB7b,EAAE+S,WACjC8qD,KAAUhiD,EAAE,mBAAoB7b,EAAE+S,WAClC+qD,KAAUjiD,EAAE,iBAAkB7b,EAAE+S,WAChC87C,KAAUhzC,EAAE,oBAAqB7b,EAAE+S,WACnC68B,KAAU/zB,EAAE,kBAAmB7b,EAAE+S,WACjC+7C,KAAUjzC,EAAE,oBAAqB7b,EAAE+S,WACnCg8C,KAAUlzC,EAAE,kBAAmB7b,EAAE+S,WACjCi8C,KAAUnzC,EAAE,mBAAoB7b,EAAE+S,WAClCk8C,KAAUpzC,EAAE,iBAAkB7b,EAAE+S,WAChCm8C,KAAUrzC,EAAE,kBAAmB7b,EAAE+S,WACjCo8C,KAAUtzC,EAAE,gBAAiB7b,EAAE+S,WAC/Bq8C,KAAUvzC,EAAE,4BAA6B7b,EAAE+S,WAC3Cs8C,KAAUxzC,EAAE,0BAA2B7b,EAAE+S,WACzCu8C,KAAUzzC,EAAE,yBAA0B7b,EAAE+S,WACxCw8C,KAAU1zC,EAAE,uBAAwB7b,EAAE+S,WACtCy8C,KAAU3zC,EAAE,uBAAwB7b,EAAE+S,WACtC08C,KAAU5zC,EAAE,qBAAsB7b,EAAE+S,WACpC28C,KAAU7zC,EAAE,0BAA2B7b,EAAE+S,WACzC48C,KAAU9zC,EAAE,wBAAyB7b,EAAE+S,WACvC68C,KAAU/zC,EAAE,wBAAyB7b,EAAE+S,WACvC88C,KAAUh0C,EAAE,sBAAuB7b,EAAE+S,WACrC+8C,KAAUj0C,EAAE,oBAAqB7b,EAAE+S,WACnC88B,KAAUh0B,EAAE,kBAAmB7b,EAAE+S,WACjCgrD,KAAUliD,EAAE,sBAAuB7b,EAAE+S,WACrCg9C,KAAUl0C,EAAE,oBAAqB7b,EAAE+S,WACnCi9C,KAAUn0C,EAAE,qBAAsB7b,EAAE+S,WACpCk9C,KAAUp0C,EAAE,mBAAoB7b,EAAE+S,WAClCm9C,KAAUr0C,EAAE,qBAAsB7b,EAAE+S,WACpCo9C,KAAUt0C,EAAE,mBAAoB7b,EAAE+S,WAClCq9C,KAAUv0C,EAAE,oBAAqB7b,EAAE+S,WACnCs9C,KAAUx0C,EAAE,kBAAmB7b,EAAE+S,WACjC8K,KAAUhC,EAAE,qBAAsB7b,EAAE+S,WACpCu9C,KAAUz0C,EAAE,mBAAoB7b,EAAE+S,WAClCw9C,KAAU10C,EAAE,oBAAqB7b,EAAE+S,WACnC+K,KAAUjC,EAAE,kBAAmB7b,EAAE+S,WACjCy9C,KAAU30C,EAAE,mBAAoB7b,EAAE+S,WAClCgL,KAAUlC,EAAE,iBAAkB7b,EAAE+S,WAChC09C,KAAU50C,EAAE,oBAAqB7b,EAAE+S,WACnC29C,KAAU70C,EAAE,kBAAmB7b,EAAE+S,WACjCirD,KAAUniD,EAAE,qBAAsB7b,EAAE+S,WACpC+8B,KAAUj0B,EAAE,mBAAoB7b,EAAE+S,WAClC49C,KAAU90C,EAAE,qBAAsB7b,EAAE+S,WACpC69C,KAAU/0C,EAAE,mBAAoB7b,EAAE+S,WAClC89C,KAAUh1C,EAAE,wBAAyB7b,EAAE+S,WACvC+9C,KAAUj1C,EAAE,sBAAuB7b,EAAE+S,WACrCg+C,KAAUl1C,EAAE,0BAA2B7b,EAAE+S,WACzCi+C,KAAUn1C,EAAE,wBAAyB7b,EAAE+S,WACvCk+C,KAAUp1C,EAAE,yBAA0B7b,EAAE+S,WACxCkrD,KAAUpiD,EAAE,uBAAwB7b,EAAE+S,WACtCmrD,KAAUriD,EAAE,0BAA2B7b,EAAE+S,WACzCorD,KAAUtiD,EAAE,wBAAyB7b,EAAE+S,WACvCqrD,KAAUviD,EAAE,yBAA0B7b,EAAE+S,WACxCsrD,KAAUxiD,EAAE,uBAAwB7b,EAAE+S,WACtCurD,KAAUziD,EAAE,yBAA0B7b,EAAE+S,WACxCwrD,KAAU1iD,EAAE,uBAAwB7b,EAAE+S,WACtCyrD,KAAU3iD,EAAE,uBAAwB7b,EAAE+S,WACtCg9B,KAAUl0B,EAAE,qBAAsB7b,EAAE+S,WACpC0rD,KAAU5iD,EAAE,sBAAuB7b,EAAE+S,WACrCm+C,KAAUr1C,EAAE,oBAAqB7b,EAAE+S,WACnC2rD,KAAU7iD,EAAE,qBAAsB7b,EAAE+S,WACpC4rD,KAAU9iD,EAAE,mBAAoB7b,EAAE+S,WAClCo+C,KAAUt1C,EAAE,uBAAwB7b,EAAE+S,WACtC6rD,KAAU/iD,EAAE,qBAAsB7b,EAAE+S,WACpC8rD,KAAUhjD,EAAE,sBAAuB7b,EAAE+S,WACrC+rD,KAAUjjD,EAAE,oBAAqB7b,EAAE+S,WACnCgsD,KAAUljD,EAAE,gBAAiB7b,EAAE+S,WAC/BisD,KAAUnjD,EAAE,cAAe7b,EAAE+S,WAC7Bq+C,KAAUv1C,EAAE,oBAAqB7b,EAAE+S,WACnCs+C,KAAUx1C,EAAE,kBAAmB7b,EAAE+S,WACjCu+C,KAAUz1C,EAAE,mBAAoB7b,EAAE+S,WAClCw+C,KAAU11C,EAAE,iBAAkB7b,EAAE+S,WAChCy+C,KAAU31C,EAAE,iBAAkB7b,EAAE+S,WAChC0+C,KAAU51C,EAAE,eAAgB7b,EAAE+S,WAC9BqF,KAAUyD,EAAE,gBAAiB7b,EAAE+S,WAC/B2+C,KAAU71C,EAAE,cAAe7b,EAAE+S,WAC7BksD,KAAUpjD,EAAE,kBAAmB7b,EAAE+S,WACjCmsD,KAAUrjD,EAAE,gBAAiB7b,EAAE+S,WAC/B4+C,KAAU91C,EAAE,iBAAkB7b,EAAE+S,WAChC6+C,KAAU/1C,EAAE,eAAgB7b,EAAE+S,WAC9BosD,KAAUtjD,EAAE,qBAAsB7b,EAAE+S,WACpCqsD,KAAUvjD,EAAE,mBAAoB7b,EAAE+S,WAClCssD,KAAUxjD,EAAE,qBAAsB7b,EAAE+S,WACpCusD,KAAUzjD,EAAE,mBAAoB7b,EAAE+S,WAClC8+C,KAAUh2C,EAAE,mBAAoB7b,EAAE+S,WAClC++C,KAAUj2C,EAAE,iBAAkB7b,EAAE+S,WAChCg/C,KAAUl2C,EAAE,kBAAmB7b,EAAE+S,WACjCi/C,KAAUn2C,EAAE,gBAAiB7b,EAAE+S,WAC/Bk/C,KAAUp2C,EAAE,kBAAmB7b,EAAE+S,WACjCwsD,KAAU1jD,EAAE,gBAAiB7b,EAAE+S,WAC/BysD,KAAU3jD,EAAE,iBAAkB7b,EAAE+S,WAChCm/C,KAAUr2C,EAAE,eAAgB7b,EAAE+S,WAC9Bo/C,KAAUt2C,EAAE,eAAgB7b,EAAE+S,WAC9Bq/C,KAAUv2C,EAAE,aAAc7b,EAAE+S,WAC5B0sD,KAAU5jD,EAAE,cAAe7b,EAAE+S,WAC7Bs/C,KAAUx2C,EAAE,YAAa7b,EAAE+S,WAC3Bu/C,KAAUz2C,EAAE,kBAAmB7b,EAAE+S,WACjCw/C,KAAU12C,EAAE,qBAAsB7b,EAAE+S,WACpCy/C,KAAU32C,EAAE,mBAAoB7b,EAAE+S,WAClC0/C,KAAU52C,EAAE,iBAAkB7b,EAAE+S,WAChC2/C,KAAU72C,EAAE,aAAc7b,EAAE+S,WAC5B4/C,KAAU92C,EAAE,eAAgB7b,EAAE+S,WAC9B6/C,KAAU/2C,EAAE,gBAAiB7b,EAAE+S,WAC/B8/C,KAAUh3C,EAAE,cAAe7b,EAAE+S,WAC7B+/C,KAAUj3C,EAAE,eAAgB7b,EAAE+S,WAC9B2sD,KAAU7jD,EAAE,aAAc7b,EAAE+S,WAC5B4sD,KAAU9jD,EAAE,gBAAiB7b,EAAE+S,WAC/BggD,KAAUl3C,EAAE,cAAe7b,EAAE+S,WAC7BigD,KAAUn3C,EAAE,eAAgB7b,EAAE+S,WAC9BkgD,KAAUp3C,EAAE,aAAc7b,EAAE+S,WAC5BmgD,KAAUr3C,EAAE,gBAAiB7b,EAAE+S,WAC/BogD,KAAUt3C,EAAE,cAAe7b,EAAE+S,WAC7BqgD,KAAUv3C,EAAE,eAAgB7b,EAAE+S,WAC9B6sD,KAAU/jD,EAAE,aAAc7b,EAAE+S,WAC5BsgD,KAAUx3C,EAAE,gBAAiB7b,EAAE+S,WAC/BugD,KAAUz3C,EAAE,cAAe7b,EAAE+S,WAC7BwgD,KAAU13C,EAAE,eAAgB7b,EAAE+S,WAC9BygD,KAAU33C,EAAE,aAAc7b,EAAE+S,WAC5B8sD,KAAUhkD,EAAE,kBAAmB7b,EAAE+S,WACjC+sD,KAAUjkD,EAAE,gBAAiB7b,EAAE+S,WAC/BgtD,KAAUlkD,EAAE,mBAAoB7b,EAAE+S,WAClC0gD,KAAU53C,EAAE,iBAAkB7b,EAAE+S,WAChCitD,KAAUnkD,EAAE,mBAAoB7b,EAAE+S,WAClCktD,KAAUpkD,EAAE,iBAAkB7b,EAAE+S,WAChC2gD,KAAU73C,EAAE,oBAAqB7b,EAAE+S,WACnC4gD,KAAU93C,EAAE,kBAAmB7b,EAAE+S,WACjC6gD,KAAU/3C,EAAE,mBAAoB7b,EAAE+S,WAClC8gD,KAAUh4C,EAAE,iBAAkB7b,EAAE+S,WAChC+gD,KAAUj4C,EAAE,mBAAoB7b,EAAE+S,WAClCghD,KAAUl4C,EAAE,iBAAkB7b,EAAE+S,WAChCihD,KAAUn4C,EAAE,oBAAqB7b,EAAE+S,WACnCkhD,KAAUp4C,EAAE,kBAAmB7b,EAAE+S,WACjCmhD,KAAUr4C,EAAE,mBAAoB7b,EAAE+S,WAClCohD,KAAUt4C,EAAE,qBAAsB7b,EAAE+S,WACpCqhD,KAAUv4C,EAAE,eAAgB7b,EAAE+S,WAC9BshD,KAAUx4C,EAAE,gBAAiB7b,EAAE+S,WAC/BmtD,KAAUrkD,EAAE,cAAe7b,EAAE+S,WAC7BuhD,KAAUz4C,EAAE,eAAgB7b,EAAE+S,WAC9BwhD,KAAU14C,EAAE,aAAc7b,EAAE+S,WAC5ByhD,KAAU34C,EAAE,mBAAoB7b,EAAE+S,WAClC0hD,KAAU54C,EAAE,iBAAkB7b,EAAE+S,WAChC2hD,KAAU74C,EAAE,oBAAqB7b,EAAE+S,WACnC4hD,KAAU94C,EAAE,kBAAmB7b,EAAE+S,WACjC6hD,KAAU/4C,EAAE,kBAAmB7b,EAAE+S,WACjC8hD,KAAUh5C,EAAE,gBAAiB7b,EAAE+S,WAC/BotD,KAAUtkD,EAAE,iBAAkB7b,EAAE+S,WAChCqtD,KAAUvkD,EAAE,eAAgB7b,EAAE+S,WAC9B+hD,KAAUj5C,EAAE,oBAAqB7b,EAAE+S,WACnCstD,KAAUxkD,EAAE,kBAAmB7b,EAAE+S,WACjCgiD,KAAUl5C,EAAE,mBAAoB7b,EAAE+S,WAClCutD,KAAUzkD,EAAE,iBAAkB7b,EAAE+S,WAChCwtD,KAAU1kD,EAAE,mBAAoB7b,EAAE+S,WAClCopE,KAAUtgE,EAAE,iBAAkB7b,EAAE+S,WAChCytD,KAAU3kD,EAAE,oBAAqB7b,EAAE+S,WACnC0tD,KAAU5kD,EAAE,aAAc7b,EAAE+S,WAC5BiiD,KAAUn5C,EAAE,kBAAmB7b,EAAE+S,WACjC2tD,KAAU7kD,EAAE,gBAAiB7b,EAAE+S,WAC/BkiD,KAAUp5C,EAAE,cAAe7b,EAAE+S,WAC7BmiD,KAAUr5C,EAAE,gBAAiB7b,EAAE+S,WAC/B4tD,KAAU9kD,EAAE,cAAe7b,EAAE+S,WAC7B6tD,KAAU/kD,EAAE,sBAAuB7b,EAAE+S,WACrCoiD,KAAUt5C,EAAE,oBAAqB7b,EAAE+S,WACnCqiD,KAAUv5C,EAAE,eAAgB7b,EAAE+S,WAC9BsiD,KAAUx5C,EAAE,aAAc7b,EAAE+S,WAC5B8tD,KAAUhlD,EAAE,mBAAoB7b,EAAE+S,WAClC+tD,KAAUjlD,EAAE,iBAAkB7b,EAAE+S,WAChCguD,KAAUllD,EAAE,kBAAmB7b,EAAE+S,WACjCiuD,KAAUnlD,EAAE,gBAAiB7b,EAAE+S,WAC/BkuD,KAAUplD,EAAE,qBAAsB7b,EAAE+S,WACpCuiD,KAAUz5C,EAAE,mBAAoB7b,EAAE+S,WAClCiL,KAAUnC,EAAE,gBAAiB7b,EAAE+S,WAC/BwiD,KAAU15C,EAAE,gBAAiB7b,EAAE+S,WAC/BmuD,KAAUrlD,EAAE,oBAAqB7b,EAAE+S,WACnCkL,KAAUpC,EAAE,kBAAmB7b,EAAE+S,WACjCyiD,KAAU35C,EAAE,gBAAiB7b,EAAE+S,WAC/BouD,KAAUtlD,EAAE,aAAc7b,EAAE+S,WAC5BmL,KAAUrC,EAAE,aAAc7b,EAAE+S,WAC5BquD,KAAUvlD,EAAE,aAAc7b,EAAE+S,WAC5BsuD,KAAUxlD,EAAE,kBAAmB7b,EAAE+S,WACjCuuD,KAAUzlD,EAAE,qBAAsB7b,EAAE+S,WACpCwuD,KAAU1lD,EAAE,iBAAkB7b,EAAE+S,WAChCyuD,KAAU3lD,EAAE,sBAAuB7b,EAAE+S,WACrC0uD,KAAU5lD,EAAE,oBAAqB7b,EAAE+S,WACnC4uD,KAAU9lD,EAAE,kBAAmB7b,EAAE+S,WACjC6uD,KAAU/lD,EAAE,qBAAsB7b,EAAE+S,WACpC8uD,KAAUhmD,EAAE,oBAAqB7b,EAAE+S,WACnC+uD,KAAUjmD,EAAE,oBAAqB7b,EAAE+S,WACnC2iD,KAAU75C,EAAE,qBAAsB7b,EAAE+S,WACpCgvD,KAAUlmD,EAAE,sBAAuB7b,EAAE+S,WACrCivD,KAAUnmD,EAAE,gBAAiB7b,EAAE+S,WAC/B4iD,KAAU95C,EAAE,cAAe7b,EAAE+S,WAC7B6iD,KAAU/5C,EAAE,iBAAkB7b,EAAE+S,WAChC8iD,KAAUh6C,EAAE,eAAgB7b,EAAE+S,WAC9B+iD,KAAUj6C,EAAE,qBAAsB7b,EAAE+S,WACpCgjD,KAAUl6C,EAAE,mBAAoB7b,EAAE+S,WAClCijD,KAAUn6C,EAAE,iBAAkB7b,EAAE+S,WAChCkjD,KAAUp6C,EAAE,eAAgB7b,EAAE+S,WAC9BmjD,KAAUr6C,EAAE,gBAAiB7b,EAAE+S,WAC/BojD,KAAUt6C,EAAE,cAAe7b,EAAE+S,WAC7BqjD,KAAUv6C,EAAE,kBAAmB7b,EAAE+S,WACjCsjD,KAAUx6C,EAAE,gBAAiB7b,EAAE+S,WAC/BujD,KAAUz6C,EAAE,wBAAyB7b,EAAE+S,WACvCwjD,KAAU16C,EAAE,sBAAuB7b,EAAE+S,WACrCyjD,KAAU36C,EAAE,uBAAwB7b,EAAE+S,WACtCqpE,KAAUvgE,EAAE,qBAAsB7b,EAAE+S,WACpC0jD,KAAU56C,EAAE,iBAAkB7b,EAAE+S,WAChCspE,KAAUxgE,EAAE,eAAgB7b,EAAE+S,WAC9B2jD,KAAU76C,EAAE,mBAAoB7b,EAAE+S,WAClC4jD,KAAU96C,EAAE,iBAAkB7b,EAAE+S,WAChC6jD,KAAU/6C,EAAE,gBAAiB7b,EAAE+S,WAC/B8jD,KAAUh7C,EAAE,cAAe7b,EAAE+S,WAC7B+jD,KAAUj7C,EAAE,iBAAkB7b,EAAE+S,WAChCgkD,KAAUl7C,EAAE,eAAgB7b,EAAE+S,WAC9BikD,KAAUn7C,EAAE,SAAU7b,EAAE+S,WACxBkkD,KAAUp7C,EAAE,kBAAmB7b,EAAE+S,WACjCmkD,KAAUr7C,EAAE,UAAW7b,EAAE+S,WACzBokD,KAAUt7C,EAAE,UAAW7b,EAAE+S,WACzBqkD,KAAUv7C,EAAE,SAAU7b,EAAE+S,WACxBupE,KAAUzgE,EAAE,gBAAiB7b,EAAE+S,WAC/BwpE,KAAU1gE,EAAE,SAAU7b,EAAE+S,WACxBypE,KAAU3gE,EAAE,SAAU7b,EAAE+S,WACxB0pE,KAAU5gE,EAAE,cAAe7b,EAAE+S,WAC7B2pE,KAAU7gE,EAAE,iBAAkB7b,EAAE+S,WAChC4pE,KAAU9gE,EAAE,YAAa7b,EAAE+S,WAC3B6pE,KAAU/gE,EAAE,eAAgB7b,EAAE+S,WAC9B8pE,KAAUhhE,EAAE,eAAgB7b,EAAE+S,WAC9B+pE,KAAUjhE,EAAE,kBAAmB7b,EAAE+S,WACjCgqE,KAAUlhE,EAAE,cAAe7b,EAAE+S,WAC7BskD,KAAUx7C,EAAE,gBAAiB7b,EAAE+S,WAC/BukD,KAAUz7C,EAAE,gBAAiB7b,EAAE+S,WAC/BwkD,KAAU17C,EAAE,gBAAiB7b,EAAE+S,WAC/BykD,KAAU37C,EAAE,eAAgB7b,EAAE+S,WAC9B0kD,KAAU57C,EAAE,YAAa7b,EAAE+S,WAC3B2kD,KAAU77C,EAAE,gBAAiB7b,EAAE+S,WAC/BiqE,KAAUnhE,EAAE,aAAc7b,EAAE+S,WAC5BkqE,KAAUphE,EAAE,cAAe7b,EAAE+S,WAC7BoL,KAAUtC,EAAE,iBAAkB7b,EAAE+S,WAChC4kD,KAAU97C,EAAE,eAAgB7b,EAAE+S,WAC9B6kD,KAAU/7C,EAAE,sBAAuB7b,EAAE+S,WACrC8kD,KAAUh8C,EAAE,qBAAsB7b,EAAE+S,WACpC+kD,KAAUj8C,EAAE,mBAAoB7b,EAAE+S,WAClCglD,KAAUl8C,EAAE,oBAAqB7b,EAAE+S,WACnCmqE,KAAUrhE,EAAE,aAAc7b,EAAE+S,WAC5BoqE,KAAUthE,EAAE,aAAc7b,EAAE+S,WAC5BqqE,KAAUvhE,EAAE,WAAY7b,EAAE+S,WAC1BsqE,KAAUxhE,EAAE,yBAA0B7b,EAAE+S,WACxCilD,KAAUn8C,EAAE,uBAAwB7b,EAAE+S,WACtCklD,KAAUp8C,EAAE,sBAAuB7b,EAAE+S,WACrCmlD,KAAUr8C,EAAE,oBAAqB7b,EAAE+S,WACnColD,KAAUt8C,EAAE,qBAAsB7b,EAAE+S,WACpCqlD,KAAUv8C,EAAE,mBAAoB7b,EAAE+S,WAClCslD,KAAUx8C,EAAE,sBAAuB7b,EAAE+S,WACrCulD,KAAUz8C,EAAE,oBAAqB7b,EAAE+S,WACnCwlD,KAAU18C,EAAE,qBAAsB7b,EAAE+S,WACpCylD,KAAU38C,EAAE,mBAAoB7b,EAAE+S,WAClC0lD,KAAU58C,EAAE,uBAAwB7b,EAAE+S,WACtC2lD,KAAU78C,EAAE,qBAAsB7b,EAAE+S,WACpC4lD,KAAU98C,EAAE,sBAAuB7b,EAAE+S,WACrC6lD,KAAU/8C,EAAE,oBAAqB7b,EAAE+S,WACnC8lD,KAAUh9C,EAAE,yBAA0B7b,EAAE+S,WACxC+lD,KAAUj9C,EAAE,uBAAwB7b,EAAE+S,WACtCgmD,KAAUl9C,EAAE,wBAAyB7b,EAAE+S,WACvCimD,KAAUn9C,EAAE,sBAAuB7b,EAAE+S,WACrCkmD,KAAUp9C,EAAE,cAAe7b,EAAE+S,WAC7BmmD,KAAUr9C,EAAE,YAAa7b,EAAE+S,WAC3BomD,KAAUt9C,EAAE,eAAgB7b,EAAE+S,WAC9BqmD,KAAUv9C,EAAE,aAAc7b,EAAE+S,WAC5BsmD,KAAUx9C,EAAE,uBAAwB7b,EAAE+S,WACtCumD,KAAUz9C,EAAE,qBAAsB7b,EAAE+S,WACpCwmD,KAAU19C,EAAE,sBAAuB7b,EAAE+S,WACrCymD,KAAU39C,EAAE,oBAAqB7b,EAAE+S,WACnC0mD,KAAU59C,EAAE,gBAAiB7b,EAAE+S,WAC/B2mD,KAAU79C,EAAE,cAAe7b,EAAE+S,WAC7BuqE,KAAUzhE,EAAE,eAAgB7b,EAAE+S,WAC9B4mD,KAAU99C,EAAE,aAAc7b,EAAE+S,WAC5B6mD,KAAU/9C,EAAE,wBAAyB7b,EAAE+S,WACvC8mD,KAAUh+C,EAAE,sBAAuB7b,EAAE+S,WACrC+mD,KAAUj+C,EAAE,gCAAiC7b,EAAE+S,WAC/CgnD,KAAUl+C,EAAE,8BAA+B7b,EAAE+S,WAC7CinD,KAAUn+C,EAAE,iBAAkB7b,EAAE+S,WAChCknD,KAAUp+C,EAAE,eAAgB7b,EAAE+S,WAC9BmnD,KAAUr+C,EAAE,kBAAmB7b,EAAE+S,WACjConD,KAAUt+C,EAAE,gBAAiB7b,EAAE+S,WAC/BqnD,KAAUv+C,EAAE,kBAAmB7b,EAAE+S,WACjCsnD,KAAUx+C,EAAE,gBAAiB7b,EAAE+S,WAC/BunD,KAAUz+C,EAAE,qBAAsB7b,EAAE+S,WACpCwnD,KAAU1+C,EAAE,mBAAoB7b,EAAE+S,WAClCynD,KAAU3+C,EAAE,UAAW7b,EAAE+S,WACzB0nD,KAAU5+C,EAAE,qBAAsB7b,EAAE+S,WACpC2nD,KAAU7+C,EAAE,uBAAwB7b,EAAE+S,WACtC4nD,KAAU9+C,EAAE,qBAAsB7b,EAAE+S,WACpC6nD,KAAU/+C,EAAE,kBAAmB7b,EAAE+S,WACjC8nD,KAAUh/C,EAAE,aAAc7b,EAAE+S,WAC5B+nD,KAAUj/C,EAAE,kBAAmB7b,EAAE+S,WACjCgoD,KAAUl/C,EAAE,eAAgB7b,EAAE+S,WAC9BwqE,KAAU1hE,EAAE,uBAAwB7b,EAAE+S,WACtCioD,KAAUn/C,EAAE,qBAAsB7b,EAAE+S,WACpCkoD,KAAUp/C,EAAE,sBAAuB7b,EAAE+S,WACrCmoD,KAAUr/C,EAAE,oBAAqB7b,EAAE+S,WACnCyqE,KAAU3hE,EAAE,uBAAwB7b,EAAE+S,WACtC0qE,KAAU5hE,EAAE,qBAAsB7b,EAAE+S,WACpCooD,KAAUt/C,EAAE,eAAgB7b,EAAE+S,WAC9B2qE,KAAU7hE,EAAE,cAAe7b,EAAE+S,WAC7B4qE,KAAU9hE,EAAE,YAAa7b,EAAE+S,WAC3B6qE,KAAU/hE,EAAE,iBAAkB7b,EAAE+S,WAChCqoD,KAAUv/C,EAAE,eAAgB7b,EAAE+S,WAC9B8qE,KAAUhiE,EAAE,aAAc7b,EAAE+S,WAC5BsoD,KAAUx/C,EAAE,WAAY7b,EAAE+S,WAC1B+qE,KAAUjiE,EAAE,cAAe7b,EAAE+S,WAC7BuoD,KAAUz/C,EAAE,YAAa7b,EAAE+S,WAC3BwoD,KAAU1/C,EAAE,WAAY7b,EAAEiwE,gBAC1BzU,KAAU3/C,EAAE,eAAgB7b,EAAE+S,WAC9BgrE,KAAUliE,EAAE,aAAc7b,EAAE+S,WAC5BirE,KAAUniE,EAAE,gBAAiB7b,EAAE+S,WAC/BkrE,KAAUpiE,EAAE,cAAe7b,EAAE+S,WAC7BmrE,KAAUriE,EAAE,UAAW7b,EAAE+S,WACzBorE,KAAUtiE,EAAE,kBAAmB7b,EAAE+S,WACjCqrE,KAAUviE,EAAE,gBAAiB7b,EAAE+S,WAC/BsrE,KAAUxiE,EAAE,cAAe7b,EAAE+S,WAC7BurE,KAAUziE,EAAE,YAAa7b,EAAE+S,WAC3BwrE,KAAU1iE,EAAE,SAAU7b,EAAE+S,WACxByrE,KAAU3iE,EAAE,eAAgB7b,EAAE+S,WAC9B0rE,KAAU5iE,EAAE,aAAc7b,EAAE+S,WAC5B2rE,KAAU7iE,EAAE,SAAU7b,EAAE+S,WACxB4rE,KAAU9iE,EAAE,sBAAuB7b,EAAE+S,WACrC0oD,KAAU5/C,EAAE,oBAAqB7b,EAAE+S,WACnC2oD,KAAU7/C,EAAE,qBAAsB7b,EAAE+S,WACpC4oD,KAAU9/C,EAAE,mBAAoB7b,EAAE+S,WAClC6rE,KAAU/iE,EAAE,uBAAwB7b,EAAE+S,WACtC8rE,KAAUhjE,EAAE,sBAAuB7b,EAAE+S,WACrC+rE,KAAUjjE,EAAE,kBAAmB7b,EAAE+S,WACjCgsE,KAAUljE,EAAE,gBAAiB7b,EAAE+S,WAC/BisE,KAAUnjE,EAAE,kBAAmB7b,EAAE+S,WACjC6oD,KAAU//C,EAAE,gBAAiB7b,EAAE+S,WAC/B8oD,KAAUhgD,EAAE,kBAAmB7b,EAAE+S,WACjC+oD,KAAUjgD,EAAE,gBAAiB7b,EAAE+S,WAC/BgpD,KAAUlgD,EAAE,mBAAoB7b,EAAE+S,WAClCipD,KAAUngD,EAAE,iBAAkB7b,EAAE+S,WAChCkpD,KAAUpgD,EAAE,iBAAkB7b,EAAE+S,WAChCmpD,KAAUrgD,EAAE,YAAa7b,EAAE+S,WAC3BksE,KAAUpjE,EAAE,YAAa7b,EAAE+S,WAC3BmsE,KAAUrjE,EAAE,YAAa7b,EAAE+S,WAC3BosE,KAAUtjE,EAAE,YAAa7b,EAAE+S,WAC3BqsE,KAAUvjE,EAAE,aAAc7b,EAAE+S,WAC5BssE,KAAUxjE,EAAE,qBAAsB7b,EAAE+S,WACpCusE,KAAUzjE,EAAE,mBAAoB7b,EAAE+S,WAClCwsE,KAAU1jE,EAAE,oBAAqB7b,EAAE+S,WACnCysE,KAAU3jE,EAAE,kBAAmB7b,EAAE+S,WACjC0sE,KAAU5jE,EAAE,mBAAoB7b,EAAE+S,WAClC2sE,KAAU7jE,EAAE,iBAAkB7b,EAAE+S,WAChC4sE,KAAU9jE,EAAE,oBAAqB7b,EAAE+S,WACnC6sE,KAAU/jE,EAAE,qBAAsB7b,EAAE+S,WACpC8sE,KAAUhkE,EAAE,qBAAsB7b,EAAE+S,WACpC+sE;AAAUjkE,EAAE,kBAAmB7b,EAAE+S,WACjCgtE,KAAUlkE,EAAE,mBAAoB7b,EAAE+S,WAClCitE,KAAUnkE,EAAE,iBAAkB7b,EAAE+S,WAChCktE,KAAUpkE,EAAE,yBAA0B7b,EAAE+S,WACxCmtE,KAAUrkE,EAAE,uBAAwB7b,EAAE+S,WACtCotE,KAAUtkE,EAAE,sBAAuB7b,EAAE+S,WACrCupD,KAAUzgD,EAAE,iBAAkB7b,EAAE+S,WAChCwpD,KAAU1gD,EAAE,aAAc7b,EAAE+S,WAC5BqtE,KAAUvkE,EAAE,aAAc7b,EAAE+S,WAC5BstE,KAAUxkE,EAAE,mBAAoB7b,EAAE+S,WAClCutE,KAAUzkE,EAAE,qBAAsB7b,EAAE+S,WACpCwtE,KAAU1kE,EAAE,YAAa7b,EAAE+S,WAC3BytE,KAAU3kE,EAAE,sBAAuB7b,EAAE+S,WACrC0tE,KAAU5kE,EAAE,oBAAqB7b,EAAE+S,WACnC2tE,KAAU7kE,EAAE,qBAAsB7b,EAAE+S,WACpC4tE,KAAU9kE,EAAE,mBAAoB7b,EAAE+S,WAClC6tE,KAAU/kE,EAAE,oBAAqB7b,EAAE+S,WACnC8tE,KAAUhlE,EAAE,kBAAmB7b,EAAE+S,WACjC+tE,KAAUjlE,EAAE,qBAAsB7b,EAAE+S,WACpCguE,KAAUllE,EAAE,mBAAoB7b,EAAE+S,WAClCiuE,KAAUnlE,EAAE,WAAY7b,EAAE+S,WAC1BkuE,KAAUplE,EAAE,WAAY7b,EAAE+S,WAC1BmuE,KAAUrlE,EAAE,wBAAyB7b,EAAE+S,WACvCouE,KAAUtlE,EAAE,sBAAuB7b,EAAE+S,WACrCquE,KAAUvlE,EAAE,oBAAqB7b,EAAE+S,WACnCsuE,KAAUxlE,EAAE,kBAAmB7b,EAAE+S,WACjCuuE,KAAUzlE,EAAE,cAAe7b,EAAE+S,WAC7BwuE,KAAU1lE,EAAE,gBAAiB7b,EAAE+S,WAC/ByuE,KAAU3lE,EAAE,cAAe7b,EAAE+S,WAC7B0uE,KAAU5lE,EAAE,kBAAmB7b,EAAE+S,WACjC2uE,KAAU7lE,EAAE,uBAAwB7b,EAAE+S,WACtC4uE,KAAU9lE,EAAE,qBAAsB7b,EAAE+S,WACpC6uE,KAAU/lE,EAAE,gBAAiB7b,EAAE+S,WAC/B8uE,KAAUhmE,EAAE,gBAAiB7b,EAAE+S,WAC/B+uE,KAAUjmE,EAAE,eAAgB7b,EAAE+S,WAC9BgvE,KAAUlmE,EAAE,gBAAiB7b,EAAE+S,WAC/BivE,KAAUnmE,EAAE,iBAAkB7b,EAAE+S,WAChCkvE,KAAUpmE,EAAE,iBAAkB7b,EAAE+S,WAChCmvE,KAAUrmE,EAAE,iBAAkB7b,EAAE+S,WAChCovE,KAAUtmE,EAAE,gBAAiB7b,EAAE+S,WAC/BqvE,KAAUvmE,EAAE,gBAAiB7b,EAAE+S,WAC/BsvE,KAAUxmE,EAAE,0BAA2B7b,EAAE+S,WACzCuvE,KAAUzmE,EAAE,uBAAwB7b,EAAE+S,WACtCwvE,KAAU1mE,EAAE,qBAAsB7b,EAAE+S,WACpCyvE,KAAU3mE,EAAE,wBAAyB7b,EAAE+S,WACvC0vE,KAAU5mE,EAAE,sBAAuB7b,EAAE+S,WACrC2vE,KAAU7mE,EAAE,oBAAqB7b,EAAE+S,WACnC4vE,KAAU9mE,EAAE,kBAAmB7b,EAAE+S,WACjC6vE,KAAU/mE,EAAE,kBAAmB7b,EAAE+S,WACjC8vE,KAAUhnE,EAAE,wBAAyB7b,EAAE+S,WACvC+vE,KAAUjnE,EAAE,sBAAuB7b,EAAE+S,WACrCgwE,KAAUlnE,EAAE,oBAAqB7b,EAAE+S,WACnCiwE,KAAUnnE,EAAE,kBAAmB7b,EAAE+S,WACjCkwE,KAAUpnE,EAAE,mBAAoB7b,EAAE+S,WAClCmwE,KAAUrnE,EAAE,iBAAkB7b,EAAE+S,WAChCowE,KAAUtnE,EAAE,gBAAiB7b,EAAE+S,WAC/BqwE,KAAUvnE,EAAE,cAAe7b,EAAE+S,WAC7BswE,KAAUxnE,EAAE,sBAAuB7b,EAAE+S,WACrCuwE,KAAUznE,EAAE,oBAAqB7b,EAAE+S,WACnCwwE,KAAU1nE,EAAE,eAAgB7b,EAAE+S,WAC9BywE,KAAU3nE,EAAE,iBAAkB7b,EAAE+S,WAChC0wE,KAAU5nE,EAAE,eAAgB7b,EAAE+S,WAC9B2wE,KAAU7nE,EAAE,iBAAkB7b,EAAE+S,WAChC4wE,KAAU9nE,EAAE,gBAAiB7b,EAAE+S,WAC/B6wE,KAAU/nE,EAAE,cAAe7b,EAAE+S,WAC7B8wE,KAAUhoE,EAAE,kBAAmB7b,EAAE+S,WACjC+wE,KAAUjoE,EAAE,gBAAiB7b,EAAE+S,WAC/BgxE,KAAUloE,EAAE,eAAgB7b,EAAE+S,WAC9BixE,KAAUnoE,EAAE,aAAc7b,EAAE+S,WAC5BkxE,KAAUpoE,EAAE,kBAAmB7b,EAAE+S,WACjCmxE,KAAUroE,EAAE,gBAAiB7b,EAAE+S,WAC/BoxE,KAAUtoE,EAAE,iBAAkB7b,EAAE+S,WAChCypD,KAAU3gD,EAAE,eAAgB7b,EAAE+S,WAC9BqxE,KAAUvoE,EAAE,aAAc7b,EAAE+S,WAC5BsxE,KAAUxoE,EAAE,uBAAwB7b,EAAE+S,WACtCuxE,KAAUzoE,EAAE,qBAAsB7b,EAAE+S,WACpCwxE,KAAU1oE,EAAE,mBAAoB7b,EAAE+S,WAClCyxE,KAAU3oE,EAAE,iBAAkB7b,EAAE+S,WAChC0xE,KAAU5oE,EAAE,yBAA0B7b,EAAE+S,WACxC2xE,KAAU7oE,EAAE,uBAAwB7b,EAAE+S,WACtC4xE,KAAU9oE,EAAE,mBAAoB7b,EAAEqgD,wBAClCukC,KAAU/oE,EAAE,sBAAuB7b,EAAE+S,WACrC8xE,KAAUhpE,EAAE,oBAAqB7b,EAAE+S,WACnC+xE,KAAUjpE,EAAE,kBAAmB7b,EAAEkgD,uBACjC6kC,KAAUlpE,EAAE,gBAAiB7b,EAAE+S,WAC/BiyE,KAAUnpE,EAAE,iBAAkB7b,EAAEsgD,sBAChC2kC,KAAUppE,EAAE,qBAAsB7b,EAAE+S,WACpCmyE,KAAUrpE,EAAE,eAAgB7b,EAAE+S,WAC9BoyE,KAAUtpE,EAAE,mBAAoB7b,EAAE+S,WAClCqyE,KAAUvpE,EAAE,kBAAmB7b,EAAE+S,WACjCsyE,KAAUxpE,EAAE,gBAAiB7b,EAAE+S,WAC/BuyE,KAAUzpE,EAAE,0BAA2B7b,EAAE+S,WACzCwyE,KAAU1pE,EAAE,aAAc7b,EAAE+S,WAC5ByyE,KAAU3pE,EAAE,wBAAyB7b,EAAE+S,WACvC0yE,KAAU5pE,EAAE,gCAAiC7b,EAAE+S,WAC/C2yE,KAAU7pE,EAAE,wBAAyB7b,EAAE+S,WACvC4yE,KAAU9pE,EAAE,kBAAmB7b,EAAE+S,WACjC6yE,KAAU/pE,EAAE,sBAAuB7b,EAAE+S,WACrC8yE,KAAUhqE,EAAE,YAAa7b,EAAE+S,WAC3B+yE,KAAUjqE,EAAE,iBAAkB7b,EAAE+S,WAChC4pD,KAAU9gD,EAAE,sBAAuB7b,EAAE+S,WACrCgzE,KAAUlqE,EAAE,oBAAqB7b,EAAE+S,WACnCizE,KAAUnqE,EAAE,qBAAsB7b,EAAE+S,WACpCkzE,KAAUpqE,EAAE,mBAAoB7b,EAAE+S,WAClCmzE,KAAUrqE,EAAE,yBAA0B7b,EAAE+S,WACxCozE,KAAUtqE,EAAE,uBAAwB7b,EAAE+S,WACtCqzE,KAAUvqE,EAAE,kBAAmB7b,EAAE+S,WACjCszE,KAAUxqE,EAAE,oBAAqB7b,EAAE+S,WACnCuzE,KAAUzqE,EAAE,cAAe7b,EAAE+S,WAC7BwzE,KAAU1qE,EAAE,kBAAmB7b,EAAE+S,WACjCyzE,KAAU3qE,EAAE,mBAAoB7b,EAAE+S,WAClC0zE,KAAU5qE,EAAE,kBAAmB7b,EAAE+S,WACjC2zE,KAAU7qE,EAAE,aAAc7b,EAAE+S,WAC5B4zE,KAAU9qE,EAAE,gBAAiB7b,EAAE+S,WAC/B6pD,KAAU/gD,EAAE,cAAe7b,EAAE+S,WAC7B6zE,KAAU/qE,EAAE,iBAAkB7b,EAAE+S,WAChC8zE,KAAUhrE,EAAE,kBAAmB7b,EAAE+S,WACjC+zE,KAAUjrE,EAAE,oBAAqB7b,EAAE+S,WACnCg0E,KAAUlrE,EAAE,kBAAmB7b,EAAE+S,WACjC8pD,KAAUhhD,EAAE,iBAAkB7b,EAAE+S,WAChCi0E,KAAUnrE,EAAE,eAAgB7b,EAAE+S,WAC9Bk0E,KAAUprE,EAAE,gBAAiB7b,EAAE+S,WAC/Bm0E,KAAUrrE,EAAE,oBAAqB7b,EAAE+S,WACnCo0E,KAAUtrE,EAAE,uBAAwB7b,EAAE+S,WACtCq0E,KAAUvrE,EAAE,wBAAyB7b,EAAE+S,WACvCs0E,KAAUxrE,EAAE,qBAAsB7b,EAAE+S,WACpCu0E,KAAUzrE,EAAE,wBAAyB7b,EAAE+S,WACvCw0E,MAAU1rE,EAAE,eAAgB7b,EAAE+S,WAC9By0E,MAAU3rE,EAAE,gBAAiB7b,EAAE+S,WAC/B00E,MAAU5rE,EAAE,qBAAsB7b,EAAE+S,WACpC20E,MAAU7rE,EAAE,mBAAoB7b,EAAE+S,WAClC40E,MAAU9rE,EAAE,2BAA4B7b,EAAE+S,WAC1C60E,MAAU/rE,EAAE,yBAA0B7b,EAAE+S,WACxC80E,MAAUhsE,EAAE,0BAA2B7b,EAAE+S,WACzC+0E,MAAUjsE,EAAE,yBAA0B7b,EAAE+S,WACxCg1E,MAAUlsE,EAAE,uBAAwB7b,EAAE+S,WACtCi1E,MAAUnsE,EAAE,wBAAyB7b,EAAE+S,WACvCk1E,MAAUpsE,EAAE,sBAAuB7b,EAAE+S,WACrCm1E,MAAUrsE,EAAE,uBAAwB7b,EAAE+S,WACtCo1E,MAAUtsE,EAAE,aAAc7b,EAAE+S,WAC5Bq1E,MAAUvsE,EAAE,YAAa7b,EAAE+S,WAC3Bs1E,MAAUxsE,EAAE,uBAAwB7b,EAAE+S,WACtCu1E,MAAUzsE,EAAE,qBAAsB7b,EAAE+S,WACpCw1E,MAAU1sE,EAAE,YAAa7b,EAAE+S,WAC3By1E,MAAU3sE,EAAE,yBAA0B7b,EAAE+S,WACxC01E,MAAU5sE,EAAE,uBAAwB7b,EAAE+S,WACtC21E,MAAU7sE,EAAE,eAAgB7b,EAAE+S,WAC9B41E,MAAU9sE,EAAE,YAAa7b,EAAE+S,WAC3B61E,MAAU/sE,EAAE,mBAAoB7b,EAAE+S,WAClC81E,MAAUhtE,EAAE,kCAAmC7b,EAAE+S,WACjD+1E,MAAUjtE,EAAE,gCAAiC7b,EAAE+S,WAC/Cg2E,MAAUltE,EAAE,mBAAoB7b,EAAE+S,WAClCi2E,MAAUntE,EAAE,iBAAkB7b,EAAE+S,WAChCk2E,MAAUptE,EAAE,YAAa7b,EAAE+S,WAC3Bm2E,MAAUrtE,EAAE,oBAAqB7b,EAAE+S,WACnCo2E,MAAUttE,EAAE,oBAAqB7b,EAAE+S,WACnCq2E,MAAUvtE,EAAE,YAAa7b,EAAE+S,WAC3Bs2E,MAAUxtE,EAAE,kBAAmB7b,EAAE+S,WACjCu2E,MAAUztE,EAAE,aAAc7b,EAAE+S,WAC5Bw2E,MAAU1tE,EAAE,qBAAsB7b,EAAE+S,WACpCy2E,MAAU3tE,EAAE,mBAAoB7b,EAAE+S,WAClC02E,MAAU5tE,EAAE,0BAA2B7b,EAAE+S,WACzC22E,MAAU7tE,EAAE,wBAAyB7b,EAAE+S,WACvC42E,MAAU9tE,EAAE,YAAa7b,EAAE+S,WAC3B62E,MAAU/tE,EAAE,mBAAoB7b,EAAE+S,WAClC82E,MAAUhuE,EAAE,iBAAkB7b,EAAE+S,WAChC+2E,MAAUjuE,EAAE,gBAAiB7b,EAAE+S,WAC/Bg3E,MAAUluE,EAAE,cAAe7b,EAAE+S,WAC7Bi3E,MAAUnuE,EAAE,oBAAqB7b,EAAE+S,WACnCk3E,MAAUpuE,EAAE,kBAAmB7b,EAAE+S,WACjCm3E,MAAUruE,EAAE,yBAA0B7b,EAAE+S,WACxCo3E,MAAUtuE,EAAE,uBAAwB7b,EAAE+S,WACtCq3E,MAAUvuE,EAAE,wBAAyB7b,EAAE+S,WACvCs3E,MAAUxuE,EAAE,sBAAuB7b,EAAE+S,WACrCu3E,MAAUzuE,EAAE,sBAAuB7b,EAAE+S,WACrCw3E,MAAU1uE,EAAE,oBAAqB7b,EAAE+S,WACnCy3E,MAAU3uE,EAAE,yBAA0B7b,EAAE+S,WACxC03E,MAAU5uE,EAAE,uBAAwB7b,EAAE+S,WACtC23E,MAAU7uE,EAAE,oBAAqB7b,EAAE+S,WACnC43E,MAAU9uE,EAAE,kBAAmB7b,EAAE+S,WACjC63E,MAAU/uE,EAAE,mBAAoB7b,EAAE+S,WAClC83E,MAAUhvE,EAAE,iBAAkB7b,EAAE+S,WAChC+3E,MAAUjvE,EAAE,iBAAkB7b,EAAE+S,WAChCg4E,MAAUlvE,EAAE,eAAgB7b,EAAE+S,WAC9Bi4E,MAAUnvE,EAAE,4BAA6B7b,EAAE+S,WAC3Ck4E,MAAUpvE,EAAE,8BAA+B7b,EAAE+S,WAC7Cm4E,MAAUrvE,EAAE,4BAA6B7b,EAAE+S,WAC3Co4E,MAAUtvE,EAAE,gCAAiC7b,EAAE+S,WAC/Cq4E,MAAUvvE,EAAE,8BAA+B7b,EAAE+S,WAC7Cs4E,MAAUxvE,EAAE,+BAAgC7b,EAAE+S,WAC9Cu4E,MAAUzvE,EAAE,6BAA8B7b,EAAE+S,WAC5Cw4E,MAAU1vE,EAAE,8BAA+B7b,EAAE+S,WAC7Cy4E,MAAU3vE,EAAE,4BAA6B7b,EAAE+S,WAC3C04E,MAAU5vE,EAAE,6BAA8B7b,EAAE+S,WAC5C24E,MAAU7vE,EAAE,2BAA4B7b,EAAE+S,WAC1C44E,MAAU9vE,EAAE,yBAA0B7b,EAAE+S,WACxC64E,MAAU/vE,EAAE,gCAAiC7b,EAAE+S,WAC/C84E,MAAUhwE,EAAE,0BAA2B7b,EAAE+S,WACzC+4E,MAAUjwE,EAAE,8BAA+B7b,EAAE+S,WAC7Cg5E,MAAUlwE,EAAE,4BAA6B7b,EAAE+S,WAC3Ci5E,MAAUnwE,EAAE,0BAA2B7b,EAAE+S,WACzCk5E,MAAUpwE,EAAE,2BAA4B7b,EAAE+S,WAC1Cm5E,MAAUrwE,EAAE,uBAAwB7b,EAAE+S,WACtCo5E,MAAUtwE,EAAE,0BAA2B7b,EAAE+S,WACzCq5E,MAAUvwE,EAAE,oBAAqB7b,EAAE+S,WACnCs5E,MAAUxwE,EAAE,YAAa7b,EAAE+S,WAC3Bu5E,MAAUzwE,EAAE,YAAa7b,EAAE+S,WAC3Bw5E,MAAU1wE,EAAE,oCAAqC7b,EAAE+S,WACnDy5E,MAAU3wE,EAAE,kCAAmC7b,EAAE+S,WACjD05E,MAAU5wE,EAAE,kBAAmB7b,EAAE+S,WACjC25E,MAAU7wE,EAAE,gBAAiB7b,EAAE+S,WAC/B45E,MAAU9wE,EAAE,cAAe7b,EAAE+S,WAC7B65E,MAAU/wE,EAAE,iBAAkB7b,EAAE+S,WAChC85E,MAAUhxE,EAAE,eAAgB7b,EAAE+S,WAC9B+5E,MAAUjxE,EAAE,kBAAmB7b,EAAE+S,WACjCg6E,MAAUlxE,EAAE,gBAAiB7b,EAAE+S,WAC/Bi6E,MAAUnxE,EAAE,mBAAoB7b,EAAE+S,WAClCk6E,MAAUpxE,EAAE,iBAAkB7b,EAAE+S,WAChCm6E,MAAUrxE,EAAE,oBAAqB7b,EAAE+S,WACnCo6E,MAAUtxE,EAAE,kBAAmB7b,EAAE+S,WACjCq6E,MAAUvxE,EAAE,kBAAmB7b,EAAE+S,WACjCs6E,MAAUxxE,EAAE,sBAAuB7b,EAAE+S,WACrCu6E,MAAUzxE,EAAE,oBAAqB7b,EAAE+S,WACnCw6E,MAAU1xE,EAAE,wBAAyB7b,EAAE+S,WACvCy6E,MAAU3xE,EAAE,0BAA2B7b,EAAE+S,WACzC06E,MAAU5xE,EAAE,wBAAyB7b,EAAE+S,WACvC26E,MAAU7xE,EAAE,mCAAoC7b,EAAE+S,WAClD46E,MAAU9xE,EAAE,iCAAkC7b,EAAE+S,WAChD66E,MAAU/xE,EAAE,iCAAkC7b,EAAE+S,WAChD86E,MAAUhyE,EAAE,+BAAgC7b,EAAE+S,WAC9C+6E,MAAUjyE,EAAE,wBAAyB7b,EAAE+S,WACvCg7E,MAAUlyE,EAAE,sBAAuB7b,EAAE+S,WACrCi7E,MAAUnyE,EAAE,yBAA0B7b,EAAE+S,WACxCk7E,MAAUpyE,EAAE,uBAAwB7b,EAAE+S,WACtCm7E,MAAUryE,EAAE,gBAAiB7b,EAAE+S,WAC/Bo7E,MAAUtyE,EAAE,uBAAwB7b,EAAE+S,WACtCq7E,MAAUvyE,EAAE,qBAAsB7b,EAAE+S,WACpCs7E,MAAUxyE,EAAE,8BAA+B7b,EAAE+S,WAC7Cu7E,MAAUzyE,EAAE,4BAA6B7b,EAAE+S,WAC3Cw7E,MAAU1yE,EAAE,eAAgB7b,EAAE+S,WAC9By7E,MAAU3yE,EAAE,sBAAuB7b,EAAE+S,WACrC07E,MAAU5yE,EAAE,oBAAqB7b,EAAE+S,WACnC27E,MAAU7yE,EAAE,uBAAwB7b,EAAE+S,WACtC47E,MAAU9yE,EAAE,qBAAsB7b,EAAE+S,WACpC67E,MAAU/yE,EAAE,qBAAsB7b,EAAE+S,WACpC87E,MAAUhzE,EAAE,mBAAoB7b,EAAE+S,WAClC+7E,MAAUjzE,EAAE,gBAAiB7b,EAAE+S,WAC/Bg8E,MAAUlzE,EAAE,kBAAmB7b,EAAE+S,WACjCi8E,MAAUnzE,EAAE,kBAAmB7b,EAAE+S,WACjCk8E,MAAUpzE,EAAE,uBAAwB7b,EAAE+S,WACtCm8E,MAAUrzE,EAAE,qBAAsB7b,EAAE+S,WACpCo8E,MAAUtzE,EAAE,oBAAqB7b,EAAE+S,WACnCq8E,MAAUvzE,EAAE,kBAAmB7b,EAAE+S,WACjCs8E,MAAUxzE,EAAE,kBAAmB7b,EAAE+S,WACjCu8E,MAAUzzE,EAAE,gBAAiB7b,EAAE+S,WAC/Bw8E,MAAU1zE,EAAE,sBAAuB7b,EAAE+S,WACrCy8E,MAAU3zE,EAAE,oBAAqB7b,EAAE+S,WACnC08E,MAAU5zE,EAAE,qBAAsB7b,EAAE+S,WACpC28E,MAAU7zE,EAAE,mBAAoB7b,EAAE+S,WAClC48E,MAAU9zE,EAAE,oBAAqB7b,EAAE+S,WACnC68E,MAAU/zE,EAAE,kBAAmB7b,EAAE+S,WACjC88E,MAAUh0E,EAAE,0BAA2B7b,EAAE+S,WACzC+8E,MAAUj0E,EAAE,wBAAyB7b,EAAE+S,WACvCg9E,MAAUl0E,EAAE,WAAY7b,EAAE+S,WAC1Bi9E,MAAUn0E,EAAE,iBAAkB7b,EAAE+S,WAChCk9E,MAAUp0E,EAAE,eAAgB7b,EAAE+S,WAC9Bm9E,MAAUr0E,EAAE,cAAe7b,EAAE+S,WAC7Bo9E,MAAUt0E,EAAE,0BAA2B7b,EAAE+S,WACzCq9E,MAAUv0E,EAAE,oBAAqB7b,EAAE+S,WACnCs9E,MAAUx0E,EAAE,kBAAmB7b,EAAE+S,WACjCu9E,MAAUz0E,EAAE,8BAA+B7b,EAAE+S,WAC7Cw9E,MAAU10E,EAAE,iCAAkC7b,EAAE+S,WAChDy9E,MAAU30E,EAAE,+BAAgC7b,EAAE+S,WAC9C09E,MAAU50E,EAAE,2BAA4B7b,EAAE+S,WAC1C29E,MAAU70E,EAAE,yBAA0B7b,EAAE+S,WACxC49E,MAAU90E,EAAE,uBAAwB7b,EAAE+S,WACtC69E,MAAU/0E,EAAE,mBAAoB7b,EAAE+S,WAClC89E,MAAUh1E,EAAE,gCAAiC7b,EAAE+S,WAC/C+9E,MAAUj1E,EAAE,mBAAoB7b,EAAE+S,WAClCg+E,MAAUl1E,EAAE,iBAAkB7b,EAAE+S,WAChCi+E,MAAUn1E,EAAE,gBAAiB7b,EAAE+S,WAC/Bk+E,MAAUp1E,EAAE,cAAe7b,EAAE+S,WAC7Bm+E,MAAUr1E,EAAE,kBAAmB7b,EAAE+S,WACjCo+E,MAAUt1E,EAAE,WAAY7b,EAAE+S,WAC1Bq+E,MAAUv1E,EAAE,wBAAyB7b,EAAE+S,WACvCs+E,MAAUx1E,EAAE,sBAAuB7b,EAAE+S,WACrCu+E,MAAUz1E,EAAE,kBAAmB7b,EAAE+S,WACjCw+E,MAAU11E,EAAE,eAAgB7b,EAAE+S,WAC9By+E,MAAU31E,EAAE,+BAAgC7b,EAAE+S,WAC9C0+E,MAAU51E,EAAE,6BAA8B7b,EAAE+S,WAC5C2+E,MAAU71E,EAAE,yBAA0B7b,EAAE+S,WACxC4+E,MAAU91E,EAAE,wBAAyB7b,EAAE+S,WACvC6+E,MAAU/1E,EAAE,2BAA4B7b,EAAE+S,WAC1C8+E,MAAUh2E,EAAE,yBAA0B7b,EAAE+S,WACxC++E,MAAUj2E,EAAE,gBAAiB7b,EAAE+S,WAC/Bg/E,MAAUl2E,EAAE,qCAAsC7b,EAAE+S,WACpDi/E,MAAUn2E,EAAE,mCAAoC7b,EAAE+S,WAClDk/E,MAAUp2E,EAAE,+BAAgC7b,EAAE+S,WAC9Cm/E,MAAUr2E,EAAE,2BAA4B7b,EAAE+S,WAC1Co/E,MAAUt2E,EAAE,yBAA0B7b,EAAE+S,WACxCq/E,MAAUv2E,EAAE,0BAA2B7b,EAAE+S,WACzCs/E,MAAUx2E,EAAE,wBAAyB7b,EAAE+S,WACvCu/E,MAAUz2E,EAAE,sBAAuB7b,EAAE+S,WACrCw/E,MAAU12E,EAAE,oBAAqB7b,EAAE+S,WACnCy/E,MAAU32E,EAAE,qBAAsB7b,EAAE+S,WACpC0/E,MAAU52E,EAAE,mBAAoB7b,EAAE+S,WAClC2/E,MAAU72E,EAAE,kBAAmB7b,EAAE+S,WACjC4/E,MAAU92E,EAAE,YAAa7b,EAAE+S,WAC3B6/E,MAAU/2E,EAAE,wBAAyB7b,EAAE+S,WACvC8/E,MAAUh3E,EAAE,sBAAuB7b,EAAE+S,WACrC+/E,MAAUj3E,EAAE,0BAA2B7b,EAAE+S,WACzCggF,MAAUl3E,EAAE,kCAAmC7b,EAAE+S,WACjDigF,MAAUn3E,EAAE,gCAAiC7b,EAAE+S,WAC/CkgF,MAAUp3E,EAAE,yBAA0B7b,EAAE+S,WACxCmgF,MAAUr3E,EAAE,uBAAwB7b,EAAE+S,WACtCogF,MAAUt3E,EAAE,gCAAiC7b,EAAE+S,WAC/CqgF,MAAUv3E,EAAE,8BAA+B7b,EAAE+S,WAC7CsgF,MAAUx3E,EAAE,WAAY7b,EAAE+S,WAC1BugF,MAAUz3E,EAAE,iBAAkB7b,EAAE+S,WAChCwgF,MAAU13E,EAAE,eAAgB7b,EAAE+S,WAC9BygF,MAAU33E,EAAE,oCAAqC7b,EAAE+S,WACnD0gF,MAAU53E,EAAE,0BAA2B7b,EAAE+S,WACzC2gF,MAAU73E,EAAE,wBAAyB7b,EAAE+S,WACvC4gF,MAAU93E,EAAE,oBAAqB7b,EAAE+S,WACnC6gF,MAAU/3E,EAAE,oBAAqB7b,EAAE+S,WACnC8gF,MAAUh4E,EAAE,kBAAmB7b,EAAE+S,WACjC+gF,MAAUj4E,EAAE,oBAAqB7b,EAAE+S,WACnCghF,MAAUl4E,EAAE,kBAAmB7b,EAAE+S,WACjCihF,MAAUn4E,EAAE,uBAAwB7b,EAAE+S,WACtCkhF,MAAUp4E,EAAE,qBAAsB7b,EAAE+S,WACpCmhF,MAAUr4E,EAAE,cAAe7b,EAAE+S,WAC7BohF,MAAUt4E,EAAE,eAAgB7b,EAAE+S,WAC9BqhF,MAAUv4E,EAAE,iBAAkB7b,EAAE+S,WAChCshF,MAAUx4E,EAAE,qBAAsB7b,EAAE+S,WACpCuhF,MAAUz4E,EAAE,mBAAoB7b,EAAE+S,WAClCwhF,MAAU14E,EAAE,eAAgB7b,EAAE+S,WAC9ByhF,MAAU34E,EAAE,oBAAqB7b,EAAE+S,WACnC0hF,MAAU54E,EAAE,kBAAmB7b,EAAE+S,WACjC2hF,MAAU74E,EAAE,sBAAuB7b,EAAE+S,WACrC4hF,MAAU94E,EAAE,oBAAqB7b,EAAE+S,WACnC6hF,MAAU/4E,EAAE,gBAAiB7b,EAAE+S,WAC/B8hF,MAAUh5E,EAAE,6BAA8B7b,EAAE+S,WAC5C+hF,MAAUj5E,EAAE,2BAA4B7b,EAAE+S,WAC1CgiF,MAAUl5E,EAAE,uBAAwB7b,EAAE+S,WACtCiiF,MAAUn5E,EAAE,qBAAsB7b,EAAE+S,WACpCkiF,MAAUp5E,EAAE,mBAAoB7b,EAAE+S,WAClCmiF,MAAUr5E,EAAE,2BAA4B7b,EAAE+S,WAC1CoiF,MAAUt5E,EAAE,yBAA0B7b,EAAE+S,WACxCqiF,MAAUv5E,EAAE,wBAAyB7b,EAAE+S,WACvCsiF,MAAUx5E,EAAE,yBAA0B7b,EAAE+S,WACxCuiF,MAAUz5E,EAAE,yBAA0B7b,EAAE+S,WACxCwiF,MAAU15E,EAAE,YAAa7b,EAAE+S,WAC3Bxc,OAAUslB,EAAE,GAAI7b,EAAE+S,WAGlB,IAAI2B,UAAW3L,UAAUyK,eAAgB,IAGzC,IAAI+jE,gBACJ1iF,GAAUgnB,EAAE,WAAY7b,EAAE2uC,gBAC1B75C,GAAU+mB,EAAE,WAAY7b,EAAE0uC,gBAC1B3yB,GAAUF,EAAE,UAAW7b,EAAE+oD,eACzBh0D,GAAU8mB,EAAE,MAAO7b,EAAE6yB,WACrB79B,IAAU6mB,EAAE,MAAO7b,EAAEy8B,WACrBvnC,IAAU2mB,EAAE,YAAa7b,EAAE47B,iBAC3BzmC,IAAU0mB,EAAE,WAAY7b,EAAE+7B,gBAC1B3mC,IAAUymB,EAAE,gBAAiB7b,EAAEg8B,qBAC/B3mC,IAAUwmB,EAAE,cAAe7b,EAAEi8B,mBAC7B3mC,IAAUumB,EAAE,YAAa7b,EAAE67B,iBAC3BtmC,IAAUsmB,EAAE,WAAY7b,EAAE87B,gBAC1BtmC,IAAUqmB,EAAE,UAAW7b,EAAE49B,eACzBnoC,IAAUomB,EAAE,WAAY7b,EAAEs9B,gBAC1B5nC,IAAUmmB,EAAE,SAAU7b,EAAEg9B,cACxBrnC,IAAUkmB,EAAE,SAAU7b,EAAE68B,cACxB9kB,IAAU8D,EAAE,cAAe7b,EAAE24B,mBAC7BmyB,IAAUjvC,EAAE,MAAO7b,EAAEo4B,WACrB2yB,IAAUlvC,EAAE,aAAc7b,EAAEu+B,kBAC5BtiB,IAAUJ,EAAE,qBAAsB7b,EAAEy+B,0BACpCviB,IAAUL,EAAE,uBAAwB7b,EAAE0+B,4BACtCviB,IAAUN,EAAE,OAAQ7b,EAAE25B,YACtB3hB,IAAU6D,EAAE,YAAa7b,EAAE2+B,iBAC3B5hB,IAAUlB,EAAE,WAAY7b,EAAEq8B,gBAC1BkqB,IAAU1qC,EAAE,aAAc7b,EAAE43B,kBAC5B9hC,IAAU+lB,EAAE,aAAc7b,EAAEm9B,kBAC5BpnC,IAAU8lB,EAAE,cAAe7b,EAAE89B,mBAC7B9nC,IAAU6lB,EAAE,YAAa7b,EAAEo+B,iBAC3BphB,IAAUnB,EAAE,eAAgB7b,EAAE07B,oBAC9BxjB,IAAU2D,EAAE,cAAe7b,EAAEw9B,mBAC7BrlB,IAAU0D,EAAE,YAAa7b,EAAEu9B,iBAC3BpnC,IAAU0lB,EAAE,WAAY7b,EAAEm2C,gBAC1B9/C,IAAUwlB,EAAE,OAAQ7b,EAAE21B,YACtBs1B,IAAUpvC,EAAE,YAAa7b,EAAEy9B,iBAC3BkpB,IAAU9qC,EAAE,WAAY7b,EAAE4+B,gBAC1BxhB,IAAUvB,EAAE,UAAW7b,EAAE20B,eACzBtX,IAAUxB,EAAE,SAAU7b,EAAEw7B,cACxBsrB,IAAUjrC,EAAE,OAAQ7b,EAAE6+B,YACtBvhB,IAAUzB,EAAE,WAAY7b,EAAEm8B,gBAC1B8S,IAAUpzB,EAAE,MAAO7b,EAAE8+B,WACrB0sB,IAAU3vC,EAAE,OAAQ7b,EAAE++B,YACtBxhB,IAAU1B,EAAE,UAAW7b,EAAEg/B,eACzBxhB,IAAU3B,EAAE,WAAY7b,EAAEi/B,gBAC1BysB,IAAU7vC,EAAE,cAAe7b,EAAEs8B,mBAC7B8rB,IAAUvsC,EAAE,MAAO7b,EAAEk/B,WACrBvhB,IAAU9B,EAAE,MAAO7b,EAAEm/B,WACrBopB,IAAU1sC,EAAE,cAAe7b,EAAEo/B,mBAC7BqpB,IAAU5sC,EAAE,cAAe7b,EAAEgzB,mBAC7B21B,IAAU9sC,EAAE,MAAO7b,EAAE+5B,WACrB8xB,IAAUhwC,EAAE,WAAY7b,EAAEq/B,gBAC1BysB,IAAUjwC,EAAE,iBAAkB7b,EAAEk8B,sBAChC2qB,IAAUhrC,EAAE,WAAY7b,EAAEs/B,gBAC1BynB,IAAUlrC,EAAE,OAAQ7b,EAAEu/B,YACtB2nB,IAAUrrC,EAAE,aAAc7b,EAAEq9B,kBAC5BurB,KAAU/sC,EAAE,UAAW7b,EAAEs7B,eACzB4T,KAAUrzB,EAAE,OAAQ7b,EAAEk3B,YACtBiY,KAAUtzB,EAAE,SAAU7b,EAAEw/B,cACxB4P,KAAUvzB,EAAE,UAAW7b,EAAE88B,eACzB8vB,KAAU/wC,EAAE,UAAW7b,EAAE+8B,eACzB8vB,KAAUhxC,EAAE,UAAW7b,EAAEs+B,eACzBwuB,KAAUjxC,EAAE,cAAe7b,EAAEmzB,mBAC7Bkc,KAAUxzB,EAAE,eAAgB7b,EAAEw+B,oBAC9B2uB,KAAUtxC,EAAE,UAAW7b,EAAE66B,eACzBoiC,KAAUphD,EAAE,UAAW7b,EAAEi9B,eACzBqwB,KAAUzxC,EAAE,OAAQ7b,EAAEy/B,YACtB+tB,KAAU3xC,EAAE,UAAW7b,EAAEg7B,eACzB6yB,KAAUhyC,EAAE,OAAQ7b,EAAE0/B,YACtBouB,KAAUjyC,EAAE,MAAO7b,EAAE2/B,WACrBouB,KAAUlyC,EAAE,SAAU7b,EAAE4/B,cACxBs9B,KAAUrhD,EAAE,cAAe7b,EAAE6/B,mBAC7BmuB,KAAUnyC,EAAE,aAAc7b,EAAE8/B,kBAC5Bq9B,KAAUthD,EAAE,sBAAuB7b,EAAE27B,2BACrCyhC,KAAUvhD,EAAE,iBAAkB7b,EAAE+/B,sBAChCs9B,KAAUxhD,EAAE,aAAc7b,EAAEggC,kBAC5Bs9B,KAAUzhD,EAAE,MAAO7b,EAAEi+B,WACrBsR,KAAU1zB,EAAE,QAAS7b,EAAEigC,aACvB0uB,KAAU9yC,EAAE,UAAW7b,EAAEkgC,eACzB0uB,KAAU/yC,EAAE,WAAY7b,EAAEmgC,gBAC1Bq9B,KAAU3hD,EAAE,SAAU7b,EAAEogC,cACxBsP,KAAU7zB,EAAE,OAAQ7b,EAAEqgC,YACtBsP,KAAU9zB,EAAE,OAAQ7b,EAAEsgC,YACtBo9B,KAAU7hD,EAAE,QAAS7b,EAAEugC,aACvBo9B,KAAU9hD,EAAE,OAAQ7b,EAAEwgC,YACtBo9B,KAAU/hD,EAAE,OAAQ7b,EAAEygC,YACtBq9B,KAAUjiD,EAAE,WAAY7b,EAAE0gC,gBAC1BmuB,KAAUhzC,EAAE,YAAa7b,EAAE2gC,iBAC3BquB,KAAUnzC,EAAE,QAAS7b,EAAEu2B,aACvB04B,KAAUpzC,EAAE,WAAY7b,EAAE4gC,gBAC1BwuB,KAAUvzC,EAAE,MAAO7b,EAAEo9B,WACrBoyB,KAAU3zC,EAAE,OAAQ7b,EAAE6gC,YACtB4uB,KAAU5zC,EAAE,OAAQ7b,EAAE8gC,YACtB4uB,KAAU7zC,EAAE,QAAS7b,EAAE+gC,aACvB4uB,KAAU9zC,EAAE,QAAS7b,EAAEghC,aACvB4uB,KAAU/zC,EAAE,QAAS7b,EAAEihC,aACvB4uB,KAAUh0C,EAAE,SAAU7b,EAAEm+B,cACxB2xB,KAAUj0C,EAAE,QAAS7b,EAAEkhC,aACvB2O,KAAUh0B,EAAE,QAAS7b,EAAEmhC,aACvB48B,KAAUliD,EAAE,WAAY7b,EAAEohC,gBAC1B2uB,KAAUl0C,EAAE,QAAS7b,EAAEqhC,aACvB2uB,KAAUn0C,EAAE,QAAS7b,EAAEshC,aACvB2uB,KAAUp0C,EAAE,QAAS7b,EAAEuhC,aACvB2uB,KAAUr0C,EAAE,aAAc7b,EAAEwhC,kBAC5B2uB,KAAUt0C,EAAE,SAAU7b,EAAEyhC,cACxB2uB,KAAUv0C,EAAE,SAAU7b,EAAE0hC,cACxB7jB,KAAUhC,EAAE,aAAc7b,EAAE2hC,kBAC5B4uB,KAAU10C,EAAE,SAAU7b,EAAE4hC,cACxB9jB,KAAUjC,EAAE,QAAS7b,EAAE6hC,aACvB2uB,KAAU30C,EAAE,YAAa7b,EAAE8hC,iBAC3B/jB,KAAUlC,EAAE,WAAY7b,EAAE+hC,gBAC1B2uB,KAAU70C,EAAE,eAAgB7b,EAAEgiC,oBAC9Bg8B,KAAUniD,EAAE,kBAAmB7b,EAAEg+B,uBACjC8R,KAAUj0B,EAAE,gBAAiB7b,EAAEiiC,qBAC/B2uB,KAAU/0C,EAAE,KAAM7b,EAAEg3B,UACpB65B,KAAUh1C,EAAE,eAAgB7b,EAAE+yB,oBAC9B+9B,KAAUj1C,EAAE,eAAgB7b,EAAEk9B,oBAC9B6zB,KAAUl1C,EAAE,OAAQ7b,EAAEkiC,YACtB+uB,KAAUp1C,EAAE,aAAc7b,EAAE45B,kBAC5BwkC,KAAUviD,EAAE,QAAS7b,EAAEmiC,aACvBm8B,KAAUziD,EAAE,kBAAmB7b,EAAEoiC,uBACjCm8B,KAAU1iD,EAAE,aAAc7b,EAAEqiC,kBAC5Bm8B,KAAU3iD,EAAE,sBAAuB7b,EAAEsiC,2BACrCm8B,KAAU5iD,EAAE,eAAgB7b,EAAEuiC,oBAC9B2uB,KAAUr1C,EAAE,SAAU7b,EAAEwiC,cACxBk8B,KAAU7iD,EAAE,OAAQ7b,EAAEyiC,YACtBk8B,KAAU9iD,EAAE,SAAU7b,EAAE0iC,cACxBk8B,KAAU/iD,EAAE,QAAS7b,EAAE2iC,aACvBk8B,KAAUhjD,EAAE,QAAS7b,EAAE4iC,aACvBk8B,KAAUjjD,EAAE,SAAU7b,EAAE6iC,cACxBk8B,KAAUljD,EAAE,WAAY7b,EAAE8iC,gBAC1Bk8B,KAAUnjD,EAAE,SAAU7b,EAAE+iC,cACxBquB,KAAUv1C,EAAE,SAAU7b,EAAEgjC,cACxBsuB,KAAUz1C,EAAE,WAAY7b,EAAEijC,gBAC1BsuB,KAAU11C,EAAE,MAAO7b,EAAEszB,WACrBk+B,KAAU31C,EAAE,WAAY7b,EAAE41B,gBAC1Bxd,KAAUyD,EAAE,SAAU7b,EAAE0zB,cACxBg+B,KAAU71C,EAAE,SAAU7b,EAAEkjC,cACxByuB,KAAU91C,EAAE,YAAa7b,EAAEmjC,iBAC3B8vB,KAAUp3C,EAAE,SAAU7b,EAAEojC,cACxB4wB,KAAUn4C,EAAE,YAAa7b,EAAEqjC,iBAC3B4wB,KAAUp4C,EAAE,UAAW7b,EAAEsjC,eACzB8wB,KAAUv4C,EAAE,aAAc7b,EAAEujC,kBAC5B28B,KAAUrkD,EAAE,UAAW7b,EAAE+9B,eACzBu2B,KAAUz4C,EAAE,cAAe7b,EAAEwjC,mBAC7B+wB,KAAU14C,EAAE,SAAU7b,EAAEyjC,cACxB+wB,KAAU34C,EAAE,UAAW7b,EAAE0jC,eACzBqxB,KAAUl5C,EAAE,WAAY7b,EAAE2jC,gBAC1B28B,KAAUzkD,EAAE,YAAa7b,EAAE4jC,iBAC3Bu4C,KAAUtgE,EAAE,aAAc7b,EAAE6jC,kBAC5B28B,KAAU3kD,EAAE,eAAgB7b,EAAE8jC,oBAC9B28B,KAAU5kD,EAAE,aAAc7b,EAAE+jC,kBAC5BixB,KAAUn5C,EAAE,iBAAkB7b,EAAEgkC,sBAChC08B,KAAU7kD,EAAE,eAAgB7b,EAAEikC,oBAC9BgxB,KAAUp5C,EAAE,cAAe7b,EAAEkkC,mBAC7BgxB,KAAUr5C,EAAE,aAAc7b,EAAEmkC,kBAC5Bw8B,KAAU9kD,EAAE,aAAc7b,EAAEokC,kBAC5BpmB,KAAUnC,EAAE,OAAQ7b,EAAEqkC,YACtBkxB,KAAU15C,EAAE,WAAY7b,EAAEq+B,gBAC1B6iC,KAAUrlD,EAAE,MAAO7b,EAAEu8B,WACrB+/C,KAAUzgE,EAAE,OAAQ7b,EAAEskC,YACtBkxD,KAAU35E,EAAE,QAAS7b,EAAEukC,aACvBg4C,KAAU1gE,EAAE,UAAW7b,EAAEwkC,eACzBg4C,KAAU3gE,EAAE,UAAW7b,EAAEykC,eACzBg4C,KAAU5gE,EAAE,WAAY7b,EAAE0kC,gBAC1Bg4C,KAAU7gE,EAAE,UAAW7b,EAAE2kC,eACzBg4C,KAAU9gE,EAAE,SAAU7b,EAAE4kC,cACxBg4C,KAAU/gE,EAAE,SAAU7b,EAAE6kC,cACxBkzB,KAAUl8C,EAAE,YAAa7b,EAAE8kC,iBAC3Bo4C,KAAUrhE,EAAE,iBAAkB7b,EAAE+kC,sBAChCo4C,KAAUthE,EAAE,eAAgB7b,EAAEglC,oBAC9Bo4C,KAAUvhE,EAAE,cAAe7b,EAAEilC,mBAC7Bo4C,KAAUxhE,EAAE,MAAO7b,EAAEklC,WACrB8yB,KAAUn8C,EAAE,UAAW7b,EAAEu3B,eACzB0gC,KAAUp8C,EAAE,WAAY7b,EAAE09B,gBAC1Bw6B,KAAUr8C,EAAE,UAAW7b,EAAEmlC,eACzBgzB,KAAUt8C,EAAE,KAAM7b,EAAEolC,UACpBgzB,KAAUv8C,EAAE,OAAQ7b,EAAEqlC,YACtBkzB,KAAU18C,EAAE,UAAW7b,EAAEslC,eACzBkzB,KAAU38C,EAAE,MAAO7b,EAAEi6B,WACrBw+B,KAAU58C,EAAE,aAAc7b,EAAE69B,kBAC5B66B,KAAU78C,EAAE,QAAS7b,EAAEy6B,aACvBk+B,KAAU98C,EAAE,MAAO7b,EAAEulC,WACrBqzB,KAAU/8C,EAAE,WAAY7b,EAAEwlC,mBAC1BqzB,KAAUh9C,EAAE,YAAa7b,EAAEylC,iBAC3BqzB,KAAUj9C,EAAE,eAAgB7b,EAAE29B,oBAC9Bo7B,KAAUl9C,EAAE,aAAc7b,EAAE0lC,kBAC5BszB,KAAUn9C,EAAE,KAAM7b,EAAE2lC,UACpBuzB,KAAUr9C,EAAE,aAAc7b,EAAE08B,kBAC5By8B,KAAUt9C,EAAE,WAAY7b,EAAEm0B,eAAgBh4B,EAAE,GAC5Ci9D,KAAUv9C,EAAE,UAAW7b,EAAEw8B,eACzBoiD,KAAU/iE,EAAE,aAAc7b,EAAEm2B,kBAC5B0oD,KAAUhjE,EAAE,QAAS7b,EAAEy7B,aACvBsjD,KAAUljE,EAAE,SAAU7b,EAAEo3B,cACxB4nD,KAAUnjE,EAAE,QAAS7b,EAAE81B,aACvB8lC,KAAU//C,EAAE,UAAW7b,EAAEm3B,eACzB2kC,KAAUjgD,EAAE,SAAU7b,EAAEk+B,cACxB69B,KAAUlgD,EAAE,MAAO7b,EAAE6zB,WACrBqoC,KAAUrgD,EAAE,QAAS7b,EAAE4lC,aACvBu2B,KAAUtgD,EAAE,QAAS7b,EAAEi5B,aACvBsjC,KAAU1gD,EAAE,mBAAoB7b,EAAEo0B,wBAClC+sD,KAAUtlE,EAAE,QAAS7b,EAAE6lC,aACvB27C,KAAU3lE,EAAE,UAAW7b,EAAEu7B,eACzB0pD,KAAUppE,EAAE,KAAM7b,EAAEo2B,UACpBgwD,KAAUvqE,EAAE,QAAS7b,EAAEo7B,aACvB2tD,MAAUltE,EAAE,UAAW7b,EAAE8lC,eACzBujD,MAAUxtE,EAAE,SAAU7b,EAAE+1B,cACxBg1D,MAAUlvE,EAAE,kBAAmB7b,EAAE+lC,uBACjC0vD,MAAU55E,EAAE,UAAW7b,EAAE64B,eACzB03D,MAAU10E,EAAE,eAAgB7b,EAAE26B,oBAC9B61D,MAAU30E,EAAE,SAAU7b,EAAEgmC,cACxByqD,MAAU50E,EAAE,WAAY7b,EAAEimC,gBAC1ByqD,MAAU70E,EAAE,aAAc7b,EAAEkmC,kBAC5ByqD,MAAU90E,EAAE,YAAa7b,EAAEmmC,iBAC3ByqD,MAAU/0E,EAAE,SAAU7b,EAAEomC,cACxByqD,MAAUh1E,EAAE,OAAQ7b,EAAEqmC,YACtByqD,MAAUj1E,EAAE,OAAQ7b,EAAEsmC,YACtByqD,MAAUl1E,EAAE,WAAY7b,EAAEumC,gBAC1ByqD,MAAUn1E,EAAE,MAAO7b,EAAE6yB,WACrBo+D,MAAUp1E,EAAE,YAAa7b,EAAEwmC,iBAC3BkvD,MAAU75E,EAAE,OAAQ7b,EAAEymC,YACtByqD,MAAUr1E,EAAE,WAAY7b,EAAE0mC,gBAC1BivD,MAAU95E,EAAE,OAAQ7b,EAAE2mC,YACtBivD,MAAU/5E,EAAE,SAAU7b,EAAE4mC,cACxBivD,MAAUh6E,EAAE,UAAW7b,EAAE6mC,eACzBivD,MAAUj6E,EAAE,YAAa7b,EAAE8mC,iBAC3BivD,MAAUl6E,EAAE,cAAe7b,EAAE+mC,mBAC7BoqD,MAAUt1E,EAAE,eAAgB7b,EAAEgnC,oBAC9B+tD,MAAUl5E,EAAE,eAAgB7b,EAAEinC,oBAC9B+tD,MAAUn5E,EAAE,aAAc7b,EAAEknC,kBAC5B+tD,MAAUp5E,EAAE,aAAc7b,EAAEmnC,kBAC5B+tD,MAAUr5E,EAAE,WAAY7b,EAAEonC,gBAC1B+tD,MAAUt5E,EAAE,cAAe7b,EAAEqnC,mBAC7B+tD,MAAUv5E,EAAE,YAAa7b,EAAEsnC,iBAC3B+tD,MAAUx5E,EAAE,SAAU7b,EAAEunC,cACxB+tD,MAAUz5E,EAAE,QAAS7b,EAAEwnC,aACvB+tD,MAAU15E,EAAE,aAAc7b,EAAEynC,kBAC5BuuD,MAAUn6E,EAAE,iBAAkB7b,EAAE0nC,sBAChCuuD,MAAUp6E,EAAE,cAAe7b,EAAE2nC,mBAC7BuuD,MAAUr6E,EAAE,WAAY7b,EAAE4nC,gBAC1BuuD,MAAUt6E,EAAE,UAAW7b,EAAE6nC,cAAe1rC,EAAE,IAC1Ci6F,MAAUv6E,EAAE,SAAU7b,EAAE8nC,cACxBuuD,MAAUx6E,EAAE,QAAS7b,EAAE+nC,aACvBuuD,MAAUz6E,EAAE,YAAa7b,EAAEgoC,iBAC3BuuD,MAAU16E,EAAE,UAAW7b,EAAE28B,eACzB65D,MAAU36E,EAAE,OAAQ7b,EAAEioC,YACtBwuD,MAAU56E,EAAE,aAAc7b,EAAEkoC,kBAC5BwuD,MAAU76E,EAAE,qBAAsB7b,EAAEmoC,0BACpCwuD,MAAU96E,EAAE,YAAa7b,EAAEooC,iBAC3BwuD,MAAU/6E,EAAE,YAAa7b,EAAEqoC,iBAC3BwuD,MAAUh7E,EAAE,YAAa7b,EAAEsoC,iBAC3BwuD,MAAUj7E,EAAE,iBAAkB7b,EAAEuoC,sBAChCwuD,MAAUl7E,EAAE,gBAAiB7b,EAAEwoC,qBAC/BwuD,MAAUn7E,EAAE,QAAS7b,EAAEyoC,aACvBwuD,MAAUp7E,EAAE,SAAU7b,EAAE0oC,cACxBwuD,MAAUr7E,EAAE,YAAa7b,EAAE2oC,iBAC3BwuD,MAAUt7E,EAAE,YAAa7b,EAAE4oC,iBAC3BwuD,MAAUv7E,EAAE,OAAQ7b,EAAE6oC,YACtBwuD,MAAUx7E,EAAE,OAAQ7b,EAAE8oC,YACtBwuD,MAAUz7E,EAAE,QAAS7b,EAAEi7B,YAAa9+B,EAAE,IACtCo7F,MAAU17E,EAAE,QAAS7b,EAAE09C,YAAavhD,EAAE,IACtCq7F,MAAU37E,EAAE,eAAgB7b,EAAE+oC,oBAC9B0uD,MAAU57E,EAAE,gBAAiB7b,EAAEgpC,qBAC/B0uD,MAAU77E,EAAE,UAAW7b,EAAEipC,eACzB0uD,MAAU97E,EAAE,SAAU7b,EAAEkpC,cACxB0uD,MAAU/7E,EAAE,WAAY7b,EAAEmpC,gBAC1B0uD,MAAUh8E,EAAE,SAAU7b,EAAEopC,cACxB0uD,MAAUj8E,EAAE,UAAW7b,EAAEqpC,eACzB0uD,MAAUl8E,EAAE,SAAU7b,EAAEspC,cACxB0uD,MAAUn8E,EAAE,MAAO7b,EAAEupC,WACrB0uD,MAAUp8E,EAAE,MAAO7b,EAAEwpC,WACrB0uD,MAAUr8E,EAAE,WAAY7b,EAAEo8B,eAAgBjgC,EAAE,IAC5Cg8F,MAAUt8E,EAAE,MAAO7b,EAAEypC,WACrB2uD,MAAUv8E,EAAE,cAAe7b,EAAE0pC,kBAAmBvtC,EAAE,IAClDk8F,MAAUx8E,EAAE,aAAc7b,EAAE2pC,kBAC5B2uD,MAAUz8E,EAAE,oBAAqB7b,EAAE4pC,yBACnC2uD,MAAU18E,EAAE,WAAY7b,EAAEq7B,gBAC1Bm9D,MAAU38E,EAAE,cAAe7b,EAAE6pC,mBAC7B4uD,MAAU58E,EAAE,UAAW7b,EAAE8pC,eACzB4uD,MAAU78E,EAAE,WAAY7b,EAAE+pC,gBAC1B4uD,MAAU98E,EAAE,QAAS7b,EAAE+8C,YAAa5gD,EAAE,IACtCy8F,MAAU/8E,EAAE,cAAe7b,EAAEgqC,mBAC7B6uD,MAAUh9E,EAAE,UAAW7b,EAAEiqC,eACzB6uD,MAAUj9E,EAAE,cAAe7b,EAAEkqC,mBAC7B6uD,MAAUl9E,EAAE,cAAe7b,EAAEm5B,kBAAmBh9B,EAAE,IAClD68F,MAAUn9E,EAAE,mBAAoB7b,EAAEk0B,wBAClC+kE,MAAUp9E,EAAE,eAAgB7b,EAAEmqC,oBAC9B+uD,MAAUr9E,EAAE,cAAe7b,EAAEoqC,mBAC7B+uD,MAAUt9E,EAAE,WAAY7b,EAAEqqC,gBAC1B+uD,MAAUv9E,EAAE,mBAAoB7b,EAAEsqC,wBAClC+uD,MAAUx9E,EAAE,uBAAwB7b,EAAEg0B,4BACtCslE,MAAUz9E,EAAE,mBAAoB7b,EAAEuqC,wBAClCgvD,MAAU19E,EAAE,kBAAmB7b,EAAEwqC,uBACjCgvD,MAAU39E,EAAE,iBAAkB7b,EAAEyqC,sBAChCgvD,MAAU59E,EAAE,eAAgB7b,EAAE0qC,oBAC9BgvD,MAAU79E,EAAE,QAAS7b,EAAE2qC,aACvBgvD,MAAU99E,EAAE,QAAS7b,EAAE4qC,aACvBgvD,MAAU/9E,EAAE,SAAU7b,EAAE6qC,cACxBgvD,MAAUh+E,EAAE,aAAc7b,EAAE8qC,kBAC5BgvD,MAAUj+E,EAAE,aAAc7b,EAAE+qC,kBAC5BgvD,MAAUl+E,EAAE,eAAgB7b,EAAEgrC,oBAC9BgvD,MAAUn+E,EAAE,aAAc7b,EAAEirC,kBAC5BgvD,MAAUp+E,EAAE,YAAa7b,EAAEkrC,iBAC3BgvD,MAAUr+E,EAAE,gBAAiB7b,EAAEmrC,qBAC/BgvD,MAAUt+E,EAAE,aAAc7b,EAAEorC,kBAC5BgvD,MAAUv+E,EAAE,cAAe7b,EAAEqrC,mBAC7BgvD,MAAUx+E,EAAE,SAAU7b,EAAEsrC,cACxBgvD,MAAUz+E,EAAE,aAAc7b,EAAEurC,kBAC5BgvD,MAAU1+E,EAAE,MAAO7b,EAAEwrC,WACrBgvD,MAAU3+E,EAAE,OAAQ7b,EAAEyrC,YACtBgvD,MAAU5+E,EAAE,MAAO7b,EAAE0rC,WACrBgvD,MAAU7+E,EAAE,OAAQ7b,EAAE2rC,YACtBgvD,MAAU9+E,EAAE,UAAW7b,EAAE4rC,eACzBgvD,MAAU/+E,EAAE,UAAW7b,EAAE6rC,eACzBgvD,MAAUh/E,EAAE,OAAQ7b,EAAE8rC,YACtBgvD,MAAUj/E,EAAE,OAAQ7b,EAAE+rC,YACtBgvD,MAAUl/E,EAAE,aAAc7b,EAAEgsC,kBAC5BgvD,MAAUn/E,EAAE,cAAe7b,EAAEisC,mBAC7BgvD,MAAUp/E,EAAE,WAAY7b,EAAEksC,gBAC1BgvD,MAAUr/E,EAAE,UAAW7b,EAAEmsC,eACzBgvD,MAAUt/E,EAAE,cAAe7b,EAAEosC,mBAC7BgvD,MAAUv/E,EAAE,OAAQ7b,EAAEqsC,YACtBgvD,MAAUx/E,EAAE,QAAS7b,EAAE48B,aACvB0+D,MAAUz/E,EAAE,aAAc7b,EAAEssC,kBAC5BivD,MAAU1/E,EAAE,QAAS7b,EAAEusC,aACvBivD,MAAU3/E,EAAE,QAAS7b,EAAEwsC,aACvBivD,MAAU5/E,EAAE,MAAO7b,EAAEysC,WACrBivD,MAAU7/E,EAAE,WAAY7b,EAAE0sC,gBAC1BivD,MAAU9/E,EAAE,UAAW7b,EAAE2sC,eACzBivD,MAAU//E,EAAE,OAAQ7b,EAAE4sC,YACtBivD,MAAUhgF,EAAE,UAAW7b,EAAE6sC,eACzBivD,MAAUjgF,EAAE,QAAS7b,EAAE8sC,aACvBivD,MAAUlgF,EAAE,OAAQ7b,EAAE+sC,YACtBivD,MAAUngF,EAAE,YAAa7b,EAAEgtC,iBAC3BivD,MAAUpgF,EAAE,aAAc7b,EAAEitC,kBAC5BivD,MAAUrgF,EAAE,kBAAmB7b,EAAEktC,uBACjCivD,MAAUtgF,EAAE,WAAY7b,EAAEmtC,gBAC1BivD,MAAUvgF,EAAE,WAAY7b,EAAEotC,gBAC1BivD,MAAUxgF,EAAE,WAAY7b,EAAEqtC,gBAC1BivD,MAAUzgF,EAAE,WAAY7b,EAAEstC,gBAC1BivD,MAAU1gF,EAAE,YAAa7b,EAAEutC,iBAC3BivD,MAAU3gF,EAAE,cAAe7b,EAAEwtC,mBAC7BivD,MAAU5gF,EAAE,aAAc7b,EAAEytC,kBAC5BivD,MAAU7gF,EAAE,MAAO7b,EAAE0tC,WACrBivD,MAAU9gF,EAAE,SAAU7b,EAAE2tC,cACxBivD,MAAU/gF,EAAE,OAAQ7b,EAAE4tC,YACtBivD,MAAUhhF,EAAE,eAAgB7b,EAAE6tC,oBAC9BivD,MAAUjhF,EAAE,aAAc7b,EAAE86B,kBAC5BiiE,MAAUlhF,EAAE,SAAU7b,EAAE8tC,cACxBkvD,MAAUnhF,EAAE,kBAAmB7b,EAAE+tC,uBACjCkvD,MAAUphF,EAAE,MAAO7b,EAAEguC,WACrBkvD,MAAUrhF,EAAE,SAAU7b,EAAEiuC,cACxBkvD,MAAUthF,EAAE,SAAU7b,EAAEkuC,cACxBkvD,MAAUvhF,EAAE,MAAO7b,EAAEmuC,WACrBkvD,MAAUxhF,EAAE,aAAc7b,EAAEouC,kBAC5BkvD,MAAUzhF,EAAE,UAAW7b,EAAEquC,eACzBkvD,MAAU1hF,EAAE,WAAY7b,EAAEsuC,gBAC1BkvD,MAAU3hF,EAAE,eAAgB7b,EAAEuuC,oBAC9BkvD,MAAU5hF,EAAE,OAAQ7b,EAAEwuC,YAGtB95C,GAAUmnB,EAAE,YAAa7b,EAAE+S,WAC3Bne,GAAUinB,EAAE,WAAY7b,EAAE6uC,gBAC1B/yB,GAAUD,EAAE,UAAW7b,EAAEm3B,eACzBrf,GAAU+D,EAAE,SAAU7b,EAAE8uC,mBACxB9yB,GAAUH,EAAE,WAAY7b,EAAE+S,WAC1B9d,IAAU4mB,EAAE,QAAS7b,EAAE4lC,aACvBjpB,IAAUd,EAAE,cAAe7b,EAAEk2B,mBAC7BtZ,IAAUf,EAAE,cAAe7b,EAAE+S,WAC7Bnd,IAAUimB,EAAE,cAAe7b,EAAE+S,WAC7Bld,IAAUgmB,EAAE,mBAAoB7b,EAAEo0B,wBAClC42B,IAAUnvC,EAAE,gBAAiB7b,EAAE+uC,qBAC/Bqc,IAAUvvC,EAAE,eAAgB7b,EAAE+S,WAC9Bi9B,IAAUn0B,EAAE,eAAgB7b,EAAE+S,WAC9B2K,IAAU7B,EAAE,cAAe7b,EAAE+S,WAC7B25C,KAAU7wC,EAAE,KAAM7b,EAAE+S,WACpB45C,KAAU9wC,EAAE,SAAU7b,EAAE+S,WACxBg6C,KAAUlxC,EAAE,QAAS7b,EAAE+S,WACvBu8B,KAAUzzB,EAAE,MAAO7b,EAAE+S,WACrBi6C,KAAUnxC,EAAE,MAAO7b,EAAE+S,WACrBw6C,KAAU1xC,EAAE,MAAO7b,EAAE+S,WACrB26C,KAAU7xC,EAAE,WAAY7b,EAAE+S,WAC1B46C,KAAU9xC,EAAE,WAAY7b,EAAE+S,WAC1B66C,KAAU/xC,EAAE,QAAS7b,EAAE+S,WACvBu7C,KAAUzyC,EAAE,YAAa7b,EAAE+S,WAC3By7C,KAAU3yC,EAAE,MAAO7b,EAAE+S,WACrBg8C,KAAUlzC,EAAE,UAAW7b,EAAE+S,WACzBs8C,KAAUxzC,EAAE,UAAW7b,EAAE+S,WACzBu8C,KAAUzzC,EAAE,UAAW7b,EAAE+S,WACzBu9C,KAAUz0C,EAAE,UAAW7b,EAAE+S,WACzB49C,KAAU90C,EAAE,SAAU7b,EAAE+S,WACxBsrD,KAAUxiD,EAAE,YAAa7b,EAAE+S,WAC3BkL,KAAUpC,EAAE,YAAa7b,EAAE+S,WAC3B4kD,KAAU97C,EAAE,eAAgB7b,EAAE+S,WAC9BipD,KAAUngD,EAAE,MAAO7b,EAAE6yB,WACrBgtD,KAAUhkE,EAAE,MAAO7b,EAAEo4B,WACrBikC,KAAUxgD,EAAE,aAAc7b,EAAE43B,kBAC5BmpD,KAAUllE,EAAE,OAAQ7b,EAAE+S,WACtB80E,MAAUhsE,EAAE,UAAW7b,EAAE+oD,eACzBi/B,MAAUnsE,EAAE,MAAO7b,EAAE6yB,WACrB6qE,MAAU7hF,EAAE,WAAY7b,EAAE+S,WAC1B4qF,MAAU9hF,EAAE,aAAc7b,EAAE+S,WAC5B6qF,MAAU/hF,EAAE,WAAY7b,EAAE+S,WAC1B8qF,MAAUhiF,EAAE,aAAc7b,EAAE+S,WAC5B+qF,MAAUjiF,EAAE,UAAW7b,EAAE+S,WACzBgrF,MAAUliF,EAAE,YAAa7b,EAAE+S,WAC3BirF,MAAUniF,EAAE,SAAU7b,EAAE+S,WACxBkrF,MAAUpiF,EAAE,cAAe7b,EAAE+S,WAC7BmrF,MAAUriF,EAAE,SAAU7b,EAAE+S,WACxBorF,MAAUtiF,EAAE,QAAS7b,EAAE+S,WACvBqrF,MAAUviF,EAAE,SAAU7b,EAAE+S,WACxBsrF,MAAUxiF,EAAE,MAAO7b,EAAE+S,WACrBurF,MAAUziF,EAAE,QAAS7b,EAAE+S,WACvBwrF,MAAU1iF,EAAE,SAAU7b,EAAE+S,WACxByrF,MAAU3iF,EAAE,WAAY7b,EAAE+S,WAE1Bk0C,IAAUprC,EAAE,UAAW7b,EAAE+S,WACzB4uE,KAAU9lE,EAAE,UAAW7b,EAAE+S,WACzBu4E,MAAUzvE,EAAE,UAAW7b,EAAE+S,WAEzB0rF,SAKA,SAASC,gBAAenqF,GAAI9gB,EAAG+gB,QAASnkB,QACvC,GAAID,KAAOC,SAAWmkB,aAAankB,MACnC,IAAIH,GAAIqkB,GAAGP,KAAK,EAAI5jB,IACpBF,GAAE4iB,YAAY,EAAGrf,EACjBvD,GAAE4iB,YAAY,EAAG1iB,IACjB,IAAGA,IAAM,GAAK8gB,OAAOsD,SAAUD,GAAGjP,KAAKkP,SAGxC,QAASmqF,WAAUrkD,GAAIpqD,GACtB,GAAGA,EAAEg2B,UAAY,QAAS,KAAM,0BAChC,IAAI1sB,KAAMyZ,QAAQ,EAClBzZ,KAAIsZ,YAAY,EAAG,EACnBtZ,KAAIsZ,YAAY,EAAG,GACnB,OAAOtZ,KAGR,QAASolG,iBAAgBplG,IAAK2C,EAAG/I,GAChC,IAAIoG,IAAKA,IAAMyZ,QAAQ,EACvBzZ,KAAIsZ,YAAY,EAAG3W,EACnB3C,KAAIsZ,YAAY,EAAG1f,EACnBoG,KAAIsZ,YAAY,EAAG,EACnBtZ,KAAIsZ,YAAY,EAAG,EACnBtZ,KAAIsZ,YAAY,EAAG,EACnB,OAAOtZ,KAGR,QAASqlG,gBAAe1iG,EAAG/I,EAAGqH,KAC7B,GAAIjB,KAAMyZ,QAAQ,EAClB2rF,iBAAgBplG,IAAK2C,EAAG/I,EACxBoG,KAAIsZ,YAAY,EAAGrY,IACnB,OAAOjB,KAGR,QAASslG,mBAAkB3iG,EAAG/I,EAAGqH,KAChC,GAAIjB,KAAMyZ,QAAQ,GAClB2rF,iBAAgBplG,IAAK2C,EAAG/I,EACxBoG,KAAIsZ,YAAY,EAAGrY,IAAK,IACxB,OAAOjB,KAGR,QAASulG,iBAAgB5iG,EAAG/I,EAAGqH,IAAKhH,GACnC,GAAI+F,KAAMyZ,QAAQ,EAClB2rF,iBAAgBplG,IAAK2C,EAAG/I,EACxB,IAAGK,GAAK,IAAK,CAAE+F,IAAIsZ,YAAY,EAAGrY,IAAMjB,KAAIsZ,YAAY,EAAG,OACtD,CAAEtZ,IAAIsZ,YAAY,EAAGrY,IAAI,EAAE,EAAIjB,KAAIsZ,YAAY,EAAG,GACvD,MAAOtZ,KAIR,QAASwlG,kBAAiB7iG,EAAG/I,EAAGqH,KAC/B,GAAIjB,KAAMyZ,QAAQ,EAAI,EAAExY,IAAIpK,OAC5BuuG,iBAAgBplG,IAAK2C,EAAG/I,EACxBoG,KAAIsZ,YAAY,EAAGrY,IAAIpK,OACvBmJ,KAAIsZ,YAAYrY,IAAIpK,OAAQoK,IAAK,OACjC,OAAOjB,KAAInG,EAAImG,IAAInJ,OAASmJ,IAAIoJ,MAAM,EAAGpJ,IAAInG,GAAKmG,IAGnD,QAASylG,oBAAmB1qF,GAAIM,KAAM3P,EAAGC,EAAG3Q,MAC3C,OAAOqgB,KAAKphB,GACX,IAAK,IACJ,GAAIohB,KAAKthB,IAAMshB,KAAKthB,EAAE,IAAQshB,KAAKthB,GAAK,GAAOshB,KAAKthB,EAAI,MACvDmrG,eAAenqF,GAAI,EAAQsqF,eAAe35F,EAAGC,EAAG0P,KAAKthB,QAErDmrG,gBAAenqF,GAAI,EAAQuqF,kBAAkB55F,EAAEC,EAAG0P,KAAKthB,GACxD,MACD,KAAK,IAAK,IAAK,IAAKmrG,eAAenqF,GAAI,EAAQwqF,gBAAgB75F,EAAGC,EAAG0P,KAAKthB,EAAGshB,KAAKphB,GAAK,MAEvF,KAAK,IAAK,IAAK,MACdirG,eAAenqF,GAAI,EAAQyqF,iBAAiB95F,EAAGC,EAAG0P,KAAKthB,GACvD,MACD,SAASmrG,eAAenqF,GAAI,EAAQqqF,gBAAgB,KAAM15F,EAAGC,KAI/D,QAAS+5F,eAAc3qF,GAAI81D,GAAI9uE,IAAK/G,KAAM8lD,IACzC,GAAIplC,OAAQ+pC,kBAAkBorB,GAAG,SAAW,MAAOvxC,IAAKt8B,GAAK,GAAI+nD,OACjE,KAAI,GAAIr/C,GAAIgQ,MAAM1iB,EAAE2J,EAAG+I,GAAKgQ,MAAMzK,EAAEtO,IAAK+I,EAAG,CAC3C1I,GAAKykD,WAAW/7C,EAChB,KAAI,GAAIC,GAAI+P,MAAM1iB,EAAEY,EAAG+R,GAAK+P,MAAMzK,EAAErX,IAAK+R,EAAG,CAC3C,GAAGD,IAAMgQ,MAAM1iB,EAAE2J,EAAGooD,KAAKp/C,GAAK67C,WAAW77C,EACzC2zB,KAAMyrB,KAAKp/C,GAAK3I,EAChB,KAAI6tE,GAAGvxC,KAAM,QAEbmmE,oBAAmB1qF,GAAI81D,GAAGvxC,KAAM5zB,EAAGC,EAAG3Q,QAMzC,QAAS2qG,gBAAe7kD,GAAIpqD,GAC3B,GAAIqkB,IAAKd,WACT,IAAIlY,KAAM,CACV,KAAI,GAAIpL,GAAE,EAAEA,EAAEmqD,GAAGtxB,WAAW34B,SAASF,EAAG,GAAGmqD,GAAGtxB,WAAW74B,IAAMD,EAAEwzB,MAAOnoB,IAAIpL,CAC5E,IAAGoL,KAAO,KAAOrL,EAAEwzB,OAAS42B,GAAGtxB,WAAW,IAAM94B,EAAEwzB,MAAO,KAAM,IAAI3qB,OAAM,oBAAsB7I,EAAEwzB,MACjGg7E,gBAAenqF,GAAI,EAAQoqF,UAAUrkD,GAAIpqD,GAEzCgvG,eAAc3qF,GAAI+lC,GAAG0zB,OAAO1zB,GAAGtxB,WAAWztB,MAAOA,IAAKrL,EAAGoqD,GAEzDokD,gBAAenqF,GAAI,GAEnB,OAAOA,IAAGL,MAGX,QAASkrF,YAAW9kD,GAAIpqD,GACvB,GAAIsJ,KAAM2lG,eAAe7kD,GAAIpqD,EAC7B,QAAOA,EAAEqK,MACR,IAAK,SAAU,KACf,KAAK,SAAU,CACd,GAAI8kG,MAAO,EACX,KAAI,GAAIlvG,GAAI,EAAGA,EAAIqJ,IAAInJ,SAAUF,EAAGkvG,MAAQ1uG,OAAOC,aAAa4I,IAAIrJ,GACpE,OAAOkvG,MAER,IAAK,OAAQ,MAAO10F,KAAI20F,cAAcpvG,EAAEgS,KAAM1I,IAC9C,KAAK,SAAU,MAAOA,IACtB,SAAS,KAAM,IAAIT,OAAM,qBAAuB7I,EAAEqK,OAIpD,QAASglG,WAAUl1F,IAAK7V,MACvB,SAAU9E,UAAW,mBAAsBC,WAAY,mBAAsB6vG,OAAQ,YAAaA,IAAM7vG,QAAQ,OAAS;AACzH,SAAU6vG,OAAQ,cAAgBA,IAAID,UAAW,KAAM,IAAIxmG,OAAM,kBACjE,OAAOymG,KAAID,UAAUl1F,IAAK7V,MAE3B,QAASirG,WAAUnlD,GAAI9lD,MACtB,SAAU9E,UAAW,mBAAsBC,WAAY,mBAAsB6vG,OAAQ,YAAaA,IAAM7vG,QAAQ,OAAS,IACzH,UAAU6vG,OAAQ,cAAgBA,IAAIC,UAAW,KAAM,IAAI1mG,OAAM,kBACjE,OAAOymG,KAAIC,UAAUnlD,GAAI9lD,MAE1B,QAASkrG,eAAc/5E,UACtB,MAAO,SAASg6E,UAASnrG,MACxB,IAAI,GAAIrE,GAAI,EAAGA,GAAKw1B,SAASt1B,SAAUF,EAAG,CACzC,GAAIqD,GAAImyB,SAASx1B,EACjB,IAAGqE,KAAKhB,EAAE,MAAQe,UAAWC,KAAKhB,EAAE,IAAMA,EAAE,EAC5C,IAAGA,EAAE,KAAO,IAAKgB,KAAKhB,EAAE,IAAMihB,OAAOjgB,KAAKhB,EAAE,OAK/C,GAAIyjF,eAAgByoB,gBAClB,SAAU,QACV,WAAY,OACZ,cAAe,OACf,aAAc,QACd,YAAa,QAEb,aAAc,QACd,YAAa,EAAG,MAEhB,WAAY,QACZ,aAAc,QACd,YAAa,QACb,YAAa,QACb,UAAW,QAEX,WAAW,KACX,MAAO,QAIT,IAAIE,gBAAiBF,gBACnB,YAAa,QAEb,UAAW,QAEX,WAAY,SAEZ,cAAe,QAEf,MAAO,QAET,SAASG,mBAAkBC,OAAQ57E,QAClC,IAAI47E,OAAQ,MAAO,EACnB,KACCA,OAAS57E,OAAO/yB,IAAI,QAAS4uG,MAAK7nG,GAAK,OAAQA,EAAEwL,KAAMo8F,OAAO,OAAO5nG,EAAEi6B,IAAI/K,UAC1E,MAAM3c,GAAK,MAAO,MACpB,OAAQq1F,QAAUA,OAAOzvG,SAAW,EAAI,KAAOyvG,OAGhD,QAASE,eAAc31F,IAAK3E,KAAMu6F,SAAUv8E,MAAOg7B,UAAWx6B,OAAQ1vB,MACrE,IACCkqD,UAAUh7B,OAAO8C,WAAW9b,UAAUL,IAAK41F,SAAU,MAAOv6F,KAC5Dwe,QAAOR,OAAO0vD,SAAS7oE,WAAWF,IAAK3E,MAAMA,KAAKlR,KAAKkqD,UAAUh7B,QAChE,MAAMjZ,GAAK,GAAGjW,KAAK6wB,IAAK,KAAM5a,IAGjC,GAAIy1F,QAAS,QAASA,QAAOxvG,GAAG,MAAOA,GAAEK,QAAQ,IAAM,IACvD,SAASovG,WAAU91F,IAAK7V,MACvBvB,SAASD,IACTwB,MAAOA,QACPyiF,eAAcziF,KACd3E,WAGA,IAAGua,eAAeC,IAAK,yBAA0B,MAAOk1F,WAAUl1F,IAAK7V,KAEvE,IAAI4rG,SAAUv3F,KAAKwB,IAAIzG,OAAOy8F,OAAOH,QAAQhlB,MAC7C,IAAIolB,KAAMh8E,SAAU5Z,UAAUL,IAAK,uBAAyB7V,KAC5D,IAAIuvB,MAAO,KACX,IAAIG,QAAQq8E,OACZ,IAAGD,IAAI18E,UAAUvzB,SAAW,EAAG,CAC9BkwG,QAAU,iBACV,IAAGh2F,WAAWF,IAAIk2F,QAAS,MAAOD,IAAI18E,UAAUte,KAAKi7F,SAEtD,GAAGD,IAAI18E,UAAUvzB,SAAW,EAAG,CAC9BkwG,QAAU,iBACV,KAAIj2F,WAAWD,IAAIk2F,QAAQ,MAAO,KAAM,IAAIxnG,OAAM,0BAClDunG,KAAI18E,UAAUte,KAAKi7F,QACnBx8E,MAAO,KAER,GAAGu8E,IAAI18E,UAAU,GAAG7yB,QAAQ,IAAM,MAAOgzB,KAAO,IAChD,IAAGA,KAAMj0B,OAAO,KAEhB,KAAI0E,KAAKsiF,aAAetiF,KAAKuiF,UAAW,CACvC9yD,OACA,IAAGq8E,IAAI76E,IAAKxB,KAAKsvD,UAAUhpE,WAAWF,IAAKi2F,IAAI76E,IAAIxzB,QAAQ,MAAM,KAAMquG,IAAI76E,IAAKjxB,KAEhF2vB,UACA,IAAGm8E,IAAI56E,MAAOvB,OAASkvD,UAAU9oE,WAAWF,IAAKi2F,IAAI56E,MAAMzzB,QAAQ,MAAM,KAAKquG,IAAI56E,MAAOlxB,KAEzFgwB,UACA,IAAGhwB,KAAKu2E,YAAcu1B,IAAI97E,OAAOn0B,OAAQm0B,OAAS8uD,YAAY/oE,WAAWF,IAAKi2F,IAAI97E,OAAO,GAAGvyB,QAAQ,MAAM,IAAK,MAAMquG,IAAI97E,OAAO,GAAIhwB,MAGrI,GAAI8lD,IAAK64B,SAAS5oE,WAAWF,IAAKi2F,IAAI18E,UAAU,GAAG3xB,QAAQ,MAAM,KAAMquG,IAAI18E,UAAU,GAAIpvB,KAEzF,IAAIsnF,UAAY0kB,SAAW,EAE3B,IAAGF,IAAI77E,UAAUp0B,SAAW,EAAG,CAC9BmwG,SAAW91F,UAAUL,IAAKi2F,IAAI77E,UAAU,GAAGxyB,QAAQ,MAAM,IAAK,KAC9D,IAAGuuG,SAAU1kB,MAAQj0D,iBAAiB24E,SACtC,IAAGF,IAAI57E,SAASr0B,SAAW,EAAG,CAC7BmwG,SAAW91F,UAAUL,IAAKi2F,IAAI57E,SAAS,GAAGzyB,QAAQ,MAAM,IAAK,KAC7D,IAAGuuG,SAAU93E,gBAAgB83E,SAAU1kB,QAIzC,GAAIn3D,aACJ,KAAInwB,KAAKsiF,YAActiF,KAAKuiF,UAAW,CACtC,GAAIupB,IAAI37E,UAAUt0B,SAAW,EAAG,CAC/BmwG,SAAW91F,UAAUL,IAAKi2F,IAAI37E,UAAU,GAAG1yB,QAAQ,MAAM,IAAK,KAC9D,IAAGuuG,SAAU77E,UAAY6E,iBAAiBg3E,SAAUhsG,OAItD,GAAIgF,OACJ,IAAGhF,KAAKsiF,YAActiF,KAAKuiF,UAAW,CACrC,GAAG+E,MAAMhzD,YAAcgzD,MAAM9yD,WAAW34B,OAAS,EAAG6zB,OAAO43D,MAAM9yD,eAC5D,IAAGsxB,GAAG0zB,OAAQ9pD,OAASo2B,GAAG0zB,OAAO78E,IAAI,QAASsvG,OAAM/vG,GAAI,MAAOA,GAAEgT,MACtE,IAAGlP,KAAKuiF,UAAW,CAAEv9E,IAAI0wB,MAAQ4xD,KAAOtiF,KAAI66E,UAAY1vD,UACxD,SAAUT,UAAW,YAAa1qB,IAAIwvB,WAAa9E,MACnD,IAAG1vB,KAAKsiF,WAAat9E,IAAIwvB,WAAax0B,KAAKuiF,UAAW,MAAOv9E,KAE9D0qB,SAEA,IAAIw8E,QACJ,IAAGlsG,KAAKmsG,UAAYL,IAAI96E,UAAWk7E,KAAKltB,SAASjpE,WAAWF,IAAKi2F,IAAI96E,UAAUvzB,QAAQ,MAAM,KAAKquG,IAAI96E,UAAUhxB,KAEhH,IAAIrE,GAAE,CACN,IAAIuuD,aACJ,IAAIh5C,MAAMu6F,QACV,KAAInkB,MAAMhzD,WAAY,CACrB,GAAI83E,UAAWtmD,GAAG0zB,MAClB8N,OAAMhzD,WAAa83E,SAASvwG,MAC5ByrF,OAAM9yD,aACN,KAAI,GAAIjuB,GAAI,EAAGA,GAAK6lG,SAASvwG,SAAU0K,EAAG,CACzC+gF,MAAM9yD,WAAWjuB,GAAK6lG,SAAS7lG,GAAG2I,MAIpC,GAAIm9F,OAAQ98E,KAAO,MAAQ,KAC3B,IAAI+8E,YAAa,qBAAuBD,MAAQ,OAChD,IAAIf,QAASt5E,WAAW9b,UAAUL,IAAKy2F,WAAY,MAAOA,WAC1D,IAAGhB,OAAQA,OAASD,kBAAkBC,OAAQxlD,GAAG0zB,OAEjD,IAAI+yB,OAASx2F,WAAWF,IAAI,0BAA0B,MAAO,EAAE,CAC/D,KAAIla,EAAI,EAAGA,GAAK2rF,MAAMhzD,aAAc34B,EAAG,CACtC,GAAG2vG,QAAUA,OAAO3vG,GAAIuV,KAAO,MAASo6F,OAAO3vG,GAAG,GAAI8B,QAAQ,YAAa,QACtE,CACJyT,KAAO,uBAAuBvV,EAAE,EAAE4wG,OAAO,IAAMF,KAC/Cn7F,MAAOA,KAAKzT,QAAQ,WAAW,UAEhCguG,SAAWv6F,KAAKzT,QAAQ,qBAAsB,mBAC9C+tG,eAAc31F,IAAK3E,KAAMu6F,SAAUnkB,MAAM9yD,WAAW74B,GAAIuuD,UAAWx6B,OAAQ1vB,MAG5E,GAAG8rG,IAAI17E,SAAU45B,eAAen0C,IAAKi2F,IAAI17E,SAAUV,OAAQw6B,UAAWlqD,KAEtEgF,MACCq+E,UAAWyoB,IACXzuB,SAAUv3B,GACVpwB,MAAO4xD,MACPzH,UAAW1vD,UACXq8E,KAAMN,KACN1yB,OAAQ9pD,OACR8E,WAAY8yD,MAAM9yD,WAClBsjD,QAASroD,KACTg9E,OAAQ98E,OACR+8E,OAAQ18E,OACRxxB,IAAKA,IAAIyN,YAEV,IAAGjM,KAAKwnF,UAAW,CAClBxiF,IAAIqP,KAAOu3F,OACX5mG,KAAIoK,MAAQyG,IAAIzG,MAEjB,GAAGpP,KAAK2sG,QAAS,CAChB,GAAGb,IAAIz7E,IAAIx0B,OAAS,EAAGmJ,IAAI4nG,OAAS72F,WAAWF,IAAIi2F,IAAIz7E,IAAI,GAAG,UACzD,IAAGy7E,IAAI36E,UAAY26E,IAAI36E,SAAS07E,MAAQ,uCAAwC7nG,IAAI4nG,OAAS72F,WAAWF,IAAI,oBAAoB,MAEtI,MAAO7Q,KAER,QAAS8nG,UAASv8E,KAAMw8E,IAAKvhG,EAAGzF,KAAMinG,QACrC,IAAIA,OAAQA,SACZ,KAAIz8E,KAAK,OAAQA,KAAK,SACtBy8E,QAAOn6E,GAAK,MAAQk6E,GACpBC,QAAOr6E,KAAO5sB,IACdinG,QAAOp6E,OAASpnB,CAChB,IAAG+kB,KAAK,OAAOy8E,OAAOn6E,IAAK,KAAM,IAAItuB,OAAM,sBAAwBwoG,IACnEx8E,MAAK,OAAOy8E,OAAOn6E,IAAMm6E,MACzBz8E,OAAM,IAAMy8E,OAAOp6E,QAAQn1B,QAAQ,KAAK,MAAQuvG,OAGjD,QAASC,WAAUnnD,GAAI9lD,MACtB,GAAGA,KAAK0xB,UAAY,MAAO,MAAOu5E,WAAUnlD,GAAI9lD,KAChD,IAAG8lD,KAAOA,GAAGtnD,IAAK,CACjBsnD,GAAGtnD,IAAMA,IAAIyN,YAEd,GAAG65C,IAAMA,GAAGtnD,IAAK,CAChBC,SAASD,IAAMA,KAAI0N,WAAW45C,GAAGtnD,IACjCwB,MAAKm1E,OAASvgE,UAAUkxC,GAAGtnD,IAAMwB,MAAKm1E,OAAOrvB,GAAGtnD,IAAI,QAAU,EAE/DwB,KAAKuwB,OAAWvwB,MAAKsrG,SACrBtrG,MAAK83E,UAAc93E,MAAK83E,QAAQ94C,MAAQ,CAAGh/B,MAAK83E,QAAQ74C,OAAS,CACjE,IAAIotE,OAAQrsG,KAAK0xB,UAAY,OAAS,MAAQ,KAC9C,IAAIhf,KAAO0c,aAAeM,UAAYK,cAAgBC,UAAYL,UACjEM,aAAeC,YAAcC,aAAeV,QAASW,YAAcC,OACnEC,QAASC,QAASC,MAAO,GAC1B46E,gBAAeprG,KAAOA,SACvB,IAAI6V,KAAM,GAAIO,MACb,IAAI5K,GAAI,GAAIuhG,IAAM,CAElB/sG,MAAKqlD,UACL6vB,gBAAel1E,KAAKqlD,YAAc8vB,QAAQ+3B,QAAU,IAEpD,KAAIpnD,GAAGpwB,MAAOowB,GAAGpwB,QAEjBlqB,GAAI,mBACJqK,KAAInI,KAAKlC,EAAGqoB,iBAAiBiyB,GAAGpwB,MAAO11B,MACvC0S,IAAGud,UAAUnf,KAAKtF,EAClBshG,UAAS9sG,KAAKuwB,KAAM,EAAG/kB,EAAGqmB,KAAKsB,WAE/B3nB,GAAI,kBACJs6C,IAAGpwB,MAAMlB,WAAasxB,GAAGtxB,UACzBsxB,IAAGpwB,MAAMpB,WAAawxB,GAAGtxB,WAAW34B,MACpCga,KAAInI,KAAKlC,EAAGmpB,gBAAgBmxB,GAAGpwB,MAAO11B,MACtC0S,IAAGwd,SAASpf,KAAKtF,EACjBshG,UAAS9sG,KAAKuwB,KAAM,EAAG/kB,EAAGqmB,KAAKoC,UAE/B,IAAG6xB,GAAG+5B,YAAc/5B,GAAGpwB,OAASrhB,KAAKyxC,GAAG+5B,eAAehkF,OAAS,EAAG,CAClE2P,EAAI,qBACJqK,KAAInI,KAAKlC,EAAG6pB,iBAAiBywB,GAAG+5B,UAAW7/E,MAC3C0S,IAAGyd,UAAUrf,KAAKtF,EAClBshG,UAAS9sG,KAAKuwB,KAAM,EAAG/kB,EAAGqmB,KAAKiD,YAGhCtpB,EAAI,eAAiB6gG,KACrBx2F,KAAInI,KAAKlC,EAAGyzE,SAASn5B,GAAIt6C,EAAGxL,MAC5B0S,IAAG0c,UAAUte,KAAKtF,EAClBshG,UAAS9sG,KAAKuwB,KAAM,EAAG/kB,EAAGqmB,KAAKC,GAE/B,KAAIi7E,IAAI,EAAEA,KAAOjnD,GAAGtxB,WAAW34B,SAAUkxG,IAAK,CAC7CvhG,EAAI,sBAAwBuhG,IAAM,IAAMV,KACxCx2F,KAAInI,KAAKlC,EAAG0zE,SAAS6tB,IAAI,EAAGvhG,EAAGxL,KAAM8lD,IACrCpzC,IAAGgd,OAAO5e,KAAKtF,EACfshG,UAAS9sG,KAAKsrG,OAAQyB,IAAK,mBAAqBA,IAAM,IAAMV,MAAOx6E,KAAKmjD,IAGzE,GAAGh1E,KAAK83E,SAAW,MAAQ93E,KAAK83E,QAAQj8E,OAAS,EAAG,CACnD2P,EAAI,oBAAsB6gG,KAC1Bx2F,KAAInI,KAAKlC,EAAG4zE,UAAUp/E,KAAK83E,QAAStsE,EAAGxL,MACvC0S,IAAG+c,KAAK3e,KAAKtF,EACbshG,UAAS9sG,KAAKsrG,SAAUyB,IAAK,iBAAmBV,MAAOx6E,KAAKyrB,KAK7D9xC,EAAI,qBACJqK,KAAInI,KAAKlC,EAAG88C,cACZ51C,IAAGsd,OAAOlf,KAAKtF,EACfshG,UAAS9sG,KAAKsrG,SAAUyB,IAAK,mBAAoBl7E,KAAK41B,MAItDj8C,GAAI,aAAe6gG,KACnBx2F,KAAInI,KAAKlC,EAAG2zE,UAAUr5B,GAAIt6C,EAAGxL,MAC7B0S,IAAGid,OAAO7e,KAAKtF,EACfshG,UAAS9sG,KAAKsrG,SAAUyB,IAAK,UAAYV,MAAOx6E,KAAK+zB,IAErD/vC,KAAInI,KAAK,sBAAuB8jB,SAAS9e,GAAI1S,MAC7C6V,KAAInI,KAAK,cAAeulB,WAAWjzB,KAAKuwB,MACxC1a,KAAInI,KAAK,qBAAuB2+F,MAAQ,QAASp5E,WAAWjzB,KAAKsrG,QACjE,OAAOz1F,KAER,QAASs3F,WAAU3hG,EAAE9P,GACpB,QAAQA,OAAOqK,MAAQ,UACtB,IAAK,SAAU,MAAOyF,GAAE,EACxB,KAAK,SAAU,MAAO/O,QAAOH,OAAOkP,EAAEjP,OAAO,EAAE,KAAKT,WAAW,EAC/D,KAAK,SAAU,MAAO0P,GAAE1P,WAAW,EACnC,KAAK,QAAS,MAAO0P,GAAE,EACvB,SAAS,KAAM,IAAIjH,OAAM,sBAAwB7I,EAAIA,EAAEqK,KAAO,eAIhE,QAASqnG,UAAS3xG,KAAMuE,MACxB,GAAI6V,KAAK7W,EAAIvD,IACZ,IAAIC,GAAIsE,QACR,KAAItE,EAAEqK,KAAMrK,EAAEqK,KAAQpI,SAAWC,OAAOmf,SAASthB,MAAS,SAAW,QACrE,QAAOC,EAAEqK,MACR,IAAK,SAAU8P,IAAM,GAAIO,OAAMpX,GAAKquG,OAAO,MAAS,MACpD,KAAK,SAAU,IAAK,QAASx3F,IAAM,GAAIO,OAAMpX,GAAKquG,OAAO,OAAU,MACnE,KAAK,SAAUx3F,IAAM,GAAIO,OAAMpX,EAAI,MACnC,SAAS,KAAM,IAAIuF,OAAM,qBAAuB7I,EAAEqK,MAEnD,MAAO4lG,WAAU91F,IAAKna,GAGvB,QAAS6X,UAAS9X,KAAMuE,MACvB,GAAI6V,KAAK7W,EAAIvD,KAAM4rB,EAAE,CACrB,IAAI3rB,GAAIsE,QACR,KAAItE,EAAEqK,KAAMrK,EAAEqK,KAAQpI,SAAWC,OAAOmf,SAASthB,MAAS,SAAW,QACrE,IAAGC,EAAEqK,MAAQ,OAAQ,CAAErK,EAAEqK,KAAO,QAAU/G,GAAImX,IAAI/C,aAAa3X,MAC/D,OAAQ4rB,EAAI8lF,UAAUnuG,EAAGtD,IACxB,IAAK,KAAM,MAAOorF,cAAax5E,IAAI2G,KAAKjV,EAAGtD,GAAIA,EAC/C,KAAK,GAAM,MAAOorF,cAAa/oF,IAAIrC,EAAEqK,OAAS,SAAWtJ,OAAOH,OAAO0C,GAAKA,GAAItD,EAChF,KAAK,IAAM,MAAO8mF,YAAWxjF,EAAGtD,EAChC,KAAK,IAAM,MAAO0xG,UAASpuG,EAAGtD,EAC9B,SAAS,KAAM,IAAI6I,OAAM,oBAAsB8iB,IAIjD,QAASjU,cAAaC,SAAUrT,MAC/B,GAAItE,GAAIsE,QAAUtE,GAAEqK,KAAO,MAC3B,OAAOwN,UAASF,SAAU3X,GAE3B,QAAS4xG,gBAAexnD,GAAI9lD,MAC3B,GAAItE,GAAIsE,QACR,IAAI6W,GAAIo2F,UAAUnnD,GAAIpqD,EACtB,IAAI6xG,SACJ,IAAG7xG,EAAE8xG,YAAaD,MAAMC,YAAc,SACtC,QAAO9xG,EAAEqK,MACR,IAAK,SAAUwnG,MAAMxnG,KAAO,QAAU,MACtC,KAAK,SAAUwnG,MAAMxnG,KAAO,QAAU,MACtC,KAAK,SACL,IAAK,OAAQwnG,MAAMxnG,KAAO,YAAc,MACxC,SAAS,KAAM,IAAIxB,OAAM,qBAAuB7I,EAAEqK,MAEnD,GAAGrK,EAAEqK,OAAS,OAAQ,MAAOoQ,KAAI20F,cAAcpvG,EAAEgS,KAAMmJ,EAAE42F,SAASF,OAClE,OAAO12F,GAAE42F,SAASF,OAGnB,QAASG,WAAU5nD,GAAI9lD,MACtB,GAAItE,GAAIsE,QACR,QAAOtE,EAAEg2B,UACR,IAAK,MAAO,MAAOgxD,YAAW58B,GAAIpqD,EAClC,KAAK,QAAS,MAAOkvG,YAAW9kD,GAAIpqD,EACpC,SAAS,MAAO4xG,gBAAexnD,GAAIpqD,IAIrC,QAASovG,eAAchlD,GAAIzyC,SAAUrT,MACpC,GAAItE,GAAIsE,QAAUtE,GAAEqK,KAAO,MAC3BrK,GAAEgS,KAAO2F,QACT,KAAI3X,EAAEg2B,SAAU,OAAOh2B,EAAEgS,KAAKnR,QAAQ,GAAG+N,eACxC,IAAK,QAAS5O,EAAEg2B,SAAW,MAAQ,MACnC,KAAK,QAASh2B,EAAEg2B,SAAW,MAAQ,MACnC,KAAK,QAASh2B,EAAEg2B,SAAW,MAAQ,MACpC,SAAS,OAAOh2B,EAAEgS,KAAKnR,QAAQ,GAAG+N,eACjC,IAAK,OAAQ5O,EAAEg2B,SAAW,OAAS,MACnC,KAAK,OAAQh2B,EAAEg2B,SAAW,KAAO,MACjC,KAAK,OAAQh2B,EAAEg2B,SAAW,KAAO,QAElC,MAAOg8E,WAAU5nD,GAAIpqD,GAGtB,QAASiyG,YAAWC,QAAU,MAAO7lG,UAAS8lG,UAAUD,QAAQ,IAAM,EACtE,QAASnhD,YAAWznB,KAAO,MAAO,IAAMA,IAAM,GAC9C,QAAS8oE,SAAQC,MAAQ,MAAOA,MAAKtwG,QAAQ,kBAAkB,UAC/D,QAASowG,WAAUE,MAAQ,MAAOA,MAAKtwG,QAAQ,WAAW,MAE1D,QAASuwG,YAAWC,QAAU,GAAIrvG,GAAIsvG,UAAUD,QAASjvG,EAAI,EAAGrD,EAAI,CAAG,MAAMA,IAAMiD,EAAE/C,SAAUF,EAAGqD,EAAI,GAAGA,EAAIJ,EAAE9C,WAAWH,GAAK,EAAI,OAAOqD,GAAI,EAC9I,QAASwtD,YAAWvqC,KAAO,GAAIjkB,GAAE,EAAI,OAAMikB,IAAKA,IAAKA,IAAI5iB,KAAKyD,OAAOmf,IAAI,GAAG,IAAKjkB,EAAI7B,OAAOC,cAAe6lB,IAAI,GAAG,GAAM,IAAMjkB,CAAG,OAAOA,GACxI,QAASmwG,SAAQJ,MAAQ,MAAOA,MAAKtwG,QAAQ,WAAW,QACxD,QAASywG,WAAUH,MAAQ,MAAOA,MAAKtwG,QAAQ,aAAa,MAE5D,QAAS2wG,YAAWL,MAAQ,MAAOA,MAAKtwG,QAAQ,sBAAsB,SAASQ,MAAM,KACrF,QAAS0sD,aAAYojD,MAAQ,GAAIM,MAAOD,WAAWL,KAAO,QAASnvG,EAAEovG,WAAWK,KAAK,IAAK1mG,EAAEgmG,WAAWU,KAAK,KAC5G,QAASzkD,aAAYvpC,MAAQ,MAAOmsC,YAAWnsC,KAAKzhB,GAAK6tD,WAAWpsC,KAAK1Y,GACzE,QAAS2mG,UAASP,MAAQ,MAAOI,SAAQL,QAAQC,OACjD,QAASQ,YAAWR,MAAQ,MAAOG,WAAUL,UAAUE,OACvD,QAASS,cAAa9tF,OAAS,GAAIxkB,GAAGwkB,MAAMziB,MAAM,KAAKtB,IAAIguD,YAAc,QAAQ3sD,EAAE9B,EAAE,GAAG+Z,EAAE/Z,EAAEA,EAAEL,OAAO,IACrG,QAASgvD,cAAa4jD,GAAGC,IACxB,GAAGA,KAAO3uG,iBAAoB2uG,MAAO,SAAU,MAAO7jD,cAAa4jD,GAAGzwG,EAAGywG,GAAGx4F,EAC5E,UAAUw4F,MAAO,SAAUA,GAAK7kD,YAAY6kD,GAAK,UAAUC,MAAO,SAAUA,GAAK9kD,YAAY8kD,GAC7F,OAAOD,KAAMC,GAAKD,GAAKA,GAAK,IAAMC,GAGnC,QAASjkD,mBAAkB/pC,OAC1B,GAAIhlB,IAAKsC,GAAGY,EAAE,EAAE+I,EAAE,GAAGsO,GAAGrX,EAAE,EAAE+I,EAAE,GAC9B,IAAIZ,KAAM,EAAGpL,EAAI,EAAG+M,GAAK,CACzB,IAAI9M,KAAM8kB,MAAM7kB,MAChB,KAAIkL,IAAM,EAAGpL,EAAIC,MAAOD,EAAG,CAC1B,IAAI+M,GAAGgY,MAAM5kB,WAAWH,GAAG,IAAM,GAAK+M,GAAK,GAAI,KAC/C3B,KAAM,GAAGA,IAAM2B,GAEhBhN,EAAEsC,EAAEY,IAAMmI,GAEV,KAAIA,IAAM,EAAGpL,EAAIC,MAAOD,EAAG,CAC1B,IAAI+M,GAAGgY,MAAM5kB,WAAWH,GAAG,IAAM,GAAK+M,GAAK,EAAG,KAC9C3B,KAAM,GAAGA,IAAM2B,GAEhBhN,EAAEsC,EAAE2J,IAAMZ,GAEV,IAAGpL,IAAMC,KAAO8kB,MAAM5kB,aAAaH,KAAO,GAAI,CAAED,EAAEua,EAAErX,EAAElD,EAAEsC,EAAEY,CAAGlD,GAAEua,EAAEtO,EAAEjM,EAAEsC,EAAE2J,CAAG,OAAOjM,GAEjF,IAAIqL,IAAM,EAAGpL,GAAKC,MAAOD,EAAG,CAC3B,IAAI+M,GAAGgY,MAAM5kB,WAAWH,GAAG,IAAM,GAAK+M,GAAK,GAAI,KAC/C3B,KAAM,GAAGA,IAAM2B,GAEhBhN,EAAEua,EAAErX,IAAMmI,GAEV,KAAIA,IAAM,EAAGpL,GAAKC,MAAOD,EAAG,CAC3B,IAAI+M,GAAGgY,MAAM5kB,WAAWH,GAAG,IAAM,GAAK+M,GAAK,EAAG,KAC9C3B,KAAM,GAAGA,IAAM2B,GAEhBhN,EAAEua,EAAEtO,IAAMZ,GACV,OAAOrL,GAGR,QAASizG,kBAAiBtuF,KAAMthB,GAC/B,GAAGshB,KAAKxJ,IAAM9W,UAAW,IAAM,MAAQsgB,MAAK3c,EAAIlF,IAAIoN,OAAOyU,KAAKxJ,EAAG9X,GAAO,MAAMkX,IAChF,IAAIoK,KAAK6iE,GAAI,MAAOnkF,EACpB,KAAM,MAAQshB,MAAK3c,EAAIlF,IAAIoN,OAAOyU,KAAK6iE,GAAG1hD,MAAM,EAAGziC,GAAO,MAAMkX,GAAK,MAAO,GAAGlX,GAGhF,QAAS6vG,aAAYvuF,KAAMthB,GAC1B,GAAGshB,MAAQ,MAAQA,KAAKphB,GAAK,KAAM,MAAO,EAC1C,IAAGohB,KAAK3c,IAAM3D,UAAW,MAAOsgB,MAAK3c,CACrC,IAAG3E,IAAMgB,UAAW,MAAO4uG,kBAAiBtuF,KAAMA,KAAKthB,EACvD,OAAO4vG,kBAAiBtuF,KAAMthB,GAG/B,QAAS8vG,eAAc3/E,MAAOlvB,MAC7B,GAAIiG,KAAK++B,IAAKtkB,MAAOlS,OAAS,EAAGyE,OAAS,EAAGtL,EAAGq+B,OAAU8oE,QAASp+F,EAAGC,EAAG5R,CACzE,IAAIrD,GAAIsE,MAAQ,KAAOA,OACvB,IAAIgQ,KAAMtU,EAAEsU,GACZ,IAAGkf,OAAS,MAAQA,MAAM,SAAW,KAAM,QAC3CxO,OAAQhlB,EAAEglB,QAAU3gB,UAAYrE,EAAEglB,MAAQwO,MAAM,OAChD,IAAGxzB,EAAE8S,SAAW,EAAGA,OAAS,MACvB,IAAG9S,EAAE8S,SAAW,IAAKA,OAAS,MAC9B,IAAG1Q,MAAM+e,QAAQnhB,EAAE8S,QAASA,OAAS,CAC1C,cAAckS,QACb,IAAK,SAAU/Y,EAAI8iD,kBAAkB/pC,MAAQ,MAC7C,KAAK,SAAU/Y,EAAI8iD,kBAAkBv7B,MAAM,QAAUvnB,GAAE3J,EAAE2J,EAAI+Y,KAAO,MACpE,SAAS/Y,EAAI+Y,MAEd,GAAGlS,OAAS,EAAGyE,OAAS,CACxB,IAAIjL,IAAKykD,WAAW9kD,EAAE3J,EAAE2J,EACxB,IAAIooD,MAAO,GAAIjyD,OAAM6J,EAAEsO,EAAErX,EAAE+I,EAAE3J,EAAEY,EAAE,EACjC,IAAIoG,KAAM,GAAIlH,OAAM6J,EAAEsO,EAAEtO,EAAEA,EAAE3J,EAAE2J,EAAEsL,OAAO,EACvC,IAAI87F,MAAO,CACX,KAAIp+F,EAAIhJ,EAAE3J,EAAEY,EAAG+R,GAAKhJ,EAAEsO,EAAErX,IAAK+R,EAAG,CAC/Bo/C,KAAKp/C,GAAK67C,WAAW77C,EACrB1K,KAAMipB,MAAM6gC,KAAKp/C,GAAK3I,GACtB,QAAOwG,QACN,IAAK,GAAGw3B,IAAIr1B,GAAKA,CAAG,MACpB,KAAK,GAAGq1B,IAAIr1B,GAAKo/C,KAAKp/C,EAAI,MAC1B,KAAK,GAAGq1B,IAAIr1B,GAAKjV,EAAE8S,OAAOmC,EAAIhJ,EAAE3J,EAAEY,EAAI,MACtC,SACC,GAAGqH,MAAQlG,UAAW,QACtBimC,KAAIr1B,GAAKi+F,YAAY3oG,MAIxB,IAAKyK,EAAI/I,EAAE3J,EAAE2J,EAAIsL,OAAQvC,GAAK/I,EAAEsO,EAAEtO,IAAK+I,EAAG,CACzC1I,GAAKykD,WAAW/7C,EAChBo+F,SAAU,IACV,IAAGtgG,SAAW,EAAGw2B,WACZ,CACJA,MACA,IAAG1wB,OAAO06F,eAAgB16F,OAAO06F,eAAehqE,IAAK,cAAe5sB,MAAM1H,EAAGu+F,WAAW,YACnFjqE,KAAIkqE,WAAax+F,EAEvB,IAAKC,EAAIhJ,EAAE3J,EAAEY,EAAG+R,GAAKhJ,EAAEsO,EAAErX,IAAK+R,EAAG,CAChC1K,IAAMipB,MAAM6gC,KAAKp/C,GAAK3I,GACtB,IAAG/B,MAAQlG,WAAakG,IAAIhH,IAAMc,UAAW,QAC7ChB,GAAIkH,IAAIlH,CACR,QAAOkH,IAAIhH,GACV,IAAK,IAAK,QACV,KAAK,IAAK,KACV,KAAK,IAAK,IAAK,IAAK,KACpB,SAAS,KAAM,qBAAuBgH,IAAIhH,EAE3C,GAAGF,IAAMgB,UAAW,CACnBilC,IAAIgB,IAAIr1B,IAAMX,IAAMjR,EAAI6vG,YAAY3oG,IAAIlH,EACxC+vG,SAAU,OAGZ,GAAGA,UAAY,OAAStgG,SAAW,EAAGxJ,IAAI+pG,QAAU/pE,IAErDhgC,IAAInJ,OAASkzG,IACb,OAAO/pG,KAGR,QAASmqG,2BAA0BjgF,MAAOlvB,MAAQ,MAAO6uG,eAAc3/E,MAAOlvB,MAAQ,KAAOA,SAE7F,QAASovG,cAAalgF,MAAOlvB,MAC5B,GAAIgF,KAAM,GAAIqqG,IAAM,GAAIC,KAAO,IAC/B,IAAI5zG,GAAIsE,MAAQ,QAAYA,IAC5B,IAAGkvB,OAAS,MAAQA,MAAM,SAAW,KAAM,MAAO,EAClD,IAAIvnB,GAAI8iD,kBAAkBv7B,MAAM,QAChC,IAAIqgF,IAAK7zG,EAAE6zG,KAAOxvG,UAAYrE,EAAE6zG,GAAK,IAAKp8F,GAAKo8F,GAAGzzG,WAAW,EAC7D,IAAI0zG,IAAK9zG,EAAE8zG,KAAOzvG,UAAYrE,EAAE8zG,GAAK,KAAM9yD,GAAK8yD,GAAG1zG,WAAW,EAC9D,IAAIkpC,KAAM,GAAIh9B,GAAK,GAAI+nD,OACvB,IAAIp0D,GAAI,EAAG+M,GAAK,EAAGzC,GACnB,IAAIyK,GAAI,EAAGC,EAAI,CACf,KAAIA,EAAIhJ,EAAE3J,EAAEY,EAAG+R,GAAKhJ,EAAEsO,EAAErX,IAAK+R,EAAGo/C,KAAKp/C,GAAK67C,WAAW77C,EACrD,KAAID,EAAI/I,EAAE3J,EAAE2J,EAAG+I,GAAK/I,EAAEsO,EAAEtO,IAAK+I,EAAG,CAC/Bs0B,IAAM,EACNh9B,IAAKykD,WAAW/7C,EAChB,KAAIC,EAAIhJ,EAAE3J,EAAEY,EAAG+R,GAAKhJ,EAAEsO,EAAErX,IAAK+R,EAAG,CAC/B1K,IAAMipB,MAAM6gC,KAAKp/C,GAAK3I,GACtBqnG,KAAMppG,MAAQlG,UAAY,GAAG6uG,YAAY3oG,KAAO,EAChD,KAAItK,EAAI,EAAG+M,GAAK,EAAG/M,IAAM0zG,IAAIxzG,SAAUF,EAAG,IAAI+M,GAAK2mG,IAAIvzG,WAAWH,MAAQwX,IAAMzK,KAAOg0C,IAAMh0C,KAAO,GAAI,CACvG2mG,IAAM,IAAOA,IAAI5xG,QAAQ6xG,KAAM,MAAQ,GAAM,OAC9CtqE,MAAQr0B,IAAMhJ,EAAE3J,EAAEY,EAAI,GAAK2wG,IAAMF,IAElCrqG,KAAOggC,IAAMwqE,GAEd,MAAOxqG,KAER,GAAIyqG,UAAWL,YAEf,SAASM,mBAAkBxgF,OAC1B,GAAIygF,MAAM7vG,EAAI,GAAI5D,EAAG+J,IAAI,EACzB,IAAGipB,OAAS,MAAQA,MAAM,SAAW,KAAM,MAAO,EAClD,IAAIvnB,GAAI8iD,kBAAkBv7B,MAAM,SAAUlnB,GAAK,GAAI+nD,QAAWp/C,CAC9Dg/F,MAAO,GAAI7xG,QAAO6J,EAAEsO,EAAEtO,EAAEA,EAAE3J,EAAE2J,EAAE,IAAIA,EAAEsO,EAAErX,EAAE+I,EAAE3J,EAAEY,EAAE,GAC9C,IAAIjD,GAAI,CACR,KAAIgV,EAAIhJ,EAAE3J,EAAEY,EAAG+R,GAAKhJ,EAAEsO,EAAErX,IAAK+R,EAAGo/C,KAAKp/C,GAAK67C,WAAW77C,EACrD,KAAI,GAAID,GAAI/I,EAAE3J,EAAE2J,EAAG+I,GAAK/I,EAAEsO,EAAEtO,IAAK+I,EAAG,CACnC1I,GAAKykD,WAAW/7C,EAChB,KAAIC,EAAIhJ,EAAE3J,EAAEY,EAAG+R,GAAKhJ,EAAEsO,EAAErX,IAAK+R,EAAG,CAC/B7Q,EAAIiwD,KAAKp/C,GAAK3I,EACd9L,GAAIgzB,MAAMpvB,EACVmG,KAAM,EACN,IAAG/J,IAAM6D,UAAW,QACpB,IAAG7D,EAAEsP,GAAK,KAAMvF,IAAM/J,EAAEsP,MACnB,IAAGtP,EAAEwH,IAAM3D,UAAWkG,IAAM,IAAM/J,EAAEwH,MACpC,IAAGxH,EAAE6C,IAAMgB,UAAW,aACtBkG,KAAM,GAAG/J,EAAE6C,CAChB4wG,MAAKh0G,KAAOmE,EAAI,IAAMmG,KAGxB0pG,KAAK9zG,OAASF,CACd,OAAOg0G,MAGR,GAAItzG,QACHmwD,WAAYA,WACZC,WAAYA,WACZ7C,YAAaA,YACbiB,aAAcA,aACdmjD,WAAYA,WACZL,WAAYA,WACZS,WAAYA,WACZzjD,YAAaA,YACb6jD,aAAcA,aACdI,YAAaA,YACbgB,aAAcF,kBACdD,SAAUL,aACVS,UAAWhB,cACXiB,cAAeJ,kBACfN,aAAcA,aACdP,cAAeA,cACfa,kBAAmBA,kBACnBP,0BAA2BA,0BAE5Bt0G,MAAKisF,aAAeA,YACpBjsF,MAAK8wG,UAAYA,SACjB9wG,MAAKoZ,KAAOV,QACZ1Y,MAAKk1G,SAAW38F,YAChBvY,MAAKuY,aAAeA,YACpBvY,MAAKm1G,MAAQtC,SACb7yG,MAAKo1G,UAAYnF,aACjBjwG,MAAKiwG,cAAgBA,aACrBjwG,MAAKwB,MAAQA,KACbxB,MAAKyS,IAAMA,GACXzS,MAAK2D,IAAMA,YACDgP,WAAY,YAAcA,QAAU3S,KAC9C,IAAIq1G,KAAMr1G","file":"dist/xlsx.min.js"} \ No newline at end of file +{"version":3,"sources":["xlsx.js"],"names":["XLSX","make_xlsx","version","current_codepage","current_cptable","module","require","cptable","reset_cp","set_cp","cp","char_codes","data","o","i","len","length","charCodeAt","debom_xml","_getchar","_gc1","x","String","fromCharCode","utils","decode","substr","_gc2","Base64","make_b64","map","encode","input","utf8","c1","c2","c3","e1","e2","e3","e4","isNaN","charAt","b64_decode","replace","indexOf","has_buf","Buffer","new_raw_buf","Array","s2a","s","split","bconcat","bufs","concat","apply","chr0","chr1","SSF","make_ssf","_strrev","fill","c","l","pad0","v","d","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","opts_fmt","fixopts","y","undefined","opts","table_fmt","0","1","2","3","4","9","10","11","12","13","14","15","16","17","18","19","20","21","22","37","38","39","40","45","46","47","48","49","56","65535","days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","w","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","abs","LOG10E","_general_num","general_fmt","Error","_general","fix_hijri","date","parse_date_code","b2","time","dow","dout","out","T","u","m","H","M","S","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","flr","write_num_flt","ffmt","oo","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","eval_fmt","flen","lst","dt","hr","toLowerCase","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","format","table","_table","load","load_entry","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","DO_NOT_EXPORT_CFB","CFB","_CFB","exports","parse","file","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","blob","slice","prep_blob","mv","check_get_mver","header","check_shifts","nds","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","FullPathDir","read_directory","build_full_paths","root_name","shift","root","find_path","make_find_path","raw","find","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FPD","FP","L","R","C","pl","dad","push","UCFullPaths","UCPaths","toUpperCase","path","k","UCPath","cnt","sector","__readInt32LE","get_sector_list","start","chkd","sl","buf","buf_chain","modulus","addr","nodes","__toBuffer","minifat_store","namelen","ctime","mtime","__utf16le","color","clsid","state","ct","read_date","mt","size","storage","content","MSSZ","offset","__readUInt32LE","fs","readFileSync","filename","options","readSync","consts","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","read","ReadShift","CheckField","isval","keys","Object","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","epoch","cc2str","arr","dup","JSON","stringify","hasOwnProperty","getdatastr","asNodeBuffer","toString","asBinary","_data","getContent","prototype","call","getdatabin","getdata","safegetzipfile","zip","getzipfile","getzipdata","safe","e","getzipstr","_fs","jszip","JSZip","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","substring","strip_ns","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","encregex","coderegex","text","decregex","charegex","escapexml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","g","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","h","matches","baseType","res","forEach","wtregex","writetag","wxt_helper","join","writextag","write_w3cdtf","toISOString","write_vt","XML_HEADER","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","read_double_le","b","Infinity","NaN","write_double_le","bs","av","isFinite","LOG2E","___toBuffer","toBuffer_","___utf16le","utf16le_","__readUInt16LE","__hexlify","___hexlify","hexlify_","__utf8","___utf8","__readUInt8","__lpstr","___lpstr","lpstr_","__lpwstr","___lpwstr","lpwstr_","__double","___double","is_buf","is_buf_a","a","isArray","utf16le_b","isBuffer","lpstr_b","readUInt32LE","lpwstr_b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","this","lens","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","WriteShift","hexstr","fld","pos","write_shift","parsenoop","writenoop","new_buf","sz","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","next","ba_next","end","ba_end","ba_push","_bufs","write_record","ba","payload","Number","evert_RE","p","shift_cell_xls","cell","tgt","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","hex","createHash","update","digest","parse_StrRun","ich","ifnt","parse_RichStr","flags","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","write_XLWideString","parse_XLSBCell","col","iStyleRef","fPhShow","write_XLSBCell","parse_XLSBCodeName","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_XLNameWideString","write_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","7","23","29","36","42","43","255","RBErr","parse_BrtColor","fValidRGB","xColorType","index","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","VT_EMPTY","VT_NULL","VT_I2","VT_I4","VT_R4","VT_R8","VT_CY","VT_DATE","VT_BSTR","VT_ERROR","VT_BOOL","VT_VARIANT","VT_DECIMAL","VT_I1","VT_UI1","VT_UI2","VT_UI4","VT_I8","VT_UI8","VT_INT","VT_UINT","VT_LPSTR","VT_LPWSTR","VT_FILETIME","VT_BLOB","VT_STREAM","VT_STORAGE","VT_STREAMED_Object","VT_STORED_Object","VT_BLOB_Object","VT_CF","VT_CLSID","VT_VERSIONED_STREAM","VT_VECTOR","VT_ARRAY","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","n","5","6","8","26","27","28","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","30","31","32","33","34","41","44","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","XLSFillPattern","rgbify","XLSIcv","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","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.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","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.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","sheet","CT_LIST","workbooks","xlsx","xlsm","xlsb","xltx","strs","sheets","styles","type2ct","CT","parse_ct","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","ctext","Extension","ContentType","PartName","WTF","console","error","calcchain","sst","style","defaults","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","parse_rels","currentFilePath","hash","resolveRelativePathIntoAbsolute","to","toksFrom","pop","toksTo","reversed","tokTo","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","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","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","xlml_set_prop","Props","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","ret","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","parse_VtVector","_opts","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","vers","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","parslurp","target","parslurp2","parseuint16","parseuint16a","parse_Boolean","parse_Bes","parse_ShortXLUnicodeString","cch","width","encoding","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","cRun","cbExtRst","msg","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_ControlInfo","parse_URLMoniker","extra","url","parse_FileMoniker","cAnti","ansiLength","ansiPath","endServer","versionNumber","cbUnicodePathSize","cbUnicodePathBytes","usKeyValue","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","location","guid","fileTime","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","parse_frtHeader","rt","parse_OptXLUnicodeString","HIDEOBJENUM","parse_HideObjEnum","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","FtTab","parse_FtArray","fts","ft","parse_FontIndex","parse_BOF","BIFFVer","parse_InterfaceHdr","parse_WriteAccess","enc","UserName","parse_BoundSheet8","hidden","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","Col","rht","parse_ForceFullCalculation","fullcalc","parse_CompressPictures","parse_RecalcId","parse_DefaultRowHeight","miyRw","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","ifmt","fmtstr","parse_BIFF2Format","parse_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_CellStyleXF","patternType","icvFore","icvBack","parse_CellXF","parse_StyleXF","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_XLHeaderFooter","parse_SupBook","ctab","virtPath","rgst","sbcch","parse_ExternName","body","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","Name","parse_ExternSheet","snames","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","row","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","texts","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","hdr","parse_HLink","hlink","parse_HLinkTooltip","wzTooltip","parse_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_Style","parse_StyleExt","parse_ColInfo","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_Setup","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_MulBlank","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_NameCmt","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_ShtProps","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","parse_BIFF5String","parse_BIFF2STR","parse_BIFF2NUM","num","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","69","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","font","strike","rgb","family","parse_r","terms","rs","sitregex","sirregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","trim","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_Version","Major","Minor","parse_EncryptionHeader","tmp","AlgID","parse_EncryptionVerifier","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","Salt","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","Verifier","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","verifier","valid","insitu_decrypt","parse_FilePassHeader","Info","parse_FilePass","hex2RGB","rgb2Hex","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","width2px","px2char","px","char2width","chr","cycle_width","collw","find_mdw","coll","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_fills","Fills","bgColor","indexed","theme","fgColor","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","fillId","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","STYLES_XML_ROOT","STY","write_sty_xml","wb","parse_BrtFmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","hopper_sty","write_sty_bin","THEME","parse_clrScheme","themeElements","clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","parse_Theme","dwThemeVersion","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xf","xfext","xfe","parse_cc_xml","write_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","write_cc_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","comment","safe_decode_range","thisCell","decode_cell","encoded","encode_range","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","hopper_cmnt","write_comments_bin","rc_to_a1","rcregex","rcbase","rcfunc","$4","$5","encode_col","encode_row","fstr","shift_formula_str","delta","$0","off","decode_col","decode_row","shift_formula_xlsx","decode_range","parseread","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","area","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","ptg","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgConcat","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","rows","cols","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgRefErr3d","parse_PtgTbl","PtgTypes","35","57","58","59","60","PtgDupes","96","65","97","98","67","99","68","100","101","70","102","71","103","72","104","73","74","106","75","107","76","108","109","89","121","122","91","123","92","124","93","125","Ptg18","Ptg19","parse_Formula","parse_FormulaValue","chn","cbf","parse_XLSCellParsedFormula","formula","shared","parse_RgbExtra","parse_Rgce","rgcb","gcnt","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","stringify_formula","supbooks","_range","stack","nameidx","sname","last_sp","sp","fflen","argc","func","args","lbl","XLSXFutureFunctions","bookidx","externbook","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","PtgDataType","24","25","50","51","53","54","62","63","78","79","80","83","85","87","88","94","95","110","111","112","113","114","115","116","117","118","119","120","126","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","150","151","152","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","200","201","202","203","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","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.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.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFNA","_xlfn.IFERROR","_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.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.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","_ssfopts","WS","get_sst_id","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fillid","cellNF","raw_rgb","parse_ws_xml_dim","ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","parse_ws_xml","ridx","mergecells","columns","cellStyles","parse_ws_xml_cols","refguess","mtch","parse_ws_xml_data","parse_ws_xml_hlinks","tmpref","write_ws_xml_merges","Rel","rng","seencol","coli","colm","colM","wpx","wch","write_ws_xml_cols","customWidth","write_ws_xml_cell","oldt","oldv","cellDates","os","Strings","parse_ws_xml_data_factory","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","guess","cells","cref","tagr","tagc","sstr","ftag","do_format","marr","marrlen","xlen","cellFormula","F","si","_tag","sheetStubs","write_ws_xml_data","WS_XML_ROOT","xmlns:r","write_ws_xml","sidx","rdata","Sheets","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_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","parse_BrtHLink","relId","tooltip","display","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","parse_ws_bin","!id","ai","af","array_formulae","shared_formulae","Names","ws_parse","Record","aii","write_ws_bin_cell","write_CELLTABLE","write_ws_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","CustomWBViewDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","wbnsregex","parse_wb_xml","AppVersion","xml_wb","WB_XML_ROOT","safe1904","Workbook","write_wb_xml","sheetId","r:id","parse_BrtBundleSh","hsState","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","strName","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","Comment","parse_wb_bin","NameList","hopper_wb","write_BUNDLESHS","write_BrtFileVersion","write_BOOKVIEWS","write_BrtCalcProp","write_BrtFileRecover","write_wb_bin","parse_wb","parse_ws","parse_sty","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","attregexg2","attregex2","_chr","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","Custprops","Rn","safe_format_xlml","nf","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","xml","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","xlml_normalize","xlmlregex","parse_xlml_xml","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","exec","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","seen","bookSheets","bookProps","parse_xlml","fix_read_opts","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","ll","safe_format_xf","XF","make_cell","parse_workbook","Directory","found_sheet","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","icv","process_cell_style","pcs","line","xfd","addcell","rrtabid","lastuser","codepage","winlocked","wtf","objects","sbc","sbci","sbcli","last_Rn","file_depth","BIFF2Fmt","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","_f","_fr","_fc","_fe","TxO","noteobj","sheetnamesraw","sort","Encryption","Metadata","Country","parse_xlscfb","cfb","CompObj","Summary","CompObjP","SummaryP","WorkbookP","parse_props","props","DocSummary","bookFiles","DSI","SI","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","1033","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","29282","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","write_biff","bstr","writeFileSync","parse_ods","ODS","write_ods","fix_opts_func","fix_opts","fix_write_opts","safe_parse_wbrels","wbrels","pwbr","safe_parse_ws","relsPath","nodirs","parse_zip","entries","filter","dir","binname","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","Themes","bookVBA","vbaraw","bin","add_rels","rId","relobj","write_zip","General","firstbyte","read_zip","base64","write_zip_type","oopts","compression","generate","writeSync","rowstr","unfix_row","cstr","colstr","unfix_col","split_cell","splt","fix_cell","unfix_cell","cs","ce","safe_format_cell","format_cell","sheet_to_json","isempty","outi","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","sheet_to_csv","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS"],"mappings":"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","file":"dist/xlsx.min.js"} \ No newline at end of file diff --git a/ods.flow.js b/ods.flow.js index 5180366..0c71eaf 100644 --- a/ods.flow.js +++ b/ods.flow.js @@ -241,6 +241,17 @@ var utf8read = function utf8reada(orig) { } return out; }; +/* Part 3 TODO: actually parse formulae */ +function ods_to_csf_formula(f/*:string*/)/*:string*/ { + if(f.substr(0,3) == "of:") f = f.substr(3); + /* 5.2 Basic Expressions */ + if(f.charCodeAt(0) == 61) { + f = f.substr(1); + if(f.charCodeAt(0) == 61) f = f.substr(1); + } + /* Part 3 Section 5.8 References */ + return f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g, "$1").replace(/\./g, ""); +} var parse_content_xml = (function() { var number_formats = { @@ -262,13 +273,15 @@ var parse_content_xml = (function() { var NFtag = {name:""}, NF = "", pidx = 0; var sheetag/*:: = {name:""}*/; var Sheets = {}, SheetNames/*:Array*/ = [], ws = {}; - var Rn, q/*:: = {t:"", v:null, z:null, w:""}*/; + var Rn, q/*:: = ({t:"", v:null, z:null, w:""}:any)*/; var ctag = {value:""}; var textp = "", textpidx = 0, textptag/*:: = {}*/; var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var number_format_map = {}; var merges = [], mrange = {}, mR = 0, mC = 0; - var rept = 1; + var arrayf = []; + var rept = 1, isstub = false; + var i = 0; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { @@ -307,7 +320,21 @@ var parse_content_xml = (function() { if(C < range.s.c) range.s.c = C; if(R < range.s.r) range.s.r = R; ctag = parsexmltag(Rn[0], false); - q = {t:ctag['value-type'], v:null/*:: , z:null, w:""*/}; + q = ({t:ctag['value-type'], v:null/*:: , z:null, w:""*/}/*:any*/); + if(opts.cellFormula) { + if(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) { + mR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0; + mC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0; + mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; + q.F = get_utils().encode_range(mrange); + arrayf.push([mrange, q.F]); + } + if(ctag.formula) q.f = ods_to_csf_formula(ctag.formula); + else for(i = 0; i < arrayf.length; ++i) + if(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r) + if(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c) + q.F = arrayf[i][1]; + } if(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) { mR = parseInt(ctag['number-rows-spanned'],10) || 0; mC = parseInt(ctag['number-columns-spanned'],10) || 0; @@ -333,13 +360,19 @@ var parse_content_xml = (function() { } else throw new Error('Unsupported value type ' + q.t); } } else { - if(q.t === 's') q.v = textp || ''; - if(textp) q.w = textp; - if(!(opts.sheetRows && opts.sheetRows < R)) { - ws[get_utils().encode_cell({r:R,c:C})] = q; - while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); - if(range.e.c <= C) range.e.c = C; + isstub = false; + if(q.t === 's') { + q.v = textp || ''; + isstub = textpidx == 0; } + if(textp) q.w = textp; + if(!isstub || opts.cellStubs) { + if(!(opts.sheetRows && opts.sheetRows < R)) { + ws[get_utils().encode_cell({r:R,c:C})] = q; + while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); + if(range.e.c <= C) range.e.c = C; + } + } else { C += rept; rept = 0; } q = {/*:: t:"", v:null, z:null, w:""*/}; textp = ""; } @@ -366,6 +399,7 @@ var parse_content_xml = (function() { case 'annotation': // 14.1 if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp;} else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]); + textp = ""; textpidx = 0; break; case 'number-style': // 16.27.2 @@ -619,7 +653,7 @@ function write_ods(wb/*:any*/, opts/*:any*/) { f = "mimetype"; zip.file(f, "application/vnd.oasis.opendocument.spreadsheet"); - /* Part 2 Section 2.2 Documents */ + /* Part 1 Section 2.2 Documents */ f = "content.xml"; zip.file(f, write_content_xml(wb, opts)); manifest.push([f, "text/xml"]); diff --git a/ods.js b/ods.js index f0b2aa1..d88c484 100644 --- a/ods.js +++ b/ods.js @@ -239,6 +239,17 @@ var utf8read = function utf8reada(orig) { } return out; }; +/* Part 3 TODO: actually parse formulae */ +function ods_to_csf_formula(f) { + if(f.substr(0,3) == "of:") f = f.substr(3); + /* 5.2 Basic Expressions */ + if(f.charCodeAt(0) == 61) { + f = f.substr(1); + if(f.charCodeAt(0) == 61) f = f.substr(1); + } + /* Part 3 Section 5.8 References */ + return f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g, "$1").replace(/\./g, ""); +} var parse_content_xml = (function() { var number_formats = { @@ -266,7 +277,9 @@ var parse_content_xml = (function() { var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var number_format_map = {}; var merges = [], mrange = {}, mR = 0, mC = 0; - var rept = 1; + var arrayf = []; + var rept = 1, isstub = false; + var i = 0; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { @@ -305,7 +318,21 @@ var parse_content_xml = (function() { if(C < range.s.c) range.s.c = C; if(R < range.s.r) range.s.r = R; ctag = parsexmltag(Rn[0], false); - q = {t:ctag['value-type'], v:null}; + q = ({t:ctag['value-type'], v:null}); + if(opts.cellFormula) { + if(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) { + mR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0; + mC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0; + mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; + q.F = get_utils().encode_range(mrange); + arrayf.push([mrange, q.F]); + } + if(ctag.formula) q.f = ods_to_csf_formula(ctag.formula); + else for(i = 0; i < arrayf.length; ++i) + if(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r) + if(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c) + q.F = arrayf[i][1]; + } if(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) { mR = parseInt(ctag['number-rows-spanned'],10) || 0; mC = parseInt(ctag['number-columns-spanned'],10) || 0; @@ -331,13 +358,19 @@ var parse_content_xml = (function() { } else throw new Error('Unsupported value type ' + q.t); } } else { - if(q.t === 's') q.v = textp || ''; - if(textp) q.w = textp; - if(!(opts.sheetRows && opts.sheetRows < R)) { - ws[get_utils().encode_cell({r:R,c:C})] = q; - while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); - if(range.e.c <= C) range.e.c = C; + isstub = false; + if(q.t === 's') { + q.v = textp || ''; + isstub = textpidx == 0; } + if(textp) q.w = textp; + if(!isstub || opts.cellStubs) { + if(!(opts.sheetRows && opts.sheetRows < R)) { + ws[get_utils().encode_cell({r:R,c:C})] = q; + while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); + if(range.e.c <= C) range.e.c = C; + } + } else { C += rept; rept = 0; } q = {}; textp = ""; } @@ -364,6 +397,7 @@ var parse_content_xml = (function() { case 'annotation': // 14.1 if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp;} else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]); + textp = ""; textpidx = 0; break; case 'number-style': // 16.27.2 @@ -616,7 +650,7 @@ var zip = new jszip(); f = "mimetype"; zip.file(f, "application/vnd.oasis.opendocument.spreadsheet"); - /* Part 2 Section 2.2 Documents */ + /* Part 1 Section 2.2 Documents */ f = "content.xml"; zip.file(f, write_content_xml(wb, opts)); manifest.push([f, "text/xml"]); diff --git a/odsbits/50_formula.js b/odsbits/50_formula.js new file mode 100644 index 0000000..fee62c9 --- /dev/null +++ b/odsbits/50_formula.js @@ -0,0 +1,11 @@ +/* Part 3 TODO: actually parse formulae */ +function ods_to_csf_formula(f/*:string*/)/*:string*/ { + if(f.substr(0,3) == "of:") f = f.substr(3); + /* 5.2 Basic Expressions */ + if(f.charCodeAt(0) == 61) { + f = f.substr(1); + if(f.charCodeAt(0) == 61) f = f.substr(1); + } + /* Part 3 Section 5.8 References */ + return f.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g, "$1").replace(/\./g, ""); +} diff --git a/odsbits/60_content.js b/odsbits/60_content.js index d8a7a43..866d7f4 100644 --- a/odsbits/60_content.js +++ b/odsbits/60_content.js @@ -19,13 +19,15 @@ var parse_content_xml = (function() { var NFtag = {name:""}, NF = "", pidx = 0; var sheetag/*:: = {name:""}*/; var Sheets = {}, SheetNames/*:Array*/ = [], ws = {}; - var Rn, q/*:: = {t:"", v:null, z:null, w:""}*/; + var Rn, q/*:: = ({t:"", v:null, z:null, w:""}:any)*/; var ctag = {value:""}; var textp = "", textpidx = 0, textptag/*:: = {}*/; var R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; var number_format_map = {}; var merges = [], mrange = {}, mR = 0, mC = 0; - var rept = 1; + var arrayf = []; + var rept = 1, isstub = false; + var i = 0; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { @@ -64,7 +66,21 @@ var parse_content_xml = (function() { if(C < range.s.c) range.s.c = C; if(R < range.s.r) range.s.r = R; ctag = parsexmltag(Rn[0], false); - q = {t:ctag['value-type'], v:null/*:: , z:null, w:""*/}; + q = ({t:ctag['value-type'], v:null/*:: , z:null, w:""*/}/*:any*/); + if(opts.cellFormula) { + if(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) { + mR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0; + mC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0; + mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; + q.F = get_utils().encode_range(mrange); + arrayf.push([mrange, q.F]); + } + if(ctag.formula) q.f = ods_to_csf_formula(ctag.formula); + else for(i = 0; i < arrayf.length; ++i) + if(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r) + if(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c) + q.F = arrayf[i][1]; + } if(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) { mR = parseInt(ctag['number-rows-spanned'],10) || 0; mC = parseInt(ctag['number-columns-spanned'],10) || 0; @@ -90,13 +106,19 @@ var parse_content_xml = (function() { } else throw new Error('Unsupported value type ' + q.t); } } else { - if(q.t === 's') q.v = textp || ''; - if(textp) q.w = textp; - if(!(opts.sheetRows && opts.sheetRows < R)) { - ws[get_utils().encode_cell({r:R,c:C})] = q; - while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); - if(range.e.c <= C) range.e.c = C; + isstub = false; + if(q.t === 's') { + q.v = textp || ''; + isstub = textpidx == 0; } + if(textp) q.w = textp; + if(!isstub || opts.cellStubs) { + if(!(opts.sheetRows && opts.sheetRows < R)) { + ws[get_utils().encode_cell({r:R,c:C})] = q; + while(--rept > 0) ws[get_utils().encode_cell({r:R,c:++C})] = dup(q); + if(range.e.c <= C) range.e.c = C; + } + } else { C += rept; rept = 0; } q = {/*:: t:"", v:null, z:null, w:""*/}; textp = ""; } @@ -123,6 +145,7 @@ var parse_content_xml = (function() { case 'annotation': // 14.1 if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp;} else if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]); + textp = ""; textpidx = 0; break; case 'number-style': // 16.27.2 diff --git a/odsbits/85_write.js b/odsbits/85_write.js index aa652fa..648d37a 100644 --- a/odsbits/85_write.js +++ b/odsbits/85_write.js @@ -10,7 +10,7 @@ function write_ods(wb/*:any*/, opts/*:any*/) { f = "mimetype"; zip.file(f, "application/vnd.oasis.opendocument.spreadsheet"); - /* Part 2 Section 2.2 Documents */ + /* Part 1 Section 2.2 Documents */ f = "content.xml"; zip.file(f, write_content_xml(wb, opts)); manifest.push([f, "text/xml"]); diff --git a/package.json b/package.json index 1b44699..22abdd4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xlsx", - "version": "0.8.3", + "version": "0.8.4", "author": "sheetjs", "description": "Excel (XLSB/XLSX/XLSM/XLS/XML) and ODS spreadsheet parser and writer", "keywords": [ "excel", "xls", "xlsx", "xlsb", "xlsm", "ods", "office", "spreadsheet" ], diff --git a/xlsx.flow.js b/xlsx.flow.js index 9b57a4b..e40b376 100644 --- a/xlsx.flow.js +++ b/xlsx.flow.js @@ -4,7 +4,7 @@ /*jshint funcscope:true, eqnull:true */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.8.3'; +XLSX.version = '0.8.4'; var current_codepage = 1200, current_cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel'); @@ -1314,6 +1314,15 @@ function cc2str(arr/*:Array*/)/*:string*/ { return o; } +function dup(o/*:any*/)/*:any*/ { + if(typeof JSON != 'undefined') return JSON.parse(JSON.stringify(o)); + if(typeof o != 'object' || !o) return o; + var out = {}; + for(var k in o) if(o.hasOwnProperty(k)) out[k] = dup(o[k]); + return out; +} + +function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return o; } function getdatastr(data)/*:?string*/ { if(!data) return null; if(data.data) return debom_xml(data.data); @@ -1484,9 +1493,9 @@ var matchtag = (function() { var vtregex = (function(){ var vt_cache = {}; return function vt_regex(bt) { if(vt_cache[bt] !== undefined) return vt_cache[bt]; - return (vt_cache[bt] = new RegExp("(.*?)", 'g') ); + return (vt_cache[bt] = new RegExp("<(?:vt:)?" + bt + ">(.*?)", 'g') ); };})(); -var vtvregex = /<\/?vt:variant>/g, vtmregex = /]*)>(.*)/g, vtmregex = /<(:?vt:)?([^>]*)>(.*) 0 && is_buf(payload)) ba.push(payload); } /* XLS ranges enforced */ -function shift_cell_xls(cell, tgt) { +function shift_cell_xls(cell, tgt, opts) { + var out = dup(cell); if(tgt.s) { - if(cell.cRel) cell.c += tgt.s.c; - if(cell.rRel) cell.r += tgt.s.r; + if(out.cRel) out.c += tgt.s.c; + if(out.rRel) out.r += tgt.s.r; } else { - cell.c += tgt.c; - cell.r += tgt.r; + out.c += tgt.c; + out.r += tgt.r; } - cell.cRel = cell.rRel = 0; - while(cell.c >= 0x100) cell.c -= 0x100; - while(cell.r >= 0x10000) cell.r -= 0x10000; - return cell; + if(!opts || opts.biff < 12) { + while(out.c >= 0x100) out.c -= 0x100; + while(out.r >= 0x10000) out.r -= 0x10000; + } + return out; } function shift_range_xls(cell, range) { @@ -1811,6 +1824,16 @@ function shift_range_xls(cell, range) { return cell; } +function encode_cell_xls(c)/*:string*/ { + var s = encode_cell(c); + if(c.cRel === 0) s = fix_col(s); + if(c.rRel === 0) s = fix_row(s); + return s; +} + +function encode_range_xls(r)/*:string*/ { + return encode_cell_xls(r.s) + ":" + encode_cell_xls(r.e); +} var OFFCRYPTO = {}; var make_offcrypto = function(O, _crypto) { var crypto; @@ -1923,6 +1946,10 @@ function write_XLWideString(data/*:string*/, o) { return o; } +/* [MS-XLSB] 2.5.165 */ +var parse_XLNameWideString = parse_XLWideString; +var write_XLNameWideString = write_XLWideString; + /* [MS-XLSB] 2.5.114 */ var parse_RelID = parse_XLNullableWideString; var write_RelID = write_XLNullableWideString; @@ -1948,8 +1975,8 @@ function write_RkNumber(data/*:number*/, o) { } -/* [MS-XLSB] 2.5.153 */ -function parse_UncheckedRfX(data)/*:Range*/ { +/* [MS-XLSB] 2.5.117 RfX */ +function parse_RfX(data)/*:Range*/ { var cell/*:Range*/ = ({s: {}, e: {}}/*:any*/); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); @@ -1958,7 +1985,7 @@ function parse_UncheckedRfX(data)/*:Range*/ { return cell; } -function write_UncheckedRfX(r/*:Range*/, o) { +function write_RfX(r/*:Range*/, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); o.write_shift(4, r.e.r); @@ -1967,6 +1994,10 @@ function write_UncheckedRfX(r/*:Range*/, o) { return o; } +/* [MS-XLSB] 2.5.153 UncheckedRfX */ +var parse_UncheckedRfX = parse_RfX; +var write_UncheckedRfX = write_RfX; + /* [MS-XLSB] 2.5.171 */ /* [MS-XLS] 2.5.342 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ @@ -2322,6 +2353,12 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", + /* Chart Colors */ + "application/vnd.ms-office.chartcolorstyle+xml": "TODO", + + /* Chart Style */ + "application/vnd.ms-office.chartstyle+xml": "TODO", + /* Calculation Chain */ "application/vnd.ms-excel.calcChain": "calcchains", "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", @@ -2755,10 +2792,7 @@ function parse_cust_props(data/*:string*/, opts) { var x = m[i], y = parsexmltag(x); switch(y[0]) { case '': name = null; break; default: if (x.indexOf('= 12 ? 2 : 1); var width = 1, encoding = 'sbcs-cont'; var cp = current_codepage; if(opts && opts.biff >= 8) current_codepage = 1200; - if(opts === undefined || opts.biff !== 5) { + if(!opts || opts.biff == 8 ) { var fHighByte = blob.read_shift(1); if(fHighByte) { width = 2; encoding = 'dbcs-cont'; } + } else if(opts.biff == 12) { + width = 2; encoding = 'wstr'; } var o = cch ? blob.read_shift(cch, encoding) : ""; current_codepage = cp; @@ -3163,6 +3199,10 @@ function parse_XLUnicodeRichExtendedString(blob) { /* 2.5.296 XLUnicodeStringNoCch */ function parse_XLUnicodeStringNoCch(blob, cch, opts) { var retval; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'sbcs-cont'); + if(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont'); + } var fHighByte = blob.read_shift(1); if(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); } else { retval = blob.read_shift(cch, 'dbcs-cont'); } @@ -3171,7 +3211,7 @@ function parse_XLUnicodeStringNoCch(blob, cch, opts) { /* 2.5.294 XLUnicodeString */ function parse_XLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts !== undefined && opts.biff > 0 && opts.biff < 8 ? 1 : 2); + var cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); if(cch === 0) { blob.l++; return ""; } return parse_XLUnicodeStringNoCch(blob, cch, opts); } @@ -3302,10 +3342,10 @@ function parse_RkRec(blob, length) { } /* 2.5.1 */ -function parse_AddinUdf(blob, length) { +function parse_AddinUdf(blob, length, opts) { blob.l += 4; length -= 4; var l = blob.l + length; - var udfName = parse_ShortXLUnicodeString(blob, length); + var udfName = parse_ShortXLUnicodeString(blob, length, opts); var cb = blob.read_shift(2); l -= blob.l; if(cb !== l) throw "Malformed AddinUdf: padding = " + l + " != " + cb; @@ -3535,8 +3575,10 @@ function parse_LabelSst(blob, length) { /* 2.4.148 */ function parse_Label(blob, length, opts) { + var target = blob.l + length; var cell = parse_XLSCell(blob, 6); - var str = parse_XLUnicodeString(blob, length-6, opts); + if(opts.biff == 2) blob.l++; + var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; } @@ -3550,11 +3592,12 @@ function parse_Format(blob, length, opts) { var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ -function parse_Dimensions(blob, length) { - var w = length === 10 ? 2 : 4; +function parse_Dimensions(blob, length, opts) { + var end = blob.l + length; + var w = opts.biff == 8 || !opts.biff ? 4 : 2; var r = blob.read_shift(w), R = blob.read_shift(w), c = blob.read_shift(2), C = blob.read_shift(2); - blob.l += 2; + blob.l = end; return {s: {r:r, c:c}, e: {r:R, c:C}}; } @@ -3655,7 +3698,7 @@ function parse_ExternName(blob, length, opts) { cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 }/*:any*/); - if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); + if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); return o; @@ -3667,12 +3710,15 @@ function parse_Lbl(blob, length, opts) { var flags = blob.read_shift(2); var chKey = blob.read_shift(1); var cch = blob.read_shift(1); - var cce = blob.read_shift(2); - blob.l += 2; - var itab = blob.read_shift(2); - blob.l += 4; + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + if(!opts || opts.biff >= 5) { + blob.l += 2; + var itab = blob.read_shift(2); + blob.l += 4; + } var name = parse_XLUnicodeStringNoCch(blob, cch, opts); - var rgce = parse_NameParsedFormula(blob, target - blob.l, opts, cce); + var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen; + var rgce = target == blob.l || cce == 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce); return { chKey: chKey, Name: name, @@ -3704,7 +3750,12 @@ function parse_ShrFmla(blob, length, opts) { /* 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); - blob.l += 6; length -= 12; /* TODO: fAlwaysCalc */ + /* TODO: fAlwaysCalc */ + switch(opts.biff) { + case 2: blob.l ++; length -= 7; break; + case 3: case 4: blob.l += 2; length -= 8; break; + default: blob.l += 6; length -= 12; + } return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } @@ -4167,6 +4218,7 @@ function parse_BIFF2STR(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var str = parse_XLUnicodeString2(blob, length-7, opts); + cell.t = 'str'; cell.val = str; return cell; } @@ -4175,6 +4227,7 @@ function parse_BIFF2NUM(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = parse_Xnum(blob, 8); + cell.t = 'n'; cell.val = num; return cell; } @@ -4183,6 +4236,7 @@ function parse_BIFF2INT(blob, length) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = blob.read_shift(2); + cell.t = 'n'; cell.val = num; return cell; } @@ -4202,6 +4256,18 @@ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 1; // font family blob.l += length - 9; } + +/* TODO: parse rich text runs */ +function parse_RString(blob, length, opts) { + var end = blob.l + length; + var cell = parse_XLSCell(blob, 6); + var cch = blob.read_shift(2); + var str = parse_XLUnicodeStringNoCch(blob, cch, opts); + blob.l = end; + cell.t = 'str'; + cell.val = str; + return cell; +} /* 18.4.1 charset to codepage mapping */ var CS2CP = ({ /*::[*/0/*::]*/: 1252, /* ANSI */ @@ -4274,21 +4340,21 @@ var parse_rs = (function parse_rs_factory() { /* 18.4.13 u CT_UnderlineProperty */ case '': font.u = 1; break; case '': break; /* 18.8.2 b */ case '': font.b = 1; break; case '': break; /* 18.8.26 i */ case '': font.i = 1; break; case '': break; @@ -4346,16 +4412,17 @@ function parse_si(x, opts) { if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + // TODO: is whitespace actually valid here? + if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)) { z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); - z.r = x; + z.r = utf8read(x); if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { - z.r = x; + z.r = utf8read(x); z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); - if(html) z.h = parse_rs(x); + if(html) z.h = parse_rs(z.r); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ /* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */ @@ -4374,7 +4441,7 @@ function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { if(isval(sst)/*:: && sst*/) { ss = sst[2].replace(sstr1,"").split(sstr2); for(var i = 0; i != ss.length; ++i) { - var o = parse_si(ss[i], opts); + var o = parse_si(ss[i].trim(), opts); if(o != null) s[s.length] = o; } sst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount; @@ -5558,9 +5625,10 @@ var rc_to_a1 = (function(){ function rcfunc($$,$1,$2,$3,$4,$5) { var R = $3.length>0?parseInt($3,10)|0:0, C = $5.length>0?parseInt($5,10)|0:0; if(C<0 && $4.length === 0) C=0; - if($4.length > 0) C += rcbase.c; - if($2.length > 0) R += rcbase.r; - return $1 + encode_col(C) + encode_row(R); + var cRel = false, rRel = false; + if($4.length > 0 || $5.length == 0) cRel = true; if(cRel) C += rcbase.c; else --C; + if($2.length > 0 || $3.length == 0) rRel = true; if(rRel) R += rcbase.r; else --R; + return $1 + (cRel ? "" : "$") + encode_col(C) + (rRel ? "" : "$") + encode_row(R); } return function rc_to_a1(fstr, base) { rcbase = base; @@ -5568,6 +5636,18 @@ var rc_to_a1 = (function(){ }; })(); +/* TODO actually parse the formula */ +function shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ { + return f.replace(/(^|[^A-Z0-9])([$]?)([A-Z]+)([$]?)(\d+)/g, function($0, $1, $2, $3, $4, $5, off, str) { + return $1+($2=="$" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4=="$" ? $4+$5 : encode_row(decode_row($5) + delta.r)); + }); +} + +function shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ { + var r = decode_range(range), s = r.s, c = decode_cell(cell); + var delta = {r:c.r - s.r, c:c.c - s.c}; + return shift_formula_str(f, delta); +} /* --- formula references point to MS-XLS --- */ /* Small helpers */ function parseread(l) { return function(blob, length) { blob.l+=l; return; }; } @@ -5577,17 +5657,30 @@ function parseread1(blob, length) { blob.l+=1; return; } /* 2.5.51 */ function parse_ColRelU(blob, length) { - var c = blob.read_shift(2); + var c = blob.read_shift(length == 1 ? 1 : 2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* 2.5.198.105 */ -function parse_RgceArea(blob, length) { - var r=blob.read_shift(2), R=blob.read_shift(2); +/* [MS-XLS] 2.5.198.105 */ +/* [MS-XLSB] 2.5.97.89 */ +function parse_RgceArea(blob, length, opts) { + var w = 2; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts); + else if(opts.biff == 12) w = 4; + } + var r=blob.read_shift(w), R=blob.read_shift(w); var c=parse_ColRelU(blob, 2); var C=parse_ColRelU(blob, 2); 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]} }; } +/* BIFF 2-5 encodes flags in the row field */ +function parse_RgceArea_BIFF2(blob, length, opts) { + var r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2); + var c=blob.read_shift(1); + var C=blob.read_shift(1); + 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 */ function parse_RgceAreaRel(blob, length) { @@ -5598,36 +5691,61 @@ function parse_RgceAreaRel(blob, length) { } /* 2.5.198.109 */ -function parse_RgceLoc(blob, length) { - var r = blob.read_shift(2); +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); var c = parse_ColRelU(blob, 2); return {r:r, c:c[0], cRel:c[1], rRel:c[2]}; } +function parse_RgceLoc_BIFF2(blob, length, opts) { + var r = parse_ColRelU(blob, 2); + var c = blob.read_shift(1); + return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; +} -/* 2.5.198.111 */ -function parse_RgceLocRel(blob, length) { - var r = blob.read_shift(2); +/* [MS-XLS] 2.5.198.111 TODO */ +/* [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); + var r = blob.read_shift(biff >= 12 ? 4 : 2); var cl = blob.read_shift(2); var cRel = (cl & 0x8000) >> 15, rRel = (cl & 0x4000) >> 14; cl &= 0x3FFF; - if(cRel !== 0) while(cl >= 0x100) cl -= 0x100; + if(rRel == 1) while(r > 0x7FFFF) r -= 0x100000; + if(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000; return {r:r,c:cl,cRel:cRel,rRel:rRel}; } +function parse_RgceLocRel_BIFF2(blob, length) { + var rl = blob.read_shift(2); + var c = blob.read_shift(1); + var rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14; + rl &= 0x3FFF; + if(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000; + if(cRel == 1 && c >= 0x80) c = c - 0x100; + return {r:rl,c:c,cRel:cRel,rRel:rRel}; +} /* Ptg Tokens */ /* 2.5.198.27 */ -function parse_PtgArea(blob, length) { +function parse_PtgArea(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceArea(blob, 8); + var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); return [type, area]; } -/* 2.5.198.28 */ -function parse_PtgArea3d(blob, length) { +/* [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); - var area = parse_RgceArea(blob, 8); + var ixti = blob.read_shift(2, 'i'); + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + var area = parse_RgceArea(blob, w, opts); return [type, ixti, area]; } @@ -5638,10 +5756,15 @@ function parse_PtgAreaErr(blob, length) { return [type]; } /* 2.5.198.30 */ -function parse_PtgAreaErr3d(blob, length) { +function parse_PtgAreaErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); - blob.l += 8; + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + blob.l += w; return [type, ixti]; } @@ -5652,10 +5775,11 @@ function parse_PtgAreaN(blob, length) { return [type, area]; } -/* 2.5.198.32 -- ignore this and look in PtgExtraArray for shape + values */ -function parse_PtgArray(blob, length) { +/* [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 += 7; + blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; return [type]; } @@ -5668,33 +5792,40 @@ function parse_PtgAttrBaxcel(blob, length) { } /* 2.5.198.34 */ -function parse_PtgAttrChoose(blob, length) { +function parse_PtgAttrChoose(blob, length, opts) { blob.l +=2; - var offset = blob.read_shift(2); + var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); var o = []; /* offset is 1 less than the number of elements */ - for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(2)); + for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2)); return o; } /* 2.5.198.35 */ -function parse_PtgAttrGoto(blob, length) { +function parse_PtgAttrGoto(blob, length, opts) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; - return [bitGoto, blob.read_shift(2)]; + return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; } /* 2.5.198.36 */ -function parse_PtgAttrIf(blob, length) { +function parse_PtgAttrIf(blob, length, opts) { + var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; + blob.l += 2; + return [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; +} + +/* [MS-XLSB] 2.5.97.28 */ +function parse_PtgAttrIfError(blob, length) { var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; return [bitIf, blob.read_shift(2)]; } /* 2.5.198.37 */ -function parse_PtgAttrSemi(blob, length) { +function parse_PtgAttrSemi(blob, length, opts) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += 4; + blob.l += opts && opts.biff == 2 ? 3 : 4; return [bitSemi]; } @@ -5717,46 +5848,44 @@ function parse_PtgAttrSpaceSemi(blob, length) { } /* 2.5.198.84 TODO */ -function parse_PtgRef(blob, length) { +function parse_PtgRef(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); return [type, loc]; } /* 2.5.198.88 TODO */ -function parse_PtgRefN(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRefN(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLocRel(blob,4); + var loc = parse_RgceLocRel(blob, 0, opts); return [type, loc]; } /* 2.5.198.85 TODO */ -function parse_PtgRef3d(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRef3d(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel return [type, ixti, loc]; } /* 2.5.198.62 TODO */ -function parse_PtgFunc(blob, length) { +function parse_PtgFunc(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var iftab = blob.read_shift(2); - return [FtabArgc[iftab], Ftab[iftab]]; + var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); + return [FtabArgc[iftab], Ftab[iftab], type]; } /* 2.5.198.63 TODO */ -function parse_PtgFuncVar(blob, length) { +function parse_PtgFuncVar(blob, length, opts) { blob.l++; - var cparams = blob.read_shift(1), tab = parsetab(blob); + var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); return [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]]; } @@ -5765,22 +5894,26 @@ function parsetab(blob, length) { } /* 2.5.198.41 */ -var parse_PtgAttrSum = parseread(4); +function parse_PtgAttrSum(blob, length, opts) { + blob.l += opts && opts.biff == 2 ? 3 : 4; return; +} + /* 2.5.198.43 */ var parse_PtgConcat = parseread1; /* 2.5.198.58 */ -function parse_PtgExp(blob, length) { +function parse_PtgExp(blob, length, opts) { blob.l++; + if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; var row = blob.read_shift(2); - var col = blob.read_shift(2); + var col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [row, col]; } /* 2.5.198.57 */ function parse_PtgErr(blob, length) { blob.l++; return BErr[blob.read_shift(1)]; } -/* 2.5.198.66 TODO */ +/* 2.5.198.66 */ function parse_PtgInt(blob, length) { blob.l++; return blob.read_shift(2); } /* 2.5.198.42 */ @@ -5790,12 +5923,19 @@ function parse_PtgBool(blob, length) { blob.l++; return blob.read_shift(1)!==0;} function parse_PtgNum(blob, length) { blob.l++; return parse_Xnum(blob, 8); } /* 2.5.198.89 */ -function parse_PtgStr(blob, length) { blob.l++; return parse_ShortXLUnicodeString(blob); } +function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } -/* 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ -function parse_SerAr(blob) { - var val = []; - switch((val[0] = blob.read_shift(1))) { +/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ +/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */ +function parse_SerAr(blob, biff/*:number*/) { + var val = [blob.read_shift(1)]; + if(biff == 12) switch(val[0]) { + case 0x02: val[0] = 0x04; break; /* SerBool */ + case 0x04: val[0] = 0x10; break; /* SerErr */ + case 0x00: val[0] = 0x01; break; /* SerNum */ + 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'; @@ -5812,7 +5952,7 @@ function parse_SerAr(blob) { val[1] = parse_Xnum(blob, 8); break; /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ - val[1] = parse_XLUnicodeString(blob); break; + val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; @@ -5827,49 +5967,72 @@ function parse_PtgExtraMem(blob, cce) { } /* 2.5.198.59 */ -function parse_PtgExtraArray(blob) { - var cols = 1 + blob.read_shift(1); //DColByteU - var rows = 1 + blob.read_shift(2); //DRw +function parse_PtgExtraArray(blob, length, opts) { + var rows = 0, cols = 0; + if(opts.biff == 12) { + rows = blob.read_shift(4); // DRw + cols = blob.read_shift(4); // DCol + } else { + cols = 1 + blob.read_shift(1); //DColByteU + rows = 1 + blob.read_shift(2); //DRw + } + if(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; } for(var i = 0, o=[]; i != rows && (o[i] = []); ++i) - for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob); + for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff); return o; } /* 2.5.198.76 */ -function parse_PtgName(blob, length) { +function parse_PtgName(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var nameindex = blob.read_shift(4); + var w = (!opts || (opts.biff >= 8)) ? 4 : 2; + var nameindex = blob.read_shift(w); + switch(opts.biff) { + case 2: blob.l += 5; break; + case 3: case 4: blob.l += 8; break; + case 5: blob.l += 12; break; + } return [type, 0, nameindex]; } /* 2.5.198.77 */ -function parse_PtgNameX(blob, length) { +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; var ixti = blob.read_shift(2); // XtiIndex var nameindex = blob.read_shift(4); return [type, ixti, nameindex]; } +function parse_PtgNameX_BIFF5(blob, length, opts) { + var type = (blob.read_shift(1) >>> 5) & 0x03; + var ixti = blob.read_shift(2, 'i'); // XtiIndex + blob.l += 8; + var nameindex = blob.read_shift(2); + blob.l += 12; + return [type, ixti, nameindex]; +} /* 2.5.198.70 */ -function parse_PtgMemArea(blob, length) { +function parse_PtgMemArea(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += 4; - var cce = blob.read_shift(2); + blob.l += (opts && opts.biff == 2 ? 3 : 4); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.72 */ -function parse_PtgMemFunc(blob, length) { +function parse_PtgMemFunc(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(2); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.86 */ -function parse_PtgRefErr(blob, length) { +function parse_PtgRefErr(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; + if(opts.biff == 12) blob.l += 2; return [type]; } @@ -5995,7 +6158,10 @@ var PtgDupes = { }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); -var Ptg18 = {}; +var Ptg18 = { +// /*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList }, // TODO +// /*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName }, // TODO +}; var Ptg19 = { /*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, /*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf }, @@ -6005,11 +6171,13 @@ var Ptg19 = { /*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, /*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, /*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, + /*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, /*::[*/0xFF/*::]*/: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { + var end = blob.l + length; var cell = parse_XLSCell(blob, 6); if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); @@ -6020,10 +6188,7 @@ function parse_Formula(blob, length, opts) { var chn = blob.read_shift(4); } } - var cbf = ""; - if(opts.biff < 5) blob.l += length-16; - else if(opts.biff === 5) blob.l += length-20; - else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); + var cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -6042,23 +6207,29 @@ function parse_FormulaValue(blob) { /* 2.5.198.103 */ function parse_RgbExtra(blob, length, rgce, opts) { - if(opts.biff < 8) return parsenoop(blob, length); var target = blob.l + length; var o = []; for(var i = 0; i !== rgce.length; ++i) { switch(rgce[i][0]) { case 'PtgArray': /* PtgArray -> PtgExtraArray */ - rgce[i][1] = parse_PtgExtraArray(blob); + rgce[i][1] = parse_PtgExtraArray(blob, 0, opts); o.push(rgce[i][1]); break; case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]); o.push(rgce[i][2]); break; + case 'PtgExp': /* PtgExp -> PtgExtraCol */ + if(opts && opts.biff == 12) { + rgce[i][1][1] = blob.read_shift(4); + o.push(rgce[i][1]); + } break; default: break; } } length = target - blob.l; + /* note: this is technically an error but Excel disregards */ + //if(target !== blob.l && blob.l !== target - length) throw new Error(target + " != " + blob.l); if(length !== 0) o.push(parsenoop(blob, length)); return o; } @@ -6066,7 +6237,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { /* 2.5.198.21 */ function parse_NameParsedFormula(blob, length, opts, cce) { var target = blob.l + length; - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); var rgcb; if(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts); return [rgce, rgcb]; @@ -6074,11 +6245,11 @@ function parse_NameParsedFormula(blob, length, opts, cce) { /* 2.5.198.3 TODO */ function parse_XLSCellParsedFormula(blob, length, opts) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, length - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } @@ -6086,7 +6257,7 @@ function parse_XLSCellParsedFormula(blob, length, opts) { function parse_SharedParsedFormula(blob, length, opts) { var target = blob.l + length; var rgcb, cce = blob.read_shift(2); // length of rgce - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; @@ -6094,41 +6265,71 @@ function parse_SharedParsedFormula(blob, length, opts) { /* 2.5.198.1 TODO */ function parse_ArrayParsedFormula(blob, length, opts, ref) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } /* 2.5.198.104 */ -function parse_Rgce(blob, length) { +var gcnt = 0; +function parse_Rgce(blob, length, opts) { var target = blob.l + length; var R, id, ptgs = []; while(target != blob.l) { length = target - blob.l; id = blob[blob.l]; R = PtgTypes[id]; - //console.log("ptg", id, R) if(id === 0x18 || id === 0x19) { id = blob[blob.l + 1]; R = (id === 0x18 ? Ptg18 : Ptg19)[id]; } if(!R || !R.f) { ptgs.push(parsenoop(blob, length)); } - else { ptgs.push([R.n, R.f(blob, length)]); } + else { ptgs.push([R.n, R.f(blob, length, opts)]); } } return ptgs; } -function mapper(x) { return x.map(function f2(y) { return y[1];}).join(",");} +function stringify_array(f) { + var o = []; + for(var i = 0; i < f.length; ++i) { + var x = f[i], r = []; + for(var j = 0; j < x.length; ++j) { + var y = x[j]; + if(y) switch(y[0]) { + // TODO: handle embedded quotes + case 0x02: r.push('"' + y[1].replace(/"/g,'""') + '"'); break; + default: r.push(y[1]); + } else r.push(""); + } + o.push(r.join(",")); + } + return o.join(";"); +} -/* 2.2.2 + Magic TODO */ +/* [MS-XLS] 2.2.2 TODO */ +/* [MS-XLSB] 2.2.2 */ +var PtgBinOp = { + PtgAdd: "+", + PtgConcat: "&", + PtgDiv: "/", + PtgEq: "=", + PtgGe: ">=", + PtgGt: ">", + PtgLe: "<=", + PtgLt: "<", + PtgMul: "*", + PtgNe: "<>", + PtgPower: "^", + PtgSub: "-" +}; function stringify_formula(formula, range, cell, supbooks, opts) { - if(opts !== undefined && opts.biff === 5) return "BIFF5??"; - var _range = range !== undefined ? range : {s:{c:0, r:0}}; - var stack = [], e1, e2, type, c, ixti, nameidx, r; + var _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}}; + var stack = [], e1, e2, type, c, ixti, nameidx, r, sname=""; if(!formula[0] || !formula[0][0]) return ""; + var last_sp = -1, sp = ""; //console.log("--",cell,formula[0]) for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { var f = formula[0][ff]; @@ -6143,65 +6344,31 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgPercent': stack.push(stack.pop() + "%"); break; /* 2.2.2.1 Binary Value Operator Token */ - /* 2.5.198.26 */ - case 'PtgAdd': + 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 */ e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"+"+e1); - break; - /* 2.5.198.90 */ - case 'PtgSub': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"-"+e1); - break; - /* 2.5.198.75 */ - case 'PtgMul': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"*"+e1); - break; - /* 2.5.198.45 */ - case 'PtgDiv': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"/"+e1); - break; - /* 2.5.198.82 */ - case 'PtgPower': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"^"+e1); - break; - /* 2.5.198.43 */ - case 'PtgConcat': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"&"+e1); - break; - /* 2.5.198.69 */ - case 'PtgLt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<"+e1); - break; - /* 2.5.198.68 */ - case 'PtgLe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<="+e1); - break; - /* 2.5.198.56 */ - case 'PtgEq': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"="+e1); - break; - /* 2.5.198.64 */ - case 'PtgGe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">="+e1); - break; - /* 2.5.198.65 */ - case 'PtgGt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">"+e1); - break; - /* 2.5.198.78 */ - case 'PtgNe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<>"+e1); + if(last_sp >= 0) { + switch(formula[0][last_sp][1][0]) { + case 0: sp = fill(" ", formula[0][last_sp][1][1]); break; + case 1: sp = fill("\r", formula[0][last_sp][1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + e2 = e2 + sp; + last_sp = -1; + } + stack.push(e2+PtgBinOp[f[0]]+e1); break; /* 2.2.2.1 Binary Reference Operator Token */ @@ -6214,7 +6381,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+","+e1); break; - case 'PtgRange': break; + case 'PtgRange': + e1 = stack.pop(); e2 = stack.pop(); + stack.push(e2+":"+e1); + break; /* 2.2.2.3 Control Tokens "can be ignored" */ /* 2.5.198.34 */ @@ -6223,21 +6393,24 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgAttrGoto': break; /* 2.5.198.36 */ case 'PtgAttrIf': break; + /* [MS-XLSB] 2.5.97.28 */ + case 'PtgAttrIfError': break; /* 2.5.198.84 */ case 'PtgRef': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), _range); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], _range, opts); + stack.push(encode_cell_xls(c)); break; /* 2.5.198.88 */ case 'PtgRefN': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), cell); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], cell, opts); + stack.push(encode_cell_xls(c)); break; case 'PtgRef3d': // TODO: lots of stuff - type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range); - stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c)); + type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range, opts); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_cell(c)); break; /* Function Call */ @@ -6245,10 +6418,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgFunc': /* 2.5.198.63 */ case 'PtgFuncVar': - /* f[1] = [argc, func] */ + /* f[1] = [argc, func, type] */ var argc = f[1][0], func = f[1][1]; if(!argc) argc = 0; - var args = stack.slice(-argc); + var args = argc == 0 ? [] : stack.slice(-argc); stack.length -= argc; if(func === 'User') func = args.shift(); stack.push(func + "(" + args.join(",") + ")"); @@ -6267,12 +6440,13 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.27 TODO: fixed points */ case 'PtgArea': type = f[1][0]; r = shift_range_xls(f[1][1], _range); - stack.push(encode_range(r)); + stack.push(encode_range_xls(r)); break; /* 2.5.198.28 */ case 'PtgArea3d': // TODO: lots of stuff type = f[1][0]; ixti = f[1][1]; r = f[1][2]; - stack.push(supbooks[1][ixti+1]+"!"+encode_range(r)); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_range(r)); break; /* 2.5.198.41 */ case 'PtgAttrSum': @@ -6288,7 +6462,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, 0, nameindex */ nameidx = f[1][2]; var lbl = supbooks[0][nameidx]; - var name = lbl.Name; + var name = lbl ? lbl.Name : "**MISSING**" + nameidx; if(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name]; stack.push(name); break; @@ -6298,15 +6472,35 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, ixti, nameindex */ var bookidx = f[1][1]; nameidx = f[1][2]; var externbook; /* TODO: Properly handle missing values */ - if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; - else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + //console.log(bookidx, supbooks); + if(opts.biff == 5) { + if(bookidx < 0) bookidx = -bookidx; + if(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx]; + } else { + if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; + else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + } if(!externbook) externbook = {body: "??NAMEX??"}; stack.push(externbook.body); break; /* 2.2.2.4 Display Tokens */ /* 2.5.198.80 */ - case 'PtgParen': stack.push('(' + stack.pop() + ')'); break; + case 'PtgParen': + var lp = '(', rp = ')'; + if(last_sp >= 0) { + sp = ""; + switch(formula[0][last_sp][1][0]) { + case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + case 4: rp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 5: rp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + default: + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + last_sp = -1; + } + stack.push(lp + stack.pop() + rp); break; /* 2.5.198.86 */ case 'PtgRefErr': stack.push('#REF!'); break; @@ -6328,6 +6522,8 @@ function stringify_formula(formula, range, cell, supbooks, opts) { if(c.c < e2[0].s.c || c.c > e2[0].e.c) continue; if(c.r < e2[0].s.r || c.r > e2[0].e.r) continue; stack.push(stringify_formula(e2[1], _range, q, supbooks, opts)); + fnd = true; + break; } if(!fnd) stack.push(f[1]); } @@ -6335,7 +6531,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.32 TODO */ case 'PtgArray': - stack.push("{" + f[1].map(mapper).join(";") + "}"); + stack.push("{" + stringify_array(f[1]) + "}"); break; /* 2.2.2.5 Mem Tokens */ @@ -6344,8 +6540,11 @@ function stringify_formula(formula, range, cell, supbooks, opts) { //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - /* 2.5.198.38 TODO */ - case 'PtgAttrSpace': break; + /* 2.5.198.38 */ + case 'PtgAttrSpace': + case 'PtgAttrSpaceSemi': + last_sp = ff; + break; /* 2.5.198.92 TODO */ case 'PtgTbl': break; @@ -6372,17 +6571,44 @@ function stringify_formula(formula, range, cell, supbooks, opts) { default: throw 'Unrecognized Formula Token: ' + f; } + var PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto']; + if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) { + f = formula[0][last_sp]; + switch(f[1][0]) { + case 0: sp = fill(" ", f[1][1]); break; + case 1: sp = fill("\r", f[1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + f[1][0]); + } + stack.push(sp + stack.pop()); + last_sp = -1; + } //console.log("::",f, stack) } //console.log("--",stack); + if(stack.length > 1 && opts.WTF) throw new Error("bad formula stack"); return stack[0]; } -/* [MS-XLSB] 2.5.97.4 CellParsedFormula TODO: use similar logic to js-xls */ -function parse_XLSBCellParsedFormula(data, length) { +/* 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); - return parsenoop(data, length-4); + var rgce = parse_Rgce(data, cce, opts); + var cb = data.read_shift(4); + var rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null; + return [rgce, rgcb]; } + +/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */ +var parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.4 CellParsedFormula */ +var parse_XLSBCellParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.12 NameParsedFormula */ +var parse_XLSBNameParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */ +var parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula; /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { /*::[*/0x1/*::]*/: "REFERENCE", // reference to range @@ -6791,6 +7017,7 @@ var Cetab = { }; /* [MS-XLS] 2.5.198.17 */ +/* [MS-XLSB] 2.5.97.10 */ var Ftab = { /*::[*/0x0000/*::]*/: 'COUNT', /*::[*/0x0001/*::]*/: 'IF', @@ -7164,7 +7391,113 @@ var Ftab = { /*::[*/0x0178/*::]*/: 'ROUNDBAHTDOWN', /*::[*/0x0179/*::]*/: 'ROUNDBAHTUP', /*::[*/0x017A/*::]*/: 'THAIYEAR', - /*::[*/0x017B/*::]*/: 'RTD' + /*::[*/0x017B/*::]*/: 'RTD', + + /*::[*/0x017C/*::]*/: 'CUBEVALUE', + /*::[*/0x017D/*::]*/: 'CUBEMEMBER', + /*::[*/0x017E/*::]*/: 'CUBEMEMBERPROPERTY', + /*::[*/0x017F/*::]*/: 'CUBERANKEDMEMBER', + /*::[*/0x0180/*::]*/: 'HEX2BIN', + /*::[*/0x0181/*::]*/: 'HEX2DEC', + /*::[*/0x0182/*::]*/: 'HEX2OCT', + /*::[*/0x0183/*::]*/: 'DEC2BIN', + /*::[*/0x0184/*::]*/: 'DEC2HEX', + /*::[*/0x0185/*::]*/: 'DEC2OCT', + /*::[*/0x0186/*::]*/: 'OCT2BIN', + /*::[*/0x0187/*::]*/: 'OCT2HEX', + /*::[*/0x0188/*::]*/: 'OCT2DEC', + /*::[*/0x0189/*::]*/: 'BIN2DEC', + /*::[*/0x018A/*::]*/: 'BIN2OCT', + /*::[*/0x018B/*::]*/: 'BIN2HEX', + /*::[*/0x018C/*::]*/: 'IMSUB', + /*::[*/0x018D/*::]*/: 'IMDIV', + /*::[*/0x018E/*::]*/: 'IMPOWER', + /*::[*/0x018F/*::]*/: 'IMABS', + /*::[*/0x0190/*::]*/: 'IMSQRT', + /*::[*/0x0191/*::]*/: 'IMLN', + /*::[*/0x0192/*::]*/: 'IMLOG2', + /*::[*/0x0193/*::]*/: 'IMLOG10', + /*::[*/0x0194/*::]*/: 'IMSIN', + /*::[*/0x0195/*::]*/: 'IMCOS', + /*::[*/0x0196/*::]*/: 'IMEXP', + /*::[*/0x0197/*::]*/: 'IMARGUMENT', + /*::[*/0x0198/*::]*/: 'IMCONJUGATE', + /*::[*/0x0199/*::]*/: 'IMAGINARY', + /*::[*/0x019A/*::]*/: 'IMREAL', + /*::[*/0x019B/*::]*/: 'COMPLEX', + /*::[*/0x019C/*::]*/: 'IMSUM', + /*::[*/0x019D/*::]*/: 'IMPRODUCT', + /*::[*/0x019E/*::]*/: 'SERIESSUM', + /*::[*/0x019F/*::]*/: 'FACTDOUBLE', + /*::[*/0x01A0/*::]*/: 'SQRTPI', + /*::[*/0x01A1/*::]*/: 'QUOTIENT', + /*::[*/0x01A2/*::]*/: 'DELTA', + /*::[*/0x01A3/*::]*/: 'GESTEP', + /*::[*/0x01A4/*::]*/: 'ISEVEN', + /*::[*/0x01A5/*::]*/: 'ISODD', + /*::[*/0x01A6/*::]*/: 'MROUND', + /*::[*/0x01A7/*::]*/: 'ERF', + /*::[*/0x01A8/*::]*/: 'ERFC', + /*::[*/0x01A9/*::]*/: 'BESSELJ', + /*::[*/0x01AA/*::]*/: 'BESSELK', + /*::[*/0x01AB/*::]*/: 'BESSELY', + /*::[*/0x01AC/*::]*/: 'BESSELI', + /*::[*/0x01AD/*::]*/: 'XIRR', + /*::[*/0x01AE/*::]*/: 'XNPV', + /*::[*/0x01AF/*::]*/: 'PRICEMAT', + /*::[*/0x01B0/*::]*/: 'YIELDMAT', + /*::[*/0x01B1/*::]*/: 'INTRATE', + /*::[*/0x01B2/*::]*/: 'RECEIVED', + /*::[*/0x01B3/*::]*/: 'DISC', + /*::[*/0x01B4/*::]*/: 'PRICEDISC', + /*::[*/0x01B5/*::]*/: 'YIELDDISC', + /*::[*/0x01B6/*::]*/: 'TBILLEQ', + /*::[*/0x01B7/*::]*/: 'TBILLPRICE', + /*::[*/0x01B8/*::]*/: 'TBILLYIELD', + /*::[*/0x01B9/*::]*/: 'PRICE', + /*::[*/0x01BA/*::]*/: 'YIELD', + /*::[*/0x01BB/*::]*/: 'DOLLARDE', + /*::[*/0x01BC/*::]*/: 'DOLLARFR', + /*::[*/0x01BD/*::]*/: 'NOMINAL', + /*::[*/0x01BE/*::]*/: 'EFFECT', + /*::[*/0x01BF/*::]*/: 'CUMPRINC', + /*::[*/0x01C0/*::]*/: 'CUMIPMT', + /*::[*/0x01C1/*::]*/: 'EDATE', + /*::[*/0x01C2/*::]*/: 'EOMONTH', + /*::[*/0x01C3/*::]*/: 'YEARFRAC', + /*::[*/0x01C4/*::]*/: 'COUPDAYBS', + /*::[*/0x01C5/*::]*/: 'COUPDAYS', + /*::[*/0x01C6/*::]*/: 'COUPDAYSNC', + /*::[*/0x01C7/*::]*/: 'COUPNCD', + /*::[*/0x01C8/*::]*/: 'COUPNUM', + /*::[*/0x01C9/*::]*/: 'COUPPCD', + /*::[*/0x01CA/*::]*/: 'DURATION', + /*::[*/0x01CB/*::]*/: 'MDURATION', + /*::[*/0x01CC/*::]*/: 'ODDLPRICE', + /*::[*/0x01CD/*::]*/: 'ODDLYIELD', + /*::[*/0x01CE/*::]*/: 'ODDFPRICE', + /*::[*/0x01CF/*::]*/: 'ODDFYIELD', + /*::[*/0x01D0/*::]*/: 'RANDBETWEEN', + /*::[*/0x01D1/*::]*/: 'WEEKNUM', + /*::[*/0x01D2/*::]*/: 'AMORDEGRC', + /*::[*/0x01D3/*::]*/: 'AMORLINC', + /*::[*/0x01D4/*::]*/: 'SHEETJS', + /*::[*/0x01D5/*::]*/: 'ACCRINT', + /*::[*/0x01D6/*::]*/: 'ACCRINTM', + /*::[*/0x01D7/*::]*/: 'WORKDAY', + /*::[*/0x01D8/*::]*/: 'NETWORKDAYS', + /*::[*/0x01D9/*::]*/: 'GCD', + /*::[*/0x01DA/*::]*/: 'MULTINOMIAL', + /*::[*/0x01DB/*::]*/: 'LCM', + /*::[*/0x01DC/*::]*/: 'FVSCHEDULE', + /*::[*/0x01DD/*::]*/: 'CUBEKPIMEMBER', + /*::[*/0x01DE/*::]*/: 'CUBESET', + /*::[*/0x01DF/*::]*/: 'CUBESETCOUNT', + /*::[*/0x01E0/*::]*/: 'IFERROR', + /*::[*/0x01E1/*::]*/: 'COUNTIFS', + /*::[*/0x01E2/*::]*/: 'SUMIFS', + /*::[*/0x01E3/*::]*/: 'AVERAGEIF', + /*::[*/0x01E4/*::]*/: 'AVERAGEIFS' }; var FtabArgc = { /*::[*/0x0002/*::]*/: 1, /* ISNA */ @@ -7173,6 +7506,7 @@ var FtabArgc = { /*::[*/0x0010/*::]*/: 1, /* COS */ /*::[*/0x0011/*::]*/: 1, /* TAN */ /*::[*/0x0012/*::]*/: 1, /* ATAN */ + /*::[*/0x0013/*::]*/: 0, /* PI */ /*::[*/0x0014/*::]*/: 1, /* SQRT */ /*::[*/0x0015/*::]*/: 1, /* EXP */ /*::[*/0x0016/*::]*/: 1, /* LN */ @@ -7202,6 +7536,7 @@ var FtabArgc = { /*::[*/0x0043/*::]*/: 1, /* DAY */ /*::[*/0x0044/*::]*/: 1, /* MONTH */ /*::[*/0x0045/*::]*/: 1, /* YEAR */ + /*::[*/0x0046/*::]*/: 1, /* WEEKDAY */ /*::[*/0x0047/*::]*/: 1, /* HOUR */ /*::[*/0x0048/*::]*/: 1, /* MINUTE */ /*::[*/0x0049/*::]*/: 1, /* SECOND */ @@ -7211,11 +7546,14 @@ var FtabArgc = { /*::[*/0x004F/*::]*/: 2, /* ABSREF */ /*::[*/0x0050/*::]*/: 2, /* RELREF */ /*::[*/0x0053/*::]*/: 1, /* TRANSPOSE */ + /*::[*/0x0055/*::]*/: 0, /* STEP */ /*::[*/0x0056/*::]*/: 1, /* TYPE */ /*::[*/0x005A/*::]*/: 1, /* DEREF */ /*::[*/0x0061/*::]*/: 2, /* ATAN2 */ /*::[*/0x0062/*::]*/: 1, /* ASIN */ /*::[*/0x0063/*::]*/: 1, /* ACOS */ + /*::[*/0x0065/*::]*/: 3, /* HLOOKUP */ + /*::[*/0x0066/*::]*/: 3, /* VLOOKUP */ /*::[*/0x0069/*::]*/: 1, /* ISREF */ /*::[*/0x006F/*::]*/: 1, /* CHAR */ /*::[*/0x0070/*::]*/: 1, /* LOWER */ @@ -7241,6 +7579,7 @@ var FtabArgc = { /*::[*/0x008D/*::]*/: 1, /* TIMEVALUE */ /*::[*/0x008E/*::]*/: 3, /* SLN */ /*::[*/0x008F/*::]*/: 4, /* SYD */ + /*::[*/0x0090/*::]*/: 4, /* DDB */ /*::[*/0x00A2/*::]*/: 1, /* CLEAN */ /*::[*/0x00A3/*::]*/: 1, /* MDETERM */ /*::[*/0x00A4/*::]*/: 1, /* MINVERSE */ @@ -7256,6 +7595,7 @@ var FtabArgc = { /*::[*/0x00BE/*::]*/: 1, /* ISNONTEXT */ /*::[*/0x00C3/*::]*/: 3, /* DSTDEVP */ /*::[*/0x00C4/*::]*/: 3, /* DVARP */ + /*::[*/0x00C5/*::]*/: 1, /* TRUNC */ /*::[*/0x00C6/*::]*/: 1, /* ISLOGICAL */ /*::[*/0x00C7/*::]*/: 3, /* DCOUNTA */ /*::[*/0x00C9/*::]*/: 1, /* UNREGISTER */ @@ -7274,6 +7614,7 @@ var FtabArgc = { /*::[*/0x00EA/*::]*/: 1, /* ATANH */ /*::[*/0x00EB/*::]*/: 3, /* DGET */ /*::[*/0x00F4/*::]*/: 1, /* INFO */ + /*::[*/0x00F7/*::]*/: 4, /* DB */ /*::[*/0x00FC/*::]*/: 2, /* FREQUENCY */ /*::[*/0x0101/*::]*/: 1, /* EVALUATE */ /*::[*/0x0105/*::]*/: 1, /* ERROR.TYPE */ @@ -7349,9 +7690,13 @@ var FtabArgc = { /*::[*/0x0178/*::]*/: 1, /* ROUNDBAHTDOWN */ /*::[*/0x0179/*::]*/: 1, /* ROUNDBAHTUP */ /*::[*/0x017A/*::]*/: 1, /* THAIYEAR */ + /*::[*/0x01A0/*::]*/: 1, /* SQRTPI */ + /*::[*/0x01C1/*::]*/: 2, /* EDATE */ + /*::[*/0x01C2/*::]*/: 2, /* EOMONTH */ /*::[*/0xFFFF/*::]*/: 0 }; /* [MS-XLSX] 2.2.3 Functions */ +/* [MS-XLSB] 2.5.97.10 Ftab */ var XLSXFutureFunctions = { "_xlfn.ACOT": "ACOT", "_xlfn.ACOTH": "ACOTH", @@ -7539,10 +7884,10 @@ var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; var dimregex = /"(\w*:\w*)"/; var colregex = /<(?:\w*:)?col[^>]*\/>/g; /* 18.3 Worksheets */ -function parse_ws_xml(data/*:?string*/, opts, rels) { +function parse_ws_xml(data/*:?string*/, opts, rels)/*:Worksheet*/ { if(!data) return data; /* 18.3.1.99 worksheet CT_Worksheet */ - var s = {}; + var s = ({}/*:any*/); /* 18.3.1.35 dimension CT_SheetDimension ? */ // $FlowIgnore @@ -7697,13 +8042,16 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; + var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p/*:any*/; var tag, tagr = 0, tagc = 0; - var sstr; + var sstr, ftag; var fmtid = 0, fillid = 0, do_format = Array.isArray(styles.CellXf), cf; + var arrayf = []; + var sharedf = []; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -7740,10 +8088,29 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { d = x.substr(i); p = ({t:""}/*:any*/); - // $FlowIgnore - if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); - // $FlowIgnore - if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); + if((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]); + if(opts.cellFormula) { + if((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') { + p.f=unescapexml(utf8read(cref[1])); + if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + sharedf[parseInt(ftag.si, 10)] = [ftag, unescapexml(utf8read(cref[1]))]; + } + } else if((cref=d.match(/]*\/>/))) { + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][0].ref, tag.r); + } + /* TODO: factor out contains logic */ + var _tag = decode_cell(tag.r); + for(i = 0; i < arrayf.length; ++i) + if(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r) + if(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c) + p.F = arrayf[i][1]; + } /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -7983,53 +8350,65 @@ function write_BrtCellSt(cell, ncell, o) { /* [MS-XLSB] 2.4.647 BrtFmlaBool */ function parse_BrtFmlaBool(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'b']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.648 BrtFmlaError */ function parse_BrtFmlaError(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'e']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.649 BrtFmlaNum */ function parse_BrtFmlaNum(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_Xnum(data); var o = [cell, value, 'n']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length - 16); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-16; + else data.l = end; return o; } /* [MS-XLSB] 2.4.650 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { - var start = data.l; + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_XLWideString(data); var o = [cell, value, 'str']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, start + length - data.l); + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l = start + length; + else data.l = end; return o; } @@ -8048,8 +8427,34 @@ function parse_BrtHLink(data, length, opts) { return {rfx:rfx, relId:relId, loc:loc, tooltip:tooltip, display:display}; } +/* [MS-XLSB] 2.4.6 BrtArrFmla */ +function parse_BrtArrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_RfX(data, 16); + var fAlwaysCalc = data.read_shift(1); + var o = [rfx, null, fAlwaysCalc]; + if(opts.cellFormula) { + var formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts); + o[1] = formula; + } else data.l = end; + return o; +} + +/* [MS-XLSB] 2.4.742 BrtShrFmla */ +function parse_BrtShrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_UncheckedRfX(data, 16); + var o = [rfx, null]; + if(opts.cellFormula) { + var formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts); + o[1] = formula; + data.l = end; + } else data.l = end; + return o; +} + /* [MS-XLSB] 2.1.7.61 Worksheet */ -function parse_ws_bin(data, opts, rels) { +function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { if(!data) return data; if(!rels) rels = {'!id':{}}; var s = {}; @@ -8060,8 +8465,22 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; + if(!opts) opts = {}; + opts.biff = 12; + opts['!row'] = 0; + + var ai = 0, af = false; + + var array_formulae = []; + var shared_formulae = {}; + var supbooks = ([[]]/*:any*/); + supbooks.sharedf = shared_formulae; + supbooks.arrayf = array_formulae; + opts.supbooks = supbooks; + + for(var i = 0; i < wb.Names['!names'].length; ++i) supbooks[0][i+1] = wb.Names[wb.Names['!names'][i]]; + recordhopper(data, function ws_parse(val, Record) { - //console.log(Record); if(end) return; switch(Record.n) { case 'BrtWsDim': ref = val; break; @@ -8069,6 +8488,7 @@ function parse_ws_bin(data, opts, rels) { row = val; if(opts.sheetRows && opts.sheetRows <= row.r) end=true; rr = encode_row(row.r); + opts['!row'] = row.r; break; case 'BrtFmlaBool': @@ -8089,9 +8509,19 @@ function parse_ws_bin(data, opts, rels) { case 'e': p.v = val[1]; p.w = BErr[p.v]; break; case 'str': p.t = 's'; p.v = utf8read(val[1]); break; } - if(opts.cellFormula && val.length > 3) p.f = val[3]; if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.ifmt,null,opts); s[encode_col(C=val[0].c) + rr] = p; + if(opts.cellFormula) { + af = false; + for(ai = 0; ai < array_formulae.length; ++ai) { + var aii = array_formulae[ai]; + if(row.r >= aii[0].s.r && row.r <= aii[0].e.r) + if(C >= aii[0].s.c && C <= aii[0].e.c) { + p.F = encode_range(aii[0]); af = true; + } + } + if(!af && val.length > 3) p.f = val[3]; + } if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; if(refguess.e.r < row.r) refguess.e.r = row.r; @@ -8126,8 +8556,17 @@ function parse_ws_bin(data, opts, rels) { } break; - case 'BrtArrFmla': break; // TODO - case 'BrtShrFmla': break; // TODO + case 'BrtArrFmla': if(!opts.cellFormula) break; + array_formulae.push(val); + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + s[encode_col(C) + rr].F = encode_range(val[0]); + break; + case 'BrtShrFmla': if(!opts.cellFormula) break; + // TODO + shared_formulae[encode_cell(val[0].s)] = val[1]; + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + break; + case 'BrtBeginSheet': break; case 'BrtWsProp': break; // TODO case 'BrtSheetCalcProp': break; // TODO @@ -8238,6 +8677,10 @@ function parse_ws_bin(data, opts, rels) { default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); + + delete opts.supbooks; + delete opts['!row']; + if(!s["!ref"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s["!ref"] = encode_range(ref || refguess); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); @@ -8638,15 +9081,43 @@ function parse_BrtFRTArchID$(data, length) { return o; } +/* [MS-XLSB] 2.4.680 BrtName */ +function parse_BrtName(data, length, opts) { + var end = data.l + length; + var flags = data.read_shift(4); + var chKey = data.read_shift(1); + var itab = data.read_shift(4); + var name = parse_XLNameWideString(data); + var formula = parse_XLSBNameParsedFormula(data, 0, opts); + var comment = parse_XLNullableWideString(data); + if(0 /* fProc */) { + // unusedstring1: XLNullableWideString + // description: XLNullableWideString + // helpTopic: XLNullableWideString + // unusedstring2: XLNullableWideString + } + data.l = end; + return {Name:name, Ptg:formula, Comment:comment}; +} + /* [MS-XLSB] 2.1.7.60 Workbook */ function parse_wb_bin(data, opts) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, z; + if(!opts) opts = {}; + opts.biff = 12; + + var Names = {}, NameList = []; + recordhopper(data, function hopper_wb(val, R) { switch(R.n) { case 'BrtBundleSh': wb.Sheets.push(val); break; + case 'BrtName': + Names[val.Name] = val; NameList.push(val.Name); + break; + case 'BrtBeginBook': break; case 'BrtFileVersion': break; case 'BrtWbProp14': case 'BrtWbProp': break; @@ -8668,7 +9139,6 @@ function parse_wb_bin(data, opts) { case 'BrtSupBookSrc': break; case 'BrtExternSheet': break; case 'BrtEndExternals': break; - case 'BrtName': break; case 'BrtCalcProp': break; case 'BrtUserBookView': break; case 'BrtBeginPivotCacheIDs': break; @@ -8695,10 +9165,13 @@ function parse_wb_bin(data, opts) { case 'BrtEndBook': break; default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); } - }); + }, opts); parse_wb_defaults(wb); + Names['!names'] = NameList; + wb.Names = Names; + return wb; } @@ -8785,9 +9258,9 @@ function parse_wb(data, name/*:string*/, opts)/*:Workbook*/ { return parse_wb_xml((data/*:any*/), opts); } -function parse_ws(data, name/*:string*/, opts, rels)/*:Worksheet*/ { - if(name.substr(name.length-4)===".bin") return parse_ws_bin((data/*:any*/), opts, rels); - return parse_ws_xml((data/*:any*/), opts, rels); +function parse_ws(data, name/*:string*/, opts, rels, wb)/*:Worksheet*/ { + if(name.substr(name.length-4)===".bin") return parse_ws_bin((data/*:any*/), opts, rels, wb); + return parse_ws_xml((data/*:any*/), opts, rels, wb); } function parse_sty(data, name/*:string*/, opts) { @@ -8922,7 +9395,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, o)/*:Workbook*/ { +function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o)/*:Workbook*/ { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; if(sid === undefined && row) sid = row.StyleID; @@ -8940,7 +9413,7 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, o break; case 'String': cell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml)); - cell.v = xml.indexOf("<") > -1 ? ss : cell.r; + cell.v = xml.indexOf("<") > -1 ? unescapexml(ss) : cell.r; break; case 'DateTime': cell.v = (Date.parse(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); @@ -8956,9 +9429,24 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, o default: cell.t = 's'; cell.v = xlml_fixstr(ss); break; } safe_format_xlml(cell, nf, o); - if(o.cellFormula != null && cell.Formula) { - cell.f = rc_to_a1(unescapexml(cell.Formula), base); - cell.Formula = undefined; + if(o.cellFormula != null) { + if(cell.Formula) { + var fstr = unescapexml(cell.Formula); + /* strictly speaking, the leading = is required but some writers omit */ + if(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.substr(1); + cell.f = rc_to_a1(fstr, base); + cell.Formula = undefined; + if(cell.ArrayRange == "RC") cell.F = rc_to_a1("RC:RC", base); + else if(cell.ArrayRange) { + cell.F = rc_to_a1(cell.ArrayRange, base); + arrayf.push([safe_decode_range(cell.F), cell.F]); + } + } else { + for(i = 0; i < arrayf.length; ++i) + if(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r) + if(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c) + cell.F = arrayf[i][1]; + } } if(o.cellStyles) { interiors.forEach(function(x) { @@ -8997,11 +9485,12 @@ function parse_xlml_xml(d, opts) { var Props = {}, Custprops = {}, pidx = 0, cp = {}; var comments = [], comment = {}; var cstys = [], csty; + var arrayf = []; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { case 'Data': if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'Cell': @@ -9848,7 +10337,15 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { default: temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); + if(options.cellFormula) { + var _f = val.formula; + if(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') { + var _fr = _f[0][0][1][0], _fc = _f[0][0][1][1]; + var _fe = encode_cell({r:_fr, c:_fc}); + if(shared_formulae[_fe]) temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + else temp_val.F = (out[_fe] || {}).F; + } else temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + } safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -9859,7 +10356,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { last_formula.val = val; temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}/*:any*/); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + if(options.cellFormula) temp_val.f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -9867,12 +10364,19 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { } break; case 'Array': { array_formulae.push(val); + if(options.cellFormula && out[last_cell]) { + out[last_cell].f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + out[last_cell].F = encode_range(val[0]); + } } break; case 'ShrFmla': { if(!cell_valid) break; - //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); - /* TODO: capture range */ - if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(!options.cellFormula) break; + if(last_cell) { + /* TODO: capture range */ + shared_formulae[encode_cell(last_formula.cell)]= val[0]; + (out[encode_cell(last_formula.cell)]||{}).f = stringify_formula(val[0], range, lastcell, supbooks, opts); + } } break; case 'LabelSst': temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); @@ -9880,6 +10384,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; + case 'RString': case 'Label': case 'BIFF2STR': temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; @@ -10153,14 +10658,12 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; - case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; /* BIFF2-4 records */ - case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break; case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; - case 'Dimension': break; /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': @@ -10265,7 +10768,7 @@ var XLSBRecordEnum = { /*::[*/0x0024/*::]*/: { n:"BrtFRTEnd", f:parsenoop }, /*::[*/0x0025/*::]*/: { n:"BrtACBegin", f:parsenoop }, /*::[*/0x0026/*::]*/: { n:"BrtACEnd", f:parsenoop }, - /*::[*/0x0027/*::]*/: { n:"BrtName", f:parsenoop }, + /*::[*/0x0027/*::]*/: { n:"BrtName", f:parse_BrtName }, /*::[*/0x0028/*::]*/: { n:"BrtIndexRowBlock", f:parsenoop }, /*::[*/0x002A/*::]*/: { n:"BrtIndexBlock", f:parsenoop }, /*::[*/0x002B/*::]*/: { n:"BrtFont", f:parse_BrtFont }, @@ -10588,8 +11091,8 @@ var XLSBRecordEnum = { /*::[*/0x01A7/*::]*/: { n:"BrtBeginUserShView", f:parsenoop }, /*::[*/0x01A8/*::]*/: { n:"BrtEndUserShView", f:parsenoop }, /*::[*/0x01A9/*::]*/: { n:"BrtEndUserShViews", f:parsenoop }, - /*::[*/0x01AA/*::]*/: { n:"BrtArrFmla", f:parsenoop }, - /*::[*/0x01AB/*::]*/: { n:"BrtShrFmla", f:parsenoop }, + /*::[*/0x01AA/*::]*/: { n:"BrtArrFmla", f:parse_BrtArrFmla }, + /*::[*/0x01AB/*::]*/: { n:"BrtShrFmla", f:parse_BrtShrFmla }, /*::[*/0x01AC/*::]*/: { n:"BrtTable", f:parsenoop }, /*::[*/0x01AD/*::]*/: { n:"BrtBeginExtConnections", f:parsenoop }, /*::[*/0x01AE/*::]*/: { n:"BrtEndExtConnections", f:parsenoop }, @@ -11251,6 +11754,7 @@ var XLSRecordEnum = { /*::[*/0x0203/*::]*/: { n:"Number", f:parse_Number }, /*::[*/0x0204/*::]*/: { n:"Label", f:parse_Label }, /*::[*/0x0205/*::]*/: { n:"BoolErr", f:parse_BoolErr }, + /*::[*/0x0206/*::]*/: { n:"Formula", f:parse_Formula }, /*::[*/0x0207/*::]*/: { n:"String", f:parse_String }, /*::[*/0x0208/*::]*/: { n:'Row', f:parse_Row }, /*::[*/0x020b/*::]*/: { n:"Index", f:parse_Index }, @@ -11260,6 +11764,7 @@ var XLSRecordEnum = { /*::[*/0x023e/*::]*/: { n:"Window2", f:parse_Window2 }, /*::[*/0x027e/*::]*/: { n:"RK", f:parse_RK }, /*::[*/0x0293/*::]*/: { n:"Style", f:parse_Style }, + /*::[*/0x0406/*::]*/: { n:"Formula", f:parse_Formula }, /*::[*/0x0418/*::]*/: { n:"BigName", f:parse_BigName }, /*::[*/0x041e/*::]*/: { n:"Format", f:parse_Format }, /*::[*/0x043c/*::]*/: { n:"ContinueBigName", f:parse_ContinueBigName }, @@ -11416,7 +11921,7 @@ var XLSRecordEnum = { /*::[*/0x1068/*::]*/: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ - /*::[*/0x0000/*::]*/: { n:"Dimension", f:parsenoop }, + /*::[*/0x0000/*::]*/: { n:"Dimensions", f:parse_Dimensions }, /*::[*/0x0002/*::]*/: { n:"BIFF2INT", f:parse_BIFF2INT }, /*::[*/0x0005/*::]*/: { n:"BoolErr", f:parse_BoolErr }, /*::[*/0x0007/*::]*/: { n:"String", f:parse_BIFF2STRING }, @@ -11425,6 +11930,7 @@ var XLSRecordEnum = { /*::[*/0x001e/*::]*/: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, /*::[*/0x001f/*::]*/: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ /*::[*/0x0016/*::]*/: { n:"ExternCount", f:parsenoop }, + /*::[*/0x0021/*::]*/: { n:"Array", f:parse_Array }, /*::[*/0x0025/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, /*::[*/0x0032/*::]*/: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, /*::[*/0x003e/*::]*/: { n:"BIFF2WINDOW2", f:parsenoop }, @@ -11444,7 +11950,7 @@ var XLSRecordEnum = { /*::[*/0x00bc/*::]*/: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ /*::[*/0x00c2/*::]*/: { n:"AddMenu", f:parsenoop }, /*::[*/0x00c3/*::]*/: { n:"DelMenu", f:parsenoop }, - /*::[*/0x00d6/*::]*/: { n:"RString", f:parsenoop }, + /*::[*/0x00d6/*::]*/: { n:"RString", f:parse_RString }, /*::[*/0x00df/*::]*/: { n:"UDDesc", f:parsenoop }, /*::[*/0x00ea/*::]*/: { n:"TabIdConf", f:parsenoop }, /*::[*/0x0162/*::]*/: { n:"XL5Modify", f:parsenoop }, @@ -11453,7 +11959,6 @@ var XLSRecordEnum = { /*::[*/0x0218/*::]*/: { n:"Lbl", f:parse_Lbl }, /*::[*/0x0223/*::]*/: { n:"ExternName", f:parse_ExternName }, /*::[*/0x0231/*::]*/: { n:"Font", f:parsenoop }, - /*::[*/0x0406/*::]*/: { n:"Formula", f:parse_Formula }, /*::[*/0x0409/*::]*/: { n:'BOF', f:parse_BOF }, /*::[*/0x086d/*::]*/: { n:"FeatInfo", f:parsenoop }, /*::[*/0x0873/*::]*/: { n:"FeatInfo11", f:parsenoop }, @@ -11658,10 +12163,10 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } -function safe_parse_ws(zip, path/*:string*/, relsPath/*:string*/, sheet, sheetRels, sheets, opts) { +function safe_parse_ws(zip, path/*:string*/, relsPath/*:string*/, sheet, sheetRels, sheets, opts, wb) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); - sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]); + sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet], wb); } catch(e) { if(opts.WTF) throw e; } } @@ -11762,7 +12267,7 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { path = path.replace(/sheet0\./,"sheet."); } relsPath = path.replace(/^(.*)(\/)([^\/]*)$/, "$1/_rels/$3.rels"); - safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts); + safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts, wb); } if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); @@ -12123,11 +12628,11 @@ function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { } var make_csv = sheet_to_csv; -function sheet_to_formulae(sheet/*:Worksheet*/) { - var cmds, y = "", x, val=""; - if(sheet == null || sheet["!ref"] == null) return ""; +function sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ { + var y = "", x, val=""; + if(sheet == null || sheet["!ref"] == null) return []; var r = safe_decode_range(sheet['!ref']), rr = "", cols = [], C; - cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); + var cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); var i = 0; for(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C); for(var R = r.s.r; R <= r.e.r; ++R) { @@ -12137,9 +12642,18 @@ function sheet_to_formulae(sheet/*:Worksheet*/) { x = sheet[y]; val = ""; if(x === undefined) continue; + else if(x.F != null) { + y = x.F; + if(!x.f) continue; + val = x.f; + if(y.indexOf(":") == -1) y = y + ":" + y; + } if(x.f != null) val = x.f; + else if(x.t == 'n' && x.v != null) val = "" + x.v; + else if(x.t == 'b') val = x.v ? "TRUE" : "FALSE"; else if(x.w !== undefined) val = "'" + x.w; else if(x.v === undefined) continue; + else if(x.t == 's') val = "'" + x.v; else val = ""+x.v; cmds[i++] = y + "=" + val; } diff --git a/xlsx.js b/xlsx.js index 4fbd855..c344ba2 100644 --- a/xlsx.js +++ b/xlsx.js @@ -4,7 +4,7 @@ /*jshint funcscope:true, eqnull:true */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.8.3'; +XLSX.version = '0.8.4'; var current_codepage = 1200, current_cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel'); @@ -1297,6 +1297,15 @@ function cc2str(arr) { return o; } +function dup(o) { + if(typeof JSON != 'undefined') return JSON.parse(JSON.stringify(o)); + if(typeof o != 'object' || !o) return o; + var out = {}; + for(var k in o) if(o.hasOwnProperty(k)) out[k] = dup(o[k]); + return out; +} + +function fill(c,l) { var o = ""; while(o.length < l) o+=c; return o; } function getdatastr(data) { if(!data) return null; if(data.data) return debom_xml(data.data); @@ -1466,9 +1475,9 @@ var matchtag = (function() { var vtregex = (function(){ var vt_cache = {}; return function vt_regex(bt) { if(vt_cache[bt] !== undefined) return vt_cache[bt]; - return (vt_cache[bt] = new RegExp("(.*?)", 'g') ); + return (vt_cache[bt] = new RegExp("<(?:vt:)?" + bt + ">(.*?)", 'g') ); };})(); -var vtvregex = /<\/?vt:variant>/g, vtmregex = /]*)>(.*)/g, vtmregex = /<(:?vt:)?([^>]*)>(.*) 0 && is_buf(payload)) ba.push(payload); } /* XLS ranges enforced */ -function shift_cell_xls(cell, tgt) { +function shift_cell_xls(cell, tgt, opts) { + var out = dup(cell); if(tgt.s) { - if(cell.cRel) cell.c += tgt.s.c; - if(cell.rRel) cell.r += tgt.s.r; + if(out.cRel) out.c += tgt.s.c; + if(out.rRel) out.r += tgt.s.r; } else { - cell.c += tgt.c; - cell.r += tgt.r; + out.c += tgt.c; + out.r += tgt.r; } - cell.cRel = cell.rRel = 0; - while(cell.c >= 0x100) cell.c -= 0x100; - while(cell.r >= 0x10000) cell.r -= 0x10000; - return cell; + if(!opts || opts.biff < 12) { + while(out.c >= 0x100) out.c -= 0x100; + while(out.r >= 0x10000) out.r -= 0x10000; + } + return out; } function shift_range_xls(cell, range) { @@ -1793,6 +1806,16 @@ function shift_range_xls(cell, range) { return cell; } +function encode_cell_xls(c) { + var s = encode_cell(c); + if(c.cRel === 0) s = fix_col(s); + if(c.rRel === 0) s = fix_row(s); + return s; +} + +function encode_range_xls(r) { + return encode_cell_xls(r.s) + ":" + encode_cell_xls(r.e); +} var OFFCRYPTO = {}; var make_offcrypto = function(O, _crypto) { var crypto; @@ -1905,6 +1928,10 @@ function write_XLWideString(data, o) { return o; } +/* [MS-XLSB] 2.5.165 */ +var parse_XLNameWideString = parse_XLWideString; +var write_XLNameWideString = write_XLWideString; + /* [MS-XLSB] 2.5.114 */ var parse_RelID = parse_XLNullableWideString; var write_RelID = write_XLNullableWideString; @@ -1930,8 +1957,8 @@ function write_RkNumber(data, o) { } -/* [MS-XLSB] 2.5.153 */ -function parse_UncheckedRfX(data) { +/* [MS-XLSB] 2.5.117 RfX */ +function parse_RfX(data) { var cell = ({s: {}, e: {}}); cell.s.r = data.read_shift(4); cell.e.r = data.read_shift(4); @@ -1940,7 +1967,7 @@ function parse_UncheckedRfX(data) { return cell; } -function write_UncheckedRfX(r, o) { +function write_RfX(r, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); o.write_shift(4, r.e.r); @@ -1949,6 +1976,10 @@ function write_UncheckedRfX(r, o) { return o; } +/* [MS-XLSB] 2.5.153 UncheckedRfX */ +var parse_UncheckedRfX = parse_RfX; +var write_UncheckedRfX = write_RfX; + /* [MS-XLSB] 2.5.171 */ /* [MS-XLS] 2.5.342 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ @@ -2304,6 +2335,12 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", + /* Chart Colors */ + "application/vnd.ms-office.chartcolorstyle+xml": "TODO", + + /* Chart Style */ + "application/vnd.ms-office.chartstyle+xml": "TODO", + /* Calculation Chain */ "application/vnd.ms-excel.calcChain": "calcchains", "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", @@ -2737,10 +2774,7 @@ function parse_cust_props(data, opts) { var x = m[i], y = parsexmltag(x); switch(y[0]) { case '': name = null; break; default: if (x.indexOf('= 12 ? 2 : 1); var width = 1, encoding = 'sbcs-cont'; var cp = current_codepage; if(opts && opts.biff >= 8) current_codepage = 1200; - if(opts === undefined || opts.biff !== 5) { + if(!opts || opts.biff == 8 ) { var fHighByte = blob.read_shift(1); if(fHighByte) { width = 2; encoding = 'dbcs-cont'; } + } else if(opts.biff == 12) { + width = 2; encoding = 'wstr'; } var o = cch ? blob.read_shift(cch, encoding) : ""; current_codepage = cp; @@ -3145,6 +3181,10 @@ function parse_XLUnicodeRichExtendedString(blob) { /* 2.5.296 XLUnicodeStringNoCch */ function parse_XLUnicodeStringNoCch(blob, cch, opts) { var retval; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'sbcs-cont'); + if(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont'); + } var fHighByte = blob.read_shift(1); if(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); } else { retval = blob.read_shift(cch, 'dbcs-cont'); } @@ -3153,7 +3193,7 @@ function parse_XLUnicodeStringNoCch(blob, cch, opts) { /* 2.5.294 XLUnicodeString */ function parse_XLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts !== undefined && opts.biff > 0 && opts.biff < 8 ? 1 : 2); + var cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); if(cch === 0) { blob.l++; return ""; } return parse_XLUnicodeStringNoCch(blob, cch, opts); } @@ -3284,10 +3324,10 @@ function parse_RkRec(blob, length) { } /* 2.5.1 */ -function parse_AddinUdf(blob, length) { +function parse_AddinUdf(blob, length, opts) { blob.l += 4; length -= 4; var l = blob.l + length; - var udfName = parse_ShortXLUnicodeString(blob, length); + var udfName = parse_ShortXLUnicodeString(blob, length, opts); var cb = blob.read_shift(2); l -= blob.l; if(cb !== l) throw "Malformed AddinUdf: padding = " + l + " != " + cb; @@ -3517,8 +3557,10 @@ function parse_LabelSst(blob, length) { /* 2.4.148 */ function parse_Label(blob, length, opts) { + var target = blob.l + length; var cell = parse_XLSCell(blob, 6); - var str = parse_XLUnicodeString(blob, length-6, opts); + if(opts.biff == 2) blob.l++; + var str = parse_XLUnicodeString(blob, target - blob.l, opts); cell.val = str; return cell; } @@ -3532,11 +3574,12 @@ function parse_Format(blob, length, opts) { var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ -function parse_Dimensions(blob, length) { - var w = length === 10 ? 2 : 4; +function parse_Dimensions(blob, length, opts) { + var end = blob.l + length; + var w = opts.biff == 8 || !opts.biff ? 4 : 2; var r = blob.read_shift(w), R = blob.read_shift(w), c = blob.read_shift(2), C = blob.read_shift(2); - blob.l += 2; + blob.l = end; return {s: {r:r, c:c}, e: {r:R, c:C}}; } @@ -3637,7 +3680,7 @@ function parse_ExternName(blob, length, opts) { cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 }); - if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); + if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); return o; @@ -3649,12 +3692,15 @@ function parse_Lbl(blob, length, opts) { var flags = blob.read_shift(2); var chKey = blob.read_shift(1); var cch = blob.read_shift(1); - var cce = blob.read_shift(2); - blob.l += 2; - var itab = blob.read_shift(2); - blob.l += 4; + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + if(!opts || opts.biff >= 5) { + blob.l += 2; + var itab = blob.read_shift(2); + blob.l += 4; + } var name = parse_XLUnicodeStringNoCch(blob, cch, opts); - var rgce = parse_NameParsedFormula(blob, target - blob.l, opts, cce); + var npflen = target - blob.l; if(opts && opts.biff == 2) --npflen; + var rgce = target == blob.l || cce == 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce); return { chKey: chKey, Name: name, @@ -3686,7 +3732,12 @@ function parse_ShrFmla(blob, length, opts) { /* 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); - blob.l += 6; length -= 12; /* TODO: fAlwaysCalc */ + /* TODO: fAlwaysCalc */ + switch(opts.biff) { + case 2: blob.l ++; length -= 7; break; + case 3: case 4: blob.l += 2; length -= 8; break; + default: blob.l += 6; length -= 12; + } return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } @@ -4149,6 +4200,7 @@ function parse_BIFF2STR(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var str = parse_XLUnicodeString2(blob, length-7, opts); + cell.t = 'str'; cell.val = str; return cell; } @@ -4157,6 +4209,7 @@ function parse_BIFF2NUM(blob, length, opts) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = parse_Xnum(blob, 8); + cell.t = 'n'; cell.val = num; return cell; } @@ -4165,6 +4218,7 @@ function parse_BIFF2INT(blob, length) { var cell = parse_XLSCell(blob, 6); ++blob.l; var num = blob.read_shift(2); + cell.t = 'n'; cell.val = num; return cell; } @@ -4184,6 +4238,18 @@ function parse_BIFF2FONTXTRA(blob, length) { blob.l += 1; // font family blob.l += length - 9; } + +/* TODO: parse rich text runs */ +function parse_RString(blob, length, opts) { + var end = blob.l + length; + var cell = parse_XLSCell(blob, 6); + var cch = blob.read_shift(2); + var str = parse_XLUnicodeStringNoCch(blob, cch, opts); + blob.l = end; + cell.t = 'str'; + cell.val = str; + return cell; +} /* 18.4.1 charset to codepage mapping */ var CS2CP = ({ 0: 1252, /* ANSI */ @@ -4256,21 +4322,21 @@ var parse_rs = (function parse_rs_factory() { /* 18.4.13 u CT_UnderlineProperty */ case '': font.u = 1; break; case '': break; /* 18.8.2 b */ case '': font.b = 1; break; case '': break; /* 18.8.26 i */ case '': font.i = 1; break; case '': break; @@ -4328,16 +4394,17 @@ function parse_si(x, opts) { if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - if(x.match(/^<(?:\w+:)?t[^>]*>/)) { + // TODO: is whitespace actually valid here? + if(x.match(/^\s*<(?:\w+:)?t[^>]*>/)) { z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0])); - z.r = x; + z.r = utf8read(x); if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { - z.r = x; + z.r = utf8read(x); z.t = utf8read(unescapexml((x.match(sitregex)||[]).join("").replace(tagregex,""))); - if(html) z.h = parse_rs(x); + if(html) z.h = parse_rs(z.r); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ /* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */ @@ -4356,7 +4423,7 @@ function parse_sst_xml(data, opts) { if(isval(sst)) { ss = sst[2].replace(sstr1,"").split(sstr2); for(var i = 0; i != ss.length; ++i) { - var o = parse_si(ss[i], opts); + var o = parse_si(ss[i].trim(), opts); if(o != null) s[s.length] = o; } sst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount; @@ -5540,9 +5607,10 @@ var rc_to_a1 = (function(){ function rcfunc($$,$1,$2,$3,$4,$5) { var R = $3.length>0?parseInt($3,10)|0:0, C = $5.length>0?parseInt($5,10)|0:0; if(C<0 && $4.length === 0) C=0; - if($4.length > 0) C += rcbase.c; - if($2.length > 0) R += rcbase.r; - return $1 + encode_col(C) + encode_row(R); + var cRel = false, rRel = false; + if($4.length > 0 || $5.length == 0) cRel = true; if(cRel) C += rcbase.c; else --C; + if($2.length > 0 || $3.length == 0) rRel = true; if(rRel) R += rcbase.r; else --R; + return $1 + (cRel ? "" : "$") + encode_col(C) + (rRel ? "" : "$") + encode_row(R); } return function rc_to_a1(fstr, base) { rcbase = base; @@ -5550,6 +5618,18 @@ var rc_to_a1 = (function(){ }; })(); +/* TODO actually parse the formula */ +function shift_formula_str(f, delta) { + return f.replace(/(^|[^A-Z0-9])([$]?)([A-Z]+)([$]?)(\d+)/g, function($0, $1, $2, $3, $4, $5, off, str) { + return $1+($2=="$" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4=="$" ? $4+$5 : encode_row(decode_row($5) + delta.r)); + }); +} + +function shift_formula_xlsx(f, range, cell) { + var r = decode_range(range), s = r.s, c = decode_cell(cell); + var delta = {r:c.r - s.r, c:c.c - s.c}; + return shift_formula_str(f, delta); +} /* --- formula references point to MS-XLS --- */ /* Small helpers */ function parseread(l) { return function(blob, length) { blob.l+=l; return; }; } @@ -5559,17 +5639,30 @@ function parseread1(blob, length) { blob.l+=1; return; } /* 2.5.51 */ function parse_ColRelU(blob, length) { - var c = blob.read_shift(2); + var c = blob.read_shift(length == 1 ? 1 : 2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* 2.5.198.105 */ -function parse_RgceArea(blob, length) { - var r=blob.read_shift(2), R=blob.read_shift(2); +/* [MS-XLS] 2.5.198.105 */ +/* [MS-XLSB] 2.5.97.89 */ +function parse_RgceArea(blob, length, opts) { + var w = 2; + if(opts) { + if(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts); + else if(opts.biff == 12) w = 4; + } + var r=blob.read_shift(w), R=blob.read_shift(w); var c=parse_ColRelU(blob, 2); var C=parse_ColRelU(blob, 2); 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]} }; } +/* BIFF 2-5 encodes flags in the row field */ +function parse_RgceArea_BIFF2(blob, length, opts) { + var r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2); + var c=blob.read_shift(1); + var C=blob.read_shift(1); + 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 */ function parse_RgceAreaRel(blob, length) { @@ -5580,36 +5673,61 @@ function parse_RgceAreaRel(blob, length) { } /* 2.5.198.109 */ -function parse_RgceLoc(blob, length) { - var r = blob.read_shift(2); +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); var c = parse_ColRelU(blob, 2); return {r:r, c:c[0], cRel:c[1], rRel:c[2]}; } +function parse_RgceLoc_BIFF2(blob, length, opts) { + var r = parse_ColRelU(blob, 2); + var c = blob.read_shift(1); + return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; +} -/* 2.5.198.111 */ -function parse_RgceLocRel(blob, length) { - var r = blob.read_shift(2); +/* [MS-XLS] 2.5.198.111 TODO */ +/* [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); + var r = blob.read_shift(biff >= 12 ? 4 : 2); var cl = blob.read_shift(2); var cRel = (cl & 0x8000) >> 15, rRel = (cl & 0x4000) >> 14; cl &= 0x3FFF; - if(cRel !== 0) while(cl >= 0x100) cl -= 0x100; + if(rRel == 1) while(r > 0x7FFFF) r -= 0x100000; + if(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000; return {r:r,c:cl,cRel:cRel,rRel:rRel}; } +function parse_RgceLocRel_BIFF2(blob, length) { + var rl = blob.read_shift(2); + var c = blob.read_shift(1); + var rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14; + rl &= 0x3FFF; + if(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000; + if(cRel == 1 && c >= 0x80) c = c - 0x100; + return {r:rl,c:c,cRel:cRel,rRel:rRel}; +} /* Ptg Tokens */ /* 2.5.198.27 */ -function parse_PtgArea(blob, length) { +function parse_PtgArea(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceArea(blob, 8); + var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); return [type, area]; } -/* 2.5.198.28 */ -function parse_PtgArea3d(blob, length) { +/* [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); - var area = parse_RgceArea(blob, 8); + var ixti = blob.read_shift(2, 'i'); + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + var area = parse_RgceArea(blob, w, opts); return [type, ixti, area]; } @@ -5620,10 +5738,15 @@ function parse_PtgAreaErr(blob, length) { return [type]; } /* 2.5.198.30 */ -function parse_PtgAreaErr3d(blob, length) { +function parse_PtgAreaErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); - blob.l += 8; + var w = 8; + if(opts) switch(opts.biff) { + case 5: blob.l += 12; w = 6; break; + case 12: w = 12; break; + } + blob.l += w; return [type, ixti]; } @@ -5634,10 +5757,11 @@ function parse_PtgAreaN(blob, length) { return [type, area]; } -/* 2.5.198.32 -- ignore this and look in PtgExtraArray for shape + values */ -function parse_PtgArray(blob, length) { +/* [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 += 7; + blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; return [type]; } @@ -5650,33 +5774,40 @@ function parse_PtgAttrBaxcel(blob, length) { } /* 2.5.198.34 */ -function parse_PtgAttrChoose(blob, length) { +function parse_PtgAttrChoose(blob, length, opts) { blob.l +=2; - var offset = blob.read_shift(2); + var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); var o = []; /* offset is 1 less than the number of elements */ - for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(2)); + for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2)); return o; } /* 2.5.198.35 */ -function parse_PtgAttrGoto(blob, length) { +function parse_PtgAttrGoto(blob, length, opts) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; - return [bitGoto, blob.read_shift(2)]; + return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; } /* 2.5.198.36 */ -function parse_PtgAttrIf(blob, length) { +function parse_PtgAttrIf(blob, length, opts) { + var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; + blob.l += 2; + return [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; +} + +/* [MS-XLSB] 2.5.97.28 */ +function parse_PtgAttrIfError(blob, length) { var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; return [bitIf, blob.read_shift(2)]; } /* 2.5.198.37 */ -function parse_PtgAttrSemi(blob, length) { +function parse_PtgAttrSemi(blob, length, opts) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += 4; + blob.l += opts && opts.biff == 2 ? 3 : 4; return [bitSemi]; } @@ -5699,46 +5830,44 @@ function parse_PtgAttrSpaceSemi(blob, length) { } /* 2.5.198.84 TODO */ -function parse_PtgRef(blob, length) { +function parse_PtgRef(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); return [type, loc]; } /* 2.5.198.88 TODO */ -function parse_PtgRefN(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRefN(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLocRel(blob,4); + var loc = parse_RgceLocRel(blob, 0, opts); return [type, loc]; } /* 2.5.198.85 TODO */ -function parse_PtgRef3d(blob, length) { - var ptg = blob[blob.l] & 0x1F; +function parse_PtgRef3d(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex - var loc = parse_RgceLoc(blob,4); + var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel return [type, ixti, loc]; } /* 2.5.198.62 TODO */ -function parse_PtgFunc(blob, length) { +function parse_PtgFunc(blob, length, opts) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var iftab = blob.read_shift(2); - return [FtabArgc[iftab], Ftab[iftab]]; + var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); + return [FtabArgc[iftab], Ftab[iftab], type]; } /* 2.5.198.63 TODO */ -function parse_PtgFuncVar(blob, length) { +function parse_PtgFuncVar(blob, length, opts) { blob.l++; - var cparams = blob.read_shift(1), tab = parsetab(blob); + var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); return [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]]; } @@ -5747,22 +5876,26 @@ function parsetab(blob, length) { } /* 2.5.198.41 */ -var parse_PtgAttrSum = parseread(4); +function parse_PtgAttrSum(blob, length, opts) { + blob.l += opts && opts.biff == 2 ? 3 : 4; return; +} + /* 2.5.198.43 */ var parse_PtgConcat = parseread1; /* 2.5.198.58 */ -function parse_PtgExp(blob, length) { +function parse_PtgExp(blob, length, opts) { blob.l++; + if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; var row = blob.read_shift(2); - var col = blob.read_shift(2); + var col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [row, col]; } /* 2.5.198.57 */ function parse_PtgErr(blob, length) { blob.l++; return BErr[blob.read_shift(1)]; } -/* 2.5.198.66 TODO */ +/* 2.5.198.66 */ function parse_PtgInt(blob, length) { blob.l++; return blob.read_shift(2); } /* 2.5.198.42 */ @@ -5772,12 +5905,19 @@ function parse_PtgBool(blob, length) { blob.l++; return blob.read_shift(1)!==0;} function parse_PtgNum(blob, length) { blob.l++; return parse_Xnum(blob, 8); } /* 2.5.198.89 */ -function parse_PtgStr(blob, length) { blob.l++; return parse_ShortXLUnicodeString(blob); } +function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } -/* 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ -function parse_SerAr(blob) { - var val = []; - switch((val[0] = blob.read_shift(1))) { +/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ +/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */ +function parse_SerAr(blob, biff) { + var val = [blob.read_shift(1)]; + if(biff == 12) switch(val[0]) { + case 0x02: val[0] = 0x04; break; /* SerBool */ + case 0x04: val[0] = 0x10; break; /* SerErr */ + case 0x00: val[0] = 0x01; break; /* SerNum */ + 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'; @@ -5794,7 +5934,7 @@ function parse_SerAr(blob) { val[1] = parse_Xnum(blob, 8); break; /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ - val[1] = parse_XLUnicodeString(blob); break; + val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; @@ -5809,49 +5949,72 @@ function parse_PtgExtraMem(blob, cce) { } /* 2.5.198.59 */ -function parse_PtgExtraArray(blob) { - var cols = 1 + blob.read_shift(1); //DColByteU - var rows = 1 + blob.read_shift(2); //DRw +function parse_PtgExtraArray(blob, length, opts) { + var rows = 0, cols = 0; + if(opts.biff == 12) { + rows = blob.read_shift(4); // DRw + cols = blob.read_shift(4); // DCol + } else { + cols = 1 + blob.read_shift(1); //DColByteU + rows = 1 + blob.read_shift(2); //DRw + } + if(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; } for(var i = 0, o=[]; i != rows && (o[i] = []); ++i) - for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob); + for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff); return o; } /* 2.5.198.76 */ -function parse_PtgName(blob, length) { +function parse_PtgName(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var nameindex = blob.read_shift(4); + var w = (!opts || (opts.biff >= 8)) ? 4 : 2; + var nameindex = blob.read_shift(w); + switch(opts.biff) { + case 2: blob.l += 5; break; + case 3: case 4: blob.l += 8; break; + case 5: blob.l += 12; break; + } return [type, 0, nameindex]; } /* 2.5.198.77 */ -function parse_PtgNameX(blob, length) { +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; var ixti = blob.read_shift(2); // XtiIndex var nameindex = blob.read_shift(4); return [type, ixti, nameindex]; } +function parse_PtgNameX_BIFF5(blob, length, opts) { + var type = (blob.read_shift(1) >>> 5) & 0x03; + var ixti = blob.read_shift(2, 'i'); // XtiIndex + blob.l += 8; + var nameindex = blob.read_shift(2); + blob.l += 12; + return [type, ixti, nameindex]; +} /* 2.5.198.70 */ -function parse_PtgMemArea(blob, length) { +function parse_PtgMemArea(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += 4; - var cce = blob.read_shift(2); + blob.l += (opts && opts.biff == 2 ? 3 : 4); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.72 */ -function parse_PtgMemFunc(blob, length) { +function parse_PtgMemFunc(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(2); + var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); return [type, cce]; } /* 2.5.198.86 */ -function parse_PtgRefErr(blob, length) { +function parse_PtgRefErr(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; + if(opts.biff == 12) blob.l += 2; return [type]; } @@ -5977,7 +6140,10 @@ var PtgDupes = { }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); -var Ptg18 = {}; +var Ptg18 = { +// 0x19: { n:'PtgList', f:parse_PtgList }, // TODO +// 0x1D: { n:'PtgSxName', f:parse_PtgSxName }, // TODO +}; var Ptg19 = { 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, @@ -5987,11 +6153,13 @@ var Ptg19 = { 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, +0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError }, 0xFF: {} }; /* 2.4.127 TODO */ function parse_Formula(blob, length, opts) { + var end = blob.l + length; var cell = parse_XLSCell(blob, 6); if(opts.biff == 2) ++blob.l; var val = parse_FormulaValue(blob,8); @@ -6002,10 +6170,7 @@ function parse_Formula(blob, length, opts) { var chn = blob.read_shift(4); } } - var cbf = ""; - if(opts.biff < 5) blob.l += length-16; - else if(opts.biff === 5) blob.l += length-20; - else cbf = parse_XLSCellParsedFormula(blob, length-20, opts); + var cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts); return {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]}; } @@ -6024,23 +6189,29 @@ function parse_FormulaValue(blob) { /* 2.5.198.103 */ function parse_RgbExtra(blob, length, rgce, opts) { - if(opts.biff < 8) return parsenoop(blob, length); var target = blob.l + length; var o = []; for(var i = 0; i !== rgce.length; ++i) { switch(rgce[i][0]) { case 'PtgArray': /* PtgArray -> PtgExtraArray */ - rgce[i][1] = parse_PtgExtraArray(blob); + rgce[i][1] = parse_PtgExtraArray(blob, 0, opts); o.push(rgce[i][1]); break; case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]); o.push(rgce[i][2]); break; + case 'PtgExp': /* PtgExp -> PtgExtraCol */ + if(opts && opts.biff == 12) { + rgce[i][1][1] = blob.read_shift(4); + o.push(rgce[i][1]); + } break; default: break; } } length = target - blob.l; + /* note: this is technically an error but Excel disregards */ + //if(target !== blob.l && blob.l !== target - length) throw new Error(target + " != " + blob.l); if(length !== 0) o.push(parsenoop(blob, length)); return o; } @@ -6048,7 +6219,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { /* 2.5.198.21 */ function parse_NameParsedFormula(blob, length, opts, cce) { var target = blob.l + length; - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); var rgcb; if(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts); return [rgce, rgcb]; @@ -6056,11 +6227,11 @@ function parse_NameParsedFormula(blob, length, opts, cce) { /* 2.5.198.3 TODO */ function parse_XLSCellParsedFormula(blob, length, opts) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, length - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } @@ -6068,7 +6239,7 @@ function parse_XLSCellParsedFormula(blob, length, opts) { function parse_SharedParsedFormula(blob, length, opts) { var target = blob.l + length; var rgcb, cce = blob.read_shift(2); // length of rgce - var rgce = parse_Rgce(blob, cce); + var rgce = parse_Rgce(blob, cce, opts); if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; @@ -6076,41 +6247,71 @@ function parse_SharedParsedFormula(blob, length, opts) { /* 2.5.198.1 TODO */ function parse_ArrayParsedFormula(blob, length, opts, ref) { - var target = blob.l + length; - var rgcb, cce = blob.read_shift(2); // length of rgce + var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; + var rgcb, cce = blob.read_shift(len); // length of rgce if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; - var rgce = parse_Rgce(blob, cce); - if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); + var rgce = parse_Rgce(blob, cce, opts); + if(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts); return [rgce, rgcb]; } /* 2.5.198.104 */ -function parse_Rgce(blob, length) { +var gcnt = 0; +function parse_Rgce(blob, length, opts) { var target = blob.l + length; var R, id, ptgs = []; while(target != blob.l) { length = target - blob.l; id = blob[blob.l]; R = PtgTypes[id]; - //console.log("ptg", id, R) if(id === 0x18 || id === 0x19) { id = blob[blob.l + 1]; R = (id === 0x18 ? Ptg18 : Ptg19)[id]; } if(!R || !R.f) { ptgs.push(parsenoop(blob, length)); } - else { ptgs.push([R.n, R.f(blob, length)]); } + else { ptgs.push([R.n, R.f(blob, length, opts)]); } } return ptgs; } -function mapper(x) { return x.map(function f2(y) { return y[1];}).join(",");} +function stringify_array(f) { + var o = []; + for(var i = 0; i < f.length; ++i) { + var x = f[i], r = []; + for(var j = 0; j < x.length; ++j) { + var y = x[j]; + if(y) switch(y[0]) { + // TODO: handle embedded quotes + case 0x02: r.push('"' + y[1].replace(/"/g,'""') + '"'); break; + default: r.push(y[1]); + } else r.push(""); + } + o.push(r.join(",")); + } + return o.join(";"); +} -/* 2.2.2 + Magic TODO */ +/* [MS-XLS] 2.2.2 TODO */ +/* [MS-XLSB] 2.2.2 */ +var PtgBinOp = { + PtgAdd: "+", + PtgConcat: "&", + PtgDiv: "/", + PtgEq: "=", + PtgGe: ">=", + PtgGt: ">", + PtgLe: "<=", + PtgLt: "<", + PtgMul: "*", + PtgNe: "<>", + PtgPower: "^", + PtgSub: "-" +}; function stringify_formula(formula, range, cell, supbooks, opts) { - if(opts !== undefined && opts.biff === 5) return "BIFF5??"; - var _range = range !== undefined ? range : {s:{c:0, r:0}}; - var stack = [], e1, e2, type, c, ixti, nameidx, r; + var _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}}; + var stack = [], e1, e2, type, c, ixti, nameidx, r, sname=""; if(!formula[0] || !formula[0][0]) return ""; + var last_sp = -1, sp = ""; //console.log("--",cell,formula[0]) for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { var f = formula[0][ff]; @@ -6125,65 +6326,31 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgPercent': stack.push(stack.pop() + "%"); break; /* 2.2.2.1 Binary Value Operator Token */ - /* 2.5.198.26 */ - case 'PtgAdd': + 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 */ e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"+"+e1); - break; - /* 2.5.198.90 */ - case 'PtgSub': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"-"+e1); - break; - /* 2.5.198.75 */ - case 'PtgMul': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"*"+e1); - break; - /* 2.5.198.45 */ - case 'PtgDiv': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"/"+e1); - break; - /* 2.5.198.82 */ - case 'PtgPower': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"^"+e1); - break; - /* 2.5.198.43 */ - case 'PtgConcat': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"&"+e1); - break; - /* 2.5.198.69 */ - case 'PtgLt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<"+e1); - break; - /* 2.5.198.68 */ - case 'PtgLe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<="+e1); - break; - /* 2.5.198.56 */ - case 'PtgEq': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"="+e1); - break; - /* 2.5.198.64 */ - case 'PtgGe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">="+e1); - break; - /* 2.5.198.65 */ - case 'PtgGt': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+">"+e1); - break; - /* 2.5.198.78 */ - case 'PtgNe': - e1 = stack.pop(); e2 = stack.pop(); - stack.push(e2+"<>"+e1); + if(last_sp >= 0) { + switch(formula[0][last_sp][1][0]) { + case 0: sp = fill(" ", formula[0][last_sp][1][1]); break; + case 1: sp = fill("\r", formula[0][last_sp][1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + e2 = e2 + sp; + last_sp = -1; + } + stack.push(e2+PtgBinOp[f[0]]+e1); break; /* 2.2.2.1 Binary Reference Operator Token */ @@ -6196,7 +6363,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+","+e1); break; - case 'PtgRange': break; + case 'PtgRange': + e1 = stack.pop(); e2 = stack.pop(); + stack.push(e2+":"+e1); + break; /* 2.2.2.3 Control Tokens "can be ignored" */ /* 2.5.198.34 */ @@ -6205,21 +6375,24 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgAttrGoto': break; /* 2.5.198.36 */ case 'PtgAttrIf': break; + /* [MS-XLSB] 2.5.97.28 */ + case 'PtgAttrIfError': break; /* 2.5.198.84 */ case 'PtgRef': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), _range); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], _range, opts); + stack.push(encode_cell_xls(c)); break; /* 2.5.198.88 */ case 'PtgRefN': - type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), cell); - stack.push(encode_cell(c)); + type = f[1][0]; c = shift_cell_xls(f[1][1], cell, opts); + stack.push(encode_cell_xls(c)); break; case 'PtgRef3d': // TODO: lots of stuff - type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range); - stack.push(supbooks[1][ixti+1]+"!"+encode_cell(c)); + type = f[1][0]; ixti = f[1][1]; c = shift_cell_xls(f[1][2], _range, opts); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_cell(c)); break; /* Function Call */ @@ -6227,10 +6400,10 @@ function stringify_formula(formula, range, cell, supbooks, opts) { case 'PtgFunc': /* 2.5.198.63 */ case 'PtgFuncVar': - /* f[1] = [argc, func] */ + /* f[1] = [argc, func, type] */ var argc = f[1][0], func = f[1][1]; if(!argc) argc = 0; - var args = stack.slice(-argc); + var args = argc == 0 ? [] : stack.slice(-argc); stack.length -= argc; if(func === 'User') func = args.shift(); stack.push(func + "(" + args.join(",") + ")"); @@ -6249,12 +6422,13 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.27 TODO: fixed points */ case 'PtgArea': type = f[1][0]; r = shift_range_xls(f[1][1], _range); - stack.push(encode_range(r)); + stack.push(encode_range_xls(r)); break; /* 2.5.198.28 */ case 'PtgArea3d': // TODO: lots of stuff type = f[1][0]; ixti = f[1][1]; r = f[1][2]; - stack.push(supbooks[1][ixti+1]+"!"+encode_range(r)); + sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); + stack.push(sname + "!" + encode_range(r)); break; /* 2.5.198.41 */ case 'PtgAttrSum': @@ -6270,7 +6444,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, 0, nameindex */ nameidx = f[1][2]; var lbl = supbooks[0][nameidx]; - var name = lbl.Name; + var name = lbl ? lbl.Name : "**MISSING**" + nameidx; if(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name]; stack.push(name); break; @@ -6280,15 +6454,35 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* f[1] = type, ixti, nameindex */ var bookidx = f[1][1]; nameidx = f[1][2]; var externbook; /* TODO: Properly handle missing values */ - if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; - else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + //console.log(bookidx, supbooks); + if(opts.biff == 5) { + if(bookidx < 0) bookidx = -bookidx; + if(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx]; + } else { + if(supbooks[bookidx+1]) externbook = supbooks[bookidx+1][nameidx]; + else if(supbooks[bookidx-1]) externbook = supbooks[bookidx-1][nameidx]; + } if(!externbook) externbook = {body: "??NAMEX??"}; stack.push(externbook.body); break; /* 2.2.2.4 Display Tokens */ /* 2.5.198.80 */ - case 'PtgParen': stack.push('(' + stack.pop() + ')'); break; + case 'PtgParen': + var lp = '(', rp = ')'; + if(last_sp >= 0) { + sp = ""; + switch(formula[0][last_sp][1][0]) { + case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + case 4: rp = fill(" ", formula[0][last_sp][1][1]) + lp; break; + case 5: rp = fill("\r", formula[0][last_sp][1][1]) + lp; break; + default: + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + formula[0][last_sp][1][0]); + } + last_sp = -1; + } + stack.push(lp + stack.pop() + rp); break; /* 2.5.198.86 */ case 'PtgRefErr': stack.push('#REF!'); break; @@ -6310,6 +6504,8 @@ function stringify_formula(formula, range, cell, supbooks, opts) { if(c.c < e2[0].s.c || c.c > e2[0].e.c) continue; if(c.r < e2[0].s.r || c.r > e2[0].e.r) continue; stack.push(stringify_formula(e2[1], _range, q, supbooks, opts)); + fnd = true; + break; } if(!fnd) stack.push(f[1]); } @@ -6317,7 +6513,7 @@ function stringify_formula(formula, range, cell, supbooks, opts) { /* 2.5.198.32 TODO */ case 'PtgArray': - stack.push("{" + f[1].map(mapper).join(";") + "}"); + stack.push("{" + stringify_array(f[1]) + "}"); break; /* 2.2.2.5 Mem Tokens */ @@ -6326,8 +6522,11 @@ function stringify_formula(formula, range, cell, supbooks, opts) { //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - /* 2.5.198.38 TODO */ - case 'PtgAttrSpace': break; + /* 2.5.198.38 */ + case 'PtgAttrSpace': + case 'PtgAttrSpaceSemi': + last_sp = ff; + break; /* 2.5.198.92 TODO */ case 'PtgTbl': break; @@ -6354,17 +6553,44 @@ function stringify_formula(formula, range, cell, supbooks, opts) { default: throw 'Unrecognized Formula Token: ' + f; } + var PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto']; + if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) { + f = formula[0][last_sp]; + switch(f[1][0]) { + case 0: sp = fill(" ", f[1][1]); break; + case 1: sp = fill("\r", f[1][1]); break; + default: + sp = ""; + if(opts.WTF) throw new Error("Unexpected PtgSpace type " + f[1][0]); + } + stack.push(sp + stack.pop()); + last_sp = -1; + } //console.log("::",f, stack) } //console.log("--",stack); + if(stack.length > 1 && opts.WTF) throw new Error("bad formula stack"); return stack[0]; } -/* [MS-XLSB] 2.5.97.4 CellParsedFormula TODO: use similar logic to js-xls */ -function parse_XLSBCellParsedFormula(data, length) { +/* 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); - return parsenoop(data, length-4); + var rgce = parse_Rgce(data, cce, opts); + var cb = data.read_shift(4); + var rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null; + return [rgce, rgcb]; } + +/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */ +var parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.4 CellParsedFormula */ +var parse_XLSBCellParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.12 NameParsedFormula */ +var parse_XLSBNameParsedFormula = parse_XLSBParsedFormula; +/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */ +var parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula; /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { 0x1: "REFERENCE", // reference to range @@ -6773,6 +6999,7 @@ var Cetab = { }; /* [MS-XLS] 2.5.198.17 */ +/* [MS-XLSB] 2.5.97.10 */ var Ftab = { 0x0000: 'COUNT', 0x0001: 'IF', @@ -7146,7 +7373,113 @@ var Ftab = { 0x0178: 'ROUNDBAHTDOWN', 0x0179: 'ROUNDBAHTUP', 0x017A: 'THAIYEAR', -0x017B: 'RTD' +0x017B: 'RTD', + +0x017C: 'CUBEVALUE', +0x017D: 'CUBEMEMBER', +0x017E: 'CUBEMEMBERPROPERTY', +0x017F: 'CUBERANKEDMEMBER', +0x0180: 'HEX2BIN', +0x0181: 'HEX2DEC', +0x0182: 'HEX2OCT', +0x0183: 'DEC2BIN', +0x0184: 'DEC2HEX', +0x0185: 'DEC2OCT', +0x0186: 'OCT2BIN', +0x0187: 'OCT2HEX', +0x0188: 'OCT2DEC', +0x0189: 'BIN2DEC', +0x018A: 'BIN2OCT', +0x018B: 'BIN2HEX', +0x018C: 'IMSUB', +0x018D: 'IMDIV', +0x018E: 'IMPOWER', +0x018F: 'IMABS', +0x0190: 'IMSQRT', +0x0191: 'IMLN', +0x0192: 'IMLOG2', +0x0193: 'IMLOG10', +0x0194: 'IMSIN', +0x0195: 'IMCOS', +0x0196: 'IMEXP', +0x0197: 'IMARGUMENT', +0x0198: 'IMCONJUGATE', +0x0199: 'IMAGINARY', +0x019A: 'IMREAL', +0x019B: 'COMPLEX', +0x019C: 'IMSUM', +0x019D: 'IMPRODUCT', +0x019E: 'SERIESSUM', +0x019F: 'FACTDOUBLE', +0x01A0: 'SQRTPI', +0x01A1: 'QUOTIENT', +0x01A2: 'DELTA', +0x01A3: 'GESTEP', +0x01A4: 'ISEVEN', +0x01A5: 'ISODD', +0x01A6: 'MROUND', +0x01A7: 'ERF', +0x01A8: 'ERFC', +0x01A9: 'BESSELJ', +0x01AA: 'BESSELK', +0x01AB: 'BESSELY', +0x01AC: 'BESSELI', +0x01AD: 'XIRR', +0x01AE: 'XNPV', +0x01AF: 'PRICEMAT', +0x01B0: 'YIELDMAT', +0x01B1: 'INTRATE', +0x01B2: 'RECEIVED', +0x01B3: 'DISC', +0x01B4: 'PRICEDISC', +0x01B5: 'YIELDDISC', +0x01B6: 'TBILLEQ', +0x01B7: 'TBILLPRICE', +0x01B8: 'TBILLYIELD', +0x01B9: 'PRICE', +0x01BA: 'YIELD', +0x01BB: 'DOLLARDE', +0x01BC: 'DOLLARFR', +0x01BD: 'NOMINAL', +0x01BE: 'EFFECT', +0x01BF: 'CUMPRINC', +0x01C0: 'CUMIPMT', +0x01C1: 'EDATE', +0x01C2: 'EOMONTH', +0x01C3: 'YEARFRAC', +0x01C4: 'COUPDAYBS', +0x01C5: 'COUPDAYS', +0x01C6: 'COUPDAYSNC', +0x01C7: 'COUPNCD', +0x01C8: 'COUPNUM', +0x01C9: 'COUPPCD', +0x01CA: 'DURATION', +0x01CB: 'MDURATION', +0x01CC: 'ODDLPRICE', +0x01CD: 'ODDLYIELD', +0x01CE: 'ODDFPRICE', +0x01CF: 'ODDFYIELD', +0x01D0: 'RANDBETWEEN', +0x01D1: 'WEEKNUM', +0x01D2: 'AMORDEGRC', +0x01D3: 'AMORLINC', +0x01D4: 'SHEETJS', +0x01D5: 'ACCRINT', +0x01D6: 'ACCRINTM', +0x01D7: 'WORKDAY', +0x01D8: 'NETWORKDAYS', +0x01D9: 'GCD', +0x01DA: 'MULTINOMIAL', +0x01DB: 'LCM', +0x01DC: 'FVSCHEDULE', +0x01DD: 'CUBEKPIMEMBER', +0x01DE: 'CUBESET', +0x01DF: 'CUBESETCOUNT', +0x01E0: 'IFERROR', +0x01E1: 'COUNTIFS', +0x01E2: 'SUMIFS', +0x01E3: 'AVERAGEIF', +0x01E4: 'AVERAGEIFS' }; var FtabArgc = { 0x0002: 1, /* ISNA */ @@ -7155,6 +7488,7 @@ var FtabArgc = { 0x0010: 1, /* COS */ 0x0011: 1, /* TAN */ 0x0012: 1, /* ATAN */ +0x0013: 0, /* PI */ 0x0014: 1, /* SQRT */ 0x0015: 1, /* EXP */ 0x0016: 1, /* LN */ @@ -7184,6 +7518,7 @@ var FtabArgc = { 0x0043: 1, /* DAY */ 0x0044: 1, /* MONTH */ 0x0045: 1, /* YEAR */ +0x0046: 1, /* WEEKDAY */ 0x0047: 1, /* HOUR */ 0x0048: 1, /* MINUTE */ 0x0049: 1, /* SECOND */ @@ -7193,11 +7528,14 @@ var FtabArgc = { 0x004F: 2, /* ABSREF */ 0x0050: 2, /* RELREF */ 0x0053: 1, /* TRANSPOSE */ +0x0055: 0, /* STEP */ 0x0056: 1, /* TYPE */ 0x005A: 1, /* DEREF */ 0x0061: 2, /* ATAN2 */ 0x0062: 1, /* ASIN */ 0x0063: 1, /* ACOS */ +0x0065: 3, /* HLOOKUP */ +0x0066: 3, /* VLOOKUP */ 0x0069: 1, /* ISREF */ 0x006F: 1, /* CHAR */ 0x0070: 1, /* LOWER */ @@ -7223,6 +7561,7 @@ var FtabArgc = { 0x008D: 1, /* TIMEVALUE */ 0x008E: 3, /* SLN */ 0x008F: 4, /* SYD */ +0x0090: 4, /* DDB */ 0x00A2: 1, /* CLEAN */ 0x00A3: 1, /* MDETERM */ 0x00A4: 1, /* MINVERSE */ @@ -7238,6 +7577,7 @@ var FtabArgc = { 0x00BE: 1, /* ISNONTEXT */ 0x00C3: 3, /* DSTDEVP */ 0x00C4: 3, /* DVARP */ +0x00C5: 1, /* TRUNC */ 0x00C6: 1, /* ISLOGICAL */ 0x00C7: 3, /* DCOUNTA */ 0x00C9: 1, /* UNREGISTER */ @@ -7256,6 +7596,7 @@ var FtabArgc = { 0x00EA: 1, /* ATANH */ 0x00EB: 3, /* DGET */ 0x00F4: 1, /* INFO */ +0x00F7: 4, /* DB */ 0x00FC: 2, /* FREQUENCY */ 0x0101: 1, /* EVALUATE */ 0x0105: 1, /* ERROR.TYPE */ @@ -7331,9 +7672,13 @@ var FtabArgc = { 0x0178: 1, /* ROUNDBAHTDOWN */ 0x0179: 1, /* ROUNDBAHTUP */ 0x017A: 1, /* THAIYEAR */ +0x01A0: 1, /* SQRTPI */ +0x01C1: 2, /* EDATE */ +0x01C2: 2, /* EOMONTH */ 0xFFFF: 0 }; /* [MS-XLSX] 2.2.3 Functions */ +/* [MS-XLSB] 2.5.97.10 Ftab */ var XLSXFutureFunctions = { "_xlfn.ACOT": "ACOT", "_xlfn.ACOTH": "ACOTH", @@ -7524,7 +7869,7 @@ var colregex = /<(?:\w*:)?col[^>]*\/>/g; function parse_ws_xml(data, opts, rels) { if(!data) return data; /* 18.3.1.99 worksheet CT_Worksheet */ - var s = {}; + var s = ({}); /* 18.3.1.35 dimension CT_SheetDimension ? */ // $FlowIgnore @@ -7679,13 +8024,16 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { var parse_ws_xml_data = (function parse_ws_xml_data_factory() { var cellregex = /<(?:\w+:)?c[ >]/, rowregex = /<\/(?:\w+:)?row>/; var rregex = /r=["']([^"']*)["']/, isregex = /<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/; + var refregex = /ref=["']([^"']*)["']/; var match_v = matchtag("v"), match_f = matchtag("f"); return function parse_ws_xml_data(sdata, s, opts, guess) { var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p; var tag, tagr = 0, tagc = 0; - var sstr; + var sstr, ftag; var fmtid = 0, fillid = 0, do_format = Array.isArray(styles.CellXf), cf; + var arrayf = []; + var sharedf = []; for(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) { x = marr[mt].trim(); var xlen = x.length; @@ -7722,10 +8070,29 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { d = x.substr(i); p = ({t:""}); - // $FlowIgnore if((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]); - // $FlowIgnore - if(opts.cellFormula && (cref=d.match(match_f))!= null && cref[1] !== '') p.f=unescapexml(cref[1]); + if(opts.cellFormula) { + if((cref=d.match(match_f))!= null && cref[1] !== '') { + p.f=unescapexml(utf8read(cref[1])); + if(cref[0].indexOf('t="array"') > -1) { + p.F = (d.match(refregex)||[])[1]; + if(p.F.indexOf(":") > -1) arrayf.push([safe_decode_range(p.F), p.F]); + } else if(cref[0].indexOf('t="shared"') > -1) { + // TODO: parse formula + ftag = parsexmltag(cref[0]); + sharedf[parseInt(ftag.si, 10)] = [ftag, unescapexml(utf8read(cref[1]))]; + } + } else if((cref=d.match(/]*\/>/))) { + ftag = parsexmltag(cref[0]); + if(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][0].ref, tag.r); + } + /* TODO: factor out contains logic */ + var _tag = decode_cell(tag.r); + for(i = 0; i < arrayf.length; ++i) + if(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r) + if(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c) + p.F = arrayf[i][1]; + } /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -7965,53 +8332,65 @@ function write_BrtCellSt(cell, ncell, o) { /* [MS-XLSB] 2.4.647 BrtFmlaBool */ function parse_BrtFmlaBool(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'b']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.648 BrtFmlaError */ function parse_BrtFmlaError(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = data.read_shift(1); var o = [cell, value, 'e']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length-9); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-9; + else data.l = end; return o; } /* [MS-XLSB] 2.4.649 BrtFmlaNum */ function parse_BrtFmlaNum(data, length, opts) { + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_Xnum(data); var o = [cell, value, 'n']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, length - 16); - o[3] = ""; /* TODO */ + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l += length-16; + else data.l = end; return o; } /* [MS-XLSB] 2.4.650 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { - var start = data.l; + var end = data.l + length; var cell = parse_XLSBCell(data); + cell.r = opts['!row']; var value = parse_XLWideString(data); var o = [cell, value, 'str']; if(opts.cellFormula) { - var formula = parse_XLSBCellParsedFormula(data, start + length - data.l); + data.l += 2; + var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); + o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ } - else data.l = start + length; + else data.l = end; return o; } @@ -8030,8 +8409,34 @@ function parse_BrtHLink(data, length, opts) { return {rfx:rfx, relId:relId, loc:loc, tooltip:tooltip, display:display}; } +/* [MS-XLSB] 2.4.6 BrtArrFmla */ +function parse_BrtArrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_RfX(data, 16); + var fAlwaysCalc = data.read_shift(1); + var o = [rfx, null, fAlwaysCalc]; + if(opts.cellFormula) { + var formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts); + o[1] = formula; + } else data.l = end; + return o; +} + +/* [MS-XLSB] 2.4.742 BrtShrFmla */ +function parse_BrtShrFmla(data, length, opts) { + var end = data.l + length; + var rfx = parse_UncheckedRfX(data, 16); + var o = [rfx, null]; + if(opts.cellFormula) { + var formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts); + o[1] = formula; + data.l = end; + } else data.l = end; + return o; +} + /* [MS-XLSB] 2.1.7.61 Worksheet */ -function parse_ws_bin(data, opts, rels) { +function parse_ws_bin(data, opts, rels, wb) { if(!data) return data; if(!rels) rels = {'!id':{}}; var s = {}; @@ -8042,8 +8447,22 @@ function parse_ws_bin(data, opts, rels) { var pass = false, end = false; var row, p, cf, R, C, addr, sstr, rr; var mergecells = []; + if(!opts) opts = {}; + opts.biff = 12; + opts['!row'] = 0; + + var ai = 0, af = false; + + var array_formulae = []; + var shared_formulae = {}; + var supbooks = ([[]]); + supbooks.sharedf = shared_formulae; + supbooks.arrayf = array_formulae; + opts.supbooks = supbooks; + + for(var i = 0; i < wb.Names['!names'].length; ++i) supbooks[0][i+1] = wb.Names[wb.Names['!names'][i]]; + recordhopper(data, function ws_parse(val, Record) { - //console.log(Record); if(end) return; switch(Record.n) { case 'BrtWsDim': ref = val; break; @@ -8051,6 +8470,7 @@ function parse_ws_bin(data, opts, rels) { row = val; if(opts.sheetRows && opts.sheetRows <= row.r) end=true; rr = encode_row(row.r); + opts['!row'] = row.r; break; case 'BrtFmlaBool': @@ -8071,9 +8491,19 @@ function parse_ws_bin(data, opts, rels) { case 'e': p.v = val[1]; p.w = BErr[p.v]; break; case 'str': p.t = 's'; p.v = utf8read(val[1]); break; } - if(opts.cellFormula && val.length > 3) p.f = val[3]; if((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.ifmt,null,opts); s[encode_col(C=val[0].c) + rr] = p; + if(opts.cellFormula) { + af = false; + for(ai = 0; ai < array_formulae.length; ++ai) { + var aii = array_formulae[ai]; + if(row.r >= aii[0].s.r && row.r <= aii[0].e.r) + if(C >= aii[0].s.c && C <= aii[0].e.c) { + p.F = encode_range(aii[0]); af = true; + } + } + if(!af && val.length > 3) p.f = val[3]; + } if(refguess.s.r > row.r) refguess.s.r = row.r; if(refguess.s.c > C) refguess.s.c = C; if(refguess.e.r < row.r) refguess.e.r = row.r; @@ -8108,8 +8538,17 @@ function parse_ws_bin(data, opts, rels) { } break; - case 'BrtArrFmla': break; // TODO - case 'BrtShrFmla': break; // TODO + case 'BrtArrFmla': if(!opts.cellFormula) break; + array_formulae.push(val); + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + s[encode_col(C) + rr].F = encode_range(val[0]); + break; + case 'BrtShrFmla': if(!opts.cellFormula) break; + // TODO + shared_formulae[encode_cell(val[0].s)] = val[1]; + s[encode_col(C) + rr].f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts); + break; + case 'BrtBeginSheet': break; case 'BrtWsProp': break; // TODO case 'BrtSheetCalcProp': break; // TODO @@ -8220,6 +8659,10 @@ function parse_ws_bin(data, opts, rels) { default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); } }, opts); + + delete opts.supbooks; + delete opts['!row']; + if(!s["!ref"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s["!ref"] = encode_range(ref || refguess); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); @@ -8620,15 +9063,43 @@ function parse_BrtFRTArchID$(data, length) { return o; } +/* [MS-XLSB] 2.4.680 BrtName */ +function parse_BrtName(data, length, opts) { + var end = data.l + length; + var flags = data.read_shift(4); + var chKey = data.read_shift(1); + var itab = data.read_shift(4); + var name = parse_XLNameWideString(data); + var formula = parse_XLSBNameParsedFormula(data, 0, opts); + var comment = parse_XLNullableWideString(data); + if(0 /* fProc */) { + // unusedstring1: XLNullableWideString + // description: XLNullableWideString + // helpTopic: XLNullableWideString + // unusedstring2: XLNullableWideString + } + data.l = end; + return {Name:name, Ptg:formula, Comment:comment}; +} + /* [MS-XLSB] 2.1.7.60 Workbook */ function parse_wb_bin(data, opts) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, z; + if(!opts) opts = {}; + opts.biff = 12; + + var Names = {}, NameList = []; + recordhopper(data, function hopper_wb(val, R) { switch(R.n) { case 'BrtBundleSh': wb.Sheets.push(val); break; + case 'BrtName': + Names[val.Name] = val; NameList.push(val.Name); + break; + case 'BrtBeginBook': break; case 'BrtFileVersion': break; case 'BrtWbProp14': case 'BrtWbProp': break; @@ -8650,7 +9121,6 @@ function parse_wb_bin(data, opts) { case 'BrtSupBookSrc': break; case 'BrtExternSheet': break; case 'BrtEndExternals': break; - case 'BrtName': break; case 'BrtCalcProp': break; case 'BrtUserBookView': break; case 'BrtBeginPivotCacheIDs': break; @@ -8677,10 +9147,13 @@ function parse_wb_bin(data, opts) { case 'BrtEndBook': break; default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); } - }); + }, opts); parse_wb_defaults(wb); + Names['!names'] = NameList; + wb.Names = Names; + return wb; } @@ -8767,9 +9240,9 @@ function parse_wb(data, name, opts) { return parse_wb_xml((data), opts); } -function parse_ws(data, name, opts, rels) { - if(name.substr(name.length-4)===".bin") return parse_ws_bin((data), opts, rels); - return parse_ws_xml((data), opts, rels); +function parse_ws(data, name, opts, rels, wb) { + if(name.substr(name.length-4)===".bin") return parse_ws_bin((data), opts, rels, wb); + return parse_ws_xml((data), opts, rels, wb); } function parse_sty(data, name, opts) { @@ -8902,7 +9375,7 @@ function process_style_xlml(styles, stag, opts) { } /* TODO: there must exist some form of OSP-blessed spec */ -function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) { +function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; if(sid === undefined && row) sid = row.StyleID; @@ -8920,7 +9393,7 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) { break; case 'String': cell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml)); - cell.v = xml.indexOf("<") > -1 ? ss : cell.r; + cell.v = xml.indexOf("<") > -1 ? unescapexml(ss) : cell.r; break; case 'DateTime': cell.v = (Date.parse(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); @@ -8936,9 +9409,24 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) { default: cell.t = 's'; cell.v = xlml_fixstr(ss); break; } safe_format_xlml(cell, nf, o); - if(o.cellFormula != null && cell.Formula) { - cell.f = rc_to_a1(unescapexml(cell.Formula), base); - cell.Formula = undefined; + if(o.cellFormula != null) { + if(cell.Formula) { + var fstr = unescapexml(cell.Formula); + /* strictly speaking, the leading = is required but some writers omit */ + if(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.substr(1); + cell.f = rc_to_a1(fstr, base); + cell.Formula = undefined; + if(cell.ArrayRange == "RC") cell.F = rc_to_a1("RC:RC", base); + else if(cell.ArrayRange) { + cell.F = rc_to_a1(cell.ArrayRange, base); + arrayf.push([safe_decode_range(cell.F), cell.F]); + } + } else { + for(i = 0; i < arrayf.length; ++i) + if(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r) + if(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c) + cell.F = arrayf[i][1]; + } } if(o.cellStyles) { interiors.forEach(function(x) { @@ -8977,11 +9465,12 @@ function parse_xlml_xml(d, opts) { var Props = {}, Custprops = {}, pidx = 0, cp = {}; var comments = [], comment = {}; var cstys = [], csty; + var arrayf = []; xlmlregex.lastIndex = 0; while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { case 'Data': if(state[state.length-1][1]) break; - if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, opts); + if(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]=="Comment"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts); else { ss = ""; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; } break; case 'Cell': @@ -9828,7 +10317,15 @@ function parse_workbook(blob, options) { default: temp_val = ({v:val.val, ixfe:val.cell.ixfe, t:val.tt}); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); + if(options.cellFormula) { + var _f = val.formula; + if(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') { + var _fr = _f[0][0][1][0], _fc = _f[0][0][1][1]; + var _fe = encode_cell({r:_fr, c:_fc}); + if(shared_formulae[_fe]) temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + else temp_val.F = (out[_fe] || {}).F; + } else temp_val.f = stringify_formula(val.formula,range,val.cell,supbooks, opts); + } safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; @@ -9839,7 +10336,7 @@ function parse_workbook(blob, options) { last_formula.val = val; temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}); temp_val.XF = XFs[temp_val.ixfe]; - if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + if(options.cellFormula) temp_val.f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(last_formula.cell, temp_val, options); last_formula = null; @@ -9847,12 +10344,19 @@ function parse_workbook(blob, options) { } break; case 'Array': { array_formulae.push(val); + if(options.cellFormula && out[last_cell]) { + out[last_cell].f = stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + out[last_cell].F = encode_range(val[0]); + } } break; case 'ShrFmla': { if(!cell_valid) break; - //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); - /* TODO: capture range */ - if(last_formula) shared_formulae[encode_cell(last_formula.cell)]= val[0]; + if(!options.cellFormula) break; + if(last_cell) { + /* TODO: capture range */ + shared_formulae[encode_cell(last_formula.cell)]= val[0]; + (out[encode_cell(last_formula.cell)]||{}).f = stringify_formula(val[0], range, lastcell, supbooks, opts); + } } break; case 'LabelSst': temp_val=make_cell(sst[val.isst].t, val.ixfe, 's'); @@ -9860,6 +10364,7 @@ function parse_workbook(blob, options) { safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; + case 'RString': case 'Label': case 'BIFF2STR': temp_val=make_cell(val.val, val.ixfe, 's'); temp_val.XF = XFs[temp_val.ixfe]; @@ -10133,14 +10638,12 @@ function parse_workbook(blob, options) { default: switch(R.n) { /* nested */ /* BIFF5 records */ case 'ExternCount': break; - case 'RString': break; case 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break; /* BIFF2-4 records */ - case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': break; + case 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break; case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; - case 'Dimension': break; /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': @@ -10245,7 +10748,7 @@ var XLSBRecordEnum = { 0x0024: { n:"BrtFRTEnd", f:parsenoop }, 0x0025: { n:"BrtACBegin", f:parsenoop }, 0x0026: { n:"BrtACEnd", f:parsenoop }, -0x0027: { n:"BrtName", f:parsenoop }, +0x0027: { n:"BrtName", f:parse_BrtName }, 0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, 0x002A: { n:"BrtIndexBlock", f:parsenoop }, 0x002B: { n:"BrtFont", f:parse_BrtFont }, @@ -10568,8 +11071,8 @@ var XLSBRecordEnum = { 0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, 0x01A8: { n:"BrtEndUserShView", f:parsenoop }, 0x01A9: { n:"BrtEndUserShViews", f:parsenoop }, -0x01AA: { n:"BrtArrFmla", f:parsenoop }, -0x01AB: { n:"BrtShrFmla", f:parsenoop }, +0x01AA: { n:"BrtArrFmla", f:parse_BrtArrFmla }, +0x01AB: { n:"BrtShrFmla", f:parse_BrtShrFmla }, 0x01AC: { n:"BrtTable", f:parsenoop }, 0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, 0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, @@ -11231,6 +11734,7 @@ var XLSRecordEnum = { 0x0203: { n:"Number", f:parse_Number }, 0x0204: { n:"Label", f:parse_Label }, 0x0205: { n:"BoolErr", f:parse_BoolErr }, +0x0206: { n:"Formula", f:parse_Formula }, 0x0207: { n:"String", f:parse_String }, 0x0208: { n:'Row', f:parse_Row }, 0x020b: { n:"Index", f:parse_Index }, @@ -11240,6 +11744,7 @@ var XLSRecordEnum = { 0x023e: { n:"Window2", f:parse_Window2 }, 0x027e: { n:"RK", f:parse_RK }, 0x0293: { n:"Style", f:parse_Style }, +0x0406: { n:"Formula", f:parse_Formula }, 0x0418: { n:"BigName", f:parse_BigName }, 0x041e: { n:"Format", f:parse_Format }, 0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, @@ -11396,7 +11901,7 @@ var XLSRecordEnum = { 0x1068: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ -0x0000: { n:"Dimension", f:parsenoop }, +0x0000: { n:"Dimensions", f:parse_Dimensions }, 0x0002: { n:"BIFF2INT", f:parse_BIFF2INT }, 0x0005: { n:"BoolErr", f:parse_BoolErr }, 0x0007: { n:"String", f:parse_BIFF2STRING }, @@ -11405,6 +11910,7 @@ var XLSRecordEnum = { 0x001e: { n:"BIFF2FORMAT", f:parse_BIFF2Format }, 0x001f: { n:"BIFF2FMTCNT", f:parsenoop }, /* 16-bit cnt of BIFF2FORMAT records */ 0x0016: { n:"ExternCount", f:parsenoop }, +0x0021: { n:"Array", f:parse_Array }, 0x0025: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, 0x0032: { n:"BIFF2FONTXTRA", f:parse_BIFF2FONTXTRA }, 0x003e: { n:"BIFF2WINDOW2", f:parsenoop }, @@ -11424,7 +11930,7 @@ var XLSRecordEnum = { 0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ 0x00c2: { n:"AddMenu", f:parsenoop }, 0x00c3: { n:"DelMenu", f:parsenoop }, -0x00d6: { n:"RString", f:parsenoop }, +0x00d6: { n:"RString", f:parse_RString }, 0x00df: { n:"UDDesc", f:parsenoop }, 0x00ea: { n:"TabIdConf", f:parsenoop }, 0x0162: { n:"XL5Modify", f:parsenoop }, @@ -11433,7 +11939,6 @@ var XLSRecordEnum = { 0x0218: { n:"Lbl", f:parse_Lbl }, 0x0223: { n:"ExternName", f:parse_ExternName }, 0x0231: { n:"Font", f:parsenoop }, -0x0406: { n:"Formula", f:parse_Formula }, 0x0409: { n:'BOF', f:parse_BOF }, 0x086d: { n:"FeatInfo", f:parsenoop }, 0x0873: { n:"FeatInfo11", f:parsenoop }, @@ -11638,10 +12143,10 @@ function safe_parse_wbrels(wbrels, sheets) { return !wbrels || wbrels.length === 0 ? null : wbrels; } -function safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts) { +function safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts, wb) { try { sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); - sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]); + sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet], wb); } catch(e) { if(opts.WTF) throw e; } } @@ -11742,7 +12247,7 @@ function parse_zip(zip, opts) { path = path.replace(/sheet0\./,"sheet."); } relsPath = path.replace(/^(.*)(\/)([^\/]*)$/, "$1/_rels/$3.rels"); - safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts); + safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts, wb); } if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); @@ -12102,10 +12607,10 @@ function sheet_to_csv(sheet, opts) { var make_csv = sheet_to_csv; function sheet_to_formulae(sheet) { - var cmds, y = "", x, val=""; - if(sheet == null || sheet["!ref"] == null) return ""; + var y = "", x, val=""; + if(sheet == null || sheet["!ref"] == null) return []; var r = safe_decode_range(sheet['!ref']), rr = "", cols = [], C; - cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); + var cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); var i = 0; for(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C); for(var R = r.s.r; R <= r.e.r; ++R) { @@ -12115,9 +12620,18 @@ function sheet_to_formulae(sheet) { x = sheet[y]; val = ""; if(x === undefined) continue; + else if(x.F != null) { + y = x.F; + if(!x.f) continue; + val = x.f; + if(y.indexOf(":") == -1) y = y + ":" + y; + } if(x.f != null) val = x.f; + else if(x.t == 'n' && x.v != null) val = "" + x.v; + else if(x.t == 'b') val = x.v ? "TRUE" : "FALSE"; else if(x.w !== undefined) val = "'" + x.w; else if(x.v === undefined) continue; + else if(x.t == 's') val = "'" + x.v; else val = ""+x.v; cmds[i++] = y + "=" + val; }