diff --git a/.flowconfig b/.flowconfig index 8462e3d..bf00f9f 100644 --- a/.flowconfig +++ b/.flowconfig @@ -1,7 +1,6 @@ [ignore] .*/node_modules/.* .*/dist/.* -.*/tmp/.* .*/test.js .*/bits/.* @@ -12,30 +11,16 @@ .*/demo/browser.js .*/shim.js -.*/xlsx.js -.*/xlsxworker.js -.*/xlsxworker1.js -.*/xlsxworker2.js -.*/jszip.js -.*/tests/.* -.*/demos/.* - -#.*/xlsx.flow.js [include] -xlsxworker.flow.js -xlsxworker1.flow.js -xlsxworker2.flow.js -xlsx.flow.js +xlsx.js .*/bin/.*.njs .*/demo/browser.flow.js [libs] -bits/09_types.js misc/flow.js misc/flowdeps.js [options] module.file_ext=.js module.file_ext=.njs -module.ignore_non_literal_requires=true -suppress_comment= \\(.\\|\n\\)*\\$FlowIgnore + diff --git a/.gitignore b/.gitignore index ca3f28a..b64031e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,21 @@ node_modules -*.tgz misc/coverage.html misc/prof.js v8.log tmp *.txt -*.[cC][sS][vV] -*.[dD][iI][fF] -*.[pP][rR][nN] -*.[sS][lL][kK] +*.csv +*.dif +*.prn +*.slk *.socialcalc -*.[xX][lL][sSwWcC] -*.[xX][lL][sS][xXmMbB] -*.[oO][dD][sS] -*.[fF][oO][dD][sS] -*.[xX][mM][lL] -*.[uU][oO][sS] +*.xls +*.xlsb +*.xlsm +*.xlsx +*.xlsm +*.xlsb +*.xml *.htm *.html *.sheetjs -*.exe diff --git a/.npmignore b/.npmignore index d89b36d..9477faf 100644 --- a/.npmignore +++ b/.npmignore @@ -1,27 +1,23 @@ test_files/ tests/files/ -demos/ index.html misc/ node_modules -*.tgz tmp *.txt -*.[cC][sS][vV] -*.[dD][iI][fF] -*.[pP][rR][nN] -*.[sS][lL][kK] +*.csv +*.dif +*.prn +*.slk *.socialcalc -*.[xX][lL][sSwWcC] -*.[xX][lL][sS][xXmMbB] -*.[oO][dD][sS] -*.[fF][oO][dD][sS] -*.[xX][mM][lL] -*.[uU][oO][sS] +*.xls +*.xlsb +*.xlsm +*.xlsx +*.xml *.htm *.html *.sheetjs -*.exe .gitignore .jshintrc CONTRIBUTING.md @@ -35,7 +31,6 @@ test.js .gitmodules .travis.yml .flowconfig -*.flow.js bits/ odsbits/ tests/ diff --git a/.travis.yml b/.travis.yml index d223827..4fc8697 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,19 +3,18 @@ node_js: - "7" - "6" - "5" - - "4" + - "4.2" - "0.12" - "0.10" - - "0.9" - "0.8" before_install: - - "npm install -g npm@4.3.0" - - "npm install -g mocha@2.x voc" + - "npm install -g npm@next" + - "npm install -g mocha voc" - "npm install blanket" - "npm install xlsjs" - "npm install coveralls mocha-lcov-reporter" before_script: - "make init" - - "cd test_files; make all; cd -" + - "cd test_files; make all; cd -" after_success: -# - "make coveralls-spin" + - "make coveralls-spin" diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 9eb66a1..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,28 +0,0 @@ -# CHANGELOG - -This log is intended to keep track of backwards-incompatible changes, including -but not limited to API changes and file location changes. Minor behavioral -changes may not be included if they are not expected to break existing code. - - -## Unreleased - -* XLML property names are more closely mapped to the XLSX equivalent - -## 0.9.2 (2017-03-13) - -* Removed stale TypeScript definition files. Flowtype comments are used in the - `xlsx.flow.js` source and stripped to produce `xlsx.js`. -* sed usage reworked to support GNU sed in-place form. BSD sed seems to work, - but the build script has not been tested on other sed variants: - -```bash -$ sed -i.ext [...] # GNU -$ sed -i .ext [...] # bsd -``` - -## 0.9.0 (2017-03-09) - -* Removed ods.js source. The xlsx.js source absorbed the ODS logic and exposes - the ODS variable, so projects should remove references to ods.js - diff --git a/Makefile b/Makefile index db8eeb7..1c39d53 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ LIB=xlsx FMT=xlsx xlsm xlsb ods xls xml misc full REQS=jszip.js ADDONS=dist/cpexcel.js -AUXTARGETS= +AUXTARGETS=ods.js CMDS=bin/xlsx.njs HTMLLINT=index.html @@ -11,31 +11,24 @@ ULIB=$(shell echo $(LIB) | tr a-z A-Z) DEPS=$(sort $(wildcard bits/*.js)) TARGET=$(LIB).js FLOWTARGET=$(LIB).flow.js -FLOWAUX=$(patsubst %.js,%.flow.js,$(AUXTARGETS)) -AUXSCPTS=xlsxworker1.js xlsxworker2.js xlsxworker.js -FLOWTGTS=$(TARGET) $(AUXTARGETS) $(AUXSCPTS) -UGLIFYOPTS=--support-ie8 ## Main Targets .PHONY: all -all: $(TARGET) $(AUXTARGETS) $(AUXSCPTS) ## Build library and auxiliary scripts +all: $(TARGET) $(AUXTARGETS) ## Build library and auxiliary scripts -$(FLOWTGTS): %.js : %.flow.js - node -e 'process.stdout.write(require("fs").readFileSync("$<","utf8").replace(/^[ \t]*\/\*[:#][^*]*\*\/\s*(\n)?/gm,"").replace(/\/\*[:#][^*]*\*\//gm,""))' > $@ - -$(FLOWTARGET): $(DEPS) +$(TARGET): $(DEPS) cat $^ | tr -d '\15\32' > $@ bits/01_version.js: package.json echo "$(ULIB).version = '"`grep version package.json | awk '{gsub(/[^0-9a-z\.-]/,"",$$2); print $$2}'`"';" > $@ -bits/18_cfb.js: node_modules/cfb/xlscfb.flow.js +bits/18_cfb.js: node_modules/cfb/dist/xlscfb.js cp $^ $@ .PHONY: clean clean: ## Remove targets and build artifacts - rm -f $(TARGET) $(FLOWTARGET) + rm -f $(TARGET) .PHONY: clean-data clean-data: @@ -53,32 +46,33 @@ init: ## Initial setup for development dist: dist-deps $(TARGET) bower.json ## Prepare JS files for distribution cp $(TARGET) dist/ cp LICENSE dist/ - uglifyjs $(UGLIFYOPTS) $(TARGET) -o dist/$(LIB).min.js --source-map dist/$(LIB).min.map --preamble "$$(head -n 1 bits/00_header.js)" + uglifyjs $(TARGET) -o dist/$(LIB).min.js --source-map dist/$(LIB).min.map --preamble "$$(head -n 1 bits/00_header.js)" misc/strip_sourcemap.sh dist/$(LIB).min.js - uglifyjs $(UGLIFYOPTS) $(REQS) $(TARGET) -o dist/$(LIB).core.min.js --source-map dist/$(LIB).core.min.map --preamble "$$(head -n 1 bits/00_header.js)" + uglifyjs $(REQS) $(TARGET) -o dist/$(LIB).core.min.js --source-map dist/$(LIB).core.min.map --preamble "$$(head -n 1 bits/00_header.js)" misc/strip_sourcemap.sh dist/$(LIB).core.min.js - uglifyjs $(UGLIFYOPTS) $(REQS) $(ADDONS) $(TARGET) $(AUXTARGETS) -o dist/$(LIB).full.min.js --source-map dist/$(LIB).full.min.map --preamble "$$(head -n 1 bits/00_header.js)" + uglifyjs $(REQS) $(ADDONS) $(TARGET) -o dist/$(LIB).full.min.js --source-map dist/$(LIB).full.min.map --preamble "$$(head -n 1 bits/00_header.js)" misc/strip_sourcemap.sh dist/$(LIB).full.min.js - cat <(head -n 1 bits/00_header.js) $(REQS) $(ADDONS) $(TARGET) $(AUXTARGETS) > demos/requirejs/$(LIB).full.js .PHONY: dist-deps -dist-deps: ## Copy dependencies for distribution +dist-deps: ods.js ## Copy dependencies for distribution cp node_modules/codepage/dist/cpexcel.full.js dist/cpexcel.js cp jszip.js dist/jszip.js + cp ods.js dist/ods.js + +bower.json: misc/_bower.json package.json + cat $< | sed 's/_VERSION_/'`grep version package.json | awk '{gsub(/[^0-9a-z\.-]/,"",$$2); print $$2}'`'/' > $@ .PHONY: aux aux: $(AUXTARGETS) -.PHONY: graph -graph: formats.png ## Rebuild format conversion graph -formats.png: formats.dot - circo -Tpng -o$@ $< +.PHONY: ods +ods: ods.js -.PHONY: nexe -nexe: xlsx.exe ## Build nexe standalone executable +ODSDEPS=$(sort $(wildcard odsbits/*.js)) +ods.js: $(ODSDEPS) ## Build ODS support library + cat $(ODSDEPS) | tr -d '\15\32' > $@ + cp ods.js dist/ods.js -xlsx.exe: bin/xlsx.njs xlsx.js - nexe -i $< -o $@ --flags ## Testing @@ -92,32 +86,11 @@ TESTFMT=$(patsubst %,test_%,$(FMT)) $(TESTFMT): test_%: FMTS=$* make test -.PHONY: travis -travis: ## Run test suite with minimal output - mocha -R dot -t 30000 - -.PHONY: demos -demos: demo-browserify demo-webpack demo-requirejs - -.PHONY: demo-browserify -demo-browserify: ## Run browserify demo build - make -C demos/browserify - @echo "start a local server and go to demos/browserify/browserify.html" - -.PHONY: demo-webpack -demo-webpack: ## Run webpack demo build - make -C demos/webpack - @echo "start a local server and go to demos/webpack/webpack.html" - -.PHONY: demo-requirejs -demo-requirejs: ## Run requirejs demo build - make -C demos/requirejs - @echo "start a local server and go to demos/requirejs/requirejs.html" ## Code Checking .PHONY: lint -lint: $(TARGET) $(AUXTARGETS) ## Run jshint and jscs checks +lint: $(TARGET) ## Run jshint and jscs checks @jshint --show-non-errors $(TARGET) $(AUXTARGETS) @jshint --show-non-errors $(CMDS) @jshint --show-non-errors package.json bower.json @@ -128,7 +101,7 @@ lint: $(TARGET) $(AUXTARGETS) ## Run jshint and jscs checks flow: lint ## Run flow checker @flow check --all --show-all-errors -.PHONY: cov +.PHONY: cov cov-spin cov: misc/coverage.html ## Run coverage test #* To run coverage tests for one format, make cov_ @@ -140,13 +113,10 @@ $(COVFMT): cov_%: misc/coverage.html: $(TARGET) test.js mocha --require blanket -R html-cov -t 20000 > $@ -.PHONY: coveralls +.PHONY: coveralls coveralls-spin coveralls: ## Coverage Test + Send to coveralls.io mocha --require blanket --reporter mocha-lcov-reporter -t 20000 | node ./node_modules/coveralls/bin/coveralls.js -.PHONY: readme -readme: ## Update README Table of Contents - markdown-toc -i README.md .PHONY: help help: diff --git a/README.md b/README.md index bbd9a68..37a07cb 100644 --- a/README.md +++ b/README.md @@ -1,72 +1,26 @@ # xlsx Parser and writer for various spreadsheet formats. Pure-JS cleanroom -implementation from official specifications, related documents, and test files. -Emphasis on parsing and writing robustness, cross-format feature compatibility -with a unified JS representation, and ES3/ES5 browser compatibility back to IE6. +implementation from official specifications and related documents. -[**In-Browser Demo**](http://oss.sheetjs.com/js-xlsx) +Supported read formats: -[**Source Code**](http://git.io/xlsx) +- Excel 2007+ XML Formats (XLSX/XLSM) +- Excel 2007+ Binary Format (XLSB) +- Excel 2003-2004 XML Format (XML "SpreadsheetML") +- Excel 97-2004 (XLS BIFF8) +- Excel 5.0/95 (XLS BIFF5) +- OpenDocument Spreadsheet (ODS) -[**Commercial Support**](http://sheetjs.com/reinforcements) +Supported write formats: -[**File format support for known spreadsheet data formats:**](#file-formats) +- XLSX +- CSV (and general DSV) +- JSON and JS objects (various styles) -![circo graph of format support](formats.png) +Demo: - - -## Table of Contents - - - -- [Installation](#installation) - * [JS Ecosystem Demos](#js-ecosystem-demos) - * [Optional Modules](#optional-modules) - * [ECMAScript 5 Compatibility](#ecmascript-5-compatibility) -- [Parsing Workbooks](#parsing-workbooks) -- [Working with the Workbook](#working-with-the-workbook) -- [Writing Workbooks](#writing-workbooks) -- [Interface](#interface) - * [Parsing functions](#parsing-functions) - * [Writing functions](#writing-functions) - * [Utilities](#utilities) -- [Workbook / Worksheet / Cell Object Description](#workbook--worksheet--cell-object-description) - * [General Structures](#general-structures) - * [Cell Object](#cell-object) - * [Data Types](#data-types) - * [Formulae](#formulae) - * [Worksheet Object](#worksheet-object) - * [Workbook Object](#workbook-object) -- [Parsing Options](#parsing-options) - * [Input Type](#input-type) - * [Guessing File Type](#guessing-file-type) -- [Writing Options](#writing-options) - * [Supported Output Formats](#supported-output-formats) - * [Output Type](#output-type) -- [Utility Functions](#utility-functions) - * [Formulae Output](#formulae-output) - * [CSV and general DSV Output](#csv-and-general-dsv-output) - * [JSON](#json) -- [File Formats](#file-formats) - * [Excel 2007+ XML (XLSX/XLSM)](#excel-2007-xml-xlsxxlsm) - * [Excel 2.0-95 (BIFF2/BIFF3/BIFF4/BIFF5)](#excel-20-95-biff2biff3biff4biff5) - * [Excel 97-2004 Binary (BIFF8)](#excel-97-2004-binary-biff8) - * [Excel 2003-2004 (SpreadsheetML)](#excel-2003-2004-spreadsheetml) - * [Excel 2007+ Binary (XLSB, BIFF12)](#excel-2007-binary-xlsb-biff12) - * [OpenDocument Spreadsheet (ODS/FODS) and Uniform Office Spreadsheet (UOS1/2)](#opendocument-spreadsheet-odsfods-and-uniform-office-spreadsheet-uos12) - * [Comma-Separated Values](#comma-separated-values) - * [HTML](#html) -- [Testing](#testing) - * [Tested Environments](#tested-environments) - * [Test Files](#test-files) -- [Contributing](#contributing) -- [License](#license) -- [References](#references) -- [Badges](#badges) - - +Source: ## Installation @@ -91,15 +45,7 @@ $ bower install js-xlsx CDNjs automatically pulls the latest version and makes all versions available at -### JS Ecosystem Demos - -The `demos` directory includes sample projects for: - -- [`browserify`](http://browserify.org/) -- [`requirejs`](http://requirejs.org/) -- [`webpack`](https://webpack.js.org/) - -### Optional Modules +## Optional Modules The node version automatically requires modules for additional features. Some of these modules are rather large in size and are only needed in special @@ -107,26 +53,17 @@ circumstances, so they do not ship with the core. For browser use, they must be included directly: ```html - + + + ``` An appropriate version for each dependency is included in the dist/ directory. The complete single-file version is generated at `dist/xlsx.full.min.js` -Webpack and browserify builds include optional modules by default. Webpack can -be configured to remove support with `resolve.alias`: - -```js - /* uncomment the lines below to remove support */ - resolve: { - alias: { "./dist/cpexcel.js": "" } // <-- omit international support - } -``` - - -### ECMAScript 5 Compatibility +## ECMAScript 5 Compatibility Since xlsx.js uses ES5 functions like `Array#forEach`, older browsers require [Polyfills](http://git.io/QVh77g). This repo and the gh-pages branch include @@ -179,75 +116,45 @@ oReq.onload = function(e) { oReq.send(); ``` -- HTML5 drag-and-drop using readAsBinaryString or readAsArrayBuffer: - note: readAsBinaryString and readAsArrayBuffer may not be available in every - browser. Use dynamic feature tests to determine which method to use. +- HTML5 drag-and-drop using readAsBinaryString: ```js -/* processing array buffers, only required for readAsArrayBuffer */ -function fixdata(data) { - var o = "", l = 0, w = 10240; - for(; l generates a simple file - writing an array of arrays in nodejs @@ -365,31 +277,23 @@ saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "test.xlsx"); `XLSX.readFile(filename, read_opts)` attempts to read `filename` and parse. -Parse options are described in the [Parsing Options](#parsing-options) section. - ### Writing functions `XLSX.write(wb, write_opts)` attempts to write the workbook `wb` `XLSX.writeFile(wb, filename, write_opts)` attempts to write `wb` to `filename` -Write options are described in the [Writing Options](#writing-options) section. - ### Utilities Utilities are available in the `XLSX.utils` object: -**Exporting:** +Exporting: -- `sheet_to_json` converts a worksheet object to an array of JSON objects. - `sheet_to_row_object_array` is an alias that will be removed in the future. -- `sheet_to_csv` generates delimiter-separated-values output. -- `sheet_to_formulae` generates a list of the formulae (with value fallbacks). +- `sheet_to_json` converts a workbook object to an array of JSON objects. +- `sheet_to_csv` generates delimiter-separated-values output +- `sheet_to_formulae` generates a list of the formulae (with value fallbacks) -Exporters are described in the [Utility Functions](#utility-functions) section. - - -**Cell and cell address manipulation:** +Cell and cell address manipulation: - `format_cell` generates the text value for a cell (using number formats) - `{en,de}code_{row,col}` convert between 0-indexed rows/cols and A1 forms. @@ -421,46 +325,42 @@ 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 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) | +| 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) | 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. -Type `b` is the Boolean type. `v` is interpreted according to JS truth tables. +Type `b` is the Boolean type. `v` is interpreted according to JS truth tables Type `e` is the Error type. `v` holds the number and `w` holds the common name: -| Value | Error Meaning | -| -----: | :-------------- | -| `0x00` | `#NULL!` | -| `0x07` | `#DIV/0!` | -| `0x0F` | `#VALUE!` | -| `0x17` | `#REF!` | -| `0x1D` | `#NAME?` | -| `0x24` | `#NUM!` | -| `0x2A` | `#N/A` | -| `0x2B` | `#GETTING_DATA` | +| Value | Error Meaning | +| ----: | :------------- | +| 0x00 | #NULL! | +| 0x07 | #DIV/0! | +| 0x0F | #VALUE! | +| 0x17 | #REF! | +| 0x1D | #NAME? | +| 0x24 | #NUM! | +| 0x2A | #N/A | +| 0x2B | #GETTING\_DATA | Type `n` is the Number type. This includes all forms of data that Excel stores as numbers, such as dates/times and Boolean fields. Excel exclusively uses data @@ -471,26 +371,12 @@ Type `d` is the Date type, generated only when the option `cellDates` is passed. Since JSON does not have a natural Date type, parsers are generally expected to store ISO 8601 Date strings like you would get from `date.toISOString()`. On the other hand, writers and exporters should be able to handle date strings and -JS Date objects. Note that Excel disregards timezone modifiers and treats all +JS Date objects. Note that Excel disregards the timezone modifier and treats all 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 @@ -509,7 +395,7 @@ Special worksheet keys (accessible as `worksheet[key]`, each starting with `!`): Functions that handle worksheets should test for the presence of `!ref` field. If the `!ref` is omitted or is not a valid range, functions are free to treat the sheet as empty or attempt to guess the range. The standard utilities that - ship with this library treat sheets as empty (for example, the CSV output is + ship with this library treat sheets as empty (for example, the CSV output is an empty string). When reading a worksheet with the `sheetRows` property set, the ref parameter @@ -543,7 +429,6 @@ The exported `read` and `readFile` functions accept an options argument: | Option Name | Default | Description | | :---------- | ------: | :--------------------------------------------------- | -| type | | Input data encoding (see Input Type below) | | cellFormula | true | Save formulae to the .f field ** | | cellHTML | true | Parse rich text and save HTML to the .h field | | cellNF | false | Save number format string to the .z field | @@ -557,7 +442,6 @@ The exported `read` and `readFile` functions accept an options argument: | bookSheets | false | If true, only parse enough to get the sheet names | | bookVBA | false | If true, expose vbaProject.bin to `vbaraw` field ** | | password | "" | If defined and file is encrypted, use password ** | -| WTF | false | If true, throw errors on unexpected file features ** | - `cellFormula` option only applies to formats that require extra processing to parse formulae (XLS/XLSB). @@ -575,341 +459,52 @@ The exported `read` and `readFile` functions accept an options argument: - `cellDates` currently does not convert numerical dates to JS dates. - Currently only XOR encryption is supported. Unsupported error will be thrown for files employing other encryption methods. -- WTF is mainly for development. By default, the parser will suppress read - errors on single worksheets, allowing you to read from the worksheets that do - parse properly. Setting `WTF:1` forces those errors to be thrown. The defaults are enumerated in bits/84\_defaults.js -### Input Type - -Strings can be interpreted in multiple ways. The `type` parameter for `read` -tells the library how to parse the data argument: - -| `type` | expected input | -|------------|-----------------------------------------------------------------| -| `"base64"` | string: base64 encoding of the file | -| `"binary"` | string: binary string (`n`-th byte is `data.charCodeAt(n)`) | -| `"buffer"` | nodejs Buffer | -| `"array"` | array: array of 8-bit unsigned int (`n`-th byte is `data[n]`) | -| `"file"` | string: filename that will be read and processed (nodejs only) | - -### Guessing File Type - -Excel and other spreadsheet tools read the first few bytes and apply other -heuristics to determine a file type. This enables file type punning: renaming -files with the `.xls` extension will tell your computer to use Excel to open the -file but Excel will know how to handle it. This library applies similar logic: - -| Byte 0 | Raw File Type | Spreadsheet Types | -|:-------|:--------------|:----------------------------------------------------| -| `0xD0` | CFB Container | BIFF 5/8 or password-protected XLSX/XLSB | -| `0x09` | BIFF Stream | BIFF 2/3/4/5 | -| `0x3C` | XML/HTML | SpreadsheetML or Flat ODS or UOS1 or HTML | -| `0x50` | ZIP Archive | XLSB or XLSX/M or ODS or UOS2 | -| `0xFE` | UTF8 Text | SpreadsheetML or Flat ODS or UOS1 | - ## Writing Options The exported `write` and `writeFile` functions accept an options argument: -| Option Name | Default | Description | -| :---------- | -------: | :-------------------------------------------------- | -| type | | Output data encoding (see Output Type below) | -| cellDates | `false` | Store dates as type `d` (default is `n`) | -| bookSST | `false` | Generate Shared String Table ** | -| bookType | `"xlsx"` | Type of Workbook (see below for supported formats) | -| sheet | `""` | Name of Worksheet for single-sheet formats ** | -| compression | `false` | Use ZIP compression for ZIP-based formats ** | +| Option Name | Default | Description | +| :---------- | ------: | :--------------------------------------------------- | +| cellDates | false | Store dates as type `d` (default is `n`) | +| bookSST | false | Generate Shared String Table ** | +| bookType | 'xlsx' | Type of Workbook ("xlsx" or "xlsm" or "xlsb") | - `bookSST` is slower and more memory intensive, but has better compatibility with older versions of iOS Numbers +- `bookType = 'xlsb'` is stubbed and far from complete - The raw data is the only thing guaranteed to be saved. Formulae, formatting, and other niceties may not be serialized (pending CSF standardization) - `cellDates` only applies to XLSX output and is not guaranteed to work with third-party readers. Excel itself does not usually write cells with type `d` so non-Excel tools may ignore the data or blow up in the presence of dates. -### Supported Output Formats +## Tested Environments -For broad compatibility with third-party tools, this library supports many -output formats. The specific file type is controlled with `bookType` option: + - NodeJS 0.8, 0.10 (latest release), 0.11.14 (unstable), io.js + - IE 6/7/8/9/10/11 using Base64 mode (IE10/11 using HTML5 mode) + - FF 18 using Base64 or HTML5 mode + - Chrome 24 using Base64 or HTML5 mode -| bookType | file ext | container | sheets | Description | -| :------- | -------: | :-------: | :----- |:--------------------------------- | -| `xlsx` | `.xlsx` | ZIP | multi | Excel 2007+ XML Format | -| `xlsm` | `.xlsm` | ZIP | multi | Excel 2007+ Macro XML Format | -| `xlsb` | `.xlsb` | ZIP | multi | Excel 2007+ Binary Format | -| `ods` | `.ods` | ZIP | multi | OpenDocument Spreadsheet | -| `biff2` | `.xls` | none | single | Excel 2.0 Worksheet format | -| `fods` | `.fods` | none | multi | Flat OpenDocument Spreadsheet | -| `csv` | `.csv` | none | single | Comma Separated Values | +Tests utilize the mocha testing framework. Travis-CI and Sauce Labs links: -- `compression` only applies to formats with ZIP containers. -- Formats that only support a single sheet require a `sheet` option specifying - the worksheet. If the string is empty, the first worksheet is used. + - for XLSX module in nodejs + - for XLS* modules + - for XLS* modules using Sauce Labs -### Output Type +## Test Files -The `type` argument for `write` mirrors the `type` argument for `read`: +Test files are housed in [another repo](https://github.com/SheetJS/test_files). -| `type` | output | -|------------|-----------------------------------------------------------------| -| `"base64"` | string: base64 encoding of the file | -| `"binary"` | string: binary string (`n`-th byte is `data.charCodeAt(n)`) | -| `"buffer"` | nodejs Buffer | -| `"file"` | string: name of file to be written (nodejs only) | - - -## Utility Functions - -The `sheet_to_*` functions accept a worksheet and an optional options object. - -The examples are based on the following worksheet: - -``` -XXX| A | B | C | D | E | F | G | ----+---+---+---+---+---+---+---+ - 1 | S | h | e | e | t | J | S | - 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | - 3 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -``` - -### Formulae Output - -`XLSX.utils.sheet_to_formulae` generates an array of commands that represent -how a person would enter data into an application. Each entry is of the form -`A1-cell-address=formula-or-value`. String literals are prefixed with a `'` in -accordance with Excel. For the example sheet: - -```js -> var o = XLSX.utils.sheet_to_formulae(ws); -> o.filter(function(v, i) { return i % 5 === 0; }); -[ 'A1=\'S', 'F1=\'J', 'D2=4', 'B3=3', 'G3=8' ] -``` - -### CSV and general DSV Output - -As an alternative to the `writeFile` CSV type, `XLSX.utils.sheet_to_csv` also -produces CSV output. The function takes an options argument: - -| Option Name | Default | Description | -| :---------- | :------: | :-------------------------------------------------- | -| FS | `","` | "Field Separator" delimiter between fields | -| RS | `"\n"` | "Record Separator" delimiter between rows | - -For the example sheet: - -```js -> console.log(XLSX.utils.sheet_to_csv(ws)); -S,h,e,e,t,J,S -1,2,3,4,5,6,7 -2,3,4,5,6,7,8 -> console.log(XLSX.utils.sheet_to_csv(ws, {FS:"\t"})); -S h e e t J S -1 2 3 4 5 6 7 -2 3 4 5 6 7 8 -> console.log(X.utils.sheet_to_csv(_ws,{FS:":",RS:"|"})); -S:h:e:e:t:J:S|1:2:3:4:5:6:7|2:3:4:5:6:7:8| -``` - -### JSON - -`XLSX.utils.sheet_to_json` and the alias `XLSX.utils.sheet_to_row_object_array` -generate different types of JS objects. The function takes an options argument: - -| Option Name | Default | Description | -| :---------- | :------: | :-------------------------------------------------- | -| raw | `false` | Use raw values (true) or formatted strings (false) | -| range | from WS | Override Range (see table below) | -| header | | Control output format (see table below) | - -- `raw` only affects cells which have a format code (`.z`) field or a formatted - text (`.w`) field. -- If `header` is specified, the first row is considered a data row; if `header` - is not specified, the first row is the header row and not considered data. -- When `header` is not specified, the conversion will automatically disambiguate - header entries by affixing `_` and a count starting at `1`. For example, if - three columns have header `foo` the output fields are `foo`, `foo_1`, `foo_2` - -`range` is expected to be one of: - -| `range` | Description | -| :--------------- | :-------------------------------------------------------- | -| (number) | Use worksheet range but set starting row to the value | -| (string) | Use specified range (A1-style bounded range string) | -| (default) | Use worksheet range (`ws['!ref']`) | - -`header` is expected to be one of: - -| `header` | Description | -| :--------------- | :-------------------------------------------------------- | -| `1` | Generate an array of arrays | -| `"A"` | Row object keys are literal column labels | -| array of strings | Use specified strings as keys in row objects | -| (default) | Read and disambiguate first row as keys | - -For the example sheet: - -```js -> console.log(X.utils.sheet_to_json(_ws)); -[ { S: 1, h: 2, e: 3, e_1: 4, t: 5, J: 6, S_1: 7 }, - { S: 2, h: 3, e: 4, e_1: 5, t: 6, J: 7, S_1: 8 } ] - -> console.log(X.utils.sheet_to_json(_ws, {header:1})); -[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ], - [ 1, 2, 3, 4, 5, 6, 7 ], - [ 2, 3, 4, 5, 6, 7, 8 ] ] - -> console.log(X.utils.sheet_to_json(_ws, {header:"A"})); -[ { A: 'S', B: 'h', C: 'e', D: 'e', E: 't', F: 'J', G: 'S' }, - { A: 1, B: 2, C: 3, D: 4, E: 5, F: 6, G: 7 }, - { A: 2, B: 3, C: 4, D: 5, E: 6, F: 7, G: 8 } ] -> console.log(X.utils.sheet_to_json(_ws, {header:["A","E","I","O","U","6","9"]})); -[ { '6': 'J', '9': 'S', A: 'S', E: 'h', I: 'e', O: 'e', U: 't' }, - { '6': 6, '9': 7, A: 1, E: 2, I: 3, O: 4, U: 5 }, - { '6': 7, '9': 8, A: 2, E: 3, I: 4, O: 5, U: 6 } ] -``` - -Example showing the effect of `raw`: - -```js -> _ws['A2'].w = "1"; // set A2 formatted string value -> console.log(X.utils.sheet_to_json(_ws, {header:1})); -[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ], - [ '1', 2, 3, 4, 5, 6, 7 ], // <-- A2 uses the formatted string - [ 2, 3, 4, 5, 6, 7, 8 ] ] -> console.log(X.utils.sheet_to_json(_ws, {header:1, raw:true})); -[ [ 'S', 'h', 'e', 'e', 't', 'J', 'S' ], - [ 1, 2, 3, 4, 5, 6, 7 ], // <-- A2 uses the raw value - [ 2, 3, 4, 5, 6, 7, 8 ] ] -``` - -## File Formats - -Despite the library name `xlsx`, it supports numerous spreadsheet file formats: - -| Format | Read | Write | -|:-------------------------------------------------------------|:-----:|:-----:| -| **Excel Worksheet/Workbook Formats** |:-----:|:-----:| -| Excel 2007+ XML Formats (XLSX/XLSM) | :o: | :o: | -| Excel 2007+ Binary Format (XLSB BIFF12) | :o: | :o: | -| Excel 2003-2004 XML Format (XML "SpreadsheetML") | :o: | :o: | -| Excel 97-2004 (XLS BIFF8) | :o: | | -| Excel 5.0/95 (XLS BIFF5) | :o: | | -| Excel 4.0 (XLS/XLW BIFF4) | :o: | | -| Excel 3.0 (XLS BIFF3) | :o: | | -| Excel 2.0/2.1 (XLS BIFF2) | :o: | :o: | -| **Excel Supported Text Formats** |:-----:|:-----:| -| Delimiter-Separated Values (CSV/TSV/DSV) | | :o: | -| **Other Workbook/Worksheet Formats** |:-----:|:-----:| -| OpenDocument Spreadsheet (ODS) | :o: | :o: | -| Flat XML ODF Spreadsheet (FODS) | :o: | :o: | -| Uniform Office Format Spreadsheet (标文通 UOS1/UOS2) | :o: | | -| **Other Common Spreadsheet Output Formats** |:-----:|:-----:| -| HTML Tables | :o: | | - -### Excel 2007+ XML (XLSX/XLSM) - -XLSX and XLSM files are ZIP containers containing a series of XML files in -accordance with the Open Packaging Conventions (OPC). The XLSM filetype, almost -identical to XLSX, is used for files containing macros. - -The format is standardized in ECMA-376 and later in ISO/IEC 29500. Excel does -not follow the specification, and there are additional documents discussing how -Excel deviates from the specification. - -### Excel 2.0-95 (BIFF2/BIFF3/BIFF4/BIFF5) - -BIFF 2/3 XLS are single-sheet streams of binary records. Excel 4 introduced -the concept of a workbook (`XLW` files) but also had single-sheet `XLS` format. -The structure is largely similar to the Lotus 1-2-3 file formats. BIFF5/8/12 -extended the format in various ways but largely stuck to the same record format. - -There is no official specification for any of these formats. Excel 95 can write -files in these formats, so record lengths and fields were backsolved by writing -in all of the supported formats and comparing files. Excel 2016 can generate -BIFF5 files, enabling a full suite of file tests starting from XLSX or BIFF2. - -### Excel 97-2004 Binary (BIFF8) - -BIFF8 exclusively uses the Compound File Binary container format, splitting some -content into streams within the file. At its core, it still uses an extended -version of the binary record format from older versions of BIFF. - -The `MS-XLS` specification covers the basics of the file format, and other -specifications expand on serialization of features like properties. - -### Excel 2003-2004 (SpreadsheetML) - -Predating XLSX, SpreadsheetML files are simple XML files. There is no official -and comprehensive specification, although MS has released whitepapers on the -format. Since Excel 2016 can generate SpreadsheetML files, backsolving is -pretty straightforward. - -### Excel 2007+ Binary (XLSB, BIFF12) - -Introduced in parallel with XLSX, the XLSB filetype combines BIFF architecture -with the content separation and ZIP container of XLSX. For the most part nodes -in an XLSX sub-file can be mapped to XLSB records in a corresponding sub-file. - -The `MS-XLSB` specification covers the basics of the file format, and other -specifications expand on serialization of features like properties. - -### OpenDocument Spreadsheet (ODS/FODS) and Uniform Office Spreadsheet (UOS1/2) - -ODS is an XML-in-ZIP format akin to XLSX while FODS is an XML format akin to -SpreadsheetML. Both are detailed in the OASIS standard, but tools like LO/OO -add undocumented extensions. - -UOS is a very similar format, and it comes in 2 varieties corresponding to ODS -and FODS respectively. For the most part, the difference between the formats -lies in the names of tags and attributes. - -### Comma-Separated Values - -Excel CSV deviates from RFC4180 in a number of important ways. The generated -CSV files should generally work in Excel although they may not work in RFC4180 -compatible readers. - -### HTML - -Excel HTML worksheets include special metadata encoded in styles. For example, -`mso-number-format` is a localized string containing the number format. Despite -the metadata the output is valid HTML, although it does accept bare `&` symbols. +Running `make init` will refresh the `test_files` submodule and get the files. ## Testing -`make test` will run the node-based tests. By default it runs tests on files in -every supported format. To test a specific file type, set `FMTS` to the format -you want to test. Feature-specific tests are avaialble with `make test_misc` - -```bash -$ make test # run full tests -$ make test_xls # only use the XLS test files -$ make test_xlsx # only use the XLSX test files -$ make test_xlsb # only use the XLSB test files -$ make test_xml # only use the XLSB test files -$ make test_ods # only use the XLSB test files -``` - -To enable all errors, set the environment variable `WTF=1`: - -```bash -$ make test # run full tests -$ WTF=1 make test # enable all error messages -``` - -Flow and JSHint/JSCS checks are available: - -```bash -$ make lint # JSHint and JSCS checks -$ make flow # make lint + Flow checking -``` - -To run the in-browser tests, clone the repo for -[oss.sheetjs.com](https://github.com/SheetJS/SheetJS.github.io) and replace -the xlsx.js file (then fire up the browser and go to `stress.html`): +`make test` will run the node-based tests. To run the in-browser tests, clone +[the oss.sheetjs.com repo](https://github.com/SheetJS/SheetJS.github.io) and +replace the xlsx.js file (then fire up the browser and go to `stress.html`): ```bash $ cp xlsx.js ../SheetJS.github.io @@ -917,27 +512,8 @@ $ cd ../SheetJS.github.io $ simplehttpserver # or "python -mSimpleHTTPServer" or "serve" $ open -a Chromium.app http://localhost:8000/stress.html ``` -### Tested Environments - - - NodeJS 0.8, 0.9, 0.10, 0.11, 0.12, 4.x, 5.x, 6.x, 7.x - - IE 6/7/8/9/10/11 (IE6-9 browsers require shims for interacting with client) - - Chrome 24+ - - Safari 6+ - - FF 18+ - -Tests utilize the mocha testing framework. Travis-CI and Sauce Labs links: - - - for XLSX module in nodejs - - for XLS\* modules - - for XLS\* modules using Sauce Labs - -### Test Files - -Test files are housed in [another repo](https://github.com/SheetJS/test_files). - -Running `make init` will refresh the `test_files` submodule and get the files. - +For a much smaller test, run `make test_misc`. ## Contributing @@ -947,24 +523,28 @@ important to ensure code is cleanroom. Consult CONTRIBUTING.md The xlsx.js file is constructed from the files in the `bits` subdirectory. The build script (run `make`) will concatenate the individual bits to produce the script. Before submitting a contribution, ensure that running make will produce -the xlsx.js file exactly. The simplest way to test is to add the script: +the xlsx.js file exactly. The simplest way to test is to move the script: ```bash -$ git add xlsx.js -$ make clean +$ mv xlsx.js xlsx.new.js $ make -$ git diff xlsx.js +$ diff xlsx.js xlsx.new.js ``` To produce the dist files, run `make dist`. The dist files are updated in each -version release and *should not be committed between versions*. - +version release and should not be committed between versions. ## License Please consult the attached LICENSE file for details. All rights not explicitly -granted by the Apache 2.0 License are reserved by the Original Author. +granted by the Apache 2.0 license are reserved by the Original Author. +It is the opinion of the Original Author that this code conforms to the terms of +the Microsoft Open Specifications Promise, falling under the same terms as +OpenOffice (which is governed by the Apache License v2). Given the vagaries of +the promise, the Original Author makes no legal claim that in fact end users are +protected from future actions. It is highly recommended that, for commercial +uses, you consult a lawyer before proceeding. ## References @@ -982,8 +562,6 @@ 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 @@ -992,21 +570,13 @@ OSP-covered specifications: Open Document Format for Office Applications Version 1.2 (29 September 2011) -Worksheet File Format (From Lotus) December 1984 - ## Badges -[![Build Status](https://saucelabs.com/browser-matrix/xlsx.svg)](https://saucelabs.com/u/xlsx) - [![Build Status](https://travis-ci.org/SheetJS/js-xlsx.svg?branch=master)](https://travis-ci.org/SheetJS/js-xlsx) [![Coverage Status](http://img.shields.io/coveralls/SheetJS/js-xlsx/master.svg)](https://coveralls.io/r/SheetJS/js-xlsx?branch=master) -[![NPM Downloads](https://img.shields.io/npm/dt/xlsx.svg)](https://npmjs.org/package/xlsx) - -[![Dependencies Status](https://david-dm.org/sheetjs/js-xlsx/status.svg)](https://david-dm.org/sheetjs/js-xlsx) +[![Analytics](https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/js-xlsx?pixel)](https://github.com/SheetJS/js-xlsx) [![ghit.me](https://ghit.me/badge.svg?repo=sheetjs/js-xlsx)](https://ghit.me/repo/sheetjs/js-xlsx) - -[![Analytics](https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/js-xlsx?pixel)](https://github.com/SheetJS/js-xlsx) diff --git a/bin/xlsx.njs b/bin/xlsx.njs index a8f2f8b..6f511d9 100755 --- a/bin/xlsx.njs +++ b/bin/xlsx.njs @@ -10,31 +10,21 @@ program .usage('[options] [sheetname]') .option('-f, --file ', 'use specified workbook') .option('-s, --sheet ', 'print specified sheet (default first sheet)') - .option('-N, --sheet-index ', 'use specified sheet index (0-based)') .option('-p, --password ', 'if file is encrypted, try with specified pw') .option('-l, --list-sheets', 'list sheet names and exit') .option('-o, --output ', 'output to specified file') - .option('-B, --xlsb', 'emit XLSB to or .xlsb') .option('-M, --xlsm', 'emit XLSM to or .xlsm') .option('-X, --xlsx', 'emit XLSX to or .xlsx') - .option('-Y, --ods', 'emit ODS to or .ods') - .option('-2, --biff2','emit XLS to or .xls (BIFF2)') - .option('-6, --xlml', 'emit SSML to or .xls (2003 XML)') - .option('-T, --fods', 'emit FODS to or .xls (Flat ODS)') - .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)') - .option('--sst', 'generate shared string table for XLS* formats') - .option('--compress', 'use compression when writing XLSX/M/B and ODS') + .option('--sst', 'generate sst') .option('--perf', 'do not generate output') - .option('--all', 'parse everything; write as much as possible') + .option('--all', 'parse everything; XLS[XMB] write as much as possible') .option('--dev', 'development mode') .option('--read', 'read but do not print out contents') .option('-q, --quiet', 'quiet mode'); @@ -45,12 +35,6 @@ program.on('--help', function() { console.log(' Web Demo: http://oss.sheetjs.com/js-'+n+'/'); }); -/* output formats, update list with full option name */ -var workbook_formats = ['xlsx', 'xlsm', 'xlsb', 'ods', 'fods']; -/* flag, bookType, default ext */ -var wb_formats_2 = [ - ['xlml', 'xlml', 'xls'] -]; program.parse(process.argv); /* see https://github.com/SheetJS/j/issues/4 */ @@ -64,7 +48,7 @@ if(process.version === 'v0.10.31') { process.exit(1); } -var filename/*:?string*/, sheetname = ''; +var filename, sheetname = ''; if(program.args[0]) { filename = program.args[0]; if(program.args[1]) sheetname = program.args[1]; @@ -76,27 +60,21 @@ if(!filename) { console.error(n + ": must specify a filename"); process.exit(1); } -/*:: if(filename) { */ + if(!fs.existsSync(filename)) { console.error(n + ": " + filename + ": No such file or directory"); process.exit(2); } -var opts = {}, wb/*:?Workbook*/; +var opts = {}, wb; if(program.listSheets) opts.bookSheets = true; if(program.sheetRows) opts.sheetRows = program.sheetRows; if(program.password) opts.password = program.password; -var seen = false; -function wb_fmt() { - seen = true; - opts.cellFormula = true; +if(program.xlsx || program.xlsm || program.xlsb) { opts.cellNF = true; if(program.output) sheetname = program.output; } -workbook_formats.forEach(function(m) { if(program[m]) { wb_fmt(); } }); -wb_formats_2.forEach(function(m) { if(program[m[0]]) { wb_fmt(); } }); -if(seen); -else if(program.formulae) opts.cellFormula = true; +else if(program.formulae); else opts.cellFormula = false; if(program.all) { @@ -120,32 +98,19 @@ else try { } if(program.read) process.exit(0); -/*:: if(wb) { */ if(program.listSheets) { - console.log((wb.SheetNames||[]).join("\n")); + console.log(wb.SheetNames.join("\n")); process.exit(0); } -var wopts = ({WTF:opts.WTF, bookSST:program.sst}/*:any*/); -if(program.compress) wopts.compression = true; +var wopts = {WTF:opts.WTF, bookSST:program.sst}; -/* full workbook formats */ -workbook_formats.forEach(function(m) { if(program[m]) { - X.writeFile(wb, sheetname || ((filename || "") + "." + m), wopts); - process.exit(0); -} }); - -wb_formats_2.forEach(function(m) { if(program[m[0]]) { - wopts.bookType = m[1]; - X.writeFile(wb, sheetname || ((filename || "") + "." + m[2]), wopts); - process.exit(0); -} }); +if(program.xlsx) return X.writeFile(wb, sheetname || (filename + ".xlsx"), wopts); +if(program.xlsm) return X.writeFile(wb, sheetname || (filename + ".xlsm"), wopts); +if(program.xlsb) return X.writeFile(wb, sheetname || (filename + ".xlsb"), wopts); var target_sheet = sheetname || ''; -if(target_sheet === '') { - if(program.sheetIndex < (wb.SheetNames||[]).length) target_sheet = wb.SheetNames[program.sheetIndex]; - else target_sheet = (wb.SheetNames||[""])[0]; -} +if(target_sheet === '') target_sheet = wb.SheetNames[0]; var ws; try { @@ -156,24 +121,14 @@ try { process.exit(4); } -if(program.perf) process.exit(0); - -/* single worksheet XLS formats */ -['biff2'].forEach(function(m) { if(program[m]) { - wopts.bookType = m; - X.writeFile(wb, sheetname || ((filename || "") + ".xls"), wopts); - process.exit(0); -} }); +if(program.perf) return; var oo = ""; 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); else console.log(oo); -/*:: } */ -/*:: } */ diff --git a/bits/00_header.js b/bits/00_header.js index 8eefc1d..ff45f1f 100644 --- a/bits/00_header.js +++ b/bits/00_header.js @@ -2,6 +2,5 @@ /* vim: set ts=2: */ /*jshint -W041 */ /*jshint funcscope:true, eqnull:true */ -/*exported XLSX */ var XLSX = {}; (function make_xlsx(XLSX){ diff --git a/bits/01_version.js b/bits/01_version.js index 8257e59..b7c1911 100644 --- a/bits/01_version.js +++ b/bits/01_version.js @@ -1 +1 @@ -XLSX.version = '0.9.2'; +XLSX.version = '0.8.1'; diff --git a/bits/02_codepage.js b/bits/02_codepage.js index 862803c..6726a6f 100644 --- a/bits/02_codepage.js +++ b/bits/02_codepage.js @@ -1,25 +1,18 @@ var current_codepage = 1200, current_cptable; -/*:: declare var cptable:any; */ if(typeof module !== "undefined" && typeof require !== 'undefined') { - if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel.js'); + 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 < len; ++i) o[i] = data.charCodeAt(i); return o; } -var debom = function(data/*:string*/)/*:string*/ { - var c1 = data.charCodeAt(0), c2 = data.charCodeAt(1); - if(c1 == 0xFF && c2 == 0xFE) return data.substr(2); - if(c1 == 0xFE && c2 == 0xFF) return data.substr(2); - if(c1 == 0xFEFF) return data.substr(1); - return data; -}; +var debom_xml = function(data) { return data; }; var _getchar = function _gc1(x) { return String.fromCharCode(x); }; if(typeof cptable !== 'undefined') { set_cp = function(cp) { current_codepage = cp; current_cptable = cptable[cp]; }; - debom = function(data) { + debom_xml = function(data) { if(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.substr(2))); } return data; }; diff --git a/bits/04_base64.js b/bits/04_base64.js index 2fc0636..cda6c0f 100644 --- a/bits/04_base64.js +++ b/bits/04_base64.js @@ -1,7 +1,7 @@ var Base64 = (function make_b64(){ var map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; return { - encode: function(input/*:string*/, utf8)/*:string*/ { + encode: function(input, utf8) { var o = ""; var c1, c2, c3, e1, e2, e3, e4; for(var i = 0; i < input.length; ) { @@ -18,7 +18,7 @@ var Base64 = (function make_b64(){ } return o; }, - decode: function b64_decode(input/*:string*/, utf8)/*:string*/ { + decode: function b64_decode(input, utf8) { var o = ""; var c1, c2, c3; var e1, e2, e3, e4; diff --git a/bits/05_buf.js b/bits/05_buf.js index 79dda9b..ab3565d 100644 --- a/bits/05_buf.js +++ b/bits/05_buf.js @@ -1,12 +1,12 @@ var has_buf = (typeof Buffer !== 'undefined'); -function new_raw_buf(len/*:number*/) { +function new_raw_buf(len) { /* jshint -W056 */ return new (has_buf ? Buffer : Array)(len); /* jshint +W056 */ } -function s2a(s/*:string*/) { +function s2a(s) { if(has_buf) return new Buffer(s, "binary"); return s.split("").map(function(x){ return x.charCodeAt(0) & 0xff; }); } diff --git a/bits/09_types.js b/bits/09_types.js deleted file mode 100644 index 16115b0..0000000 --- a/bits/09_types.js +++ /dev/null @@ -1,17 +0,0 @@ -/*:: -declare type Block = any; -declare type BufArray = { - newblk(sz:number):Block; - next(sz:number):Block; - end():any; - push(buf:Block):void; -}; - -type RecordHopperCB = {(d:any, R:any, RT:number):?boolean;}; - -type EvertType = {[string]:string}; -type EvertNumType = {[string]:number}; -type EvertArrType = {[string]:Array}; - -type StringConv = {(string):string}; -*/ diff --git a/bits/10_ssf.js b/bits/10_ssf.js index bca57a7..81135ec 100644 --- a/bits/10_ssf.js +++ b/bits/10_ssf.js @@ -1,20 +1,20 @@ -/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ +/* ssf.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ /*jshint -W041 */ var SSF = {}; var make_ssf = function make_ssf(SSF){ SSF.version = '0.8.1'; -function _strrev(x/*:string*/)/*:string*/ { var o = "", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; } -function fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = ""; while(o.length < l) o+=c; return o; } -function pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:fill('0',d-t.length)+t;} -function pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v;return t.length>=d?t:fill(' ',d-t.length)+t;} -function rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:t+fill(' ',d-t.length);} -function pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=""+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;} -function pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=""+v; return t.length>=d?t:fill('0',d-t.length)+t;} +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 < l) o+=c; return o; } +function pad0(v,d){var t=""+v; return t.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/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); } -function isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; 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; } +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; } /* Options */ -var opts_fmt/*:Array >*/ = [ +var opts_fmt = [ ["date1904", 0], ["output", ""], ["WTF", false] @@ -24,36 +24,36 @@ function fixopts(o){ } 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' + 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'], @@ -100,7 +100,7 @@ function frac(x, D, mixed) { var q = Math.floor(sgn * P/Q); return [q, sgn*P - q*Q, Q]; } -function general_fmt_int(v/*:number*/, opts/*:?any*/)/*:string*/ { return ""+v; } +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)$/; @@ -124,7 +124,7 @@ function gfn5(o) { //return o; return o.indexOf(".") > -1 ? o.replace(gnr2,"").replace(gnr1,".$1") : o; } -return function general_fmt_num(v/*:number*/, opts/*:?any*/)/*:string*/ { +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); @@ -133,7 +133,7 @@ return function general_fmt_num(v/*:number*/, opts/*:?any*/)/*:string*/ { return gfn5(gfn4(o)); };})(); SSF._general_num = general_fmt_num; -function general_fmt(v/*:any*/, opts/*:?any*/) { +function general_fmt(v, opts) { switch(typeof v) { case 'string': return v; case 'boolean': return v ? "TRUE" : "FALSE"; @@ -143,7 +143,7 @@ function general_fmt(v/*:any*/, opts/*:?any*/) { } SSF._general = general_fmt; function fix_hijri(date, o) { return 0; } -function parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { +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=[]; @@ -159,8 +159,8 @@ function parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { else if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;} else { if(date > 60) --date; - /* 1 = Jan 1 1900 in Gregorian */ - var d = new Date(1900, 0, 1); + /* 1 = Jan 1 1900 */ + var d = new Date(1900,0,1); d.setDate(d.getDate() + date - 1); dout = [d.getFullYear(), d.getMonth()+1,d.getDate()]; dow = d.getDay(); @@ -176,7 +176,7 @@ function parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) { } SSF.parse_date_code = parse_date_code; /*jshint -W086 */ -function write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ { +function write_date(type, fmt, val, ss0) { var o="", ss=0, tt=0, y = val.y, out, outl = 0; switch(type) { case 98: /* 'b' buddhist year */ @@ -222,7 +222,6 @@ function write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:str } switch(fmt) { case 's': case 'ss': case '.0': case '.00': case '.000': - /*::if(!ss0) ss0 = 0; */ if(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100; else tt = ss0 === 1 ? 10 : 1; ss = Math.round((tt)*(val.S + val.u)); @@ -246,7 +245,7 @@ function write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:str if(outl > 0) return pad0(out, outl); else return ""; } /*jshint +W086 */ -function commaify(s/*:string*/)/*:string*/ { +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); @@ -254,17 +253,17 @@ function commaify(s/*:string*/)/*:string*/ { } var write_num = (function make_write_num(){ var pct1 = /%/g; -function write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{ +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/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{ +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/*:string*/, val/*:number*/)/*:string*/{ - var o/*:string*/; +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'); @@ -273,33 +272,33 @@ function write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{ 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.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee); + 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.charAt(0) + o.substr(2,period) + "." + o.substr(2+period); + 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.charAt(o.length-1); + 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/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ { - var den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den); +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/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ { +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/*:string*/)/*:string*/ { +function hashq(str) { var o = "", cc; for(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) { case 35: break; @@ -309,10 +308,10 @@ function hashq(str/*:string*/)/*:string*/ { } return o; } -function rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return ""+(Math.round(val * dd)/dd); } -function dec(val/*:number*/, d/*:number*/)/*:number*/ { return Math.round((val-Math.floor(val))*Math.pow(10,d)); } -function flr(val/*:number*/)/*:string*/ { if(val < 2147483647 && val > -2147483648) return ""+(val >= 0 ? (val|0) : (val-1|0)); return ""+Math.floor(val); } -function write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ { +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); @@ -322,68 +321,67 @@ function write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string 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; - var r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? "-" : ""; + 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))) return write_num_f1(r, aval, sign); - if(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf("0")); - if((r = fmt.match(dec1))) { - // $FlowIgnore + 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*)\.(#*)$/))) { + 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(\.?)$/))) return sign + commaify(pad0r(aval,0)); - if((r = fmt.match(/^#,##0\.([#0]*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/))) return write_num_flt(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)(\\?-([0#]+))+$/))) { + 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); @@ -439,33 +437,32 @@ function write_num_int(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string 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))) return write_num_f2(r, aval, sign); - if(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf("0")); - if((r = fmt.match(dec1))) { - // $FlowIgnore + 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*)\.(#*)$/))) { + 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(\.?)$/))) return sign + commaify((""+aval)); - if((r = fmt.match(/^#,##0\.([#0]*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/))) return write_num_int(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)(\\?-([0#]+))+$/))) { + 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*/ { - var out/*:Array*/ = []; +function split_fmt(fmt) { + var out = []; var in_str = false, cc; for(var i = 0, j = 0; i < fmt.length; ++i) switch((cc=fmt.charCodeAt(i))) { case 34: /* '"' */ @@ -523,12 +520,12 @@ function split_fmt(fmt/*:string*/)/*:Array*/ { } SSF._split = split_fmt; var abstime = /\[[HhMmSs]*\]/; -function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) { +function eval_fmt(fmt, v, opts, flen) { var out = [], o = "", i = 0, c = "", lst='t', q, dt, j, cc; var hr='H'; /* Tokenize */ while(i < fmt.length) { - switch((c = fmt.charAt(i))) { + switch((c = fmt[i])) { case 'G': /* General */ if(!isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt); out[out.length] = {t:'G', v:'General'}; i+=7; break; @@ -542,7 +539,7 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) { out[out.length] = {t:'T', v:v}; ++i; break; case 'B': case 'b': if(fmt[i+1] === "1" || fmt[i+1] === "2") { - if(dt==null) { dt=parse_date_code(v, opts, fmt[i+1] === "2"); if(dt==null) return ""; } + if(dt==null) { dt=parse_date_code(v, opts, fmt[i+1] === "2"); if(dt==null) return ""; } out[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break; } /* falls through */ @@ -559,8 +556,8 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) { case 'A': q={t:c, v:"A"}; if(dt==null) dt=parse_date_code(v, opts); - if(fmt.substr(i, 3) === "A/P") { if(dt!=null) q.v = dt.H >= 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'; } + if(fmt.substr(i, 3) === "A/P") { if(dt!=null) q.v = dt.H >= 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; @@ -618,13 +615,11 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) { switch(bt) { case 0: break; case 1: - /*::if(!dt) break;*/ if(dt.u >= 0.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) break;*/ if(dt.u >= 0.5) { dt.u = 0; ++dt.S; } if(dt.S >= 60) { dt.S = 0; ++dt.M; } break; @@ -634,9 +629,8 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) { for(i=0; i < out.length; ++i) { switch(out[i].t) { case 't': case 'T': case ' ': case 'D': break; - case 'X': out[i].v = ""; out[i].t = ";"; break; + case 'X': out[i] = undefined; break; case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z': - /*::if(!dt) throw "unreachable"; */ out[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0); out[i].t = 't'; break; case 'n': case '(': case '?': @@ -648,7 +642,7 @@ function eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) { c === 't' && (out[jj].v === '/' || '$€'.indexOf(out[jj].v) > -1 || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?') )) { out[i].v += out[jj].v; - out[jj] = {v:"", t:";"}; ++jj; + out[jj] = undefined; ++jj; } nstr += out[i].v; i = jj-1; break; @@ -727,11 +721,11 @@ function chkcond(v, rr) { } return false; } -function choose_fmt(f/*:string*/, v) { +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 new Error("cannot find right format for |" + fmt.join("|") + "|"); + 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; @@ -748,12 +742,12 @@ function choose_fmt(f/*:string*/, v) { } return [l, ff]; } -function format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) { +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/*:any*/) : table_fmt)[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); @@ -763,9 +757,9 @@ function format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) { return eval_fmt(f[1], v, o, f[0]); } SSF._table = table_fmt; -SSF.load = function load_entry(fmt/*:string*/, idx/*:number*/) { table_fmt[idx] = 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/*:{[n:number]:string}*/) { for(var i=0; i!=0x0188; ++i) if(tbl[i] !== undefined) SSF.load(tbl[i], i); }; +SSF.load_table = function load_table(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[i] !== undefined) SSF.load(tbl[i], i); }; }; make_ssf(SSF); diff --git a/bits/11_ssfutils.js b/bits/11_ssfutils.js index f2d0c41..5253ad4 100644 --- a/bits/11_ssfutils.js +++ b/bits/11_ssfutils.js @@ -1,5 +1,5 @@ /* map from xlml named formats to SSF TODO: localize */ -var XLMLFormatMap/*{[string]:string}*/ = ({ +var XLMLFormatMap = { "General Number": "General", "General Date": SSF._table[22], "Long Date": "dddd, mmmm dd, yyyy", @@ -16,5 +16,5 @@ var XLMLFormatMap/*{[string]:string}*/ = ({ "Yes/No": '"Yes";"Yes";"No";@', "True/False": '"True";"True";"False";@', "On/Off": '"Yes";"Yes";"No";@' -}/*:any*/); +}; diff --git a/bits/18_cfb.js b/bits/18_cfb.js index 2bd8cb5..2bb2335 100644 --- a/bits/18_cfb.js +++ b/bits/18_cfb.js @@ -1,36 +1,12 @@ var DO_NOT_EXPORT_CFB = true; -/*:: -declare var Base64:any; -declare var ReadShift:any; -declare var CheckField:any; -declare var prep_blob:any; -declare var __readUInt32LE:any; -declare var __readInt32LE:any; -declare var __toBuffer:any; -declare var __utf16le:any; -declare var bconcat:any; -declare var s2a:any; -declare var chr0:any; -declare var chr1:any; -*/ -/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */ +/* cfb.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*jshint eqnull:true */ -/*:: -declare var DO_NOT_EXPORT_CFB:any; -type SectorEntry = any; -type SectorList = { - (k:string|number):SectorEntry; - name:?string; - fat_addrs:any; - ssz:number; -} -*/ /* [MS-CFB] v20130118 */ var CFB = (function _CFB(){ var exports = {}; -exports.version = '0.11.0'; +exports.version = '0.10.2'; function parse(file) { var mver = 3; // major version var ssz = 512; // sector size @@ -43,7 +19,7 @@ var difat_start = 0; // first mini FAT sector location var fat_addrs = []; // locations of FAT sectors /* [MS-CFB] 2.2 Compound File Header */ -var blob/*:any*/ = file.slice(0,512); +var blob = file.slice(0,512); prep_blob(blob, 0); /* major version */ @@ -103,7 +79,7 @@ var sectors = sectorify(file, ssz); sleuth_fat(difat_start, ndfs, sectors, ssz, fat_addrs); /** Chains */ -var sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz); +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"; @@ -112,7 +88,7 @@ sector_list.fat_addrs = fat_addrs; sector_list.ssz = ssz; /* [MS-CFB] 2.6.1 Compound File Directory Entry */ -var files = {}, Paths/*:any*/ = [], FileIndex = [], FullPaths = [], FullPathDir = {}; +var files = {}, Paths = [], FileIndex = [], FullPaths = [], FullPathDir = {}; read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex); build_full_paths(FileIndex, FullPathDir, FullPaths, Paths); @@ -221,7 +197,7 @@ function make_find_path(FullPaths, Paths, FileIndex, files, root_name) { var UCPaths = new Array(Paths.length), i; for(i = 0; i < FullPaths.length; ++i) UCFullPaths[i] = FullPaths[i].toUpperCase().replace(chr0,'').replace(chr1,'!'); for(i = 0; i < Paths.length; ++i) UCPaths[i] = Paths[i].toUpperCase().replace(chr0,'').replace(chr1,'!'); - return function find_path(path/*:string*/) { + return function find_path(path) { var k; if(path.charCodeAt(0) === 47 /* "/" */) { k=true; path = root_name + path; } else k = path.indexOf("/") !== -1; @@ -240,7 +216,6 @@ function sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) { if(cnt !== 0) throw "DIFAT chain shorter than expected"; } else if(idx !== -1 /*FREESECT*/) { var sector = sectors[idx], m = (ssz>>>2)-1; - if(!sector) return; for(var i = 0; i < m; ++i) { if((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break; fat_addrs.push(q); @@ -264,14 +239,13 @@ function get_sector_list(sectors, start, fat_addrs, ssz, chkd) { var addr = fat_addrs[Math.floor(j*4/ssz)]; jj = ((j*4) & modulus); if(ssz < 4 + jj) throw "FAT boundary crossed: " + j + " 4 "+ssz; - if(!sectors[addr]) break; j = __readInt32LE(sectors[addr], jj); } return {nodes: buf, data:__toBuffer([buf_chain])}; } /** Chase down the sector linked lists */ -function make_sector_list(sectors, dir_start, fat_addrs, ssz/*:number*/)/*:any*/ { +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; @@ -287,7 +261,6 @@ function make_sector_list(sectors, dir_start, fat_addrs, ssz/*:number*/)/*:any*/ var addr = fat_addrs[Math.floor(j*4/ssz)]; jj = ((j*4) & modulus); if(ssz < 4 + jj) throw "FAT boundary crossed: " + j + " 4 "+ssz; - if(!sectors[addr]) break; j = __readInt32LE(sectors[addr], jj); } sector_list[k] = {nodes: buf, data:__toBuffer([buf_chain])}; @@ -308,7 +281,7 @@ function read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, Fil if(namelen === 0) continue; name = __utf16le(blob,0,namelen-pl); Paths.push(name); - o = ({ + o = { name: name, type: blob.read_shift(1), color: blob.read_shift(1), @@ -317,7 +290,7 @@ function read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, Fil C: blob.read_shift(4, 'i'), clsid: blob.read_shift(16), state: blob.read_shift(4, 'i') - }/*:any*/); + }; ctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2); if(ctime !== 0) { o.ctime = ctime; o.ct = read_date(blob, blob.l-8); @@ -355,12 +328,12 @@ function read_date(blob, offset) { } var fs; -function readFileSync(filename/*:string*/, options/*:any*/) { +function readFileSync(filename, options) { if(fs === undefined) fs = require('fs'); return parse(fs.readFileSync(filename), options); } -function readSync(blob/*:any*/, options/*:any*/) { +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); diff --git a/bits/20_jsutils.js b/bits/20_jsutils.js index d12c438..bff609c 100644 --- a/bits/20_jsutils.js +++ b/bits/20_jsutils.js @@ -1,27 +1,27 @@ -function isval(x/*:?any*/)/*:boolean*/ { return x !== undefined && x !== null; } +function isval(x) { return x !== undefined && x !== null; } -function keys(o/*:any*/)/*:Array*/ { return Object.keys(o); } +function keys(o) { return Object.keys(o); } -function evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ { - var o = ([]/*:any*/), K = keys(obj); +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/*:any*/)/*:EvertType*/ { - var o = ([]/*:any*/), K = keys(obj); +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/*:any*/)/*:EvertNumType*/ { - var o = ([]/*:any*/), K = keys(obj); +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/*:any*/)/*:EvertArrType*/ { - var o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj); +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]); @@ -29,57 +29,16 @@ function evert_arr(obj/*:any*/)/*:EvertArrType*/ { return o; } -function datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ { - var epoch = v.getTime(); - if(date1904) epoch += 1462*24*60*60*1000; +/* TODO: date1904 logic */ +function datenum(v, date1904) { + if(date1904) v+=1462; + var epoch = Date.parse(v); return (epoch + 2209161600000) / (24 * 60 * 60 * 1000); } -/* ISO 8601 Duration */ -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; - /* falls through */ - case 'H': mt *= 60; - /* falls through */ - case 'M': - if(!time) throw new Error("Unsupported ISO Duration Field: M"); - else mt *= 60; - /* falls through */ - case 'S': break; - } - sec += mt * parseInt(m[i], 10); - } - return sec; -} - -function cc2str(arr/*:Array*/)/*:string*/ { +function cc2str(arr) { var o = ""; for(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]); return o; } -function str2cc(str) { - var o = []; - for(var i = 0; i != str.length; ++i) o.push(str.charCodeAt(i)); - 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/21_ziputils.js b/bits/21_ziputils.js index b44752f..53f81f8 100644 --- a/bits/21_ziputils.js +++ b/bits/21_ziputils.js @@ -1,62 +1,43 @@ -function getdatastr(data)/*:?string*/ { +function getdata(data) { if(!data) return null; - if(data.data) return debom(data.data); - if(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary')); - if(data.asBinary) return debom(data.asBinary()); - if(data._data && data._data.getContent) return debom(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) { - var o = data._data.getContent(); - if(typeof o == "string") return str2cc(o); - return Array.prototype.slice.call(o); + if(data.name.substr(-4) === ".bin") { + 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()); + } else { + if(data.data) return data.name.substr(-4) !== ".bin" ? debom_xml(data.data) : char_codes(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 getdata(data) { return (data && data.name.slice(-4) === ".bin") ? getdatabin(data) : getdatastr(data); } - -/* Part 2 Section 10.1.2 "Mapping Content Types" Names are case-insensitive */ -/* OASIS does not comment on filename case sensitivity */ -function safegetzipfile(zip, file/*:string*/) { - var k = keys(zip.files); - var f = file.toLowerCase(), g = f.replace(/\//g,'\\'); - for(var i=0; i\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; +var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; var tagregex=/<[^>]*>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; -function parsexmltag(tag/*:string*/, skip_root/*:?boolean*/)/*:any*/ { - var z = ([]/*:any*/); +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=""; + 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) { - if(q.indexOf("_") > 0) q = q.substr(0, q.indexOf("_")); // from ods - z[q] = v; - } - else { - var k = (j===5 && q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1); - if(z[k] && q.substr(j-3,3) == "ext") continue; // from ods - z[k] = v; - } + 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/*:string*/)/*:string*/ { return x.replace(nsregex2, "<$1"); } +function strip_ns(x) { return x.replace(nsregex2, "<$1"); } var encodings = { '"': '"', @@ -38,30 +31,28 @@ var rencoding = evert(encodings); var rencstr = "&<>'\"".split(""); // TODO: CP remap (need to read file version to determine OS) -var unescapexml/*:StringConv*/ = (function() { - /* 22.4.2.4 bstr (Basic String) */ - var encregex = /&[a-z]*;/g, coderegex = /_x([\da-fA-F]{4})_/g; - return function unescapexml(text/*:string*/)/*:string*/ { +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/*:string*/)/*:string*/{ +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)).slice(-4) + "_";}); + return s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return "_x" + ("000"+s.charCodeAt(0).toString(16)).substr(-4) + "_";}); } -function escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,"_x0020_"); } /* TODO: handle codepages */ -var xlml_fixstr/*:StringConv*/ = (function() { +var xlml_fixstr = (function() { var entregex = /&#(\d+);/g; - function entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); } - return function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); }; + function entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); } + return function xlml_fixstr(str) { return str.replace(entregex,entrepl); }; })(); -function parsexmlbool(value/*:any*/, tag/*:?string*/)/*:boolean*/ { +function parsexmlbool(value, tag) { switch(value) { case '1': case 'true': case 'TRUE': return true; /* case '0': case 'false': case 'FALSE':*/ @@ -69,7 +60,7 @@ function parsexmlbool(value/*:any*/, tag/*:?string*/)/*:boolean*/ { } } -var utf8read/*:StringConv*/ = function utf8reada(orig) { +var utf8read = function utf8reada(orig) { var out = "", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0; while (i < orig.length) { c = orig.charCodeAt(i++); @@ -107,32 +98,31 @@ if(has_buf) { }; var corpus = "foo bar baz\u00e2\u0098\u0083\u00f0\u009f\u008d\u00a3"; if(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb; - // $FlowIgnore var utf8readc = function utf8readc(data) { return Buffer(data, 'binary').toString('utf8'); }; if(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc; } // matches ... extracts content var matchtag = (function() { - var mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/); - return function matchtag(f,g/*:?string*/)/*:RegExp*/ { - var t = f+"|"+(g||""); - if(mtcache[t]) return mtcache[t]; - return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([^\u2603]*)',((g||"")/*:any*/))); + 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")?(?:[^>]*)>([^\u2603]*)',(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') ); + return (vt_cache[bt] = new RegExp("(.*?)", 'g') ); };})(); -var vtvregex = /<\/?(:?vt:)?variant>/g, vtmregex = /<(:?vt:)?([^>]*)>(.*)/g, vtmregex = /]*)>(.*)' + g + '';} -function wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return " " + k + '="' + h[k] + '"';}).join(""); } -function writextag(f,g,h) { return '<' + f + (isval(h) /*:: && h */? wxt_helper(h) : "") + (isval(g) /*:: && g */? (g.match(wtregex)?' xml:space="preserve"' : "") + '>' + 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/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } return ""; } +function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } } function write_vt(s) { switch(typeof s) { @@ -160,7 +150,7 @@ function write_vt(s) { } var XML_HEADER = '\r\n'; -var XMLNS = ({ +var XMLNS = { 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -170,7 +160,7 @@ var XMLNS = ({ 'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes', 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsd': 'http://www.w3.org/2001/XMLSchema' -}/*:any*/); +}; XMLNS.main = [ 'http://schemas.openxmlformats.org/spreadsheetml/2006/main', @@ -179,10 +169,3 @@ XMLNS.main = [ 'http://schemas.microsoft.com/office/excel/2006/2' ]; -var XLMLNS = ({ - 'o': 'urn:schemas-microsoft-com:office:office', - 'x': 'urn:schemas-microsoft-com:office:excel', - 'ss': 'urn:schemas-microsoft-com:office:spreadsheet', - 'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882', - 'html': 'http://www.w3.org/TR/REC-html40' -}/*:any*/); diff --git a/bits/23_binutils.js b/bits/23_binutils.js index 6f18393..cb862dc 100644 --- a/bits/23_binutils.js +++ b/bits/23_binutils.js @@ -1,27 +1,19 @@ -function read_double_le(b, idx/*:number*/)/*:number*/ { - var s = 1 - 2 * (b[idx + 7] >>> 7); - var e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f); - var m = (b[idx+6]&0x0f); - for(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i]; - if(e == 0x7ff) 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 readIEEE754(buf, idx, isLE, nl, ml) { + if(isLE === undefined) isLE = true; + if(!nl) nl = 8; + if(!ml && nl === 8) ml = 52; + var e, m, el = nl * 8 - ml - 1, eMax = (1 << el) - 1, eBias = eMax >> 1; + var bits = -7, d = isLE ? -1 : 1, i = isLE ? (nl - 1) : 0, s = buf[idx + i]; -function write_double_le(b, v/*:number*/, idx/*:number*/) { - var bs = ((v < 0 || 1/v == -Infinity) ? 1 : 0) << 7, e = 0, m = 0; - var av = bs ? -v : v; - if(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; } - else { - e = Math.floor(Math.log(av) * Math.LOG2E); - m = v * Math.pow(2, 52 - e); - if(e <= -1023 && (!isFinite(m) || m < Math.pow(2,52))) { e = -1022; } - else { m -= Math.pow(2,52); e+=1023; } - } - for(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff; - b[idx + 6] = ((e & 0x0f) << 4) | m & 0xf; - b[idx + 7] = (e >> 4) | bs; + i += d; + e = s & ((1 << (-bits)) - 1); s >>>= (-bits); bits += el; + for (; bits > 0; e = e * 256 + buf[idx + i], i += d, bits -= 8); + m = e & ((1 << (-bits)) - 1); e >>>= (-bits); bits += ml; + for (; bits > 0; m = m * 256 + buf[idx + i], i += d, bits -= 8); + if (e === eMax) return m ? NaN : ((s ? -1 : 1) * Infinity); + else if (e === 0) e = 1 - eBias; + else { m = m + Math.pow(2, ml); e = e - eBias; } + return (s ? -1 : 1) * m * Math.pow(2, e - ml); } var __toBuffer, ___toBuffer; @@ -37,18 +29,18 @@ __lpstr = ___lpstr = function lpstr_(b,i) { var len = __readUInt32LE(b,i); retur 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);}; +__double = ___double = function(b, idx) { return readIEEE754(b, idx);}; var is_buf = function is_buf_a(a) { return Array.isArray(a); }; -if(has_buf/*:: && typeof Buffer != 'undefined'*/) { +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); }; + __utf8 = function utf8_b(s,e) { return this.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)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); }; + __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); }; } @@ -69,7 +61,7 @@ var __readInt32LE = function(b, idx) { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[i 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/*:number*/, t/*:?string*/) { +function ReadShift(size, t) { var o="", oI, oR, oo=[], w, vv, i, loc; switch(t) { case 'dbcs': @@ -82,11 +74,6 @@ function ReadShift(size/*:number*/, t/*:?string*/) { 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': - if(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); - else return ReadShift.call(this, size, 'dbcs'); - size = 2 * size; break; - /* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */ case 'lpstr': o = __lpstr(this, this.l); size = 5 + o.length; break; /* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */ @@ -130,7 +117,7 @@ function ReadShift(size/*:number*/, t/*:?string*/) { case 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI; case 4: if(t === 'i' || (this[this.l+3] & 0x80)===0) { oI = __readInt32LE(this, this.l); this.l += 4; return oI; } - else { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR; + 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; } /* falls through */ case 16: o = __hexlify(this, this.l, size); break; @@ -138,29 +125,19 @@ function ReadShift(size/*:number*/, t/*:?string*/) { this.l+=size; return o; } -var __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); }; -var __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); }; -var __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); }; - -function WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/) { - var size = 0, i = 0; +function WriteShift(t, val, f) { + var size, i; if(f === 'dbcs') { - /*:: if(typeof val !== 'string') throw new Error("unreachable"); */ - for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); + for(i = 0; i != val.length; ++i) this.writeUInt16LE(val.charCodeAt(i), this.l + 2 * i); size = 2 * val.length; - } else if(f === 'sbcs') { - /*:: if(typeof val !== 'string') throw new Error("unreachable"); */ - for(i = 0; i != val.length; ++i) this[this.l + i] = val.charCodeAt(i) & 0xFF; - size = val.length; - } else /*:: if(typeof val === 'number') */ switch(t) { - case 1: size = 1; this[this.l] = val&0xFF; break; - case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break; - case 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; 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; } + } else switch(t) { + case 1: size = 1; this[this.l] = val&255; break; + case 3: size = 3; this[this.l+2] = val & 255; val >>>= 8; this[this.l+1] = val&255; val >>>= 8; this[this.l] = val&255; break; + case 4: size = 4; this.writeUInt32LE(val, this.l); break; + case 8: size = 8; if(f === 'f') { this.writeDoubleLE(val, this.l); break; } /* falls through */ case 16: break; - case -4: size = 4; __writeInt32LE(this, val, this.l); break; + case -4: size = 4; this.writeInt32LE(val, this.l); break; } this.l += size; return this; } @@ -171,18 +148,18 @@ function CheckField(hexstr, fld) { this.l += hexstr.length>>1; } -function prep_blob(blob, pos/*:number*/) { +function prep_blob(blob, pos) { blob.l = pos; blob.read_shift = ReadShift; blob.chk = CheckField; blob.write_shift = WriteShift; } -function parsenoop(blob, length/*:number*/) { blob.l += length; } +function parsenoop(blob, length) { blob.l += length; } -function writenoop(blob, length/*:number*/) { blob.l += length; } +function writenoop(blob, length) { blob.l += length; } -function new_buf(sz/*:number*/)/*:Block*/ { +function new_buf(sz) { var o = new_raw_buf(sz); prep_blob(o, 0); return o; diff --git a/bits/24_hoppers.js b/bits/24_hoppers.js index 5771f9a..773362c 100644 --- a/bits/24_hoppers.js +++ b/bits/24_hoppers.js @@ -1,6 +1,5 @@ /* [MS-XLSB] 2.1.4 Record */ -function recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) { - if(!data) return; +function recordhopper(data, cb, opts) { var tmpbyte, cntbyte, length; prep_blob(data, data.l || 0); while(data.l < data.length) { @@ -16,10 +15,10 @@ function recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) { } /* control buffer usage for fixed-length buffers */ -function buf_array()/*:BufArray*/ { +function buf_array() { var bufs = [], blksz = 2048; var newblk = function ba_newblk(sz) { - var o/*:Block*/ = (new_buf(sz)/*:any*/); + var o = new_buf(sz); prep_blob(o, 0); return o; }; @@ -27,14 +26,13 @@ function buf_array()/*:BufArray*/ { var curbuf = newblk(blksz); var endbuf = function ba_endbuf() { - if(!curbuf) return; - if(curbuf.length > curbuf.l) curbuf = curbuf.slice(0, curbuf.l); + curbuf.length = curbuf.l; if(curbuf.length > 0) bufs.push(curbuf); curbuf = null; }; var next = function ba_next(sz) { - if(curbuf && sz < curbuf.length - curbuf.l) return curbuf; + if(sz < curbuf.length - curbuf.l) return curbuf; endbuf(); return (curbuf = newblk(Math.max(sz+1, blksz))); }; @@ -46,12 +44,11 @@ function buf_array()/*:BufArray*/ { var push = function ba_push(buf) { endbuf(); curbuf = buf; next(blksz); }; - return ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/); + return { next:next, push:push, end:end, _bufs:bufs }; } -function write_record(ba/*:BufArray*/, type/*:string*/, payload, length/*:?number*/) { - var t/*:number*/ = Number(evert_RE[type]), l; - if(isNaN(t)) return; // TODO: throw something here? +function write_record(ba, type, payload, length) { + var t = evert_RE[type], l; if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1 + length; if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l; @@ -65,5 +62,5 @@ function write_record(ba/*:BufArray*/, type/*:string*/, payload, length/*:?numbe if(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; } else { o.write_shift(1, length); break; } } - if(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload); + if(length > 0 && is_buf(payload)) ba.push(payload); } diff --git a/bits/25_cellutils.js b/bits/25_cellutils.js index 0b0cc76..8ae765b 100644 --- a/bits/25_cellutils.js +++ b/bits/25_cellutils.js @@ -1,44 +1,21 @@ /* XLS ranges enforced */ -function shift_cell_xls(cell, tgt/*:any*/, opts/*:?any*/) { - var out = dup(cell); +function shift_cell_xls(cell, tgt) { if(tgt.s) { - if(out.cRel) out.c += tgt.s.c; - if(out.rRel) out.r += tgt.s.r; + if(cell.cRel) cell.c += tgt.s.c; + if(cell.rRel) cell.r += tgt.s.r; } else { - out.c += tgt.c; - out.r += tgt.r; + cell.c += tgt.c; + cell.r += tgt.r; } - if(!opts || opts.biff < 12) { - while(out.c >= 0x100) out.c -= 0x100; - while(out.r >= 0x10000) out.r -= 0x10000; - } - return out; + cell.cRel = cell.rRel = 0; + while(cell.c >= 0x100) cell.c -= 0x100; + while(cell.r >= 0x10000) cell.r -= 0x10000; + return cell; } -function shift_range_xls(cell, range, opts) { - var out = dup(cell); - out.s = shift_cell_xls(out.s, range.s, opts); - out.e = shift_cell_xls(out.e, range.s, opts); - 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)/*: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, opts)/*:string*/ { - if(r.s.r == 0 && !r.s.rRel) { - if(r.e.r == opts.biff >= 12 ? 0xFFFFF : 0xFFFF && !r.e.rRel) { - return (r.s.cRel ? "" : "$") + encode_col(r.s.c) + ":" + (r.e.cRel ? "" : "$") + encode_col(r.e.c); - } - } - if(r.s.c == 0 && !r.s.cRel) { - if(r.e.c == opts.biff >= 12 ? 0xFFFF : 0xFF && !r.e.cRel) { - return (r.s.rRel ? "" : "$") + encode_row(r.s.r) + ":" + (r.e.rRel ? "" : "$") + encode_row(r.e.r); - } - } - return encode_cell_xls(r.s) + ":" + encode_cell_xls(r.e); -} diff --git a/bits/26_crypto.js b/bits/26_crypto.js index 937d78d..db36131 100644 --- a/bits/26_crypto.js +++ b/bits/26_crypto.js @@ -1,10 +1,9 @@ var OFFCRYPTO = {}; - var make_offcrypto = function(O, _crypto) { var crypto; if(typeof _crypto !== 'undefined') crypto = _crypto; else if(typeof require !== 'undefined') { - try { crypto = require('crypto'); } + try { crypto = require('cry'+'pto'); } catch(e) { crypto = null; } } @@ -16,8 +15,7 @@ var make_offcrypto = function(O, _crypto) { j = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255; t = S[i]; S[i] = S[j]; S[j] = t; } - // $FlowIgnore - i = j = 0; var out = Buffer(data.length); + i = j = 0; out = Buffer(data.length); for(c = 0; c != data.length; ++c) { i = (i + 1)&255; j = (j + S[i])%256; @@ -27,11 +25,11 @@ var make_offcrypto = function(O, _crypto) { return out; }; - O.md5 = function(hex) { - if(!crypto) throw new Error("Unsupported crypto"); - return crypto.createHash('md5').update(hex).digest('hex'); - }; + if(crypto) { + O.md5 = function(hex) { return crypto.createHash('md5').update(hex).digest('hex'); }; + } else { + O.md5 = function(hex) { throw "unimplemented"; }; + } }; -/*:: declare var crypto:any; */ make_offcrypto(OFFCRYPTO, typeof crypto !== "undefined" ? crypto : undefined); diff --git a/bits/28_binstructs.js b/bits/28_binstructs.js index e3570e2..33f5b86 100644 --- a/bits/28_binstructs.js +++ b/bits/28_binstructs.js @@ -1,16 +1,16 @@ /* [MS-XLSB] 2.5.143 */ -function parse_StrRun(data, length/*:?number*/) { +function parse_StrRun(data, length) { return { ich: data.read_shift(2), ifnt: data.read_shift(2) }; } /* [MS-XLSB] 2.1.7.121 */ -function parse_RichStr(data, length/*:number*/)/*:XLString*/ { +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 }/*:any*/); + var z = { t: str, h: str }; if((flags & 1) !== 0) { /* fRichStr */ /* TODO: formatted string */ var dwSizeStrRun = data.read_shift(4); @@ -24,7 +24,7 @@ function parse_RichStr(data, length/*:number*/)/*:XLString*/ { data.l = start + length; return z; } -function write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { +function write_RichStr(str, o) { /* TODO: formatted string */ if(o == null) o = new_buf(5+2*str.t.length); o.write_shift(1,0); @@ -33,17 +33,17 @@ function write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { } /* [MS-XLSB] 2.5.9 */ -function parse_XLSBCell(data)/*:any*/ { +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/*:any*/, o/*:?Block*/) { +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(3, cell.iStyleRef === undefined ? cell.iStyleRef : cell.s); o.write_shift(1, 0); /* fPhShow */ return o; } @@ -53,11 +53,11 @@ function write_XLSBCell(cell/*:any*/, o/*:?Block*/) { function parse_XLSBCodeName (data, length) { return parse_XLWideString(data, length); } /* [MS-XLSB] 2.5.166 */ -function parse_XLNullableWideString(data)/*:string*/ { +function parse_XLNullableWideString(data) { var cchCharacters = data.read_shift(4); return cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? "" : data.read_shift(cchCharacters, 'dbcs'); } -function write_XLNullableWideString(data/*:string*/, o) { +function write_XLNullableWideString(data, o) { if(!o) o = new_buf(127); o.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF); if(data.length > 0) o.write_shift(0, data, 'dbcs'); @@ -65,21 +65,17 @@ function write_XLNullableWideString(data/*:string*/, o) { } /* [MS-XLSB] 2.5.168 */ -function parse_XLWideString(data)/*:string*/ { +function parse_XLWideString(data) { var cchCharacters = data.read_shift(4); return cchCharacters === 0 ? "" : data.read_shift(cchCharacters, 'dbcs'); } -function write_XLWideString(data/*:string*/, o) { +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; } -/* [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; @@ -87,7 +83,7 @@ var write_RelID = write_XLNullableWideString; /* [MS-XLSB] 2.5.122 */ /* [MS-XLS] 2.5.217 */ -function parse_RkNumber(data)/*:number*/ { +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; @@ -95,19 +91,10 @@ function parse_RkNumber(data)/*:number*/ { 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/*:number*/, 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); // TODO -} - -/* [MS-XLSB] 2.5.117 RfX */ -function parse_RfX(data)/*:Range*/ { - var cell/*:Range*/ = ({s: {}, e: {}}/*:any*/); +/* [MS-XLSB] 2.5.153 */ +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); @@ -115,7 +102,7 @@ function parse_RfX(data)/*:Range*/ { return cell; } -function write_RfX(r/*:Range*/, o) { +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); @@ -124,32 +111,27 @@ function write_RfX(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 */ -function parse_Xnum(data, length/*:?number*/) { return data.read_shift(8, 'f'); } -function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); } +function parse_Xnum(data, length) { return data.read_shift(8, 'f'); } +function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, 'f', data); } /* [MS-XLSB] 2.5.198.2 */ var BErr = { - /*::[*/0x00/*::]*/: "#NULL!", - /*::[*/0x07/*::]*/: "#DIV/0!", - /*::[*/0x0F/*::]*/: "#VALUE!", - /*::[*/0x17/*::]*/: "#REF!", - /*::[*/0x1D/*::]*/: "#NAME?", - /*::[*/0x24/*::]*/: "#NUM!", - /*::[*/0x2A/*::]*/: "#N/A", - /*::[*/0x2B/*::]*/: "#GETTING_DATA", - /*::[*/0xFF/*::]*/: "#WTF?" + 0x00: "#NULL!", + 0x07: "#DIV/0!", + 0x0F: "#VALUE!", + 0x17: "#REF!", + 0x1D: "#NAME?", + 0x24: "#NUM!", + 0x2A: "#N/A", + 0x2B: "#GETTING_DATA", + 0xFF: "#WTF?" }; var RBErr = evert_num(BErr); /* [MS-XLSB] 2.4.321 BrtColor */ -function parse_BrtColor(data, length/*:number*/) { +function parse_BrtColor(data, length) { var out = {}; var d = data.read_shift(1); out.fValidRGB = d & 1; @@ -163,7 +145,7 @@ function parse_BrtColor(data, length/*:number*/) { } /* [MS-XLSB] 2.5.52 */ -function parse_FontFlags(data, length/*:number*/) { +function parse_FontFlags(data, length) { var d = data.read_shift(1); data.l++; var out = { diff --git a/bits/29_xlsenum.js b/bits/29_xlsenum.js index 2dcd187..f9fc64e 100644 --- a/bits/29_xlsenum.js +++ b/bits/29_xlsenum.js @@ -43,62 +43,62 @@ /* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */ var DocSummaryPIDDSI = { - /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, - /*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING }, - /*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING }, - /*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 }, - /*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 }, - /*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 }, - /*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 }, - /*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 }, - /*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 }, - /*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 }, - /*::[*/0x0b/*::]*/: { n: 'Scale', t: VT_BOOL }, - /*::[*/0x0c/*::]*/: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, - /*::[*/0x0d/*::]*/: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, - /*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING }, - /*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING }, - /*::[*/0x10/*::]*/: { n: 'LinksDirty', t: VT_BOOL }, - /*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 }, - /*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL }, - /*::[*/0x16/*::]*/: { n: 'HLinksChanged', t: VT_BOOL }, - /*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' }, - /*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING }, - /*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING }, - /*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING }, - /*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING }, - /*::[*/0xFF/*::]*/: {} + 0x01: { n: 'CodePage', t: VT_I2 }, + 0x02: { n: 'Category', t: VT_STRING }, + 0x03: { n: 'PresentationFormat', t: VT_STRING }, + 0x04: { n: 'ByteCount', t: VT_I4 }, + 0x05: { n: 'LineCount', t: VT_I4 }, + 0x06: { n: 'ParagraphCount', t: VT_I4 }, + 0x07: { n: 'SlideCount', t: VT_I4 }, + 0x08: { n: 'NoteCount', t: VT_I4 }, + 0x09: { n: 'HiddenCount', t: VT_I4 }, + 0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, + 0x0b: { n: 'Scale', t: VT_BOOL }, + 0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, + 0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, + 0x0e: { n: 'Manager', t: VT_STRING }, + 0x0f: { n: 'Company', t: VT_STRING }, + 0x10: { n: 'LinksDirty', t: VT_BOOL }, + 0x11: { n: 'CharacterCount', t: VT_I4 }, + 0x13: { n: 'SharedDoc', t: VT_BOOL }, + 0x16: { n: 'HLinksChanged', t: VT_BOOL }, + 0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, + 0x1A: { n: 'ContentType', t: VT_STRING }, + 0x1B: { n: 'ContentStatus', t: VT_STRING }, + 0x1C: { n: 'Language', t: VT_STRING }, + 0x1D: { n: 'Version', t: VT_STRING }, + 0xFF: {} }; /* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */ var SummaryPIDSI = { - /*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 }, - /*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING }, - /*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING }, - /*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING }, - /*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING }, - /*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING }, - /*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING }, - /*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING }, - /*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING }, - /*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME }, - /*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME }, - /*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME }, - /*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME }, - /*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 }, - /*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 }, - /*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 }, - /*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF }, - /*::[*/0x12/*::]*/: { n: 'ApplicationName', t: VT_LPSTR }, - /*::[*/0x13/*::]*/: { n: 'DocumentSecurity', t: VT_I4 }, - /*::[*/0xFF/*::]*/: {} + 0x01: { n: 'CodePage', t: VT_I2 }, + 0x02: { n: 'Title', t: VT_STRING }, + 0x03: { n: 'Subject', t: VT_STRING }, + 0x04: { n: 'Author', t: VT_STRING }, + 0x05: { n: 'Keywords', t: VT_STRING }, + 0x06: { n: 'Comments', t: VT_STRING }, + 0x07: { n: 'Template', t: VT_STRING }, + 0x08: { n: 'LastAuthor', t: VT_STRING }, + 0x09: { n: 'RevNumber', t: VT_STRING }, + 0x0A: { n: 'EditTime', t: VT_FILETIME }, + 0x0B: { n: 'LastPrinted', t: VT_FILETIME }, + 0x0C: { n: 'CreatedDate', t: VT_FILETIME }, + 0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, + 0x0E: { n: 'PageCount', t: VT_I4 }, + 0x0F: { n: 'WordCount', t: VT_I4 }, + 0x10: { n: 'CharCount', t: VT_I4 }, + 0x11: { n: 'Thumbnail', t: VT_CF }, + 0x12: { n: 'ApplicationName', t: VT_LPSTR }, + 0x13: { n: 'DocumentSecurity', t: VT_I4 }, + 0xFF: {} }; /* [MS-OLEPS] 2.18 */ var SpecialProperties = { - /*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 }, - /*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 }, - /*::[*/0x72627262/*::]*/: {} + 0x80000000: { n: 'Locale', t: VT_UI4 }, + 0x80000003: { n: 'Behavior', t: VT_UI4 }, + 0x72627262: {} }; (function() { @@ -108,56 +108,56 @@ var SpecialProperties = { /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { - /*::[*/0x0001/*::]*/: "US", // United States - /*::[*/0x0002/*::]*/: "CA", // Canada - /*::[*/0x0003/*::]*/: "", // Latin America (except Brazil) - /*::[*/0x0007/*::]*/: "RU", // Russia - /*::[*/0x0014/*::]*/: "EG", // Egypt - /*::[*/0x001E/*::]*/: "GR", // Greece - /*::[*/0x001F/*::]*/: "NL", // Netherlands - /*::[*/0x0020/*::]*/: "BE", // Belgium - /*::[*/0x0021/*::]*/: "FR", // France - /*::[*/0x0022/*::]*/: "ES", // Spain - /*::[*/0x0024/*::]*/: "HU", // Hungary - /*::[*/0x0027/*::]*/: "IT", // Italy - /*::[*/0x0029/*::]*/: "CH", // Switzerland - /*::[*/0x002B/*::]*/: "AT", // Austria - /*::[*/0x002C/*::]*/: "GB", // United Kingdom - /*::[*/0x002D/*::]*/: "DK", // Denmark - /*::[*/0x002E/*::]*/: "SE", // Sweden - /*::[*/0x002F/*::]*/: "NO", // Norway - /*::[*/0x0030/*::]*/: "PL", // Poland - /*::[*/0x0031/*::]*/: "DE", // Germany - /*::[*/0x0034/*::]*/: "MX", // Mexico - /*::[*/0x0037/*::]*/: "BR", // Brazil - /*::[*/0x003d/*::]*/: "AU", // Australia - /*::[*/0x0040/*::]*/: "NZ", // New Zealand - /*::[*/0x0042/*::]*/: "TH", // Thailand - /*::[*/0x0051/*::]*/: "JP", // Japan - /*::[*/0x0052/*::]*/: "KR", // Korea - /*::[*/0x0054/*::]*/: "VN", // Viet Nam - /*::[*/0x0056/*::]*/: "CN", // China - /*::[*/0x005A/*::]*/: "TR", // Turkey - /*::[*/0x0069/*::]*/: "JS", // Ramastan - /*::[*/0x00D5/*::]*/: "DZ", // Algeria - /*::[*/0x00D8/*::]*/: "MA", // Morocco - /*::[*/0x00DA/*::]*/: "LY", // Libya - /*::[*/0x015F/*::]*/: "PT", // Portugal - /*::[*/0x0162/*::]*/: "IS", // Iceland - /*::[*/0x0166/*::]*/: "FI", // Finland - /*::[*/0x01A4/*::]*/: "CZ", // Czech Republic - /*::[*/0x0376/*::]*/: "TW", // Taiwan - /*::[*/0x03C1/*::]*/: "LB", // Lebanon - /*::[*/0x03C2/*::]*/: "JO", // Jordan - /*::[*/0x03C3/*::]*/: "SY", // Syria - /*::[*/0x03C4/*::]*/: "IQ", // Iraq - /*::[*/0x03C5/*::]*/: "KW", // Kuwait - /*::[*/0x03C6/*::]*/: "SA", // Saudi Arabia - /*::[*/0x03CB/*::]*/: "AE", // United Arab Emirates - /*::[*/0x03CC/*::]*/: "IL", // Israel - /*::[*/0x03CE/*::]*/: "QA", // Qatar - /*::[*/0x03D5/*::]*/: "IR", // Iran - /*::[*/0xFFFF/*::]*/: "US" // United States + 0x0001: "US", // United States + 0x0002: "CA", // Canada + 0x0003: "", // Latin America (except Brazil) + 0x0007: "RU", // Russia + 0x0014: "EG", // Egypt + 0x001E: "GR", // Greece + 0x001F: "NL", // Netherlands + 0x0020: "BE", // Belgium + 0x0021: "FR", // France + 0x0022: "ES", // Spain + 0x0024: "HU", // Hungary + 0x0027: "IT", // Italy + 0x0029: "CH", // Switzerland + 0x002B: "AT", // Austria + 0x002C: "GB", // United Kingdom + 0x002D: "DK", // Denmark + 0x002E: "SE", // Sweden + 0x002F: "NO", // Norway + 0x0030: "PL", // Poland + 0x0031: "DE", // Germany + 0x0034: "MX", // Mexico + 0x0037: "BR", // Brazil + 0x003d: "AU", // Australia + 0x0040: "NZ", // New Zealand + 0x0042: "TH", // Thailand + 0x0051: "JP", // Japan + 0x0052: "KR", // Korea + 0x0054: "VN", // Viet Nam + 0x0056: "CN", // China + 0x005A: "TR", // Turkey + 0x0069: "JS", // Ramastan + 0x00D5: "DZ", // Algeria + 0x00D8: "MA", // Morocco + 0x00DA: "LY", // Libya + 0x015F: "PT", // Portugal + 0x0162: "IS", // Iceland + 0x0166: "FI", // Finland + 0x01A4: "CZ", // Czech Republic + 0x0376: "TW", // Taiwan + 0x03C1: "LB", // Lebanon + 0x03C2: "JO", // Jordan + 0x03C3: "SY", // Syria + 0x03C4: "IQ", // Iraq + 0x03C5: "KW", // Kuwait + 0x03C6: "SA", // Saudi Arabia + 0x03CB: "AE", // United Arab Emirates + 0x03CC: "IL", // Israel + 0x03CE: "QA", // Qatar + 0x03D5: "IR", // Iran + 0xFFFF: "US" // United States }; /* [MS-XLS] 2.5.127 */ diff --git a/bits/30_ctype.js b/bits/30_ctype.js index f020b9f..183c717 100644 --- a/bits/30_ctype.js +++ b/bits/30_ctype.js @@ -3,7 +3,7 @@ /* 14.2 Part Summary */ /* [MS-XLSX] 2.1 Part Enumerations */ /* [MS-XLSB] 2.1.7 Part Enumeration */ -var ct2type/*{[string]:string}*/ = ({ +var ct2type = { /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -40,12 +40,6 @@ 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", @@ -147,7 +141,7 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.openxmlformats-officedocument.oleObject": "TODO", "sheet": "js" -}/*:any*/); +}; var CT_LIST = (function(){ var o = { @@ -175,16 +169,16 @@ var CT_LIST = (function(){ return o; })(); -var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); +var type2ct = evert_arr(ct2type); XMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types'; -function parse_ct(data/*:?string*/, opts) { - var ct = ({ workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], - coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], - TODO:[], rels:[], xmlns: "" }/*:any*/); - if(!data || !data.match) return ct; +function parse_ct(data, opts) { var ctext = {}; + if(!data || !data.match) return data; + var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], + coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], + TODO:[], rels:[], xmlns: "" }; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0].replace(nsregex,"<")) { @@ -193,6 +187,7 @@ function parse_ct(data/*:?string*/, opts) { case '*/ = [], v; +function write_ct(ct, opts) { + var o = [], v; o[o.length] = (XML_HEADER); o[o.length] = (CTYPE_XML_ROOT); o = o.concat(CTYPE_DEFAULTS); diff --git a/bits/31_rels.js b/bits/31_rels.js index e8ebf3f..12ac36f 100644 --- a/bits/31_rels.js +++ b/bits/31_rels.js @@ -1,10 +1,10 @@ /* 9.3.2 OPC Relationships Markup */ -var RELS = ({ +var RELS = { WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument" -}/*:any*/); +}; -function parse_rels(data/*:?string*/, currentFilePath/*:string*/) { +function parse_rels(data, currentFilePath) { if (!data) return data; if (currentFilePath.charAt(0) !== '/') { currentFilePath = '/'+currentFilePath; @@ -27,7 +27,7 @@ function parse_rels(data/*:?string*/, currentFilePath/*:string*/) { return toksFrom.join('/'); }; - (data.match(tagregex)||[]).forEach(function(x) { + data.match(tagregex).forEach(function(x) { var y = parsexmltag(x); /* 9.3.2.2 OPC_Relationships */ if (y[0] === ' - case 'file-entry': // 4.3 - 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': // 4.4 - case 'algorithm': // 4.5 - case 'start-key-generation': // 4.6 - case 'key-derivation': // 4.7 - throw new Error("Unsupported ODS Encryption"); - default: if(opts && opts.WTF) throw Rn; - } -} - -function write_manifest(manifest/*:Array >*/, opts)/*:string*/ { - var o = [XML_HEADER]; - o.push('\n'); - o.push(' \n'); - for(var i = 0; i < manifest.length; ++i) o.push(' \n'); - o.push(''); - return o.join(""); -} - -/* Part 3 Section 6 Metadata Manifest File */ -function write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) { - return [ - ' \n', - ' \n', - ' \n' - ].join(""); -} -function write_rdf_has(base/*:string*/, file/*:string*/) { - 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(""); -} diff --git a/bits/33_coreprops.js b/bits/33_coreprops.js index f9541b6..27d432f 100644 --- a/bits/33_coreprops.js +++ b/bits/33_coreprops.js @@ -1,6 +1,6 @@ /* ECMA-376 Part II 11.1 Core Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ -var CORE_PROPS/*:Array >*/ = [ +var CORE_PROPS = [ ["cp:category", "Category"], ["cp:contentStatus", "ContentStatus"], ["cp:keywords", "Keywords"], @@ -21,7 +21,7 @@ var CORE_PROPS/*:Array >*/ = [ 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/*:Array*/ = (function() { +var CORE_PROPS_REGEX = (function() { var r = new Array(CORE_PROPS.length); for(var i = 0; i < CORE_PROPS.length; ++i) { var f = CORE_PROPS[i]; diff --git a/bits/34_extprops.js b/bits/34_extprops.js index 457aa1d..23ec968 100644 --- a/bits/34_extprops.js +++ b/bits/34_extprops.js @@ -1,6 +1,6 @@ /* 15.2.12.3 Extended File Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ -var EXT_PROPS/*:Array >*/ = [ +var EXT_PROPS = [ ["Application", "Application", "string"], ["AppVersion", "AppVersion", "string"], ["Company", "Company", "string"], @@ -51,7 +51,7 @@ var EXT_PROPS_XML_ROOT = writextag('Properties', null, { 'xmlns:vt': XMLNS.vt }); -function write_ext_props(cp, opts)/*:string*/ { +function write_ext_props(cp, opts) { var o = [], p = {}, W = writextag; if(!cp) cp = {}; cp.Application = "SheetJS"; @@ -70,7 +70,7 @@ function write_ext_props(cp, opts)/*:string*/ { /* TODO: HeadingPairs, TitlesOfParts */ 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 "" + escapexml(s) + ""; }).join(""), {size: cp.Worksheets, baseType:"lpstr"}))); + 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(""); } diff --git a/bits/35_custprops.js b/bits/35_custprops.js index de10512..5bbb3f2 100644 --- a/bits/35_custprops.js +++ b/bits/35_custprops.js @@ -3,14 +3,17 @@ XMLNS.CUST_PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/custom RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'; var custregex = /<[^>]+>[^<]*/g; -function parse_cust_props(data/*:string*/, opts) { - var p = {}, name = ""; +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('' + o.join("") + ''; -} -function xlml_write_custprops(Props, Custprops) { - var T = 'CustomDocumentProperties'; - var o = []; - if(Props) keys(Props).forEach(function(k) { - /*:: if(!Props) return; */ - if(!Props.hasOwnProperty(k)) return; - for(var i = 0; i < XLMLDocumentProperties.length; ++i) - if(k == XLMLDocumentProperties[i][0]) return; - var m = Props[k]; - var t = "string"; - if(typeof m == 'number') { t = "float"; m = String(m); } - else if(m === true || m === false) { t = "boolean"; m = m ? "1" : "0"; } - else m = String(m); - o.push(writextag(escapexmltag(k), m, {"dt:dt":t})); - }); - if(Custprops) keys(Custprops).forEach(function(k) { - /*:: if(!Custprops) return; */ - if(!Custprops.hasOwnProperty(k)) return; - var m = Custprops[k]; - var t = "string"; - if(typeof m == 'number') { t = "float"; m = String(m); } - else if(m === true || m === false) { t = "boolean"; m = m ? "1" : "0"; } - else if(m instanceof Date) { t = "dateTime.tz"; m = m.toISOString(); } - else m = String(m); - o.push(writextag(escapexmltag(k), m, {"dt:dt":t})); - }); - return '<' + T + ' xmlns="' + XLMLNS.o + '">' + o.join("") + ''; -} diff --git a/bits/38_xlstypes.js b/bits/38_xlstypes.js index 551a28f..7744cc2 100644 --- a/bits/38_xlstypes.js +++ b/bits/38_xlstypes.js @@ -68,7 +68,7 @@ function parse_VtVecHeadingPair(blob) { /* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */ function parse_dictionary(blob,CodePage) { var cnt = blob.read_shift(4); - var dict/*:{[number]:string}*/ = ({}/*:any*/); + var dict = {}; for(var j = 0; j != cnt; ++j) { var pid = blob.read_shift(4); var len = blob.read_shift(4); @@ -82,7 +82,7 @@ function parse_dictionary(blob,CodePage) { 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; + if(size & 3 > 0) blob.l += (4 - (size & 3)) & 3; return bytes; } @@ -149,7 +149,7 @@ function parse_PropertySet(blob, PIDSI) { var NumProps = blob.read_shift(4); var Props = [], i = 0; var CodePage = 0; - var Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/); + var Dictionary = -1, DictObj; for(i = 0; i != NumProps; ++i) { var PropID = blob.read_shift(4); var Offset = blob.read_shift(4); @@ -240,7 +240,7 @@ function parse_PropertySetStream(file, PIDSI) { var blob = file.content; prep_blob(blob, 0); - var NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0; + var NumSets, FMTID0, FMTID1, Offset0, Offset1; blob.chk('feff', 'Byte Order: '); var vers = blob.read_shift(2); // TODO: check version @@ -254,13 +254,13 @@ function parse_PropertySetStream(file, PIDSI) { else if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); } var PSet0 = parse_PropertySet(blob, PIDSI); - var rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/); + var rval = { SystemIdentifier: SystemIdentifier }; for(var y in PSet0) rval[y] = PSet0[y]; //rval.blob = blob; rval.FMTID = FMTID0; //rval.PSet0 = PSet0; if(NumSets === 1) return rval; - if(blob.l !== Offset1) throw new Error("Length mismatch 2: " + blob.l + " !== " + Offset1); + if(blob.l !== Offset1) throw "Length mismatch 2: " + blob.l + " !== " + Offset1; var PSet1; try { PSet1 = parse_PropertySet(blob, null); } catch(e) { } for(y in PSet1) rval[y] = PSet1[y]; @@ -303,15 +303,13 @@ function parse_Bes(blob) { /* [MS-XLS] 2.5.240 ShortXLUnicodeString */ function parse_ShortXLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts && opts.biff >= 12 ? 2 : 1); + var cch = blob.read_shift(1); var width = 1, encoding = 'sbcs-cont'; var cp = current_codepage; if(opts && opts.biff >= 8) current_codepage = 1200; - if(!opts || opts.biff == 8 ) { + if(opts === undefined || opts.biff !== 5) { 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; @@ -325,7 +323,7 @@ function parse_XLUnicodeRichExtendedString(blob) { var cch = blob.read_shift(2), flags = blob.read_shift(1); var fHighByte = flags & 0x1, fExtSt = flags & 0x4, fRichSt = flags & 0x8; var width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs - var cRun = 0, cbExtRst; + var cRun, cbExtRst; var z = {}; if(fRichSt) cRun = blob.read_shift(2); if(fExtSt) cbExtRst = blob.read_shift(4); @@ -342,10 +340,6 @@ 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'); } @@ -354,13 +348,13 @@ function parse_XLUnicodeStringNoCch(blob, cch, opts) { /* 2.5.294 XLUnicodeString */ function parse_XLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + 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); } /* BIFF5 override */ function parse_XLUnicodeString2(blob, length, opts) { - if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts); + if(opts.biff !== 5 && opts.biff !== 2) 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'); diff --git a/bits/39_xlsbiff.js b/bits/39_xlsbiff.js index 8338a74..153b7a4 100644 --- a/bits/39_xlsbiff.js +++ b/bits/39_xlsbiff.js @@ -1,11 +1,11 @@ /* --- MS-XLS --- */ /* 2.5.19 */ -function parse_XLSCell(blob, length)/*:Cell*/ { +function parse_XLSCell(blob, length) { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}/*:any*/); + return {r:rw, c:col, ixfe:ixfe}; } /* 2.5.134 */ @@ -34,14 +34,15 @@ function parse_XTI(blob, length) { function parse_RkRec(blob, length) { var ixfe = blob.read_shift(2); var RK = parse_RkNumber(blob); + //console.log("::", ixfe, RK,";;"); return [ixfe, RK]; } /* 2.5.1 */ -function parse_AddinUdf(blob, length, opts) { +function parse_AddinUdf(blob, length) { blob.l += 4; length -= 4; var l = blob.l + length; - var udfName = parse_ShortXLUnicodeString(blob, length, opts); + var udfName = parse_ShortXLUnicodeString(blob, length); var cb = blob.read_shift(2); l -= blob.l; if(cb !== l) throw "Malformed AddinUdf: padding = " + l + " != " + cb; @@ -100,22 +101,22 @@ function parse_FtCf(blob, length) { /* 2.5.140 - 2.5.154 and friends */ var FtTab = { - /*::[*/0x15/*::]*/: parse_FtCmo, - /*::[*/0x13/*::]*/: parsenoop, /* FtLbsData */ - /*::[*/0x12/*::]*/: function(blob, length) { blob.l += 12; }, /* FtCblsData */ - /*::[*/0x11/*::]*/: function(blob, length) { blob.l += 8; }, /* FtRboData */ - /*::[*/0x10/*::]*/: parsenoop, /* FtEdoData */ - /*::[*/0x0F/*::]*/: parsenoop, /* FtGboData */ - /*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */ - /*::[*/0x0C/*::]*/: function(blob, length) { blob.l += 24; }, /* FtSbs */ - /*::[*/0x0B/*::]*/: function(blob, length) { blob.l += 10; }, /* FtRbo */ - /*::[*/0x0A/*::]*/: function(blob, length) { blob.l += 16; }, /* FtCbls */ - /*::[*/0x09/*::]*/: parsenoop, /* FtPictFmla */ - /*::[*/0x08/*::]*/: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ - /*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */ - /*::[*/0x06/*::]*/: function(blob, length) { blob.l += 6; }, /* FtGmo */ - /*::[*/0x04/*::]*/: parsenoop, /* FtMacro */ - /*::[*/0x00/*::]*/: function(blob, length) { blob.l += 4; } /* FtEnding */ + 0x15: parse_FtCmo, + 0x13: parsenoop, /* FtLbsData */ + 0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ + 0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ + 0x10: parsenoop, /* FtEdoData */ + 0x0F: parsenoop, /* FtGboData */ + 0x0D: parse_FtNts, /* FtNts */ + 0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ + 0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ + 0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ + 0x09: parsenoop, /* FtPictFmla */ + 0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ + 0x07: parse_FtCf, /* FtCf */ + 0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ + 0x04: parsenoop, /* FtMacro */ + 0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ }; function parse_FtArray(blob, length, ot) { var s = blob.l; @@ -145,7 +146,7 @@ function parse_BOF(blob, length) { case 0x0500: /* BIFF5 */ case 0x0002: case 0x0007: /* BIFF2 */ break; - default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer); + default: throw "Unexpected BIFF Ver " + o.BIFFVer; } blob.read_shift(length); return o; @@ -174,7 +175,7 @@ function parse_WriteAccess(blob, length, opts) { /* 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); - var hidden = blob.read_shift(1) & 0x03; + var hidden = blob.read_shift(1) >> 6; var dt = blob.read_shift(1); switch(dt) { case 0: dt = 'Worksheet'; break; @@ -188,10 +189,10 @@ function parse_BoundSheet8(blob, length, opts) { } /* 2.4.265 TODO */ -function parse_SST(blob, length)/*:SST*/ { +function parse_SST(blob, length) { var cnt = blob.read_shift(4); var ucnt = blob.read_shift(4); - var strs/*:SST*/ = ([]/*:any*/); + var strs = []; for(var i = 0; i != ucnt; ++i) { strs.push(parse_XLUnicodeRichExtendedString(blob)); } @@ -240,7 +241,7 @@ function parse_RecalcId(blob, length) { /* 2.4.87 */ function parse_DefaultRowHeight (blob, length) { - var f = length == 4 ? blob.read_shift(2) : 0, miyRw; + var f = blob.read_shift(2), miyRw; miyRw = blob.read_shift(2); // flags & 0x02 -> hidden, else empty var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3}; return [fl, miyRw]; @@ -271,10 +272,8 @@ 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); - if(opts.biff == 2) blob.l++; - var str = parse_XLUnicodeString(blob, target - blob.l, opts); + var str = parse_XLUnicodeString(blob, length-6, opts); cell.val = str; return cell; } @@ -285,15 +284,13 @@ function parse_Format(blob, length, opts) { var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [ifmt, fmtstr]; } -var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ -function parse_Dimensions(blob, length, opts) { - var end = blob.l + length; - var w = opts.biff == 8 || !opts.biff ? 4 : 2; +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 = end; + blob.l += 2; return {s: {r:r, c:c}, e: {r:R, c:C}}; } @@ -316,44 +313,14 @@ function parse_MulRk(blob, length) { return {r:rw, c:col, C:lastcol, rkrec:rkrecs}; } -/* 2.5.20 2.5.249 TODO: interpret values here */ +/* 2.5.20 2.5.249 TODO */ function parse_CellStyleXF(blob, length, style) { var o = {}; var a = blob.read_shift(4), b = blob.read_shift(4); var c = blob.read_shift(4), d = blob.read_shift(2); o.patternType = XLSFillPattern[c >> 26]; - - o.alc = a & 0x07; - o.fWrap = (a >> 3) & 0x01; - o.alcV = (a >> 4) & 0x07; - o.fJustLast = (a >> 7) & 0x01; - o.trot = (a >> 8) & 0xFF; - o.cIndent = (a >> 16) & 0x0F; - o.fShrinkToFit = (a >> 20) & 0x01; - o.iReadOrder = (a >> 22) & 0x02; - o.fAtrNum = (a >> 26) & 0x01; - o.fAtrFnt = (a >> 27) & 0x01; - o.fAtrAlc = (a >> 28) & 0x01; - o.fAtrBdr = (a >> 29) & 0x01; - o.fAtrPat = (a >> 30) & 0x01; - o.fAtrProt = (a >> 31) & 0x01; - - o.dgLeft = b & 0x0F; - o.dgRight = (b >> 4) & 0x0F; - o.dgTop = (b >> 8) & 0x0F; - o.dgBottom = (b >> 12) & 0x0F; - o.icvLeft = (b >> 16) & 0x7F; - o.icvRight = (b >> 23) & 0x7F; - o.grbitDiag = (b >> 30) & 0x03; - - o.icvTop = c & 0x7F; - o.icvBottom = (c >> 7) & 0x7F; - o.icvDiag = (c >> 14) & 0x7F; - o.dgDiag = (c >> 21) & 0x0F; - o.icvFore = d & 0x7F; o.icvBack = (d >> 7) & 0x7F; - o.fsxButton = (d >> 14) & 0x01; return o; } function parse_CellXF(blob, length) {return parse_CellStyleXF(blob,length,0);} @@ -375,14 +342,13 @@ function parse_Guts(blob, length) { 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("|"); + if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out; return out; } /* 2.4.24 */ -function parse_BoolErr(blob, length, opts) { +function parse_BoolErr(blob, length) { 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'; @@ -415,7 +381,7 @@ function parse_SupBook(blob, length, opts) { function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; - var o = ({ + var o = { fBuiltIn: flags & 0x01, fWantAdvise: (flags >>> 1) & 0x01, fWantPict: (flags >>> 2) & 0x01, @@ -423,8 +389,8 @@ function parse_ExternName(blob, length, opts) { fOleLink: (flags >>> 4) & 0x01, cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 - }/*:any*/); - if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts); + }; + if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); return o; @@ -432,19 +398,17 @@ function parse_ExternName(blob, length, opts) { /* 2.4.150 TODO */ function parse_Lbl(blob, length, opts) { + if(opts.biff < 8) return parse_Label(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 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 npflen = target - blob.l; if(opts && opts.biff == 2) --npflen; - var rgce = target == blob.l || cce == 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce); + var rgce = parse_NameParsedFormula(blob, target - blob.l, opts, cce); return { chKey: chKey, Name: name, @@ -476,12 +440,7 @@ function parse_ShrFmla(blob, length, opts) { /* 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); - /* 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; - } + blob.l += 6; length -= 12; /* TODO: fAlwaysCalc */ return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } @@ -527,7 +486,6 @@ function parse_Obj(blob, length) { /* 2.4.329 TODO: parse properly */ 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]; @@ -541,6 +499,7 @@ try { blob.l += len; //var fmla = parse_ObjFmla(blob, s + length - blob.l); + var texts = ""; for(var i = 1; i < blob.lens.length-1; ++i) { if(blob.l-s != blob.lens[i]) throw "TxO: bad continue record"; var hdr = blob[blob.l]; @@ -561,7 +520,7 @@ try { // blob.l += 6; // if(s + length != blob.l) throw "TxO " + (s + length) + ", at " + blob.l; return { t: texts }; -} catch(e) { blob.l = s + length; return { t: texts }; } +} catch(e) { blob.l = s + length; return { t: texts||"" }; } } /* 2.4.140 */ @@ -944,7 +903,6 @@ 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; } @@ -953,44 +911,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; } -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'); -} - -/* TODO: convert to BIFF8 font struct */ -function parse_BIFF2FONTXTRA(blob, length) { - blob.l += 6; // unknown - blob.l += 2; // font weight "bls" - blob.l += 1; // charset - blob.l += 3; // unknown - 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 601f922..d67e14d 100644 --- a/bits/42_sstxml.js +++ b/bits/42_sstxml.js @@ -1,30 +1,30 @@ /* 18.4.1 charset to codepage mapping */ -var CS2CP = ({ - /*::[*/0/*::]*/: 1252, /* ANSI */ - /*::[*/1/*::]*/: 65001, /* DEFAULT */ - /*::[*/2/*::]*/: 65001, /* SYMBOL */ - /*::[*/77/*::]*/: 10000, /* MAC */ - /*::[*/128/*::]*/: 932, /* SHIFTJIS */ - /*::[*/129/*::]*/: 949, /* HANGUL */ - /*::[*/130/*::]*/: 1361, /* JOHAB */ - /*::[*/134/*::]*/: 936, /* GB2312 */ - /*::[*/136/*::]*/: 950, /* CHINESEBIG5 */ - /*::[*/161/*::]*/: 1253, /* GREEK */ - /*::[*/162/*::]*/: 1254, /* TURKISH */ - /*::[*/163/*::]*/: 1258, /* VIETNAMESE */ - /*::[*/177/*::]*/: 1255, /* HEBREW */ - /*::[*/178/*::]*/: 1256, /* ARABIC */ - /*::[*/186/*::]*/: 1257, /* BALTIC */ - /*::[*/204/*::]*/: 1251, /* RUSSIAN */ - /*::[*/222/*::]*/: 874, /* THAI */ - /*::[*/238/*::]*/: 1250, /* EASTEUROPE */ - /*::[*/255/*::]*/: 1252, /* OEM */ - /*::[*/69/*::]*/: 6969 /* MISC */ -}/*:any*/); +var CS2CP = { + 0: 1252, /* ANSI */ + 1: 65001, /* DEFAULT */ + 2: 65001, /* SYMBOL */ + 77: 10000, /* MAC */ + 128: 932, /* SHIFTJIS */ + 129: 949, /* HANGUL */ + 130: 1361, /* JOHAB */ + 134: 936, /* GB2312 */ + 136: 950, /* CHINESEBIG5 */ + 161: 1253, /* GREEK */ + 162: 1254, /* TURKISH */ + 163: 1258, /* VIETNAMESE */ + 177: 1255, /* HEBREW */ + 178: 1256, /* ARABIC */ + 186: 1257, /* BALTIC */ + 204: 1251, /* RUSSIAN */ + 222: 874, /* THAI */ + 238: 1250, /* EASTEUROPE */ + 255: 1252, /* OEM */ + 69: 6969 /* MISC */ +}; /* Parse a list of tags */ 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 tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = //g, rend = /<\/r>/, nlregex = /\r\n/g; /* 18.4.7 rPr CT_RPrElt */ var parse_rpr = function parse_rpr(rpr, intro, outro) { var font = {}, cp = 65001; @@ -42,7 +42,6 @@ var parse_rs = (function parse_rs_factory() { /* ** not required . */ case '': case '': break; /* 18.4.1 charset CT_IntProperty TODO */ @@ -54,7 +53,6 @@ var parse_rs = (function parse_rs_factory() { /* 18.4.2 outline CT_BooleanProperty TODO */ case '': case '': break; /* 18.4.5 rFont CT_FontName */ @@ -67,31 +65,27 @@ var parse_rs = (function parse_rs_factory() { case '': case '': font.strike = 1; break; case '': break; /* 18.4.13 u CT_UnderlineProperty */ case '': case '': font.u = 1; break; case '': break; /* 18.8.2 b */ case '': case '': font.b = 1; break; case '': break; /* 18.8.26 i */ case '': case '': font.i = 1; break; case '': break; @@ -127,11 +121,11 @@ var parse_rs = (function parse_rs_factory() { var terms = [[],"",[]]; /* 18.4.12 t ST_Xstring */ var t = r.match(tregex), cp = 65001; - if(!isval(t)/*:: || !t*/) return ""; + if(!isval(t)) return ""; terms[1] = t[1]; var rpr = r.match(rpregex); - if(isval(rpr)/*:: && rpr*/) cp = parse_rpr(rpr[1], terms[0], terms[2]); + if(isval(rpr)) cp = parse_rpr(rpr[1], terms[0], terms[2]); return terms[0].join("") + terms[1].replace(nlregex,'
') + terms[2].join(""); } @@ -141,25 +135,23 @@ var parse_rs = (function parse_rs_factory() { })(); /* 18.4.8 si CT_Rst */ -var sitregex = /<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g, sirregex = /<(?:\w+:)?r>/; -var sirphregex = /<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g; +var sitregex = /]*>([^<]*)<\/t>/g, sirregex = //; function parse_si(x, opts) { var html = opts ? opts.cellHTML : true; var z = {}; if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - // 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 = utf8read(x); + if(x.charCodeAt(1) === 116) { + z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0])); + z.r = x; if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { - z.r = utf8read(x); - z.t = utf8read(unescapexml((x.replace(sirphregex, '').match(sitregex)||[]).join("").replace(tagregex,""))); - if(html) z.h = parse_rs(z.r); + z.r = x; + z.t = utf8read(unescapexml(x.match(sitregex).join("").replace(tagregex,""))); + if(html) z.h = parse_rs(x); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ /* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */ @@ -167,18 +159,17 @@ function parse_si(x, opts) { } /* 18.4 Shared String Table */ -var sstr0 = /<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/; -var sstr1 = /<(?:\w+:)?(?:si|sstItem)>/g; -var sstr2 = /<\/(?:\w+:)?(?:si|sstItem)>/; -function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { - var s/*:SST*/ = ([]/*:any*/), ss = ""; - if(!data) return s; +var sstr0 = /]*)>([\s\S]*)<\/sst>/; +var sstr1 = /<(?:si|sstItem)>/g; +var sstr2 = /<\/(?:si|sstItem)>/; +function parse_sst_xml(data, opts) { + var s = [], ss; /* 18.4.9 sst CT_Sst */ var sst = data.match(sstr0); - if(isval(sst)/*:: && sst*/) { + 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); + 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; @@ -188,7 +179,7 @@ function parse_sst_xml(data/*:string*/, opts)/*:SST*/ { RELS.SST = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"; var straywsregex = /^\s|\s$|[\t\n\r]/; -function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { +function write_sst_xml(sst, opts) { if(!opts.bookSST) return ""; var o = [XML_HEADER]; o[o.length] = (writextag('sst', null, { @@ -197,7 +188,7 @@ function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { uniqueCount: sst.Unique })); for(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue; - var s/*:XLString*/ = sst[i]; + var s = sst[i]; var sitag = ""; if(s.r) sitag += s.r; else { diff --git a/bits/43_sstbin.js b/bits/43_sstbin.js index 6cfa1db..f303ade 100644 --- a/bits/43_sstbin.js +++ b/bits/43_sstbin.js @@ -4,8 +4,8 @@ function parse_BrtBeginSst(data, length) { } /* [MS-XLSB] 2.1.7.45 Shared Strings */ -function parse_sst_bin(data, opts)/*:SST*/ { - var s/*:SST*/ = ([]/*:any*/); +function parse_sst_bin(data, opts) { + var s = []; var pass = false; recordhopper(data, function hopper_sst(val, R, RT) { switch(R.n) { diff --git a/bits/44_offcrypto.js b/bits/44_offcrypto.js index fb3d4be..48d920e 100644 --- a/bits/44_offcrypto.js +++ b/bits/44_offcrypto.js @@ -1,19 +1,14 @@ -function _JS2ANSI(str/*:string*/)/*:Array*/ { - if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); - var o = [], oo = str.split(""); - for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); - return o; -} +function _JS2ANSI(str) { if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); return str.split("").map(function(x) { return x.charCodeAt(0); }); } /* [MS-OFFCRYPTO] 2.1.4 Version */ -function parse_Version(blob, length/*:number*/) { +function parse_Version(blob, length) { var o = {}; o.Major = blob.read_shift(2); o.Minor = blob.read_shift(2); return o; } /* [MS-OFFCRYPTO] 2.3.2 Encryption Header */ -function parse_EncryptionHeader(blob, length/*:number*/) { +function parse_EncryptionHeader(blob, length) { var o = {}; o.Flags = blob.read_shift(4); @@ -31,11 +26,11 @@ function parse_EncryptionHeader(blob, length/*:number*/) { } /* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */ -function parse_EncryptionVerifier(blob, length/*:number*/) { +function parse_EncryptionVerifier(blob, length) { return parsenoop(blob, length); } /* [MS-OFFCRYPTO] 2.3.5.1 RC4 CryptoAPI Encryption Header */ -function parse_RC4CryptoHeader(blob, length/*:number*/) { +function parse_RC4CryptoHeader(blob, length) { var o = {}; var vers = o.EncryptionVersionInfo = parse_Version(blob, 4); length -= 4; if(vers.Minor != 2) throw 'unrecognized minor version code: ' + vers.Minor; @@ -47,7 +42,7 @@ function parse_RC4CryptoHeader(blob, length/*:number*/) { return o; } /* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */ -function parse_RC4Header(blob, length/*:number*/) { +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; @@ -58,7 +53,7 @@ function parse_RC4Header(blob, length/*:number*/) { } /* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */ -function crypto_CreatePasswordVerifier_Method1(Password/*:string*/) { +function crypto_CreatePasswordVerifier_Method1(Password) { var Verifier = 0x0000, PasswordArray; var PasswordDecoded = _JS2ANSI(Password); var len = PasswordDecoded.length + 1, i, PasswordByte; @@ -95,7 +90,7 @@ var crypto_CreateXorArray_Method1 = (function() { } return XorKey; }; - return function(password/*:string*/) { + return function(password) { var Password = _JS2ANSI(password); var XorKey = CreateXorKey_Method1(Password); var Index = Password.length; @@ -135,7 +130,7 @@ var crypto_CreateXorArray_Method1 = (function() { })(); /* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */ -var crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) { +var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) { /* If XorArray is set, use it; if O is not set, make changes in-place */ if(!O) O = Data; if(!XorArray) XorArray = crypto_CreateXorArray_Method1(password); @@ -150,10 +145,10 @@ var crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayInd return [O, XorArrayIndex, XorArray]; }; -var crypto_MakeXorDecryptor = function(password/*:string*/) { +var crypto_MakeXorDecryptor = function(password) { var XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password); return function(Data) { - var O = crypto_DecryptData_Method1("", Data, XorArrayIndex, XorArray); + var O = crypto_DecryptData_Method1(null, Data, XorArrayIndex, XorArray); XorArrayIndex = O[1]; return O[0]; }; @@ -161,7 +156,7 @@ var crypto_MakeXorDecryptor = function(password/*:string*/) { /* 2.5.343 */ function parse_XORObfuscation(blob, length, opts, out) { - var o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/); + 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); @@ -169,13 +164,13 @@ function parse_XORObfuscation(blob, length, opts, out) { } /* 2.4.117 */ -function parse_FilePassHeader(blob, length/*:number*/, oo) { +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/*:number*/, opts) { +function parse_FilePass(blob, length, opts) { var o = { Type: blob.read_shift(2) }; /* wEncryptionType */ if(o.Type) parse_FilePassHeader(blob, length-2, o); else parse_XORObfuscation(blob, length-2, opts, o); diff --git a/bits/45_styutils.js b/bits/45_styutils.js index 60ef307..16d30bc 100644 --- a/bits/45_styutils.js +++ b/bits/45_styutils.js @@ -1,6 +1,6 @@ function hex2RGB(h) { var o = h.substr(h[0]==="#"?1:0,6); - return [parseInt(o.substr(0,2),16),parseInt(o.substr(2,2),16),parseInt(o.substr(4,2),16)]; + 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]); diff --git a/bits/47_styxml.js b/bits/47_styxml.js index 4013c98..7916237 100644 --- a/bits/47_styxml.js +++ b/bits/47_styxml.js @@ -13,7 +13,6 @@ function parse_fills(t, opts) { /* 18.8.32 patternFill CT_PatternFill */ case '': if(y.patternType) fill.patternType = y.patternType; break; case '': case '': break; @@ -39,7 +38,7 @@ function parse_fills(t, opts) { break; case '': case '': break; - default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in fills'); + default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in fills'; } }); } @@ -47,10 +46,9 @@ function parse_fills(t, opts) { /* 18.8.31 numFmts CT_NumFmts */ function parse_numFmts(t, opts) { styles.NumberFmt = []; - var k/*Array*/ = (keys(SSF._table)/*:any*/); + var k = keys(SSF._table); for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]]; var m = t[0].match(tagregex); - if(!m) return; for(i=0; i < m.length; ++i) { var y = parsexmltag(m[i]); switch(y[0]) { @@ -59,16 +57,15 @@ function parse_numFmts(t, opts) { var f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10); styles.NumberFmt[j] = f; if(j>0) SSF.load(f,j); } break; - case '': break; - default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts'); + default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in numFmts'; } } } -function write_numFmts(NF/*:{[n:number]:string}*/, opts) { +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]) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])})); + 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] = (""); @@ -92,7 +89,7 @@ function parse_cellXfs(t, opts) { case '': break; /* 18.8.1 alignment CT_CellAlignment */ - case '': case '': break; + case '': break; /* 18.8.33 protection CT_CellProtection */ case '': case '': break; @@ -104,7 +101,7 @@ function parse_cellXfs(t, opts) { }); } -function write_cellXfs(cellXfs)/*:string*/ { +function write_cellXfs(cellXfs) { var o = []; o[o.length] = (writextag('cellXfs',null)); cellXfs.forEach(function(c) { o[o.length] = (writextag('xf', null, c)); }); @@ -121,7 +118,6 @@ var cellXfRegex = /]*)>.*<\/cellXfs>/; var fillsRegex = /]*)>.*<\/fills>/; return function parse_sty_xml(data, opts) { - if(!data) return styles; /* 18.8.39 styleSheet CT_Stylesheet */ var t; @@ -156,9 +152,9 @@ var STYLES_XML_ROOT = writextag('styleSheet', null, { RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; -function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { +function write_sty_xml(wb, opts) { var o = [XML_HEADER, STYLES_XML_ROOT], w; - if(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w; + if((w = write_numFmts(wb.SSF)) != null) o[o.length] = w; o[o.length] = (''); o[o.length] = (''); o[o.length] = (''); diff --git a/bits/48_stybin.js b/bits/48_stybin.js index d9f0423..9df1b93 100644 --- a/bits/48_stybin.js +++ b/bits/48_stybin.js @@ -1,13 +1,13 @@ /* [MS-XLSB] 2.4.651 BrtFmt */ -function parse_BrtFmt(data, length/*:number*/) { +function parse_BrtFmt(data, length) { var ifmt = data.read_shift(2); var stFmtCode = parse_XLWideString(data,length-2); return [ifmt, stFmtCode]; } /* [MS-XLSB] 2.4.653 BrtFont TODO */ -function parse_BrtFont(data, length/*:number*/) { - var out = ({flags:{}}/*:any*/); +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); @@ -33,7 +33,7 @@ function parse_BrtFont(data, length/*:number*/) { } /* [MS-XLSB] 2.4.816 BrtXF */ -function parse_BrtXF(data, length/*:number*/) { +function parse_BrtXF(data, length) { var ixfeParent = data.read_shift(2); var ifmt = data.read_shift(2); parsenoop(data, length-4); @@ -42,7 +42,7 @@ function parse_BrtXF(data, length/*:number*/) { /* [MS-XLSB] 2.1.7.50 Styles */ function parse_sty_bin(data, opts) { - styles.NumberFmt = ([]/*:any*/); + styles.NumberFmt = []; for(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y]; styles.CellXf = []; diff --git a/bits/49_theme.js b/bits/49_theme.js index 2e0e68e..40b626c 100644 --- a/bits/49_theme.js +++ b/bits/49_theme.js @@ -4,7 +4,7 @@ RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationship function parse_clrScheme(t, opts) { themes.themeElements.clrScheme = []; var color = {}; - (t[0].match(tagregex)||[]).forEach(function(x) { + t[0].match(tagregex).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { case '': break; @@ -88,7 +88,7 @@ function parse_themeElements(data, opts) { /* fmtScheme CT_StyleMatrix */ ['fmtScheme', fmtsregex, parse_fmtScheme] ].forEach(function(m) { - if(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements'); + if(!(t=data.match(m[1]))) throw m[0] + ' not found in themeElements'; m[2](t, opts); }); } @@ -96,7 +96,7 @@ function parse_themeElements(data, opts) { var themeltregex = /]*)>[^\u2603]*<\/a:themeElements>/; /* 14.2.7 Theme Part */ -function parse_theme_xml(data/*:string*/, opts) { +function parse_theme_xml(data, opts) { /* 20.1.6.9 theme CT_OfficeStyleSheet */ if(!data || data.length === 0) return themes; @@ -109,172 +109,4 @@ function parse_theme_xml(data/*:string*/, 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 write_theme() { return '\n'; } diff --git a/bits/50_styxls.js b/bits/50_styxls.js index f88cae1..32804ea 100644 --- a/bits/50_styxls.js +++ b/bits/50_styxls.js @@ -68,15 +68,10 @@ function update_xfext(xf, xfext) { switch(xfe[0]) { /* 2.5.108 extPropData */ case 0x04: break; /* foreground color */ case 0x05: break; /* background color */ - case 0x06: break; /* gradient fill */ - case 0x07: break; /* top cell border color */ - case 0x08: break; /* bottom cell border color */ - case 0x09: break; /* left cell border color */ - case 0x0a: break; /* right cell border color */ - case 0x0b: break; /* diagonal cell border color */ + case 0x07: case 0x08: case 0x09: case 0x0a: break; case 0x0d: break; /* text color */ case 0x0e: break; /* font scheme */ - case 0x0f: break; /* indentation level */ + default: throw "bafuq" + xfe[0].toString(16); } }); } diff --git a/bits/52_ccxml.js b/bits/52_ccxml.js index b7fee49..0150de8 100644 --- a/bits/52_ccxml.js +++ b/bits/52_ccxml.js @@ -1,7 +1,6 @@ /* 18.6 Calculation Chain */ 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); diff --git a/bits/56_cmntcommon.js b/bits/56_cmntcommon.js index 888cd20..c0f8ce4 100644 --- a/bits/56_cmntcommon.js +++ b/bits/56_cmntcommon.js @@ -34,7 +34,7 @@ function insertCommentsIntoSheet(sheetName, sheet, comments) { } if (!cell.c) cell.c = []; - var o = ({a: comment.author, t: comment.t, r: comment.r}/*:any*/); + var o = {a: comment.author, t: comment.t, r: comment.r}; if(comment.h) o.h = comment.h; cell.c.push(o); }); diff --git a/bits/57_cmntxml.js b/bits/57_cmntxml.js index 57429ce..fdd3337 100644 --- a/bits/57_cmntxml.js +++ b/bits/57_cmntxml.js @@ -1,27 +1,21 @@ /* 18.7.3 CT_Comment */ -function parse_comments_xml(data/*:string*/, opts)/*:Array*/ { +function parse_comments_xml(data, opts) { if(data.match(/<(?:\w+:)?comments *\/>/)) 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) { + data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/)[1].split(/<\/\w*:?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - var a = x.match(/<(?:\w+:)?author[^>]*>(.*)/); - if(a) authors.push(a[1]); + authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); }); - var cmnttag = data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/); - if(cmnttag && cmnttag[1]) cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { + (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/)||["",""])[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/*:Comment*/ = ({ author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }/*:any*/); + var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[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>/); + var textMatch = x.match(/([^\u2603]*)<\/text>/); if (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag. var rt = parse_si(textMatch[1]); - if(!rt) return; comment.r = rt.r; comment.t = rt.t; if(opts.cellHTML) comment.h = rt.h; diff --git a/bits/61_fcommon.js b/bits/61_fcommon.js index 1694626..08a9754 100644 --- a/bits/61_fcommon.js +++ b/bits/61_fcommon.js @@ -5,10 +5,9 @@ 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; - 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); + 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; @@ -16,27 +15,3 @@ var rc_to_a1 = (function(){ }; })(); -var crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g; -var a1_to_rc =(function(){ - return function a1_to_rc(fstr, base) { - return fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5, off, str) { - /* TODO: handle fixcol / fixrow */ - var c = decode_col($3) - base.c; - var r = decode_row($5) - base.r; - return $1 + "R" + (r == 0 ? "" : "[" + r + "]") + "C" + (c == 0 ? "" : "[" + c + "]"); - }); - }; -})(); - -/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */ -function shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ { - return f.replace(crefregex, 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 3618723..45c9d0e 100644 --- a/bits/62_fxls.js +++ b/bits/62_fxls.js @@ -7,129 +7,85 @@ function parseread1(blob, length) { blob.l+=1; return; } /* 2.5.51 */ function parse_ColRelU(blob, length) { - var c = blob.read_shift(length == 1 ? 1 : 2); + var c = blob.read_shift(2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* [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); +/* 2.5.198.105 */ +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]} }; } -/* 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, opts) { - var r=blob.read_shift(length == 12 ? 4 : 2), R=blob.read_shift(length == 12 ? 4 : 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]} }; } /* 2.5.198.109 */ -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); +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_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]}; -} -/* [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); +/* 2.5.198.111 */ +function parse_RgceLocRel(blob, length) { + var r = blob.read_shift(2); var cl = blob.read_shift(2); var cRel = (cl & 0x8000) >> 15, rRel = (cl & 0x4000) >> 14; cl &= 0x3FFF; - if(rRel == 1) while(r > 0x7FFFF) r -= 0x100000; - if(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000; + if(cRel !== 0) while(cl >= 0x100) cl -= 0x100; 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, opts) { +function parse_PtgArea(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); + var area = parse_RgceArea(blob, 8); return [type, area]; } -/* [MS-XLS] 2.5.198.28 */ -/* [MS-XLSB] 2.5.97.19 */ -function parse_PtgArea3d(blob, length, opts) { +/* 2.5.198.28 */ +function parse_PtgArea3d(blob, length) { var type = (blob[blob.l++] & 0x60) >> 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); + var ixti = blob.read_shift(2); + var area = parse_RgceArea(blob, 8); return [type, ixti, area]; } /* 2.5.198.29 */ -function parse_PtgAreaErr(blob, length, opts) { +function parse_PtgAreaErr(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - blob.l += opts && opts.biff > 8 ? 12 : 8; + blob.l += 8; return [type]; } /* 2.5.198.30 */ -function parse_PtgAreaErr3d(blob, length, opts) { +function parse_PtgAreaErr3d(blob, length) { var type = (blob[blob.l++] & 0x60) >> 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; + blob.l += 8; return [type, ixti]; } /* 2.5.198.31 */ -function parse_PtgAreaN(blob, length, opts) { +function parse_PtgAreaN(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceAreaRel(blob, opts && opts.biff > 8 ? 12 : 8, opts); + var area = parse_RgceAreaRel(blob, 8); return [type, area]; } -/* [MS-XLS] 2.5.198.32 */ -/* [MS-XLSB] 2.5.97.23 */ -function parse_PtgArray(blob, length, opts) { +/* 2.5.198.32 -- ignore this and look in PtgExtraArray for shape + values */ +function parse_PtgArray(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; + blob.l += 7; return [type]; } @@ -142,40 +98,33 @@ function parse_PtgAttrBaxcel(blob, length) { } /* 2.5.198.34 */ -function parse_PtgAttrChoose(blob, length, opts) { +function parse_PtgAttrChoose(blob, length) { blob.l +=2; - var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + var offset = blob.read_shift(2); var o = []; /* offset is 1 less than the number of elements */ - for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2)); + for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(2)); return o; } /* 2.5.198.35 */ -function parse_PtgAttrGoto(blob, length, opts) { +function parse_PtgAttrGoto(blob, length) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; - return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; + return [bitGoto, blob.read_shift(2)]; } /* 2.5.198.36 */ -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) { +function parse_PtgAttrIf(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, opts) { +function parse_PtgAttrSemi(blob, length) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += opts && opts.biff == 2 ? 3 : 4; + blob.l += 4; return [bitSemi]; } @@ -198,44 +147,46 @@ function parse_PtgAttrSpaceSemi(blob, length) { } /* 2.5.198.84 TODO */ -function parse_PtgRef(blob, length, opts) { +function parse_PtgRef(blob, length) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLoc(blob, 0, opts); + var loc = parse_RgceLoc(blob,4); return [type, loc]; } /* 2.5.198.88 TODO */ -function parse_PtgRefN(blob, length, opts) { +function parse_PtgRefN(blob, length) { + var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLocRel(blob, 0, opts); + var loc = parse_RgceLocRel(blob,4); return [type, loc]; } /* 2.5.198.85 TODO */ -function parse_PtgRef3d(blob, length, opts) { +function parse_PtgRef3d(blob, length) { + var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex - var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel + var loc = parse_RgceLoc(blob,4); return [type, ixti, loc]; } /* 2.5.198.62 TODO */ -function parse_PtgFunc(blob, length, opts) { +function parse_PtgFunc(blob, length) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); - return [FtabArgc[iftab], Ftab[iftab], type]; + var iftab = blob.read_shift(2); + return [FtabArgc[iftab], Ftab[iftab]]; } /* 2.5.198.63 TODO */ -function parse_PtgFuncVar(blob, length, opts) { +function parse_PtgFuncVar(blob, length) { blob.l++; - var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); + var cparams = blob.read_shift(1), tab = parsetab(blob); return [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]]; } @@ -244,26 +195,22 @@ function parsetab(blob, length) { } /* 2.5.198.41 */ -function parse_PtgAttrSum(blob, length, opts) { - blob.l += opts && opts.biff == 2 ? 3 : 4; return; -} - +var parse_PtgAttrSum = parseread(4); /* 2.5.198.43 */ var parse_PtgConcat = parseread1; /* 2.5.198.58 */ -function parse_PtgExp(blob, length, opts) { +function parse_PtgExp(blob, length) { 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); + var col = blob.read_shift(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 */ +/* 2.5.198.66 TODO */ function parse_PtgInt(blob, length) { blob.l++; return blob.read_shift(2); } /* 2.5.198.42 */ @@ -273,19 +220,12 @@ 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, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } +function parse_PtgStr(blob, length) { blob.l++; return parse_ShortXLUnicodeString(blob); } -/* [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.112 + 2.5.192.11{3,4,5,6,7} */ +function parse_SerAr(blob) { + var val = []; + switch((val[0] = blob.read_shift(1))) { /* 2.5.192.113 */ case 0x04: /* SerBool -- boolean */ val[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE'; @@ -302,7 +242,7 @@ function parse_SerAr(blob, biff/*:number*/) { val[1] = parse_Xnum(blob, 8); break; /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ - val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; + val[1] = parse_XLUnicodeString(blob); break; // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; @@ -317,89 +257,52 @@ function parse_PtgExtraMem(blob, cce) { } /* 2.5.198.59 */ -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; } - // $FlowIgnore - for(var i = 0, o/*:Array >*/=[]; i != rows && (o[i] = []); ++i) - for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff); +function parse_PtgExtraArray(blob) { + var cols = 1 + blob.read_shift(1); //DColByteU + var rows = 1 + blob.read_shift(2); //DRw + 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; } /* 2.5.198.76 */ -function parse_PtgName(blob, length, opts) { +function parse_PtgName(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; - 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; - } + var nameindex = blob.read_shift(4); return [type, 0, nameindex]; } /* 2.5.198.77 */ -function parse_PtgNameX(blob, length, opts) { - if(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts); +function parse_PtgNameX(blob, length) { 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, opts) { +function parse_PtgMemArea(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += (opts && opts.biff == 2 ? 3 : 4); - var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + blob.l += 4; + var cce = blob.read_shift(2); return [type, cce]; } /* 2.5.198.72 */ -function parse_PtgMemFunc(blob, length, opts) { +function parse_PtgMemFunc(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + var cce = blob.read_shift(2); return [type, cce]; } /* 2.5.198.86 */ -function parse_PtgRefErr(blob, length, opts) { +function parse_PtgRefErr(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; - if(opts.biff == 12) blob.l += 2; return [type]; } -/* 2.5.198.87 */ -function parse_PtgRefErr3d(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - var ixti = blob.read_shift(2); - var w = 4; - if(opts) switch(opts.biff) { - case 5: throw new Error("PtgRefErr3d -- 5"); // TODO: find test case - case 12: w = 6; break; - } - blob.l += w; - return [type, ixti]; -} - /* 2.5.198.26 */ var parse_PtgAdd = parseread1; /* 2.5.198.45 */ @@ -443,114 +346,108 @@ var parse_PtgUplus = parseread1; var parse_PtgMemErr = parsenoop; /* 2.5.198.73 */ var parse_PtgMemNoMem = parsenoop; +/* 2.5.198.87 */ +var parse_PtgRefErr3d = parsenoop; /* 2.5.198.92 */ var parse_PtgTbl = parsenoop; /* 2.5.198.25 */ var PtgTypes = { - /*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp }, - /*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl }, - /*::[*/0x03/*::]*/: { n:'PtgAdd', f:parse_PtgAdd }, - /*::[*/0x04/*::]*/: { n:'PtgSub', f:parse_PtgSub }, - /*::[*/0x05/*::]*/: { n:'PtgMul', f:parse_PtgMul }, - /*::[*/0x06/*::]*/: { n:'PtgDiv', f:parse_PtgDiv }, - /*::[*/0x07/*::]*/: { n:'PtgPower', f:parse_PtgPower }, - /*::[*/0x08/*::]*/: { n:'PtgConcat', f:parse_PtgConcat }, - /*::[*/0x09/*::]*/: { n:'PtgLt', f:parse_PtgLt }, - /*::[*/0x0A/*::]*/: { n:'PtgLe', f:parse_PtgLe }, - /*::[*/0x0B/*::]*/: { n:'PtgEq', f:parse_PtgEq }, - /*::[*/0x0C/*::]*/: { n:'PtgGe', f:parse_PtgGe }, - /*::[*/0x0D/*::]*/: { n:'PtgGt', f:parse_PtgGt }, - /*::[*/0x0E/*::]*/: { n:'PtgNe', f:parse_PtgNe }, - /*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parse_PtgIsect }, - /*::[*/0x10/*::]*/: { n:'PtgUnion', f:parse_PtgUnion }, - /*::[*/0x11/*::]*/: { n:'PtgRange', f:parse_PtgRange }, - /*::[*/0x12/*::]*/: { n:'PtgUplus', f:parse_PtgUplus }, - /*::[*/0x13/*::]*/: { n:'PtgUminus', f:parse_PtgUminus }, - /*::[*/0x14/*::]*/: { n:'PtgPercent', f:parse_PtgPercent }, - /*::[*/0x15/*::]*/: { n:'PtgParen', f:parse_PtgParen }, - /*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parse_PtgMissArg }, - /*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr }, - /*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr }, - /*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool }, - /*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt }, - /*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum }, - /*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray }, - /*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc }, - /*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar }, - /*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName }, - /*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef }, - /*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea }, - /*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea }, - /*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr }, - /*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, - /*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc }, - /*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr }, - /*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr }, - /*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN }, - /*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN }, - /*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX }, - /*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d }, - /*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d }, - /*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, - /*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, - /*::[*/0xFF/*::]*/: {} + 0x01: { n:'PtgExp', f:parse_PtgExp }, + 0x02: { n:'PtgTbl', f:parse_PtgTbl }, + 0x03: { n:'PtgAdd', f:parse_PtgAdd }, + 0x04: { n:'PtgSub', f:parse_PtgSub }, + 0x05: { n:'PtgMul', f:parse_PtgMul }, + 0x06: { n:'PtgDiv', f:parse_PtgDiv }, + 0x07: { n:'PtgPower', f:parse_PtgPower }, + 0x08: { n:'PtgConcat', f:parse_PtgConcat }, + 0x09: { n:'PtgLt', f:parse_PtgLt }, + 0x0A: { n:'PtgLe', f:parse_PtgLe }, + 0x0B: { n:'PtgEq', f:parse_PtgEq }, + 0x0C: { n:'PtgGe', f:parse_PtgGe }, + 0x0D: { n:'PtgGt', f:parse_PtgGt }, + 0x0E: { n:'PtgNe', f:parse_PtgNe }, + 0x0F: { n:'PtgIsect', f:parse_PtgIsect }, + 0x10: { n:'PtgUnion', f:parse_PtgUnion }, + 0x11: { n:'PtgRange', f:parse_PtgRange }, + 0x12: { n:'PtgUplus', f:parse_PtgUplus }, + 0x13: { n:'PtgUminus', f:parse_PtgUminus }, + 0x14: { n:'PtgPercent', f:parse_PtgPercent }, + 0x15: { n:'PtgParen', f:parse_PtgParen }, + 0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, + 0x17: { n:'PtgStr', f:parse_PtgStr }, + 0x1C: { n:'PtgErr', f:parse_PtgErr }, + 0x1D: { n:'PtgBool', f:parse_PtgBool }, + 0x1E: { n:'PtgInt', f:parse_PtgInt }, + 0x1F: { n:'PtgNum', f:parse_PtgNum }, + 0x20: { n:'PtgArray', f:parse_PtgArray }, + 0x21: { n:'PtgFunc', f:parse_PtgFunc }, + 0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, + 0x23: { n:'PtgName', f:parse_PtgName }, + 0x24: { n:'PtgRef', f:parse_PtgRef }, + 0x25: { n:'PtgArea', f:parse_PtgArea }, + 0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, + 0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, + 0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, + 0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, + 0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, + 0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, + 0x2C: { n:'PtgRefN', f:parse_PtgRefN }, + 0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, + 0x39: { n:'PtgNameX', f:parse_PtgNameX }, + 0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, + 0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, + 0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, + 0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, + 0xFF: {} }; /* These are duplicated in the PtgTypes table */ var PtgDupes = { - /*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20, - /*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21, - /*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22, - /*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23, - /*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24, - /*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25, - /*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26, - /*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27, - /*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28, - /*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29, - /*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A, - /*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B, - /*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C, - /*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D, - /*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39, - /*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A, - /*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B, - /*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C, - /*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D + 0x40: 0x20, 0x60: 0x20, + 0x41: 0x21, 0x61: 0x21, + 0x42: 0x22, 0x62: 0x22, + 0x43: 0x23, 0x63: 0x23, + 0x44: 0x24, 0x64: 0x24, + 0x45: 0x25, 0x65: 0x25, + 0x46: 0x26, 0x66: 0x26, + 0x47: 0x27, 0x67: 0x27, + 0x48: 0x28, 0x68: 0x28, + 0x49: 0x29, 0x69: 0x29, + 0x4A: 0x2A, 0x6A: 0x2A, + 0x4B: 0x2B, 0x6B: 0x2B, + 0x4C: 0x2C, 0x6C: 0x2C, + 0x4D: 0x2D, 0x6D: 0x2D, + 0x59: 0x39, 0x79: 0x39, + 0x5A: 0x3A, 0x7A: 0x3A, + 0x5B: 0x3B, 0x7B: 0x3B, + 0x5C: 0x3C, 0x7C: 0x3C, + 0x5D: 0x3D, 0x7D: 0x3D }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); -var Ptg18 = { -// /*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList }, // TODO -// /*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName }, // TODO -}; +var Ptg18 = {}; var Ptg19 = { - /*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, - /*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf }, - /*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, - /*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, - /*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum }, - /*::[*/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/*::]*/: {} + 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, + 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, + 0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, + 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, + 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, + 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, + 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, + 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, + 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); 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); + blob.read_shift(1); + var chn = blob.read_shift(4); + var cbf = ""; + 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]}; } @@ -564,7 +461,6 @@ function parse_FormulaValue(blob) { case 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e']; case 0x03: blob.l += 8; return ["",'s']; } - return []; } /* 2.5.198.103 */ @@ -575,24 +471,17 @@ function parse_RgbExtra(blob, length, rgce, opts) { for(var i = 0; i !== rgce.length; ++i) { switch(rgce[i][0]) { case 'PtgArray': /* PtgArray -> PtgExtraArray */ - rgce[i][1] = parse_PtgExtraArray(blob, 0, opts); + rgce[i][1] = parse_PtgExtraArray(blob); 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; } @@ -600,7 +489,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, opts); + var rgce = parse_Rgce(blob, cce); var rgcb; if(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts); return [rgce, rgcb]; @@ -608,11 +497,11 @@ function parse_NameParsedFormula(blob, length, opts, cce) { /* 2.5.198.3 TODO */ function parse_XLSCellParsedFormula(blob, length, opts) { - var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; - var rgcb, cce = blob.read_shift(len); // length of rgce + var target = blob.l + length; + var rgcb, cce = blob.read_shift(2); // length of rgce if(cce == 0xFFFF) 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); + var rgce = parse_Rgce(blob, cce); + if(length !== cce + 2) rgcb = parse_RgbExtra(blob, length - cce - 2, rgce, opts); return [rgce, rgcb]; } @@ -620,7 +509,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, opts); + var rgce = parse_Rgce(blob, cce); if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; @@ -628,79 +517,47 @@ function parse_SharedParsedFormula(blob, length, opts) { /* 2.5.198.1 TODO */ 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); // length of rgce + var target = blob.l + length; + var rgcb, cce = blob.read_shift(2); // length of rgce if(cce == 0xFFFF) 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); + var rgce = parse_Rgce(blob, cce); + if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; } /* 2.5.198.104 */ -function parse_Rgce(blob, length, opts) { +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]; + //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)); } - // $FlowIgnore - else { ptgs.push([R.n, R.f(blob, length, opts)]); } + if(!R || !R.f) { ptgs.push(parsenoop(blob, length)); } + else { ptgs.push([R.n, R.f(blob, length)]); } } return ptgs; } -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: - /*:: if(typeof y[1] != 'string') throw "unreachable"; */ - r.push('"' + y[1].replace(/"/g,'""') + '"'); break; - default: r.push(y[1]); - } else r.push(""); - } - o.push(r.join(",")); - } - return o.join(";"); -} +function mapper(x) { return x.map(function f2(y) { return y[1];}).join(",");} -/* [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/*Array*/, range, cell/*:any*/, supbooks, opts) { - //console.log(formula); - var _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}}; - var stack/*:Array*/ = [], e1, e2, type, c, ixti=0, nameidx=0, r, sname=""; +/* 2.2.2 + Magic TODO */ +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 ""; - 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]; //console.log("++",f, stack) switch(f[0]) { + /* 2.2.2.1 Unary Operator Tokens */ /* 2.5.198.93 */ case 'PtgUminus': stack.push("-" + stack.pop()); break; /* 2.5.198.95 */ @@ -708,36 +565,69 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, /* 2.5.198.81 */ case 'PtgPercent': stack.push(stack.pop() + "%"); break; - case 'PtgAdd': /* 2.5.198.26 */ - case 'PtgConcat': /* 2.5.198.43 */ - case 'PtgDiv': /* 2.5.198.45 */ - case 'PtgEq': /* 2.5.198.56 */ - case 'PtgGe': /* 2.5.198.64 */ - case 'PtgGt': /* 2.5.198.65 */ - case 'PtgLe': /* 2.5.198.68 */ - case 'PtgLt': /* 2.5.198.69 */ - case 'PtgMul': /* 2.5.198.75 */ - case 'PtgNe': /* 2.5.198.78 */ - case 'PtgPower': /* 2.5.198.82 */ - case 'PtgSub': /* 2.5.198.90 */ + /* 2.2.2.1 Binary Value Operator Token */ + /* 2.5.198.26 */ + case 'PtgAdd': e1 = stack.pop(); e2 = stack.pop(); - if(last_sp >= 0) { - switch(formula[0][last_sp][1][0]) { - // $FlowIgnore - case 0: sp = fill(" ", formula[0][last_sp][1][1]); break; - // $FlowIgnore - case 1: sp = fill("\r", formula[0][last_sp][1][1]); break; - default: - sp = ""; - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + formula[0][last_sp][1][0]); - } - e2 = e2 + sp; - last_sp = -1; - } - stack.push(e2+PtgBinOp[f[0]]+e1); + 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); break; + /* 2.2.2.1 Binary Reference Operator Token */ /* 2.5.198.67 */ case 'PtgIsect': e1 = stack.pop(); e2 = stack.pop(); @@ -747,46 +637,41 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, 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 'PtgRange': break; + /* 2.2.2.3 Control Tokens "can be ignored" */ /* 2.5.198.34 */ case 'PtgAttrChoose': break; /* 2.5.198.35 */ 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(f[1][1], _range, opts); - stack.push(encode_cell_xls(c)); + type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), _range); + stack.push(encode_cell(c)); break; /* 2.5.198.88 */ case 'PtgRefN': - type = f[1][0]; c = shift_cell_xls(f[1][1], cell, opts); - stack.push(encode_cell_xls(c)); + type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), cell); + stack.push(encode_cell(c)); break; case 'PtgRef3d': // TODO: lots of stuff - type = f[1][0]; ixti = /*::Number(*/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)); + 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; + /* Function Call */ /* 2.5.198.62 */ case 'PtgFunc': /* 2.5.198.63 */ case 'PtgFuncVar': - //console.log(f[1]); - /* f[1] = [argc, func, type] */ - var argc/*:number*/ = f[1][0], func/*:string*/ = f[1][1]; + /* f[1] = [argc, func] */ + var argc = f[1][0], func = f[1][1]; if(!argc) argc = 0; - var args = argc == 0 ? [] : stack.slice(-argc); + var args = stack.slice(-argc); stack.length -= argc; if(func === 'User') func = args.shift(); stack.push(func + "(" + args.join(",") + ")"); @@ -795,35 +680,29 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, /* 2.5.198.42 */ case 'PtgBool': stack.push(f[1] ? "TRUE" : "FALSE"); break; /* 2.5.198.66 */ - case 'PtgInt': stack.push(/*::String(*/f[1]/*::)*/); break; + case 'PtgInt': stack.push(f[1]); break; /* 2.5.198.79 TODO: precision? */ case 'PtgNum': stack.push(String(f[1])); break; /* 2.5.198.89 */ - // $FlowIgnore case 'PtgStr': stack.push('"' + f[1] + '"'); break; /* 2.5.198.57 */ - case 'PtgErr': stack.push(/*::String(*/f[1]/*::)*/); break; - /* 2.5.198.31 TODO */ - case 'PtgAreaN': - type = f[1][0]; r = shift_range_xls(f[1][1], _range, opts); - stack.push(encode_range_xls(r, opts)); - break; + case 'PtgErr': stack.push(f[1]); break; /* 2.5.198.27 TODO: fixed points */ case 'PtgArea': - type = f[1][0]; r = shift_range_xls(f[1][1], _range, opts); - stack.push(encode_range_xls(r, opts)); + type = f[1][0]; r = shift_range_xls(f[1][1], _range); + stack.push(encode_range(r)); break; /* 2.5.198.28 */ case 'PtgArea3d': // TODO: lots of stuff - type = f[1][0]; ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2]; - sname = (supbooks && supbooks[1] ? supbooks[1][ixti+1] : "**MISSING**"); - stack.push(sname + "!" + encode_range(r)); + type = f[1][0]; ixti = f[1][1]; r = f[1][2]; + stack.push(supbooks[1][ixti+1]+"!"+encode_range(r)); break; /* 2.5.198.41 */ case 'PtgAttrSum': stack.push("SUM(" + stack.pop() + ")"); break; + /* Expression Prefixes */ /* 2.5.198.37 */ case 'PtgAttrSemi': break; @@ -832,7 +711,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, /* f[1] = type, 0, nameindex */ nameidx = f[1][2]; var lbl = supbooks[0][nameidx]; - var name = lbl ? lbl.Name : "**MISSING**" + String(nameidx); + var name = lbl.Name; if(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name]; stack.push(name); break; @@ -840,53 +719,26 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, /* 2.5.97.61 TODO: do something different for revisions */ case 'PtgNameX': /* f[1] = type, ixti, nameindex */ - var bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = f[1][2]; var externbook; + var bookidx = f[1][1]; nameidx = f[1][2]; var externbook; /* TODO: Properly handle missing values */ - //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(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': - var lp = '(', rp = ')'; - if(last_sp >= 0) { - sp = ""; - switch(formula[0][last_sp][1][0]) { - // $FlowIgnore - case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break; - // $FlowIgnore - case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break; - // $FlowIgnore - case 4: rp = fill(" ", formula[0][last_sp][1][1]) + rp; break; - // $FlowIgnore - case 5: rp = fill("\r", formula[0][last_sp][1][1]) + rp; break; - default: - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + formula[0][last_sp][1][0]); - } - last_sp = -1; - } - stack.push(lp + stack.pop() + rp); break; + case 'PtgParen': stack.push('(' + stack.pop() + ')'); break; /* 2.5.198.86 */ case 'PtgRefErr': stack.push('#REF!'); break; - /* 2.5.198.87 */ - case 'PtgRefErr3d': stack.push('#REF!'); break; - /* */ /* 2.5.198.58 TODO */ case 'PtgExp': c = {c:f[1][1],r:f[1][0]}; - var q = ({c: cell.c, r:cell.r}/*:any*/); + 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)); @@ -899,29 +751,24 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, 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(/*::String(*/f[1]/*::)*/); + if(!fnd) stack.push(f[1]); } break; /* 2.5.198.32 TODO */ case 'PtgArray': - stack.push("{" + stringify_array(f[1]) + "}"); + stack.push("{" + f[1].map(mapper).join(";") + "}"); break; + /* 2.2.2.5 Mem Tokens */ /* 2.5.198.70 TODO: confirm this is a non-display */ case 'PtgMemArea': //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - /* 2.5.198.38 */ - case 'PtgAttrSpace': - /* 2.5.198.39 */ - case 'PtgAttrSpaceSemi': - last_sp = ff; - break; + /* 2.5.198.38 TODO */ + case 'PtgAttrSpace': break; /* 2.5.198.92 TODO */ case 'PtgTbl': break; @@ -934,40 +781,23 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(""); break; - /* 2.5.198.29 */ - case 'PtgAreaErr': stack.push("#REF!"); break; + /* 2.5.198.29 TODO */ + case 'PtgAreaErr': break; + + /* 2.5.198.31 TODO */ + case 'PtgAreaN': stack.push(""); break; + + /* 2.5.198.87 TODO */ + case 'PtgRefErr3d': break; /* 2.5.198.72 TODO */ case 'PtgMemFunc': break; - default: throw new Error('Unrecognized Formula Token: ' + String(f)); - } - var PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto']; - if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) { - f = formula[0][last_sp]; - var _left = true; - switch(f[1][0]) { - /* note: some bad XLSB files omit the PtgParen */ - case 4: _left = false; - /* falls through */ - // $FlowIgnore - case 0: sp = fill(" ", f[1][1]); break; - case 5: _left = false; - /* falls through */ - // $FlowIgnore - case 1: sp = fill("\r", f[1][1]); break; - default: - sp = ""; - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + f[1][0]); - } - stack.push((_left ? sp : "") + stack.pop() + (_left ? "" : sp)); - last_sp = -1; + default: throw 'Unrecognized Formula Token: ' + f; } //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 101947a..a3244a7 100644 --- a/bits/63_fbin.js +++ b/bits/63_fbin.js @@ -1,18 +1,5 @@ -/* XLSB Parsed Formula records have the same shape */ -function parse_XLSBParsedFormula(data, length, opts) { - var end = data.l + length; +/* [MS-XLSB] 2.5.97.4 CellParsedFormula TODO: use similar logic to js-xls */ +function parse_XLSBCellParsedFormula(data, 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]; + return parsenoop(data, length-4); } - -/* [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 502cf7d..50e344b 100644 --- a/bits/64_ftab.js +++ b/bits/64_ftab.js @@ -1,1137 +1,972 @@ /* [MS-XLS] 2.5.198.44 */ var PtgDataType = { - /*::[*/0x1/*::]*/: "REFERENCE", // reference to range - /*::[*/0x2/*::]*/: "VALUE", // single value - /*::[*/0x3/*::]*/: "ARRAY" // array of values + 0x1: "REFERENCE", // reference to range + 0x2: "VALUE", // single value + 0x3: "ARRAY" // array of values }; /* [MS-XLS] 2.5.198.4 */ var Cetab = { - /*::[*/0x0000/*::]*/: 'BEEP', - /*::[*/0x0001/*::]*/: 'OPEN', - /*::[*/0x0002/*::]*/: 'OPEN.LINKS', - /*::[*/0x0003/*::]*/: 'CLOSE.ALL', - /*::[*/0x0004/*::]*/: 'SAVE', - /*::[*/0x0005/*::]*/: 'SAVE.AS', - /*::[*/0x0006/*::]*/: 'FILE.DELETE', - /*::[*/0x0007/*::]*/: 'PAGE.SETUP', - /*::[*/0x0008/*::]*/: 'PRINT', - /*::[*/0x0009/*::]*/: 'PRINTER.SETUP', - /*::[*/0x000A/*::]*/: 'QUIT', - /*::[*/0x000B/*::]*/: 'NEW.WINDOW', - /*::[*/0x000C/*::]*/: 'ARRANGE.ALL', - /*::[*/0x000D/*::]*/: 'WINDOW.SIZE', - /*::[*/0x000E/*::]*/: 'WINDOW.MOVE', - /*::[*/0x000F/*::]*/: 'FULL', - /*::[*/0x0010/*::]*/: 'CLOSE', - /*::[*/0x0011/*::]*/: 'RUN', - /*::[*/0x0016/*::]*/: 'SET.PRINT.AREA', - /*::[*/0x0017/*::]*/: 'SET.PRINT.TITLES', - /*::[*/0x0018/*::]*/: 'SET.PAGE.BREAK', - /*::[*/0x0019/*::]*/: 'REMOVE.PAGE.BREAK', - /*::[*/0x001A/*::]*/: 'FONT', - /*::[*/0x001B/*::]*/: 'DISPLAY', - /*::[*/0x001C/*::]*/: 'PROTECT.DOCUMENT', - /*::[*/0x001D/*::]*/: 'PRECISION', - /*::[*/0x001E/*::]*/: 'A1.R1C1', - /*::[*/0x001F/*::]*/: 'CALCULATE.NOW', - /*::[*/0x0020/*::]*/: 'CALCULATION', - /*::[*/0x0022/*::]*/: 'DATA.FIND', - /*::[*/0x0023/*::]*/: 'EXTRACT', - /*::[*/0x0024/*::]*/: 'DATA.DELETE', - /*::[*/0x0025/*::]*/: 'SET.DATABASE', - /*::[*/0x0026/*::]*/: 'SET.CRITERIA', - /*::[*/0x0027/*::]*/: 'SORT', - /*::[*/0x0028/*::]*/: 'DATA.SERIES', - /*::[*/0x0029/*::]*/: 'TABLE', - /*::[*/0x002A/*::]*/: 'FORMAT.NUMBER', - /*::[*/0x002B/*::]*/: 'ALIGNMENT', - /*::[*/0x002C/*::]*/: 'STYLE', - /*::[*/0x002D/*::]*/: 'BORDER', - /*::[*/0x002E/*::]*/: 'CELL.PROTECTION', - /*::[*/0x002F/*::]*/: 'COLUMN.WIDTH', - /*::[*/0x0030/*::]*/: 'UNDO', - /*::[*/0x0031/*::]*/: 'CUT', - /*::[*/0x0032/*::]*/: 'COPY', - /*::[*/0x0033/*::]*/: 'PASTE', - /*::[*/0x0034/*::]*/: 'CLEAR', - /*::[*/0x0035/*::]*/: 'PASTE.SPECIAL', - /*::[*/0x0036/*::]*/: 'EDIT.DELETE', - /*::[*/0x0037/*::]*/: 'INSERT', - /*::[*/0x0038/*::]*/: 'FILL.RIGHT', - /*::[*/0x0039/*::]*/: 'FILL.DOWN', - /*::[*/0x003D/*::]*/: 'DEFINE.NAME', - /*::[*/0x003E/*::]*/: 'CREATE.NAMES', - /*::[*/0x003F/*::]*/: 'FORMULA.GOTO', - /*::[*/0x0040/*::]*/: 'FORMULA.FIND', - /*::[*/0x0041/*::]*/: 'SELECT.LAST.CELL', - /*::[*/0x0042/*::]*/: 'SHOW.ACTIVE.CELL', - /*::[*/0x0043/*::]*/: 'GALLERY.AREA', - /*::[*/0x0044/*::]*/: 'GALLERY.BAR', - /*::[*/0x0045/*::]*/: 'GALLERY.COLUMN', - /*::[*/0x0046/*::]*/: 'GALLERY.LINE', - /*::[*/0x0047/*::]*/: 'GALLERY.PIE', - /*::[*/0x0048/*::]*/: 'GALLERY.SCATTER', - /*::[*/0x0049/*::]*/: 'COMBINATION', - /*::[*/0x004A/*::]*/: 'PREFERRED', - /*::[*/0x004B/*::]*/: 'ADD.OVERLAY', - /*::[*/0x004C/*::]*/: 'GRIDLINES', - /*::[*/0x004D/*::]*/: 'SET.PREFERRED', - /*::[*/0x004E/*::]*/: 'AXES', - /*::[*/0x004F/*::]*/: 'LEGEND', - /*::[*/0x0050/*::]*/: 'ATTACH.TEXT', - /*::[*/0x0051/*::]*/: 'ADD.ARROW', - /*::[*/0x0052/*::]*/: 'SELECT.CHART', - /*::[*/0x0053/*::]*/: 'SELECT.PLOT.AREA', - /*::[*/0x0054/*::]*/: 'PATTERNS', - /*::[*/0x0055/*::]*/: 'MAIN.CHART', - /*::[*/0x0056/*::]*/: 'OVERLAY', - /*::[*/0x0057/*::]*/: 'SCALE', - /*::[*/0x0058/*::]*/: 'FORMAT.LEGEND', - /*::[*/0x0059/*::]*/: 'FORMAT.TEXT', - /*::[*/0x005A/*::]*/: 'EDIT.REPEAT', - /*::[*/0x005B/*::]*/: 'PARSE', - /*::[*/0x005C/*::]*/: 'JUSTIFY', - /*::[*/0x005D/*::]*/: 'HIDE', - /*::[*/0x005E/*::]*/: 'UNHIDE', - /*::[*/0x005F/*::]*/: 'WORKSPACE', - /*::[*/0x0060/*::]*/: 'FORMULA', - /*::[*/0x0061/*::]*/: 'FORMULA.FILL', - /*::[*/0x0062/*::]*/: 'FORMULA.ARRAY', - /*::[*/0x0063/*::]*/: 'DATA.FIND.NEXT', - /*::[*/0x0064/*::]*/: 'DATA.FIND.PREV', - /*::[*/0x0065/*::]*/: 'FORMULA.FIND.NEXT', - /*::[*/0x0066/*::]*/: 'FORMULA.FIND.PREV', - /*::[*/0x0067/*::]*/: 'ACTIVATE', - /*::[*/0x0068/*::]*/: 'ACTIVATE.NEXT', - /*::[*/0x0069/*::]*/: 'ACTIVATE.PREV', - /*::[*/0x006A/*::]*/: 'UNLOCKED.NEXT', - /*::[*/0x006B/*::]*/: 'UNLOCKED.PREV', - /*::[*/0x006C/*::]*/: 'COPY.PICTURE', - /*::[*/0x006D/*::]*/: 'SELECT', - /*::[*/0x006E/*::]*/: 'DELETE.NAME', - /*::[*/0x006F/*::]*/: 'DELETE.FORMAT', - /*::[*/0x0070/*::]*/: 'VLINE', - /*::[*/0x0071/*::]*/: 'HLINE', - /*::[*/0x0072/*::]*/: 'VPAGE', - /*::[*/0x0073/*::]*/: 'HPAGE', - /*::[*/0x0074/*::]*/: 'VSCROLL', - /*::[*/0x0075/*::]*/: 'HSCROLL', - /*::[*/0x0076/*::]*/: 'ALERT', - /*::[*/0x0077/*::]*/: 'NEW', - /*::[*/0x0078/*::]*/: 'CANCEL.COPY', - /*::[*/0x0079/*::]*/: 'SHOW.CLIPBOARD', - /*::[*/0x007A/*::]*/: 'MESSAGE', - /*::[*/0x007C/*::]*/: 'PASTE.LINK', - /*::[*/0x007D/*::]*/: 'APP.ACTIVATE', - /*::[*/0x007E/*::]*/: 'DELETE.ARROW', - /*::[*/0x007F/*::]*/: 'ROW.HEIGHT', - /*::[*/0x0080/*::]*/: 'FORMAT.MOVE', - /*::[*/0x0081/*::]*/: 'FORMAT.SIZE', - /*::[*/0x0082/*::]*/: 'FORMULA.REPLACE', - /*::[*/0x0083/*::]*/: 'SEND.KEYS', - /*::[*/0x0084/*::]*/: 'SELECT.SPECIAL', - /*::[*/0x0085/*::]*/: 'APPLY.NAMES', - /*::[*/0x0086/*::]*/: 'REPLACE.FONT', - /*::[*/0x0087/*::]*/: 'FREEZE.PANES', - /*::[*/0x0088/*::]*/: 'SHOW.INFO', - /*::[*/0x0089/*::]*/: 'SPLIT', - /*::[*/0x008A/*::]*/: 'ON.WINDOW', - /*::[*/0x008B/*::]*/: 'ON.DATA', - /*::[*/0x008C/*::]*/: 'DISABLE.INPUT', - /*::[*/0x008E/*::]*/: 'OUTLINE', - /*::[*/0x008F/*::]*/: 'LIST.NAMES', - /*::[*/0x0090/*::]*/: 'FILE.CLOSE', - /*::[*/0x0091/*::]*/: 'SAVE.WORKBOOK', - /*::[*/0x0092/*::]*/: 'DATA.FORM', - /*::[*/0x0093/*::]*/: 'COPY.CHART', - /*::[*/0x0094/*::]*/: 'ON.TIME', - /*::[*/0x0095/*::]*/: 'WAIT', - /*::[*/0x0096/*::]*/: 'FORMAT.FONT', - /*::[*/0x0097/*::]*/: 'FILL.UP', - /*::[*/0x0098/*::]*/: 'FILL.LEFT', - /*::[*/0x0099/*::]*/: 'DELETE.OVERLAY', - /*::[*/0x009B/*::]*/: 'SHORT.MENUS', - /*::[*/0x009F/*::]*/: 'SET.UPDATE.STATUS', - /*::[*/0x00A1/*::]*/: 'COLOR.PALETTE', - /*::[*/0x00A2/*::]*/: 'DELETE.STYLE', - /*::[*/0x00A3/*::]*/: 'WINDOW.RESTORE', - /*::[*/0x00A4/*::]*/: 'WINDOW.MAXIMIZE', - /*::[*/0x00A6/*::]*/: 'CHANGE.LINK', - /*::[*/0x00A7/*::]*/: 'CALCULATE.DOCUMENT', - /*::[*/0x00A8/*::]*/: 'ON.KEY', - /*::[*/0x00A9/*::]*/: 'APP.RESTORE', - /*::[*/0x00AA/*::]*/: 'APP.MOVE', - /*::[*/0x00AB/*::]*/: 'APP.SIZE', - /*::[*/0x00AC/*::]*/: 'APP.MINIMIZE', - /*::[*/0x00AD/*::]*/: 'APP.MAXIMIZE', - /*::[*/0x00AE/*::]*/: 'BRING.TO.FRONT', - /*::[*/0x00AF/*::]*/: 'SEND.TO.BACK', - /*::[*/0x00B9/*::]*/: 'MAIN.CHART.TYPE', - /*::[*/0x00BA/*::]*/: 'OVERLAY.CHART.TYPE', - /*::[*/0x00BB/*::]*/: 'SELECT.END', - /*::[*/0x00BC/*::]*/: 'OPEN.MAIL', - /*::[*/0x00BD/*::]*/: 'SEND.MAIL', - /*::[*/0x00BE/*::]*/: 'STANDARD.FONT', - /*::[*/0x00BF/*::]*/: 'CONSOLIDATE', - /*::[*/0x00C0/*::]*/: 'SORT.SPECIAL', - /*::[*/0x00C1/*::]*/: 'GALLERY.3D.AREA', - /*::[*/0x00C2/*::]*/: 'GALLERY.3D.COLUMN', - /*::[*/0x00C3/*::]*/: 'GALLERY.3D.LINE', - /*::[*/0x00C4/*::]*/: 'GALLERY.3D.PIE', - /*::[*/0x00C5/*::]*/: 'VIEW.3D', - /*::[*/0x00C6/*::]*/: 'GOAL.SEEK', - /*::[*/0x00C7/*::]*/: 'WORKGROUP', - /*::[*/0x00C8/*::]*/: 'FILL.GROUP', - /*::[*/0x00C9/*::]*/: 'UPDATE.LINK', - /*::[*/0x00CA/*::]*/: 'PROMOTE', - /*::[*/0x00CB/*::]*/: 'DEMOTE', - /*::[*/0x00CC/*::]*/: 'SHOW.DETAIL', - /*::[*/0x00CE/*::]*/: 'UNGROUP', - /*::[*/0x00CF/*::]*/: 'OBJECT.PROPERTIES', - /*::[*/0x00D0/*::]*/: 'SAVE.NEW.OBJECT', - /*::[*/0x00D1/*::]*/: 'SHARE', - /*::[*/0x00D2/*::]*/: 'SHARE.NAME', - /*::[*/0x00D3/*::]*/: 'DUPLICATE', - /*::[*/0x00D4/*::]*/: 'APPLY.STYLE', - /*::[*/0x00D5/*::]*/: 'ASSIGN.TO.OBJECT', - /*::[*/0x00D6/*::]*/: 'OBJECT.PROTECTION', - /*::[*/0x00D7/*::]*/: 'HIDE.OBJECT', - /*::[*/0x00D8/*::]*/: 'SET.EXTRACT', - /*::[*/0x00D9/*::]*/: 'CREATE.PUBLISHER', - /*::[*/0x00DA/*::]*/: 'SUBSCRIBE.TO', - /*::[*/0x00DB/*::]*/: 'ATTRIBUTES', - /*::[*/0x00DC/*::]*/: 'SHOW.TOOLBAR', - /*::[*/0x00DE/*::]*/: 'PRINT.PREVIEW', - /*::[*/0x00DF/*::]*/: 'EDIT.COLOR', - /*::[*/0x00E0/*::]*/: 'SHOW.LEVELS', - /*::[*/0x00E1/*::]*/: 'FORMAT.MAIN', - /*::[*/0x00E2/*::]*/: 'FORMAT.OVERLAY', - /*::[*/0x00E3/*::]*/: 'ON.RECALC', - /*::[*/0x00E4/*::]*/: 'EDIT.SERIES', - /*::[*/0x00E5/*::]*/: 'DEFINE.STYLE', - /*::[*/0x00F0/*::]*/: 'LINE.PRINT', - /*::[*/0x00F3/*::]*/: 'ENTER.DATA', - /*::[*/0x00F9/*::]*/: 'GALLERY.RADAR', - /*::[*/0x00FA/*::]*/: 'MERGE.STYLES', - /*::[*/0x00FB/*::]*/: 'EDITION.OPTIONS', - /*::[*/0x00FC/*::]*/: 'PASTE.PICTURE', - /*::[*/0x00FD/*::]*/: 'PASTE.PICTURE.LINK', - /*::[*/0x00FE/*::]*/: 'SPELLING', - /*::[*/0x0100/*::]*/: 'ZOOM', - /*::[*/0x0103/*::]*/: 'INSERT.OBJECT', - /*::[*/0x0104/*::]*/: 'WINDOW.MINIMIZE', - /*::[*/0x0109/*::]*/: 'SOUND.NOTE', - /*::[*/0x010A/*::]*/: 'SOUND.PLAY', - /*::[*/0x010B/*::]*/: 'FORMAT.SHAPE', - /*::[*/0x010C/*::]*/: 'EXTEND.POLYGON', - /*::[*/0x010D/*::]*/: 'FORMAT.AUTO', - /*::[*/0x0110/*::]*/: 'GALLERY.3D.BAR', - /*::[*/0x0111/*::]*/: 'GALLERY.3D.SURFACE', - /*::[*/0x0112/*::]*/: 'FILL.AUTO', - /*::[*/0x0114/*::]*/: 'CUSTOMIZE.TOOLBAR', - /*::[*/0x0115/*::]*/: 'ADD.TOOL', - /*::[*/0x0116/*::]*/: 'EDIT.OBJECT', - /*::[*/0x0117/*::]*/: 'ON.DOUBLECLICK', - /*::[*/0x0118/*::]*/: 'ON.ENTRY', - /*::[*/0x0119/*::]*/: 'WORKBOOK.ADD', - /*::[*/0x011A/*::]*/: 'WORKBOOK.MOVE', - /*::[*/0x011B/*::]*/: 'WORKBOOK.COPY', - /*::[*/0x011C/*::]*/: 'WORKBOOK.OPTIONS', - /*::[*/0x011D/*::]*/: 'SAVE.WORKSPACE', - /*::[*/0x0120/*::]*/: 'CHART.WIZARD', - /*::[*/0x0121/*::]*/: 'DELETE.TOOL', - /*::[*/0x0122/*::]*/: 'MOVE.TOOL', - /*::[*/0x0123/*::]*/: 'WORKBOOK.SELECT', - /*::[*/0x0124/*::]*/: 'WORKBOOK.ACTIVATE', - /*::[*/0x0125/*::]*/: 'ASSIGN.TO.TOOL', - /*::[*/0x0127/*::]*/: 'COPY.TOOL', - /*::[*/0x0128/*::]*/: 'RESET.TOOL', - /*::[*/0x0129/*::]*/: 'CONSTRAIN.NUMERIC', - /*::[*/0x012A/*::]*/: 'PASTE.TOOL', - /*::[*/0x012E/*::]*/: 'WORKBOOK.NEW', - /*::[*/0x0131/*::]*/: 'SCENARIO.CELLS', - /*::[*/0x0132/*::]*/: 'SCENARIO.DELETE', - /*::[*/0x0133/*::]*/: 'SCENARIO.ADD', - /*::[*/0x0134/*::]*/: 'SCENARIO.EDIT', - /*::[*/0x0135/*::]*/: 'SCENARIO.SHOW', - /*::[*/0x0136/*::]*/: 'SCENARIO.SHOW.NEXT', - /*::[*/0x0137/*::]*/: 'SCENARIO.SUMMARY', - /*::[*/0x0138/*::]*/: 'PIVOT.TABLE.WIZARD', - /*::[*/0x0139/*::]*/: 'PIVOT.FIELD.PROPERTIES', - /*::[*/0x013A/*::]*/: 'PIVOT.FIELD', - /*::[*/0x013B/*::]*/: 'PIVOT.ITEM', - /*::[*/0x013C/*::]*/: 'PIVOT.ADD.FIELDS', - /*::[*/0x013E/*::]*/: 'OPTIONS.CALCULATION', - /*::[*/0x013F/*::]*/: 'OPTIONS.EDIT', - /*::[*/0x0140/*::]*/: 'OPTIONS.VIEW', - /*::[*/0x0141/*::]*/: 'ADDIN.MANAGER', - /*::[*/0x0142/*::]*/: 'MENU.EDITOR', - /*::[*/0x0143/*::]*/: 'ATTACH.TOOLBARS', - /*::[*/0x0144/*::]*/: 'VBAActivate', - /*::[*/0x0145/*::]*/: 'OPTIONS.CHART', - /*::[*/0x0148/*::]*/: 'VBA.INSERT.FILE', - /*::[*/0x014A/*::]*/: 'VBA.PROCEDURE.DEFINITION', - /*::[*/0x0150/*::]*/: 'ROUTING.SLIP', - /*::[*/0x0152/*::]*/: 'ROUTE.DOCUMENT', - /*::[*/0x0153/*::]*/: 'MAIL.LOGON', - /*::[*/0x0156/*::]*/: 'INSERT.PICTURE', - /*::[*/0x0157/*::]*/: 'EDIT.TOOL', - /*::[*/0x0158/*::]*/: 'GALLERY.DOUGHNUT', - /*::[*/0x015E/*::]*/: 'CHART.TREND', - /*::[*/0x0160/*::]*/: 'PIVOT.ITEM.PROPERTIES', - /*::[*/0x0162/*::]*/: 'WORKBOOK.INSERT', - /*::[*/0x0163/*::]*/: 'OPTIONS.TRANSITION', - /*::[*/0x0164/*::]*/: 'OPTIONS.GENERAL', - /*::[*/0x0172/*::]*/: 'FILTER.ADVANCED', - /*::[*/0x0175/*::]*/: 'MAIL.ADD.MAILER', - /*::[*/0x0176/*::]*/: 'MAIL.DELETE.MAILER', - /*::[*/0x0177/*::]*/: 'MAIL.REPLY', - /*::[*/0x0178/*::]*/: 'MAIL.REPLY.ALL', - /*::[*/0x0179/*::]*/: 'MAIL.FORWARD', - /*::[*/0x017A/*::]*/: 'MAIL.NEXT.LETTER', - /*::[*/0x017B/*::]*/: 'DATA.LABEL', - /*::[*/0x017C/*::]*/: 'INSERT.TITLE', - /*::[*/0x017D/*::]*/: 'FONT.PROPERTIES', - /*::[*/0x017E/*::]*/: 'MACRO.OPTIONS', - /*::[*/0x017F/*::]*/: 'WORKBOOK.HIDE', - /*::[*/0x0180/*::]*/: 'WORKBOOK.UNHIDE', - /*::[*/0x0181/*::]*/: 'WORKBOOK.DELETE', - /*::[*/0x0182/*::]*/: 'WORKBOOK.NAME', - /*::[*/0x0184/*::]*/: 'GALLERY.CUSTOM', - /*::[*/0x0186/*::]*/: 'ADD.CHART.AUTOFORMAT', - /*::[*/0x0187/*::]*/: 'DELETE.CHART.AUTOFORMAT', - /*::[*/0x0188/*::]*/: 'CHART.ADD.DATA', - /*::[*/0x0189/*::]*/: 'AUTO.OUTLINE', - /*::[*/0x018A/*::]*/: 'TAB.ORDER', - /*::[*/0x018B/*::]*/: 'SHOW.DIALOG', - /*::[*/0x018C/*::]*/: 'SELECT.ALL', - /*::[*/0x018D/*::]*/: 'UNGROUP.SHEETS', - /*::[*/0x018E/*::]*/: 'SUBTOTAL.CREATE', - /*::[*/0x018F/*::]*/: 'SUBTOTAL.REMOVE', - /*::[*/0x0190/*::]*/: 'RENAME.OBJECT', - /*::[*/0x019C/*::]*/: 'WORKBOOK.SCROLL', - /*::[*/0x019D/*::]*/: 'WORKBOOK.NEXT', - /*::[*/0x019E/*::]*/: 'WORKBOOK.PREV', - /*::[*/0x019F/*::]*/: 'WORKBOOK.TAB.SPLIT', - /*::[*/0x01A0/*::]*/: 'FULL.SCREEN', - /*::[*/0x01A1/*::]*/: 'WORKBOOK.PROTECT', - /*::[*/0x01A4/*::]*/: 'SCROLLBAR.PROPERTIES', - /*::[*/0x01A5/*::]*/: 'PIVOT.SHOW.PAGES', - /*::[*/0x01A6/*::]*/: 'TEXT.TO.COLUMNS', - /*::[*/0x01A7/*::]*/: 'FORMAT.CHARTTYPE', - /*::[*/0x01A8/*::]*/: 'LINK.FORMAT', - /*::[*/0x01A9/*::]*/: 'TRACER.DISPLAY', - /*::[*/0x01AE/*::]*/: 'TRACER.NAVIGATE', - /*::[*/0x01AF/*::]*/: 'TRACER.CLEAR', - /*::[*/0x01B0/*::]*/: 'TRACER.ERROR', - /*::[*/0x01B1/*::]*/: 'PIVOT.FIELD.GROUP', - /*::[*/0x01B2/*::]*/: 'PIVOT.FIELD.UNGROUP', - /*::[*/0x01B3/*::]*/: 'CHECKBOX.PROPERTIES', - /*::[*/0x01B4/*::]*/: 'LABEL.PROPERTIES', - /*::[*/0x01B5/*::]*/: 'LISTBOX.PROPERTIES', - /*::[*/0x01B6/*::]*/: 'EDITBOX.PROPERTIES', - /*::[*/0x01B7/*::]*/: 'PIVOT.REFRESH', - /*::[*/0x01B8/*::]*/: 'LINK.COMBO', - /*::[*/0x01B9/*::]*/: 'OPEN.TEXT', - /*::[*/0x01BA/*::]*/: 'HIDE.DIALOG', - /*::[*/0x01BB/*::]*/: 'SET.DIALOG.FOCUS', - /*::[*/0x01BC/*::]*/: 'ENABLE.OBJECT', - /*::[*/0x01BD/*::]*/: 'PUSHBUTTON.PROPERTIES', - /*::[*/0x01BE/*::]*/: 'SET.DIALOG.DEFAULT', - /*::[*/0x01BF/*::]*/: 'FILTER', - /*::[*/0x01C0/*::]*/: 'FILTER.SHOW.ALL', - /*::[*/0x01C1/*::]*/: 'CLEAR.OUTLINE', - /*::[*/0x01C2/*::]*/: 'FUNCTION.WIZARD', - /*::[*/0x01C3/*::]*/: 'ADD.LIST.ITEM', - /*::[*/0x01C4/*::]*/: 'SET.LIST.ITEM', - /*::[*/0x01C5/*::]*/: 'REMOVE.LIST.ITEM', - /*::[*/0x01C6/*::]*/: 'SELECT.LIST.ITEM', - /*::[*/0x01C7/*::]*/: 'SET.CONTROL.VALUE', - /*::[*/0x01C8/*::]*/: 'SAVE.COPY.AS', - /*::[*/0x01CA/*::]*/: 'OPTIONS.LISTS.ADD', - /*::[*/0x01CB/*::]*/: 'OPTIONS.LISTS.DELETE', - /*::[*/0x01CC/*::]*/: 'SERIES.AXES', - /*::[*/0x01CD/*::]*/: 'SERIES.X', - /*::[*/0x01CE/*::]*/: 'SERIES.Y', - /*::[*/0x01CF/*::]*/: 'ERRORBAR.X', - /*::[*/0x01D0/*::]*/: 'ERRORBAR.Y', - /*::[*/0x01D1/*::]*/: 'FORMAT.CHART', - /*::[*/0x01D2/*::]*/: 'SERIES.ORDER', - /*::[*/0x01D3/*::]*/: 'MAIL.LOGOFF', - /*::[*/0x01D4/*::]*/: 'CLEAR.ROUTING.SLIP', - /*::[*/0x01D5/*::]*/: 'APP.ACTIVATE.MICROSOFT', - /*::[*/0x01D6/*::]*/: 'MAIL.EDIT.MAILER', - /*::[*/0x01D7/*::]*/: 'ON.SHEET', - /*::[*/0x01D8/*::]*/: 'STANDARD.WIDTH', - /*::[*/0x01D9/*::]*/: 'SCENARIO.MERGE', - /*::[*/0x01DA/*::]*/: 'SUMMARY.INFO', - /*::[*/0x01DB/*::]*/: 'FIND.FILE', - /*::[*/0x01DC/*::]*/: 'ACTIVE.CELL.FONT', - /*::[*/0x01DD/*::]*/: 'ENABLE.TIPWIZARD', - /*::[*/0x01DE/*::]*/: 'VBA.MAKE.ADDIN', - /*::[*/0x01E0/*::]*/: 'INSERTDATATABLE', - /*::[*/0x01E1/*::]*/: 'WORKGROUP.OPTIONS', - /*::[*/0x01E2/*::]*/: 'MAIL.SEND.MAILER', - /*::[*/0x01E5/*::]*/: 'AUTOCORRECT', - /*::[*/0x01E9/*::]*/: 'POST.DOCUMENT', - /*::[*/0x01EB/*::]*/: 'PICKLIST', - /*::[*/0x01ED/*::]*/: 'VIEW.SHOW', - /*::[*/0x01EE/*::]*/: 'VIEW.DEFINE', - /*::[*/0x01EF/*::]*/: 'VIEW.DELETE', - /*::[*/0x01FD/*::]*/: 'SHEET.BACKGROUND', - /*::[*/0x01FE/*::]*/: 'INSERT.MAP.OBJECT', - /*::[*/0x01FF/*::]*/: 'OPTIONS.MENONO', - /*::[*/0x0205/*::]*/: 'MSOCHECKS', - /*::[*/0x0206/*::]*/: 'NORMAL', - /*::[*/0x0207/*::]*/: 'LAYOUT', - /*::[*/0x0208/*::]*/: 'RM.PRINT.AREA', - /*::[*/0x0209/*::]*/: 'CLEAR.PRINT.AREA', - /*::[*/0x020A/*::]*/: 'ADD.PRINT.AREA', - /*::[*/0x020B/*::]*/: 'MOVE.BRK', - /*::[*/0x0221/*::]*/: 'HIDECURR.NOTE', - /*::[*/0x0222/*::]*/: 'HIDEALL.NOTES', - /*::[*/0x0223/*::]*/: 'DELETE.NOTE', - /*::[*/0x0224/*::]*/: 'TRAVERSE.NOTES', - /*::[*/0x0225/*::]*/: 'ACTIVATE.NOTES', - /*::[*/0x026C/*::]*/: 'PROTECT.REVISIONS', - /*::[*/0x026D/*::]*/: 'UNPROTECT.REVISIONS', - /*::[*/0x0287/*::]*/: 'OPTIONS.ME', - /*::[*/0x028D/*::]*/: 'WEB.PUBLISH', - /*::[*/0x029B/*::]*/: 'NEWWEBQUERY', - /*::[*/0x02A1/*::]*/: 'PIVOT.TABLE.CHART', - /*::[*/0x02F1/*::]*/: 'OPTIONS.SAVE', - /*::[*/0x02F3/*::]*/: 'OPTIONS.SPELL', - /*::[*/0x0328/*::]*/: 'HIDEALL.INKANNOTS' + 0x0000: 'BEEP', + 0x0001: 'OPEN', + 0x0002: 'OPEN.LINKS', + 0x0003: 'CLOSE.ALL', + 0x0004: 'SAVE', + 0x0005: 'SAVE.AS', + 0x0006: 'FILE.DELETE', + 0x0007: 'PAGE.SETUP', + 0x0008: 'PRINT', + 0x0009: 'PRINTER.SETUP', + 0x000A: 'QUIT', + 0x000B: 'NEW.WINDOW', + 0x000C: 'ARRANGE.ALL', + 0x000D: 'WINDOW.SIZE', + 0x000E: 'WINDOW.MOVE', + 0x000F: 'FULL', + 0x0010: 'CLOSE', + 0x0011: 'RUN', + 0x0016: 'SET.PRINT.AREA', + 0x0017: 'SET.PRINT.TITLES', + 0x0018: 'SET.PAGE.BREAK', + 0x0019: 'REMOVE.PAGE.BREAK', + 0x001A: 'FONT', + 0x001B: 'DISPLAY', + 0x001C: 'PROTECT.DOCUMENT', + 0x001D: 'PRECISION', + 0x001E: 'A1.R1C1', + 0x001F: 'CALCULATE.NOW', + 0x0020: 'CALCULATION', + 0x0022: 'DATA.FIND', + 0x0023: 'EXTRACT', + 0x0024: 'DATA.DELETE', + 0x0025: 'SET.DATABASE', + 0x0026: 'SET.CRITERIA', + 0x0027: 'SORT', + 0x0028: 'DATA.SERIES', + 0x0029: 'TABLE', + 0x002A: 'FORMAT.NUMBER', + 0x002B: 'ALIGNMENT', + 0x002C: 'STYLE', + 0x002D: 'BORDER', + 0x002E: 'CELL.PROTECTION', + 0x002F: 'COLUMN.WIDTH', + 0x0030: 'UNDO', + 0x0031: 'CUT', + 0x0032: 'COPY', + 0x0033: 'PASTE', + 0x0034: 'CLEAR', + 0x0035: 'PASTE.SPECIAL', + 0x0036: 'EDIT.DELETE', + 0x0037: 'INSERT', + 0x0038: 'FILL.RIGHT', + 0x0039: 'FILL.DOWN', + 0x003D: 'DEFINE.NAME', + 0x003E: 'CREATE.NAMES', + 0x003F: 'FORMULA.GOTO', + 0x0040: 'FORMULA.FIND', + 0x0041: 'SELECT.LAST.CELL', + 0x0042: 'SHOW.ACTIVE.CELL', + 0x0043: 'GALLERY.AREA', + 0x0044: 'GALLERY.BAR', + 0x0045: 'GALLERY.COLUMN', + 0x0046: 'GALLERY.LINE', + 0x0047: 'GALLERY.PIE', + 0x0048: 'GALLERY.SCATTER', + 0x0049: 'COMBINATION', + 0x004A: 'PREFERRED', + 0x004B: 'ADD.OVERLAY', + 0x004C: 'GRIDLINES', + 0x004D: 'SET.PREFERRED', + 0x004E: 'AXES', + 0x004F: 'LEGEND', + 0x0050: 'ATTACH.TEXT', + 0x0051: 'ADD.ARROW', + 0x0052: 'SELECT.CHART', + 0x0053: 'SELECT.PLOT.AREA', + 0x0054: 'PATTERNS', + 0x0055: 'MAIN.CHART', + 0x0056: 'OVERLAY', + 0x0057: 'SCALE', + 0x0058: 'FORMAT.LEGEND', + 0x0059: 'FORMAT.TEXT', + 0x005A: 'EDIT.REPEAT', + 0x005B: 'PARSE', + 0x005C: 'JUSTIFY', + 0x005D: 'HIDE', + 0x005E: 'UNHIDE', + 0x005F: 'WORKSPACE', + 0x0060: 'FORMULA', + 0x0061: 'FORMULA.FILL', + 0x0062: 'FORMULA.ARRAY', + 0x0063: 'DATA.FIND.NEXT', + 0x0064: 'DATA.FIND.PREV', + 0x0065: 'FORMULA.FIND.NEXT', + 0x0066: 'FORMULA.FIND.PREV', + 0x0067: 'ACTIVATE', + 0x0068: 'ACTIVATE.NEXT', + 0x0069: 'ACTIVATE.PREV', + 0x006A: 'UNLOCKED.NEXT', + 0x006B: 'UNLOCKED.PREV', + 0x006C: 'COPY.PICTURE', + 0x006D: 'SELECT', + 0x006E: 'DELETE.NAME', + 0x006F: 'DELETE.FORMAT', + 0x0070: 'VLINE', + 0x0071: 'HLINE', + 0x0072: 'VPAGE', + 0x0073: 'HPAGE', + 0x0074: 'VSCROLL', + 0x0075: 'HSCROLL', + 0x0076: 'ALERT', + 0x0077: 'NEW', + 0x0078: 'CANCEL.COPY', + 0x0079: 'SHOW.CLIPBOARD', + 0x007A: 'MESSAGE', + 0x007C: 'PASTE.LINK', + 0x007D: 'APP.ACTIVATE', + 0x007E: 'DELETE.ARROW', + 0x007F: 'ROW.HEIGHT', + 0x0080: 'FORMAT.MOVE', + 0x0081: 'FORMAT.SIZE', + 0x0082: 'FORMULA.REPLACE', + 0x0083: 'SEND.KEYS', + 0x0084: 'SELECT.SPECIAL', + 0x0085: 'APPLY.NAMES', + 0x0086: 'REPLACE.FONT', + 0x0087: 'FREEZE.PANES', + 0x0088: 'SHOW.INFO', + 0x0089: 'SPLIT', + 0x008A: 'ON.WINDOW', + 0x008B: 'ON.DATA', + 0x008C: 'DISABLE.INPUT', + 0x008E: 'OUTLINE', + 0x008F: 'LIST.NAMES', + 0x0090: 'FILE.CLOSE', + 0x0091: 'SAVE.WORKBOOK', + 0x0092: 'DATA.FORM', + 0x0093: 'COPY.CHART', + 0x0094: 'ON.TIME', + 0x0095: 'WAIT', + 0x0096: 'FORMAT.FONT', + 0x0097: 'FILL.UP', + 0x0098: 'FILL.LEFT', + 0x0099: 'DELETE.OVERLAY', + 0x009B: 'SHORT.MENUS', + 0x009F: 'SET.UPDATE.STATUS', + 0x00A1: 'COLOR.PALETTE', + 0x00A2: 'DELETE.STYLE', + 0x00A3: 'WINDOW.RESTORE', + 0x00A4: 'WINDOW.MAXIMIZE', + 0x00A6: 'CHANGE.LINK', + 0x00A7: 'CALCULATE.DOCUMENT', + 0x00A8: 'ON.KEY', + 0x00A9: 'APP.RESTORE', + 0x00AA: 'APP.MOVE', + 0x00AB: 'APP.SIZE', + 0x00AC: 'APP.MINIMIZE', + 0x00AD: 'APP.MAXIMIZE', + 0x00AE: 'BRING.TO.FRONT', + 0x00AF: 'SEND.TO.BACK', + 0x00B9: 'MAIN.CHART.TYPE', + 0x00BA: 'OVERLAY.CHART.TYPE', + 0x00BB: 'SELECT.END', + 0x00BC: 'OPEN.MAIL', + 0x00BD: 'SEND.MAIL', + 0x00BE: 'STANDARD.FONT', + 0x00BF: 'CONSOLIDATE', + 0x00C0: 'SORT.SPECIAL', + 0x00C1: 'GALLERY.3D.AREA', + 0x00C2: 'GALLERY.3D.COLUMN', + 0x00C3: 'GALLERY.3D.LINE', + 0x00C4: 'GALLERY.3D.PIE', + 0x00C5: 'VIEW.3D', + 0x00C6: 'GOAL.SEEK', + 0x00C7: 'WORKGROUP', + 0x00C8: 'FILL.GROUP', + 0x00C9: 'UPDATE.LINK', + 0x00CA: 'PROMOTE', + 0x00CB: 'DEMOTE', + 0x00CC: 'SHOW.DETAIL', + 0x00CE: 'UNGROUP', + 0x00CF: 'OBJECT.PROPERTIES', + 0x00D0: 'SAVE.NEW.OBJECT', + 0x00D1: 'SHARE', + 0x00D2: 'SHARE.NAME', + 0x00D3: 'DUPLICATE', + 0x00D4: 'APPLY.STYLE', + 0x00D5: 'ASSIGN.TO.OBJECT', + 0x00D6: 'OBJECT.PROTECTION', + 0x00D7: 'HIDE.OBJECT', + 0x00D8: 'SET.EXTRACT', + 0x00D9: 'CREATE.PUBLISHER', + 0x00DA: 'SUBSCRIBE.TO', + 0x00DB: 'ATTRIBUTES', + 0x00DC: 'SHOW.TOOLBAR', + 0x00DE: 'PRINT.PREVIEW', + 0x00DF: 'EDIT.COLOR', + 0x00E0: 'SHOW.LEVELS', + 0x00E1: 'FORMAT.MAIN', + 0x00E2: 'FORMAT.OVERLAY', + 0x00E3: 'ON.RECALC', + 0x00E4: 'EDIT.SERIES', + 0x00E5: 'DEFINE.STYLE', + 0x00F0: 'LINE.PRINT', + 0x00F3: 'ENTER.DATA', + 0x00F9: 'GALLERY.RADAR', + 0x00FA: 'MERGE.STYLES', + 0x00FB: 'EDITION.OPTIONS', + 0x00FC: 'PASTE.PICTURE', + 0x00FD: 'PASTE.PICTURE.LINK', + 0x00FE: 'SPELLING', + 0x0100: 'ZOOM', + 0x0103: 'INSERT.OBJECT', + 0x0104: 'WINDOW.MINIMIZE', + 0x0109: 'SOUND.NOTE', + 0x010A: 'SOUND.PLAY', + 0x010B: 'FORMAT.SHAPE', + 0x010C: 'EXTEND.POLYGON', + 0x010D: 'FORMAT.AUTO', + 0x0110: 'GALLERY.3D.BAR', + 0x0111: 'GALLERY.3D.SURFACE', + 0x0112: 'FILL.AUTO', + 0x0114: 'CUSTOMIZE.TOOLBAR', + 0x0115: 'ADD.TOOL', + 0x0116: 'EDIT.OBJECT', + 0x0117: 'ON.DOUBLECLICK', + 0x0118: 'ON.ENTRY', + 0x0119: 'WORKBOOK.ADD', + 0x011A: 'WORKBOOK.MOVE', + 0x011B: 'WORKBOOK.COPY', + 0x011C: 'WORKBOOK.OPTIONS', + 0x011D: 'SAVE.WORKSPACE', + 0x0120: 'CHART.WIZARD', + 0x0121: 'DELETE.TOOL', + 0x0122: 'MOVE.TOOL', + 0x0123: 'WORKBOOK.SELECT', + 0x0124: 'WORKBOOK.ACTIVATE', + 0x0125: 'ASSIGN.TO.TOOL', + 0x0127: 'COPY.TOOL', + 0x0128: 'RESET.TOOL', + 0x0129: 'CONSTRAIN.NUMERIC', + 0x012A: 'PASTE.TOOL', + 0x012E: 'WORKBOOK.NEW', + 0x0131: 'SCENARIO.CELLS', + 0x0132: 'SCENARIO.DELETE', + 0x0133: 'SCENARIO.ADD', + 0x0134: 'SCENARIO.EDIT', + 0x0135: 'SCENARIO.SHOW', + 0x0136: 'SCENARIO.SHOW.NEXT', + 0x0137: 'SCENARIO.SUMMARY', + 0x0138: 'PIVOT.TABLE.WIZARD', + 0x0139: 'PIVOT.FIELD.PROPERTIES', + 0x013A: 'PIVOT.FIELD', + 0x013B: 'PIVOT.ITEM', + 0x013C: 'PIVOT.ADD.FIELDS', + 0x013E: 'OPTIONS.CALCULATION', + 0x013F: 'OPTIONS.EDIT', + 0x0140: 'OPTIONS.VIEW', + 0x0141: 'ADDIN.MANAGER', + 0x0142: 'MENU.EDITOR', + 0x0143: 'ATTACH.TOOLBARS', + 0x0144: 'VBAActivate', + 0x0145: 'OPTIONS.CHART', + 0x0148: 'VBA.INSERT.FILE', + 0x014A: 'VBA.PROCEDURE.DEFINITION', + 0x0150: 'ROUTING.SLIP', + 0x0152: 'ROUTE.DOCUMENT', + 0x0153: 'MAIL.LOGON', + 0x0156: 'INSERT.PICTURE', + 0x0157: 'EDIT.TOOL', + 0x0158: 'GALLERY.DOUGHNUT', + 0x015E: 'CHART.TREND', + 0x0160: 'PIVOT.ITEM.PROPERTIES', + 0x0162: 'WORKBOOK.INSERT', + 0x0163: 'OPTIONS.TRANSITION', + 0x0164: 'OPTIONS.GENERAL', + 0x0172: 'FILTER.ADVANCED', + 0x0175: 'MAIL.ADD.MAILER', + 0x0176: 'MAIL.DELETE.MAILER', + 0x0177: 'MAIL.REPLY', + 0x0178: 'MAIL.REPLY.ALL', + 0x0179: 'MAIL.FORWARD', + 0x017A: 'MAIL.NEXT.LETTER', + 0x017B: 'DATA.LABEL', + 0x017C: 'INSERT.TITLE', + 0x017D: 'FONT.PROPERTIES', + 0x017E: 'MACRO.OPTIONS', + 0x017F: 'WORKBOOK.HIDE', + 0x0180: 'WORKBOOK.UNHIDE', + 0x0181: 'WORKBOOK.DELETE', + 0x0182: 'WORKBOOK.NAME', + 0x0184: 'GALLERY.CUSTOM', + 0x0186: 'ADD.CHART.AUTOFORMAT', + 0x0187: 'DELETE.CHART.AUTOFORMAT', + 0x0188: 'CHART.ADD.DATA', + 0x0189: 'AUTO.OUTLINE', + 0x018A: 'TAB.ORDER', + 0x018B: 'SHOW.DIALOG', + 0x018C: 'SELECT.ALL', + 0x018D: 'UNGROUP.SHEETS', + 0x018E: 'SUBTOTAL.CREATE', + 0x018F: 'SUBTOTAL.REMOVE', + 0x0190: 'RENAME.OBJECT', + 0x019C: 'WORKBOOK.SCROLL', + 0x019D: 'WORKBOOK.NEXT', + 0x019E: 'WORKBOOK.PREV', + 0x019F: 'WORKBOOK.TAB.SPLIT', + 0x01A0: 'FULL.SCREEN', + 0x01A1: 'WORKBOOK.PROTECT', + 0x01A4: 'SCROLLBAR.PROPERTIES', + 0x01A5: 'PIVOT.SHOW.PAGES', + 0x01A6: 'TEXT.TO.COLUMNS', + 0x01A7: 'FORMAT.CHARTTYPE', + 0x01A8: 'LINK.FORMAT', + 0x01A9: 'TRACER.DISPLAY', + 0x01AE: 'TRACER.NAVIGATE', + 0x01AF: 'TRACER.CLEAR', + 0x01B0: 'TRACER.ERROR', + 0x01B1: 'PIVOT.FIELD.GROUP', + 0x01B2: 'PIVOT.FIELD.UNGROUP', + 0x01B3: 'CHECKBOX.PROPERTIES', + 0x01B4: 'LABEL.PROPERTIES', + 0x01B5: 'LISTBOX.PROPERTIES', + 0x01B6: 'EDITBOX.PROPERTIES', + 0x01B7: 'PIVOT.REFRESH', + 0x01B8: 'LINK.COMBO', + 0x01B9: 'OPEN.TEXT', + 0x01BA: 'HIDE.DIALOG', + 0x01BB: 'SET.DIALOG.FOCUS', + 0x01BC: 'ENABLE.OBJECT', + 0x01BD: 'PUSHBUTTON.PROPERTIES', + 0x01BE: 'SET.DIALOG.DEFAULT', + 0x01BF: 'FILTER', + 0x01C0: 'FILTER.SHOW.ALL', + 0x01C1: 'CLEAR.OUTLINE', + 0x01C2: 'FUNCTION.WIZARD', + 0x01C3: 'ADD.LIST.ITEM', + 0x01C4: 'SET.LIST.ITEM', + 0x01C5: 'REMOVE.LIST.ITEM', + 0x01C6: 'SELECT.LIST.ITEM', + 0x01C7: 'SET.CONTROL.VALUE', + 0x01C8: 'SAVE.COPY.AS', + 0x01CA: 'OPTIONS.LISTS.ADD', + 0x01CB: 'OPTIONS.LISTS.DELETE', + 0x01CC: 'SERIES.AXES', + 0x01CD: 'SERIES.X', + 0x01CE: 'SERIES.Y', + 0x01CF: 'ERRORBAR.X', + 0x01D0: 'ERRORBAR.Y', + 0x01D1: 'FORMAT.CHART', + 0x01D2: 'SERIES.ORDER', + 0x01D3: 'MAIL.LOGOFF', + 0x01D4: 'CLEAR.ROUTING.SLIP', + 0x01D5: 'APP.ACTIVATE.MICROSOFT', + 0x01D6: 'MAIL.EDIT.MAILER', + 0x01D7: 'ON.SHEET', + 0x01D8: 'STANDARD.WIDTH', + 0x01D9: 'SCENARIO.MERGE', + 0x01DA: 'SUMMARY.INFO', + 0x01DB: 'FIND.FILE', + 0x01DC: 'ACTIVE.CELL.FONT', + 0x01DD: 'ENABLE.TIPWIZARD', + 0x01DE: 'VBA.MAKE.ADDIN', + 0x01E0: 'INSERTDATATABLE', + 0x01E1: 'WORKGROUP.OPTIONS', + 0x01E2: 'MAIL.SEND.MAILER', + 0x01E5: 'AUTOCORRECT', + 0x01E9: 'POST.DOCUMENT', + 0x01EB: 'PICKLIST', + 0x01ED: 'VIEW.SHOW', + 0x01EE: 'VIEW.DEFINE', + 0x01EF: 'VIEW.DELETE', + 0x01FD: 'SHEET.BACKGROUND', + 0x01FE: 'INSERT.MAP.OBJECT', + 0x01FF: 'OPTIONS.MENONO', + 0x0205: 'MSOCHECKS', + 0x0206: 'NORMAL', + 0x0207: 'LAYOUT', + 0x0208: 'RM.PRINT.AREA', + 0x0209: 'CLEAR.PRINT.AREA', + 0x020A: 'ADD.PRINT.AREA', + 0x020B: 'MOVE.BRK', + 0x0221: 'HIDECURR.NOTE', + 0x0222: 'HIDEALL.NOTES', + 0x0223: 'DELETE.NOTE', + 0x0224: 'TRAVERSE.NOTES', + 0x0225: 'ACTIVATE.NOTES', + 0x026C: 'PROTECT.REVISIONS', + 0x026D: 'UNPROTECT.REVISIONS', + 0x0287: 'OPTIONS.ME', + 0x028D: 'WEB.PUBLISH', + 0x029B: 'NEWWEBQUERY', + 0x02A1: 'PIVOT.TABLE.CHART', + 0x02F1: 'OPTIONS.SAVE', + 0x02F3: 'OPTIONS.SPELL', + 0x0328: 'HIDEALL.INKANNOTS' }; /* [MS-XLS] 2.5.198.17 */ -/* [MS-XLSB] 2.5.97.10 */ var Ftab = { - /*::[*/0x0000/*::]*/: 'COUNT', - /*::[*/0x0001/*::]*/: 'IF', - /*::[*/0x0002/*::]*/: 'ISNA', - /*::[*/0x0003/*::]*/: 'ISERROR', - /*::[*/0x0004/*::]*/: 'SUM', - /*::[*/0x0005/*::]*/: 'AVERAGE', - /*::[*/0x0006/*::]*/: 'MIN', - /*::[*/0x0007/*::]*/: 'MAX', - /*::[*/0x0008/*::]*/: 'ROW', - /*::[*/0x0009/*::]*/: 'COLUMN', - /*::[*/0x000A/*::]*/: 'NA', - /*::[*/0x000B/*::]*/: 'NPV', - /*::[*/0x000C/*::]*/: 'STDEV', - /*::[*/0x000D/*::]*/: 'DOLLAR', - /*::[*/0x000E/*::]*/: 'FIXED', - /*::[*/0x000F/*::]*/: 'SIN', - /*::[*/0x0010/*::]*/: 'COS', - /*::[*/0x0011/*::]*/: 'TAN', - /*::[*/0x0012/*::]*/: 'ATAN', - /*::[*/0x0013/*::]*/: 'PI', - /*::[*/0x0014/*::]*/: 'SQRT', - /*::[*/0x0015/*::]*/: 'EXP', - /*::[*/0x0016/*::]*/: 'LN', - /*::[*/0x0017/*::]*/: 'LOG10', - /*::[*/0x0018/*::]*/: 'ABS', - /*::[*/0x0019/*::]*/: 'INT', - /*::[*/0x001A/*::]*/: 'SIGN', - /*::[*/0x001B/*::]*/: 'ROUND', - /*::[*/0x001C/*::]*/: 'LOOKUP', - /*::[*/0x001D/*::]*/: 'INDEX', - /*::[*/0x001E/*::]*/: 'REPT', - /*::[*/0x001F/*::]*/: 'MID', - /*::[*/0x0020/*::]*/: 'LEN', - /*::[*/0x0021/*::]*/: 'VALUE', - /*::[*/0x0022/*::]*/: 'TRUE', - /*::[*/0x0023/*::]*/: 'FALSE', - /*::[*/0x0024/*::]*/: 'AND', - /*::[*/0x0025/*::]*/: 'OR', - /*::[*/0x0026/*::]*/: 'NOT', - /*::[*/0x0027/*::]*/: 'MOD', - /*::[*/0x0028/*::]*/: 'DCOUNT', - /*::[*/0x0029/*::]*/: 'DSUM', - /*::[*/0x002A/*::]*/: 'DAVERAGE', - /*::[*/0x002B/*::]*/: 'DMIN', - /*::[*/0x002C/*::]*/: 'DMAX', - /*::[*/0x002D/*::]*/: 'DSTDEV', - /*::[*/0x002E/*::]*/: 'VAR', - /*::[*/0x002F/*::]*/: 'DVAR', - /*::[*/0x0030/*::]*/: 'TEXT', - /*::[*/0x0031/*::]*/: 'LINEST', - /*::[*/0x0032/*::]*/: 'TREND', - /*::[*/0x0033/*::]*/: 'LOGEST', - /*::[*/0x0034/*::]*/: 'GROWTH', - /*::[*/0x0035/*::]*/: 'GOTO', - /*::[*/0x0036/*::]*/: 'HALT', - /*::[*/0x0037/*::]*/: 'RETURN', - /*::[*/0x0038/*::]*/: 'PV', - /*::[*/0x0039/*::]*/: 'FV', - /*::[*/0x003A/*::]*/: 'NPER', - /*::[*/0x003B/*::]*/: 'PMT', - /*::[*/0x003C/*::]*/: 'RATE', - /*::[*/0x003D/*::]*/: 'MIRR', - /*::[*/0x003E/*::]*/: 'IRR', - /*::[*/0x003F/*::]*/: 'RAND', - /*::[*/0x0040/*::]*/: 'MATCH', - /*::[*/0x0041/*::]*/: 'DATE', - /*::[*/0x0042/*::]*/: 'TIME', - /*::[*/0x0043/*::]*/: 'DAY', - /*::[*/0x0044/*::]*/: 'MONTH', - /*::[*/0x0045/*::]*/: 'YEAR', - /*::[*/0x0046/*::]*/: 'WEEKDAY', - /*::[*/0x0047/*::]*/: 'HOUR', - /*::[*/0x0048/*::]*/: 'MINUTE', - /*::[*/0x0049/*::]*/: 'SECOND', - /*::[*/0x004A/*::]*/: 'NOW', - /*::[*/0x004B/*::]*/: 'AREAS', - /*::[*/0x004C/*::]*/: 'ROWS', - /*::[*/0x004D/*::]*/: 'COLUMNS', - /*::[*/0x004E/*::]*/: 'OFFSET', - /*::[*/0x004F/*::]*/: 'ABSREF', - /*::[*/0x0050/*::]*/: 'RELREF', - /*::[*/0x0051/*::]*/: 'ARGUMENT', - /*::[*/0x0052/*::]*/: 'SEARCH', - /*::[*/0x0053/*::]*/: 'TRANSPOSE', - /*::[*/0x0054/*::]*/: 'ERROR', - /*::[*/0x0055/*::]*/: 'STEP', - /*::[*/0x0056/*::]*/: 'TYPE', - /*::[*/0x0057/*::]*/: 'ECHO', - /*::[*/0x0058/*::]*/: 'SET.NAME', - /*::[*/0x0059/*::]*/: 'CALLER', - /*::[*/0x005A/*::]*/: 'DEREF', - /*::[*/0x005B/*::]*/: 'WINDOWS', - /*::[*/0x005C/*::]*/: 'SERIES', - /*::[*/0x005D/*::]*/: 'DOCUMENTS', - /*::[*/0x005E/*::]*/: 'ACTIVE.CELL', - /*::[*/0x005F/*::]*/: 'SELECTION', - /*::[*/0x0060/*::]*/: 'RESULT', - /*::[*/0x0061/*::]*/: 'ATAN2', - /*::[*/0x0062/*::]*/: 'ASIN', - /*::[*/0x0063/*::]*/: 'ACOS', - /*::[*/0x0064/*::]*/: 'CHOOSE', - /*::[*/0x0065/*::]*/: 'HLOOKUP', - /*::[*/0x0066/*::]*/: 'VLOOKUP', - /*::[*/0x0067/*::]*/: 'LINKS', - /*::[*/0x0068/*::]*/: 'INPUT', - /*::[*/0x0069/*::]*/: 'ISREF', - /*::[*/0x006A/*::]*/: 'GET.FORMULA', - /*::[*/0x006B/*::]*/: 'GET.NAME', - /*::[*/0x006C/*::]*/: 'SET.VALUE', - /*::[*/0x006D/*::]*/: 'LOG', - /*::[*/0x006E/*::]*/: 'EXEC', - /*::[*/0x006F/*::]*/: 'CHAR', - /*::[*/0x0070/*::]*/: 'LOWER', - /*::[*/0x0071/*::]*/: 'UPPER', - /*::[*/0x0072/*::]*/: 'PROPER', - /*::[*/0x0073/*::]*/: 'LEFT', - /*::[*/0x0074/*::]*/: 'RIGHT', - /*::[*/0x0075/*::]*/: 'EXACT', - /*::[*/0x0076/*::]*/: 'TRIM', - /*::[*/0x0077/*::]*/: 'REPLACE', - /*::[*/0x0078/*::]*/: 'SUBSTITUTE', - /*::[*/0x0079/*::]*/: 'CODE', - /*::[*/0x007A/*::]*/: 'NAMES', - /*::[*/0x007B/*::]*/: 'DIRECTORY', - /*::[*/0x007C/*::]*/: 'FIND', - /*::[*/0x007D/*::]*/: 'CELL', - /*::[*/0x007E/*::]*/: 'ISERR', - /*::[*/0x007F/*::]*/: 'ISTEXT', - /*::[*/0x0080/*::]*/: 'ISNUMBER', - /*::[*/0x0081/*::]*/: 'ISBLANK', - /*::[*/0x0082/*::]*/: 'T', - /*::[*/0x0083/*::]*/: 'N', - /*::[*/0x0084/*::]*/: 'FOPEN', - /*::[*/0x0085/*::]*/: 'FCLOSE', - /*::[*/0x0086/*::]*/: 'FSIZE', - /*::[*/0x0087/*::]*/: 'FREADLN', - /*::[*/0x0088/*::]*/: 'FREAD', - /*::[*/0x0089/*::]*/: 'FWRITELN', - /*::[*/0x008A/*::]*/: 'FWRITE', - /*::[*/0x008B/*::]*/: 'FPOS', - /*::[*/0x008C/*::]*/: 'DATEVALUE', - /*::[*/0x008D/*::]*/: 'TIMEVALUE', - /*::[*/0x008E/*::]*/: 'SLN', - /*::[*/0x008F/*::]*/: 'SYD', - /*::[*/0x0090/*::]*/: 'DDB', - /*::[*/0x0091/*::]*/: 'GET.DEF', - /*::[*/0x0092/*::]*/: 'REFTEXT', - /*::[*/0x0093/*::]*/: 'TEXTREF', - /*::[*/0x0094/*::]*/: 'INDIRECT', - /*::[*/0x0095/*::]*/: 'REGISTER', - /*::[*/0x0096/*::]*/: 'CALL', - /*::[*/0x0097/*::]*/: 'ADD.BAR', - /*::[*/0x0098/*::]*/: 'ADD.MENU', - /*::[*/0x0099/*::]*/: 'ADD.COMMAND', - /*::[*/0x009A/*::]*/: 'ENABLE.COMMAND', - /*::[*/0x009B/*::]*/: 'CHECK.COMMAND', - /*::[*/0x009C/*::]*/: 'RENAME.COMMAND', - /*::[*/0x009D/*::]*/: 'SHOW.BAR', - /*::[*/0x009E/*::]*/: 'DELETE.MENU', - /*::[*/0x009F/*::]*/: 'DELETE.COMMAND', - /*::[*/0x00A0/*::]*/: 'GET.CHART.ITEM', - /*::[*/0x00A1/*::]*/: 'DIALOG.BOX', - /*::[*/0x00A2/*::]*/: 'CLEAN', - /*::[*/0x00A3/*::]*/: 'MDETERM', - /*::[*/0x00A4/*::]*/: 'MINVERSE', - /*::[*/0x00A5/*::]*/: 'MMULT', - /*::[*/0x00A6/*::]*/: 'FILES', - /*::[*/0x00A7/*::]*/: 'IPMT', - /*::[*/0x00A8/*::]*/: 'PPMT', - /*::[*/0x00A9/*::]*/: 'COUNTA', - /*::[*/0x00AA/*::]*/: 'CANCEL.KEY', - /*::[*/0x00AB/*::]*/: 'FOR', - /*::[*/0x00AC/*::]*/: 'WHILE', - /*::[*/0x00AD/*::]*/: 'BREAK', - /*::[*/0x00AE/*::]*/: 'NEXT', - /*::[*/0x00AF/*::]*/: 'INITIATE', - /*::[*/0x00B0/*::]*/: 'REQUEST', - /*::[*/0x00B1/*::]*/: 'POKE', - /*::[*/0x00B2/*::]*/: 'EXECUTE', - /*::[*/0x00B3/*::]*/: 'TERMINATE', - /*::[*/0x00B4/*::]*/: 'RESTART', - /*::[*/0x00B5/*::]*/: 'HELP', - /*::[*/0x00B6/*::]*/: 'GET.BAR', - /*::[*/0x00B7/*::]*/: 'PRODUCT', - /*::[*/0x00B8/*::]*/: 'FACT', - /*::[*/0x00B9/*::]*/: 'GET.CELL', - /*::[*/0x00BA/*::]*/: 'GET.WORKSPACE', - /*::[*/0x00BB/*::]*/: 'GET.WINDOW', - /*::[*/0x00BC/*::]*/: 'GET.DOCUMENT', - /*::[*/0x00BD/*::]*/: 'DPRODUCT', - /*::[*/0x00BE/*::]*/: 'ISNONTEXT', - /*::[*/0x00BF/*::]*/: 'GET.NOTE', - /*::[*/0x00C0/*::]*/: 'NOTE', - /*::[*/0x00C1/*::]*/: 'STDEVP', - /*::[*/0x00C2/*::]*/: 'VARP', - /*::[*/0x00C3/*::]*/: 'DSTDEVP', - /*::[*/0x00C4/*::]*/: 'DVARP', - /*::[*/0x00C5/*::]*/: 'TRUNC', - /*::[*/0x00C6/*::]*/: 'ISLOGICAL', - /*::[*/0x00C7/*::]*/: 'DCOUNTA', - /*::[*/0x00C8/*::]*/: 'DELETE.BAR', - /*::[*/0x00C9/*::]*/: 'UNREGISTER', - /*::[*/0x00CC/*::]*/: 'USDOLLAR', - /*::[*/0x00CD/*::]*/: 'FINDB', - /*::[*/0x00CE/*::]*/: 'SEARCHB', - /*::[*/0x00CF/*::]*/: 'REPLACEB', - /*::[*/0x00D0/*::]*/: 'LEFTB', - /*::[*/0x00D1/*::]*/: 'RIGHTB', - /*::[*/0x00D2/*::]*/: 'MIDB', - /*::[*/0x00D3/*::]*/: 'LENB', - /*::[*/0x00D4/*::]*/: 'ROUNDUP', - /*::[*/0x00D5/*::]*/: 'ROUNDDOWN', - /*::[*/0x00D6/*::]*/: 'ASC', - /*::[*/0x00D7/*::]*/: 'DBCS', - /*::[*/0x00D8/*::]*/: 'RANK', - /*::[*/0x00DB/*::]*/: 'ADDRESS', - /*::[*/0x00DC/*::]*/: 'DAYS360', - /*::[*/0x00DD/*::]*/: 'TODAY', - /*::[*/0x00DE/*::]*/: 'VDB', - /*::[*/0x00DF/*::]*/: 'ELSE', - /*::[*/0x00E0/*::]*/: 'ELSE.IF', - /*::[*/0x00E1/*::]*/: 'END.IF', - /*::[*/0x00E2/*::]*/: 'FOR.CELL', - /*::[*/0x00E3/*::]*/: 'MEDIAN', - /*::[*/0x00E4/*::]*/: 'SUMPRODUCT', - /*::[*/0x00E5/*::]*/: 'SINH', - /*::[*/0x00E6/*::]*/: 'COSH', - /*::[*/0x00E7/*::]*/: 'TANH', - /*::[*/0x00E8/*::]*/: 'ASINH', - /*::[*/0x00E9/*::]*/: 'ACOSH', - /*::[*/0x00EA/*::]*/: 'ATANH', - /*::[*/0x00EB/*::]*/: 'DGET', - /*::[*/0x00EC/*::]*/: 'CREATE.OBJECT', - /*::[*/0x00ED/*::]*/: 'VOLATILE', - /*::[*/0x00EE/*::]*/: 'LAST.ERROR', - /*::[*/0x00EF/*::]*/: 'CUSTOM.UNDO', - /*::[*/0x00F0/*::]*/: 'CUSTOM.REPEAT', - /*::[*/0x00F1/*::]*/: 'FORMULA.CONVERT', - /*::[*/0x00F2/*::]*/: 'GET.LINK.INFO', - /*::[*/0x00F3/*::]*/: 'TEXT.BOX', - /*::[*/0x00F4/*::]*/: 'INFO', - /*::[*/0x00F5/*::]*/: 'GROUP', - /*::[*/0x00F6/*::]*/: 'GET.OBJECT', - /*::[*/0x00F7/*::]*/: 'DB', - /*::[*/0x00F8/*::]*/: 'PAUSE', - /*::[*/0x00FB/*::]*/: 'RESUME', - /*::[*/0x00FC/*::]*/: 'FREQUENCY', - /*::[*/0x00FD/*::]*/: 'ADD.TOOLBAR', - /*::[*/0x00FE/*::]*/: 'DELETE.TOOLBAR', - /*::[*/0x00FF/*::]*/: 'User', - /*::[*/0x0100/*::]*/: 'RESET.TOOLBAR', - /*::[*/0x0101/*::]*/: 'EVALUATE', - /*::[*/0x0102/*::]*/: 'GET.TOOLBAR', - /*::[*/0x0103/*::]*/: 'GET.TOOL', - /*::[*/0x0104/*::]*/: 'SPELLING.CHECK', - /*::[*/0x0105/*::]*/: 'ERROR.TYPE', - /*::[*/0x0106/*::]*/: 'APP.TITLE', - /*::[*/0x0107/*::]*/: 'WINDOW.TITLE', - /*::[*/0x0108/*::]*/: 'SAVE.TOOLBAR', - /*::[*/0x0109/*::]*/: 'ENABLE.TOOL', - /*::[*/0x010A/*::]*/: 'PRESS.TOOL', - /*::[*/0x010B/*::]*/: 'REGISTER.ID', - /*::[*/0x010C/*::]*/: 'GET.WORKBOOK', - /*::[*/0x010D/*::]*/: 'AVEDEV', - /*::[*/0x010E/*::]*/: 'BETADIST', - /*::[*/0x010F/*::]*/: 'GAMMALN', - /*::[*/0x0110/*::]*/: 'BETAINV', - /*::[*/0x0111/*::]*/: 'BINOMDIST', - /*::[*/0x0112/*::]*/: 'CHIDIST', - /*::[*/0x0113/*::]*/: 'CHIINV', - /*::[*/0x0114/*::]*/: 'COMBIN', - /*::[*/0x0115/*::]*/: 'CONFIDENCE', - /*::[*/0x0116/*::]*/: 'CRITBINOM', - /*::[*/0x0117/*::]*/: 'EVEN', - /*::[*/0x0118/*::]*/: 'EXPONDIST', - /*::[*/0x0119/*::]*/: 'FDIST', - /*::[*/0x011A/*::]*/: 'FINV', - /*::[*/0x011B/*::]*/: 'FISHER', - /*::[*/0x011C/*::]*/: 'FISHERINV', - /*::[*/0x011D/*::]*/: 'FLOOR', - /*::[*/0x011E/*::]*/: 'GAMMADIST', - /*::[*/0x011F/*::]*/: 'GAMMAINV', - /*::[*/0x0120/*::]*/: 'CEILING', - /*::[*/0x0121/*::]*/: 'HYPGEOMDIST', - /*::[*/0x0122/*::]*/: 'LOGNORMDIST', - /*::[*/0x0123/*::]*/: 'LOGINV', - /*::[*/0x0124/*::]*/: 'NEGBINOMDIST', - /*::[*/0x0125/*::]*/: 'NORMDIST', - /*::[*/0x0126/*::]*/: 'NORMSDIST', - /*::[*/0x0127/*::]*/: 'NORMINV', - /*::[*/0x0128/*::]*/: 'NORMSINV', - /*::[*/0x0129/*::]*/: 'STANDARDIZE', - /*::[*/0x012A/*::]*/: 'ODD', - /*::[*/0x012B/*::]*/: 'PERMUT', - /*::[*/0x012C/*::]*/: 'POISSON', - /*::[*/0x012D/*::]*/: 'TDIST', - /*::[*/0x012E/*::]*/: 'WEIBULL', - /*::[*/0x012F/*::]*/: 'SUMXMY2', - /*::[*/0x0130/*::]*/: 'SUMX2MY2', - /*::[*/0x0131/*::]*/: 'SUMX2PY2', - /*::[*/0x0132/*::]*/: 'CHITEST', - /*::[*/0x0133/*::]*/: 'CORREL', - /*::[*/0x0134/*::]*/: 'COVAR', - /*::[*/0x0135/*::]*/: 'FORECAST', - /*::[*/0x0136/*::]*/: 'FTEST', - /*::[*/0x0137/*::]*/: 'INTERCEPT', - /*::[*/0x0138/*::]*/: 'PEARSON', - /*::[*/0x0139/*::]*/: 'RSQ', - /*::[*/0x013A/*::]*/: 'STEYX', - /*::[*/0x013B/*::]*/: 'SLOPE', - /*::[*/0x013C/*::]*/: 'TTEST', - /*::[*/0x013D/*::]*/: 'PROB', - /*::[*/0x013E/*::]*/: 'DEVSQ', - /*::[*/0x013F/*::]*/: 'GEOMEAN', - /*::[*/0x0140/*::]*/: 'HARMEAN', - /*::[*/0x0141/*::]*/: 'SUMSQ', - /*::[*/0x0142/*::]*/: 'KURT', - /*::[*/0x0143/*::]*/: 'SKEW', - /*::[*/0x0144/*::]*/: 'ZTEST', - /*::[*/0x0145/*::]*/: 'LARGE', - /*::[*/0x0146/*::]*/: 'SMALL', - /*::[*/0x0147/*::]*/: 'QUARTILE', - /*::[*/0x0148/*::]*/: 'PERCENTILE', - /*::[*/0x0149/*::]*/: 'PERCENTRANK', - /*::[*/0x014A/*::]*/: 'MODE', - /*::[*/0x014B/*::]*/: 'TRIMMEAN', - /*::[*/0x014C/*::]*/: 'TINV', - /*::[*/0x014E/*::]*/: 'MOVIE.COMMAND', - /*::[*/0x014F/*::]*/: 'GET.MOVIE', - /*::[*/0x0150/*::]*/: 'CONCATENATE', - /*::[*/0x0151/*::]*/: 'POWER', - /*::[*/0x0152/*::]*/: 'PIVOT.ADD.DATA', - /*::[*/0x0153/*::]*/: 'GET.PIVOT.TABLE', - /*::[*/0x0154/*::]*/: 'GET.PIVOT.FIELD', - /*::[*/0x0155/*::]*/: 'GET.PIVOT.ITEM', - /*::[*/0x0156/*::]*/: 'RADIANS', - /*::[*/0x0157/*::]*/: 'DEGREES', - /*::[*/0x0158/*::]*/: 'SUBTOTAL', - /*::[*/0x0159/*::]*/: 'SUMIF', - /*::[*/0x015A/*::]*/: 'COUNTIF', - /*::[*/0x015B/*::]*/: 'COUNTBLANK', - /*::[*/0x015C/*::]*/: 'SCENARIO.GET', - /*::[*/0x015D/*::]*/: 'OPTIONS.LISTS.GET', - /*::[*/0x015E/*::]*/: 'ISPMT', - /*::[*/0x015F/*::]*/: 'DATEDIF', - /*::[*/0x0160/*::]*/: 'DATESTRING', - /*::[*/0x0161/*::]*/: 'NUMBERSTRING', - /*::[*/0x0162/*::]*/: 'ROMAN', - /*::[*/0x0163/*::]*/: 'OPEN.DIALOG', - /*::[*/0x0164/*::]*/: 'SAVE.DIALOG', - /*::[*/0x0165/*::]*/: 'VIEW.GET', - /*::[*/0x0166/*::]*/: 'GETPIVOTDATA', - /*::[*/0x0167/*::]*/: 'HYPERLINK', - /*::[*/0x0168/*::]*/: 'PHONETIC', - /*::[*/0x0169/*::]*/: 'AVERAGEA', - /*::[*/0x016A/*::]*/: 'MAXA', - /*::[*/0x016B/*::]*/: 'MINA', - /*::[*/0x016C/*::]*/: 'STDEVPA', - /*::[*/0x016D/*::]*/: 'VARPA', - /*::[*/0x016E/*::]*/: 'STDEVA', - /*::[*/0x016F/*::]*/: 'VARA', - /*::[*/0x0170/*::]*/: 'BAHTTEXT', - /*::[*/0x0171/*::]*/: 'THAIDAYOFWEEK', - /*::[*/0x0172/*::]*/: 'THAIDIGIT', - /*::[*/0x0173/*::]*/: 'THAIMONTHOFYEAR', - /*::[*/0x0174/*::]*/: 'THAINUMSOUND', - /*::[*/0x0175/*::]*/: 'THAINUMSTRING', - /*::[*/0x0176/*::]*/: 'THAISTRINGLENGTH', - /*::[*/0x0177/*::]*/: 'ISTHAIDIGIT', - /*::[*/0x0178/*::]*/: 'ROUNDBAHTDOWN', - /*::[*/0x0179/*::]*/: 'ROUNDBAHTUP', - /*::[*/0x017A/*::]*/: 'THAIYEAR', - /*::[*/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/*::]*/: 'CONVERT', - /*::[*/0x02D4/*::]*/: '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' + 0x0000: 'COUNT', + 0x0001: 'IF', + 0x0002: 'ISNA', + 0x0003: 'ISERROR', + 0x0004: 'SUM', + 0x0005: 'AVERAGE', + 0x0006: 'MIN', + 0x0007: 'MAX', + 0x0008: 'ROW', + 0x0009: 'COLUMN', + 0x000A: 'NA', + 0x000B: 'NPV', + 0x000C: 'STDEV', + 0x000D: 'DOLLAR', + 0x000E: 'FIXED', + 0x000F: 'SIN', + 0x0010: 'COS', + 0x0011: 'TAN', + 0x0012: 'ATAN', + 0x0013: 'PI', + 0x0014: 'SQRT', + 0x0015: 'EXP', + 0x0016: 'LN', + 0x0017: 'LOG10', + 0x0018: 'ABS', + 0x0019: 'INT', + 0x001A: 'SIGN', + 0x001B: 'ROUND', + 0x001C: 'LOOKUP', + 0x001D: 'INDEX', + 0x001E: 'REPT', + 0x001F: 'MID', + 0x0020: 'LEN', + 0x0021: 'VALUE', + 0x0022: 'TRUE', + 0x0023: 'FALSE', + 0x0024: 'AND', + 0x0025: 'OR', + 0x0026: 'NOT', + 0x0027: 'MOD', + 0x0028: 'DCOUNT', + 0x0029: 'DSUM', + 0x002A: 'DAVERAGE', + 0x002B: 'DMIN', + 0x002C: 'DMAX', + 0x002D: 'DSTDEV', + 0x002E: 'VAR', + 0x002F: 'DVAR', + 0x0030: 'TEXT', + 0x0031: 'LINEST', + 0x0032: 'TREND', + 0x0033: 'LOGEST', + 0x0034: 'GROWTH', + 0x0035: 'GOTO', + 0x0036: 'HALT', + 0x0037: 'RETURN', + 0x0038: 'PV', + 0x0039: 'FV', + 0x003A: 'NPER', + 0x003B: 'PMT', + 0x003C: 'RATE', + 0x003D: 'MIRR', + 0x003E: 'IRR', + 0x003F: 'RAND', + 0x0040: 'MATCH', + 0x0041: 'DATE', + 0x0042: 'TIME', + 0x0043: 'DAY', + 0x0044: 'MONTH', + 0x0045: 'YEAR', + 0x0046: 'WEEKDAY', + 0x0047: 'HOUR', + 0x0048: 'MINUTE', + 0x0049: 'SECOND', + 0x004A: 'NOW', + 0x004B: 'AREAS', + 0x004C: 'ROWS', + 0x004D: 'COLUMNS', + 0x004E: 'OFFSET', + 0x004F: 'ABSREF', + 0x0050: 'RELREF', + 0x0051: 'ARGUMENT', + 0x0052: 'SEARCH', + 0x0053: 'TRANSPOSE', + 0x0054: 'ERROR', + 0x0055: 'STEP', + 0x0056: 'TYPE', + 0x0057: 'ECHO', + 0x0058: 'SET.NAME', + 0x0059: 'CALLER', + 0x005A: 'DEREF', + 0x005B: 'WINDOWS', + 0x005C: 'SERIES', + 0x005D: 'DOCUMENTS', + 0x005E: 'ACTIVE.CELL', + 0x005F: 'SELECTION', + 0x0060: 'RESULT', + 0x0061: 'ATAN2', + 0x0062: 'ASIN', + 0x0063: 'ACOS', + 0x0064: 'CHOOSE', + 0x0065: 'HLOOKUP', + 0x0066: 'VLOOKUP', + 0x0067: 'LINKS', + 0x0068: 'INPUT', + 0x0069: 'ISREF', + 0x006A: 'GET.FORMULA', + 0x006B: 'GET.NAME', + 0x006C: 'SET.VALUE', + 0x006D: 'LOG', + 0x006E: 'EXEC', + 0x006F: 'CHAR', + 0x0070: 'LOWER', + 0x0071: 'UPPER', + 0x0072: 'PROPER', + 0x0073: 'LEFT', + 0x0074: 'RIGHT', + 0x0075: 'EXACT', + 0x0076: 'TRIM', + 0x0077: 'REPLACE', + 0x0078: 'SUBSTITUTE', + 0x0079: 'CODE', + 0x007A: 'NAMES', + 0x007B: 'DIRECTORY', + 0x007C: 'FIND', + 0x007D: 'CELL', + 0x007E: 'ISERR', + 0x007F: 'ISTEXT', + 0x0080: 'ISNUMBER', + 0x0081: 'ISBLANK', + 0x0082: 'T', + 0x0083: 'N', + 0x0084: 'FOPEN', + 0x0085: 'FCLOSE', + 0x0086: 'FSIZE', + 0x0087: 'FREADLN', + 0x0088: 'FREAD', + 0x0089: 'FWRITELN', + 0x008A: 'FWRITE', + 0x008B: 'FPOS', + 0x008C: 'DATEVALUE', + 0x008D: 'TIMEVALUE', + 0x008E: 'SLN', + 0x008F: 'SYD', + 0x0090: 'DDB', + 0x0091: 'GET.DEF', + 0x0092: 'REFTEXT', + 0x0093: 'TEXTREF', + 0x0094: 'INDIRECT', + 0x0095: 'REGISTER', + 0x0096: 'CALL', + 0x0097: 'ADD.BAR', + 0x0098: 'ADD.MENU', + 0x0099: 'ADD.COMMAND', + 0x009A: 'ENABLE.COMMAND', + 0x009B: 'CHECK.COMMAND', + 0x009C: 'RENAME.COMMAND', + 0x009D: 'SHOW.BAR', + 0x009E: 'DELETE.MENU', + 0x009F: 'DELETE.COMMAND', + 0x00A0: 'GET.CHART.ITEM', + 0x00A1: 'DIALOG.BOX', + 0x00A2: 'CLEAN', + 0x00A3: 'MDETERM', + 0x00A4: 'MINVERSE', + 0x00A5: 'MMULT', + 0x00A6: 'FILES', + 0x00A7: 'IPMT', + 0x00A8: 'PPMT', + 0x00A9: 'COUNTA', + 0x00AA: 'CANCEL.KEY', + 0x00AB: 'FOR', + 0x00AC: 'WHILE', + 0x00AD: 'BREAK', + 0x00AE: 'NEXT', + 0x00AF: 'INITIATE', + 0x00B0: 'REQUEST', + 0x00B1: 'POKE', + 0x00B2: 'EXECUTE', + 0x00B3: 'TERMINATE', + 0x00B4: 'RESTART', + 0x00B5: 'HELP', + 0x00B6: 'GET.BAR', + 0x00B7: 'PRODUCT', + 0x00B8: 'FACT', + 0x00B9: 'GET.CELL', + 0x00BA: 'GET.WORKSPACE', + 0x00BB: 'GET.WINDOW', + 0x00BC: 'GET.DOCUMENT', + 0x00BD: 'DPRODUCT', + 0x00BE: 'ISNONTEXT', + 0x00BF: 'GET.NOTE', + 0x00C0: 'NOTE', + 0x00C1: 'STDEVP', + 0x00C2: 'VARP', + 0x00C3: 'DSTDEVP', + 0x00C4: 'DVARP', + 0x00C5: 'TRUNC', + 0x00C6: 'ISLOGICAL', + 0x00C7: 'DCOUNTA', + 0x00C8: 'DELETE.BAR', + 0x00C9: 'UNREGISTER', + 0x00CC: 'USDOLLAR', + 0x00CD: 'FINDB', + 0x00CE: 'SEARCHB', + 0x00CF: 'REPLACEB', + 0x00D0: 'LEFTB', + 0x00D1: 'RIGHTB', + 0x00D2: 'MIDB', + 0x00D3: 'LENB', + 0x00D4: 'ROUNDUP', + 0x00D5: 'ROUNDDOWN', + 0x00D6: 'ASC', + 0x00D7: 'DBCS', + 0x00D8: 'RANK', + 0x00DB: 'ADDRESS', + 0x00DC: 'DAYS360', + 0x00DD: 'TODAY', + 0x00DE: 'VDB', + 0x00DF: 'ELSE', + 0x00E0: 'ELSE.IF', + 0x00E1: 'END.IF', + 0x00E2: 'FOR.CELL', + 0x00E3: 'MEDIAN', + 0x00E4: 'SUMPRODUCT', + 0x00E5: 'SINH', + 0x00E6: 'COSH', + 0x00E7: 'TANH', + 0x00E8: 'ASINH', + 0x00E9: 'ACOSH', + 0x00EA: 'ATANH', + 0x00EB: 'DGET', + 0x00EC: 'CREATE.OBJECT', + 0x00ED: 'VOLATILE', + 0x00EE: 'LAST.ERROR', + 0x00EF: 'CUSTOM.UNDO', + 0x00F0: 'CUSTOM.REPEAT', + 0x00F1: 'FORMULA.CONVERT', + 0x00F2: 'GET.LINK.INFO', + 0x00F3: 'TEXT.BOX', + 0x00F4: 'INFO', + 0x00F5: 'GROUP', + 0x00F6: 'GET.OBJECT', + 0x00F7: 'DB', + 0x00F8: 'PAUSE', + 0x00FB: 'RESUME', + 0x00FC: 'FREQUENCY', + 0x00FD: 'ADD.TOOLBAR', + 0x00FE: 'DELETE.TOOLBAR', + 0x00FF: 'User', + 0x0100: 'RESET.TOOLBAR', + 0x0101: 'EVALUATE', + 0x0102: 'GET.TOOLBAR', + 0x0103: 'GET.TOOL', + 0x0104: 'SPELLING.CHECK', + 0x0105: 'ERROR.TYPE', + 0x0106: 'APP.TITLE', + 0x0107: 'WINDOW.TITLE', + 0x0108: 'SAVE.TOOLBAR', + 0x0109: 'ENABLE.TOOL', + 0x010A: 'PRESS.TOOL', + 0x010B: 'REGISTER.ID', + 0x010C: 'GET.WORKBOOK', + 0x010D: 'AVEDEV', + 0x010E: 'BETADIST', + 0x010F: 'GAMMALN', + 0x0110: 'BETAINV', + 0x0111: 'BINOMDIST', + 0x0112: 'CHIDIST', + 0x0113: 'CHIINV', + 0x0114: 'COMBIN', + 0x0115: 'CONFIDENCE', + 0x0116: 'CRITBINOM', + 0x0117: 'EVEN', + 0x0118: 'EXPONDIST', + 0x0119: 'FDIST', + 0x011A: 'FINV', + 0x011B: 'FISHER', + 0x011C: 'FISHERINV', + 0x011D: 'FLOOR', + 0x011E: 'GAMMADIST', + 0x011F: 'GAMMAINV', + 0x0120: 'CEILING', + 0x0121: 'HYPGEOMDIST', + 0x0122: 'LOGNORMDIST', + 0x0123: 'LOGINV', + 0x0124: 'NEGBINOMDIST', + 0x0125: 'NORMDIST', + 0x0126: 'NORMSDIST', + 0x0127: 'NORMINV', + 0x0128: 'NORMSINV', + 0x0129: 'STANDARDIZE', + 0x012A: 'ODD', + 0x012B: 'PERMUT', + 0x012C: 'POISSON', + 0x012D: 'TDIST', + 0x012E: 'WEIBULL', + 0x012F: 'SUMXMY2', + 0x0130: 'SUMX2MY2', + 0x0131: 'SUMX2PY2', + 0x0132: 'CHITEST', + 0x0133: 'CORREL', + 0x0134: 'COVAR', + 0x0135: 'FORECAST', + 0x0136: 'FTEST', + 0x0137: 'INTERCEPT', + 0x0138: 'PEARSON', + 0x0139: 'RSQ', + 0x013A: 'STEYX', + 0x013B: 'SLOPE', + 0x013C: 'TTEST', + 0x013D: 'PROB', + 0x013E: 'DEVSQ', + 0x013F: 'GEOMEAN', + 0x0140: 'HARMEAN', + 0x0141: 'SUMSQ', + 0x0142: 'KURT', + 0x0143: 'SKEW', + 0x0144: 'ZTEST', + 0x0145: 'LARGE', + 0x0146: 'SMALL', + 0x0147: 'QUARTILE', + 0x0148: 'PERCENTILE', + 0x0149: 'PERCENTRANK', + 0x014A: 'MODE', + 0x014B: 'TRIMMEAN', + 0x014C: 'TINV', + 0x014E: 'MOVIE.COMMAND', + 0x014F: 'GET.MOVIE', + 0x0150: 'CONCATENATE', + 0x0151: 'POWER', + 0x0152: 'PIVOT.ADD.DATA', + 0x0153: 'GET.PIVOT.TABLE', + 0x0154: 'GET.PIVOT.FIELD', + 0x0155: 'GET.PIVOT.ITEM', + 0x0156: 'RADIANS', + 0x0157: 'DEGREES', + 0x0158: 'SUBTOTAL', + 0x0159: 'SUMIF', + 0x015A: 'COUNTIF', + 0x015B: 'COUNTBLANK', + 0x015C: 'SCENARIO.GET', + 0x015D: 'OPTIONS.LISTS.GET', + 0x015E: 'ISPMT', + 0x015F: 'DATEDIF', + 0x0160: 'DATESTRING', + 0x0161: 'NUMBERSTRING', + 0x0162: 'ROMAN', + 0x0163: 'OPEN.DIALOG', + 0x0164: 'SAVE.DIALOG', + 0x0165: 'VIEW.GET', + 0x0166: 'GETPIVOTDATA', + 0x0167: 'HYPERLINK', + 0x0168: 'PHONETIC', + 0x0169: 'AVERAGEA', + 0x016A: 'MAXA', + 0x016B: 'MINA', + 0x016C: 'STDEVPA', + 0x016D: 'VARPA', + 0x016E: 'STDEVA', + 0x016F: 'VARA', + 0x0170: 'BAHTTEXT', + 0x0171: 'THAIDAYOFWEEK', + 0x0172: 'THAIDIGIT', + 0x0173: 'THAIMONTHOFYEAR', + 0x0174: 'THAINUMSOUND', + 0x0175: 'THAINUMSTRING', + 0x0176: 'THAISTRINGLENGTH', + 0x0177: 'ISTHAIDIGIT', + 0x0178: 'ROUNDBAHTDOWN', + 0x0179: 'ROUNDBAHTUP', + 0x017A: 'THAIYEAR', + 0x017B: 'RTD' }; var FtabArgc = { - /*::[*/0x0002/*::]*/: 1, /* ISNA */ - /*::[*/0x0003/*::]*/: 1, /* ISERROR */ - /*::[*/0x000F/*::]*/: 1, /* SIN */ - /*::[*/0x0010/*::]*/: 1, /* COS */ - /*::[*/0x0011/*::]*/: 1, /* TAN */ - /*::[*/0x0012/*::]*/: 1, /* ATAN */ - /*::[*/0x0013/*::]*/: 0, /* PI */ - /*::[*/0x0014/*::]*/: 1, /* SQRT */ - /*::[*/0x0015/*::]*/: 1, /* EXP */ - /*::[*/0x0016/*::]*/: 1, /* LN */ - /*::[*/0x0017/*::]*/: 1, /* LOG10 */ - /*::[*/0x0018/*::]*/: 1, /* ABS */ - /*::[*/0x0019/*::]*/: 1, /* INT */ - /*::[*/0x001A/*::]*/: 1, /* SIGN */ - /*::[*/0x001B/*::]*/: 2, /* ROUND */ - /*::[*/0x001E/*::]*/: 2, /* REPT */ - /*::[*/0x001F/*::]*/: 3, /* MID */ - /*::[*/0x0020/*::]*/: 1, /* LEN */ - /*::[*/0x0021/*::]*/: 1, /* VALUE */ - /*::[*/0x0026/*::]*/: 1, /* NOT */ - /*::[*/0x0027/*::]*/: 2, /* MOD */ - /*::[*/0x0028/*::]*/: 3, /* DCOUNT */ - /*::[*/0x0029/*::]*/: 3, /* DSUM */ - /*::[*/0x002A/*::]*/: 3, /* DAVERAGE */ - /*::[*/0x002B/*::]*/: 3, /* DMIN */ - /*::[*/0x002C/*::]*/: 3, /* DMAX */ - /*::[*/0x002D/*::]*/: 3, /* DSTDEV */ - /*::[*/0x002F/*::]*/: 3, /* DVAR */ - /*::[*/0x0030/*::]*/: 2, /* TEXT */ - /*::[*/0x0035/*::]*/: 1, /* GOTO */ - /*::[*/0x003D/*::]*/: 3, /* MIRR */ - /*::[*/0x0041/*::]*/: 3, /* DATE */ - /*::[*/0x0042/*::]*/: 3, /* TIME */ - /*::[*/0x0043/*::]*/: 1, /* DAY */ - /*::[*/0x0044/*::]*/: 1, /* MONTH */ - /*::[*/0x0045/*::]*/: 1, /* YEAR */ - /*::[*/0x0046/*::]*/: 1, /* WEEKDAY */ - /*::[*/0x0047/*::]*/: 1, /* HOUR */ - /*::[*/0x0048/*::]*/: 1, /* MINUTE */ - /*::[*/0x0049/*::]*/: 1, /* SECOND */ - /*::[*/0x004B/*::]*/: 1, /* AREAS */ - /*::[*/0x004C/*::]*/: 1, /* ROWS */ - /*::[*/0x004D/*::]*/: 1, /* COLUMNS */ - /*::[*/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 */ - /*::[*/0x0071/*::]*/: 1, /* UPPER */ - /*::[*/0x0072/*::]*/: 1, /* PROPER */ - /*::[*/0x0075/*::]*/: 2, /* EXACT */ - /*::[*/0x0076/*::]*/: 1, /* TRIM */ - /*::[*/0x0077/*::]*/: 4, /* REPLACE */ - /*::[*/0x0079/*::]*/: 1, /* CODE */ - /*::[*/0x007E/*::]*/: 1, /* ISERR */ - /*::[*/0x007F/*::]*/: 1, /* ISTEXT */ - /*::[*/0x0080/*::]*/: 1, /* ISNUMBER */ - /*::[*/0x0081/*::]*/: 1, /* ISBLANK */ - /*::[*/0x0082/*::]*/: 1, /* T */ - /*::[*/0x0083/*::]*/: 1, /* N */ - /*::[*/0x0085/*::]*/: 1, /* FCLOSE */ - /*::[*/0x0086/*::]*/: 1, /* FSIZE */ - /*::[*/0x0087/*::]*/: 1, /* FREADLN */ - /*::[*/0x0088/*::]*/: 2, /* FREAD */ - /*::[*/0x0089/*::]*/: 2, /* FWRITELN */ - /*::[*/0x008A/*::]*/: 2, /* FWRITE */ - /*::[*/0x008C/*::]*/: 1, /* DATEVALUE */ - /*::[*/0x008D/*::]*/: 1, /* TIMEVALUE */ - /*::[*/0x008E/*::]*/: 3, /* SLN */ - /*::[*/0x008F/*::]*/: 4, /* SYD */ - /*::[*/0x0090/*::]*/: 4, /* DDB */ - /*::[*/0x00A2/*::]*/: 1, /* CLEAN */ - /*::[*/0x00A3/*::]*/: 1, /* MDETERM */ - /*::[*/0x00A4/*::]*/: 1, /* MINVERSE */ - /*::[*/0x00A5/*::]*/: 2, /* MMULT */ - /*::[*/0x00AC/*::]*/: 1, /* WHILE */ - /*::[*/0x00AF/*::]*/: 2, /* INITIATE */ - /*::[*/0x00B0/*::]*/: 2, /* REQUEST */ - /*::[*/0x00B1/*::]*/: 3, /* POKE */ - /*::[*/0x00B2/*::]*/: 2, /* EXECUTE */ - /*::[*/0x00B3/*::]*/: 1, /* TERMINATE */ - /*::[*/0x00B8/*::]*/: 1, /* FACT */ - /*::[*/0x00BD/*::]*/: 3, /* DPRODUCT */ - /*::[*/0x00BE/*::]*/: 1, /* ISNONTEXT */ - /*::[*/0x00C3/*::]*/: 3, /* DSTDEVP */ - /*::[*/0x00C4/*::]*/: 3, /* DVARP */ - /*::[*/0x00C5/*::]*/: 1, /* TRUNC */ - /*::[*/0x00C6/*::]*/: 1, /* ISLOGICAL */ - /*::[*/0x00C7/*::]*/: 3, /* DCOUNTA */ - /*::[*/0x00C9/*::]*/: 1, /* UNREGISTER */ - /*::[*/0x00CF/*::]*/: 4, /* REPLACEB */ - /*::[*/0x00D2/*::]*/: 3, /* MIDB */ - /*::[*/0x00D3/*::]*/: 1, /* LENB */ - /*::[*/0x00D4/*::]*/: 2, /* ROUNDUP */ - /*::[*/0x00D5/*::]*/: 2, /* ROUNDDOWN */ - /*::[*/0x00D6/*::]*/: 1, /* ASC */ - /*::[*/0x00D7/*::]*/: 1, /* DBCS */ - /*::[*/0x00E5/*::]*/: 1, /* SINH */ - /*::[*/0x00E6/*::]*/: 1, /* COSH */ - /*::[*/0x00E7/*::]*/: 1, /* TANH */ - /*::[*/0x00E8/*::]*/: 1, /* ASINH */ - /*::[*/0x00E9/*::]*/: 1, /* ACOSH */ - /*::[*/0x00EA/*::]*/: 1, /* ATANH */ - /*::[*/0x00EB/*::]*/: 3, /* DGET */ - /*::[*/0x00F4/*::]*/: 1, /* INFO */ - /*::[*/0x00F7/*::]*/: 4, /* DB */ - /*::[*/0x00FC/*::]*/: 2, /* FREQUENCY */ - /*::[*/0x0101/*::]*/: 1, /* EVALUATE */ - /*::[*/0x0105/*::]*/: 1, /* ERROR.TYPE */ - /*::[*/0x010F/*::]*/: 1, /* GAMMALN */ - /*::[*/0x0111/*::]*/: 4, /* BINOMDIST */ - /*::[*/0x0112/*::]*/: 2, /* CHIDIST */ - /*::[*/0x0113/*::]*/: 2, /* CHIINV */ - /*::[*/0x0114/*::]*/: 2, /* COMBIN */ - /*::[*/0x0115/*::]*/: 3, /* CONFIDENCE */ - /*::[*/0x0116/*::]*/: 3, /* CRITBINOM */ - /*::[*/0x0117/*::]*/: 1, /* EVEN */ - /*::[*/0x0118/*::]*/: 3, /* EXPONDIST */ - /*::[*/0x0119/*::]*/: 3, /* FDIST */ - /*::[*/0x011A/*::]*/: 3, /* FINV */ - /*::[*/0x011B/*::]*/: 1, /* FISHER */ - /*::[*/0x011C/*::]*/: 1, /* FISHERINV */ - /*::[*/0x011D/*::]*/: 2, /* FLOOR */ - /*::[*/0x011E/*::]*/: 4, /* GAMMADIST */ - /*::[*/0x011F/*::]*/: 3, /* GAMMAINV */ - /*::[*/0x0120/*::]*/: 2, /* CEILING */ - /*::[*/0x0121/*::]*/: 4, /* HYPGEOMDIST */ - /*::[*/0x0122/*::]*/: 3, /* LOGNORMDIST */ - /*::[*/0x0123/*::]*/: 3, /* LOGINV */ - /*::[*/0x0124/*::]*/: 3, /* NEGBINOMDIST */ - /*::[*/0x0125/*::]*/: 4, /* NORMDIST */ - /*::[*/0x0126/*::]*/: 1, /* NORMSDIST */ - /*::[*/0x0127/*::]*/: 3, /* NORMINV */ - /*::[*/0x0128/*::]*/: 1, /* NORMSINV */ - /*::[*/0x0129/*::]*/: 3, /* STANDARDIZE */ - /*::[*/0x012A/*::]*/: 1, /* ODD */ - /*::[*/0x012B/*::]*/: 2, /* PERMUT */ - /*::[*/0x012C/*::]*/: 3, /* POISSON */ - /*::[*/0x012D/*::]*/: 3, /* TDIST */ - /*::[*/0x012E/*::]*/: 4, /* WEIBULL */ - /*::[*/0x012F/*::]*/: 2, /* SUMXMY2 */ - /*::[*/0x0130/*::]*/: 2, /* SUMX2MY2 */ - /*::[*/0x0131/*::]*/: 2, /* SUMX2PY2 */ - /*::[*/0x0132/*::]*/: 2, /* CHITEST */ - /*::[*/0x0133/*::]*/: 2, /* CORREL */ - /*::[*/0x0134/*::]*/: 2, /* COVAR */ - /*::[*/0x0135/*::]*/: 3, /* FORECAST */ - /*::[*/0x0136/*::]*/: 2, /* FTEST */ - /*::[*/0x0137/*::]*/: 2, /* INTERCEPT */ - /*::[*/0x0138/*::]*/: 2, /* PEARSON */ - /*::[*/0x0139/*::]*/: 2, /* RSQ */ - /*::[*/0x013A/*::]*/: 2, /* STEYX */ - /*::[*/0x013B/*::]*/: 2, /* SLOPE */ - /*::[*/0x013C/*::]*/: 4, /* TTEST */ - /*::[*/0x0145/*::]*/: 2, /* LARGE */ - /*::[*/0x0146/*::]*/: 2, /* SMALL */ - /*::[*/0x0147/*::]*/: 2, /* QUARTILE */ - /*::[*/0x0148/*::]*/: 2, /* PERCENTILE */ - /*::[*/0x014B/*::]*/: 2, /* TRIMMEAN */ - /*::[*/0x014C/*::]*/: 2, /* TINV */ - /*::[*/0x0151/*::]*/: 2, /* POWER */ - /*::[*/0x0156/*::]*/: 1, /* RADIANS */ - /*::[*/0x0157/*::]*/: 1, /* DEGREES */ - /*::[*/0x015A/*::]*/: 2, /* COUNTIF */ - /*::[*/0x015B/*::]*/: 1, /* COUNTBLANK */ - /*::[*/0x015E/*::]*/: 4, /* ISPMT */ - /*::[*/0x015F/*::]*/: 3, /* DATEDIF */ - /*::[*/0x0160/*::]*/: 1, /* DATESTRING */ - /*::[*/0x0161/*::]*/: 2, /* NUMBERSTRING */ - /*::[*/0x0168/*::]*/: 1, /* PHONETIC */ - /*::[*/0x0170/*::]*/: 1, /* BAHTTEXT */ - /*::[*/0x0171/*::]*/: 1, /* THAIDAYOFWEEK */ - /*::[*/0x0172/*::]*/: 1, /* THAIDIGIT */ - /*::[*/0x0173/*::]*/: 1, /* THAIMONTHOFYEAR */ - /*::[*/0x0174/*::]*/: 1, /* THAINUMSOUND */ - /*::[*/0x0175/*::]*/: 1, /* THAINUMSTRING */ - /*::[*/0x0176/*::]*/: 1, /* THAISTRINGLENGTH */ - /*::[*/0x0177/*::]*/: 1, /* ISTHAIDIGIT */ - /*::[*/0x0178/*::]*/: 1, /* ROUNDBAHTDOWN */ - /*::[*/0x0179/*::]*/: 1, /* ROUNDBAHTUP */ - /*::[*/0x017A/*::]*/: 1, /* THAIYEAR */ - /*::[*/0x017E/*::]*/: 3, /* CUBEMEMBERPROPERTY */ - /*::[*/0x0181/*::]*/: 1, /* HEX2DEC */ - /*::[*/0x0188/*::]*/: 1, /* OCT2DEC */ - /*::[*/0x0189/*::]*/: 1, /* BIN2DEC */ - /*::[*/0x018C/*::]*/: 2, /* IMSUB */ - /*::[*/0x018D/*::]*/: 2, /* IMDIV */ - /*::[*/0x018E/*::]*/: 2, /* IMPOWER */ - /*::[*/0x018F/*::]*/: 1, /* IMABS */ - /*::[*/0x0190/*::]*/: 1, /* IMSQRT */ - /*::[*/0x0191/*::]*/: 1, /* IMLN */ - /*::[*/0x0192/*::]*/: 1, /* IMLOG2 */ - /*::[*/0x0193/*::]*/: 1, /* IMLOG10 */ - /*::[*/0x0194/*::]*/: 1, /* IMSIN */ - /*::[*/0x0195/*::]*/: 1, /* IMCOS */ - /*::[*/0x0196/*::]*/: 1, /* IMEXP */ - /*::[*/0x0197/*::]*/: 1, /* IMARGUMENT */ - /*::[*/0x0198/*::]*/: 1, /* IMCONJUGATE */ - /*::[*/0x0199/*::]*/: 1, /* IMAGINARY */ - /*::[*/0x019A/*::]*/: 1, /* IMREAL */ - /*::[*/0x019E/*::]*/: 4, /* SERIESSUM */ - /*::[*/0x019F/*::]*/: 1, /* FACTDOUBLE */ - /*::[*/0x01A0/*::]*/: 1, /* SQRTPI */ - /*::[*/0x01A1/*::]*/: 2, /* QUOTIENT */ - /*::[*/0x01A4/*::]*/: 1, /* ISEVEN */ - /*::[*/0x01A5/*::]*/: 1, /* ISODD */ - /*::[*/0x01A6/*::]*/: 2, /* MROUND */ - /*::[*/0x01A8/*::]*/: 1, /* ERFC */ - /*::[*/0x01A9/*::]*/: 2, /* BESSELJ */ - /*::[*/0x01AA/*::]*/: 2, /* BESSELK */ - /*::[*/0x01AB/*::]*/: 2, /* BESSELY */ - /*::[*/0x01AC/*::]*/: 2, /* BESSELI */ - /*::[*/0x01AE/*::]*/: 3, /* XNPV */ - /*::[*/0x01B6/*::]*/: 3, /* TBILLEQ */ - /*::[*/0x01B7/*::]*/: 3, /* TBILLPRICE */ - /*::[*/0x01B8/*::]*/: 3, /* TBILLYIELD */ - /*::[*/0x01BB/*::]*/: 2, /* DOLLARDE */ - /*::[*/0x01BC/*::]*/: 2, /* DOLLARFR */ - /*::[*/0x01BD/*::]*/: 2, /* NOMINAL */ - /*::[*/0x01BE/*::]*/: 2, /* EFFECT */ - /*::[*/0x01BF/*::]*/: 6, /* CUMPRINC */ - /*::[*/0x01C0/*::]*/: 6, /* CUMIPMT */ - /*::[*/0x01C1/*::]*/: 2, /* EDATE */ - /*::[*/0x01C2/*::]*/: 2, /* EOMONTH */ - /*::[*/0x01D0/*::]*/: 2, /* RANDBETWEEN */ - /*::[*/0x01D4/*::]*/: 3, /* CONVERT */ - /*::[*/0x01DC/*::]*/: 2, /* FVSCHEDULE */ - /*::[*/0x01DF/*::]*/: 1, /* CUBESETCOUNT */ - /*::[*/0x01E0/*::]*/: 2, /* IFERROR */ - /*::[*/0xFFFF/*::]*/: 0 + 0x0002: 1, /* ISNA */ + 0x0003: 1, /* ISERROR */ + 0x000F: 1, /* SIN */ + 0x0010: 1, /* COS */ + 0x0011: 1, /* TAN */ + 0x0012: 1, /* ATAN */ + 0x0014: 1, /* SQRT */ + 0x0015: 1, /* EXP */ + 0x0016: 1, /* LN */ + 0x0017: 1, /* LOG10 */ + 0x0018: 1, /* ABS */ + 0x0019: 1, /* INT */ + 0x001A: 1, /* SIGN */ + 0x001B: 2, /* ROUND */ + 0x001E: 2, /* REPT */ + 0x001F: 3, /* MID */ + 0x0020: 1, /* LEN */ + 0x0021: 1, /* VALUE */ + 0x0026: 1, /* NOT */ + 0x0027: 2, /* MOD */ + 0x0028: 3, /* DCOUNT */ + 0x0029: 3, /* DSUM */ + 0x002A: 3, /* DAVERAGE */ + 0x002B: 3, /* DMIN */ + 0x002C: 3, /* DMAX */ + 0x002D: 3, /* DSTDEV */ + 0x002F: 3, /* DVAR */ + 0x0030: 2, /* TEXT */ + 0x0035: 1, /* GOTO */ + 0x003D: 3, /* MIRR */ + 0x0041: 3, /* DATE */ + 0x0042: 3, /* TIME */ + 0x0043: 1, /* DAY */ + 0x0044: 1, /* MONTH */ + 0x0045: 1, /* YEAR */ + 0x0047: 1, /* HOUR */ + 0x0048: 1, /* MINUTE */ + 0x0049: 1, /* SECOND */ + 0x004B: 1, /* AREAS */ + 0x004C: 1, /* ROWS */ + 0x004D: 1, /* COLUMNS */ + 0x004F: 2, /* ABSREF */ + 0x0050: 2, /* RELREF */ + 0x0053: 1, /* TRANSPOSE */ + 0x0056: 1, /* TYPE */ + 0x005A: 1, /* DEREF */ + 0x0061: 2, /* ATAN2 */ + 0x0062: 1, /* ASIN */ + 0x0063: 1, /* ACOS */ + 0x0069: 1, /* ISREF */ + 0x006F: 1, /* CHAR */ + 0x0070: 1, /* LOWER */ + 0x0071: 1, /* UPPER */ + 0x0072: 1, /* PROPER */ + 0x0075: 2, /* EXACT */ + 0x0076: 1, /* TRIM */ + 0x0077: 4, /* REPLACE */ + 0x0079: 1, /* CODE */ + 0x007E: 1, /* ISERR */ + 0x007F: 1, /* ISTEXT */ + 0x0080: 1, /* ISNUMBER */ + 0x0081: 1, /* ISBLANK */ + 0x0082: 1, /* T */ + 0x0083: 1, /* N */ + 0x0085: 1, /* FCLOSE */ + 0x0086: 1, /* FSIZE */ + 0x0087: 1, /* FREADLN */ + 0x0088: 2, /* FREAD */ + 0x0089: 2, /* FWRITELN */ + 0x008A: 2, /* FWRITE */ + 0x008C: 1, /* DATEVALUE */ + 0x008D: 1, /* TIMEVALUE */ + 0x008E: 3, /* SLN */ + 0x008F: 4, /* SYD */ + 0x00A2: 1, /* CLEAN */ + 0x00A3: 1, /* MDETERM */ + 0x00A4: 1, /* MINVERSE */ + 0x00A5: 2, /* MMULT */ + 0x00AC: 1, /* WHILE */ + 0x00AF: 2, /* INITIATE */ + 0x00B0: 2, /* REQUEST */ + 0x00B1: 3, /* POKE */ + 0x00B2: 2, /* EXECUTE */ + 0x00B3: 1, /* TERMINATE */ + 0x00B8: 1, /* FACT */ + 0x00BD: 3, /* DPRODUCT */ + 0x00BE: 1, /* ISNONTEXT */ + 0x00C3: 3, /* DSTDEVP */ + 0x00C4: 3, /* DVARP */ + 0x00C6: 1, /* ISLOGICAL */ + 0x00C7: 3, /* DCOUNTA */ + 0x00C9: 1, /* UNREGISTER */ + 0x00CF: 4, /* REPLACEB */ + 0x00D2: 3, /* MIDB */ + 0x00D3: 1, /* LENB */ + 0x00D4: 2, /* ROUNDUP */ + 0x00D5: 2, /* ROUNDDOWN */ + 0x00D6: 1, /* ASC */ + 0x00D7: 1, /* DBCS */ + 0x00E5: 1, /* SINH */ + 0x00E6: 1, /* COSH */ + 0x00E7: 1, /* TANH */ + 0x00E8: 1, /* ASINH */ + 0x00E9: 1, /* ACOSH */ + 0x00EA: 1, /* ATANH */ + 0x00EB: 3, /* DGET */ + 0x00F4: 1, /* INFO */ + 0x00FC: 2, /* FREQUENCY */ + 0x0101: 1, /* EVALUATE */ + 0x0105: 1, /* ERROR.TYPE */ + 0x010F: 1, /* GAMMALN */ + 0x0111: 4, /* BINOMDIST */ + 0x0112: 2, /* CHIDIST */ + 0x0113: 2, /* CHIINV */ + 0x0114: 2, /* COMBIN */ + 0x0115: 3, /* CONFIDENCE */ + 0x0116: 3, /* CRITBINOM */ + 0x0117: 1, /* EVEN */ + 0x0118: 3, /* EXPONDIST */ + 0x0119: 3, /* FDIST */ + 0x011A: 3, /* FINV */ + 0x011B: 1, /* FISHER */ + 0x011C: 1, /* FISHERINV */ + 0x011D: 2, /* FLOOR */ + 0x011E: 4, /* GAMMADIST */ + 0x011F: 3, /* GAMMAINV */ + 0x0120: 2, /* CEILING */ + 0x0121: 4, /* HYPGEOMDIST */ + 0x0122: 3, /* LOGNORMDIST */ + 0x0123: 3, /* LOGINV */ + 0x0124: 3, /* NEGBINOMDIST */ + 0x0125: 4, /* NORMDIST */ + 0x0126: 1, /* NORMSDIST */ + 0x0127: 3, /* NORMINV */ + 0x0128: 1, /* NORMSINV */ + 0x0129: 3, /* STANDARDIZE */ + 0x012A: 1, /* ODD */ + 0x012B: 2, /* PERMUT */ + 0x012C: 3, /* POISSON */ + 0x012D: 3, /* TDIST */ + 0x012E: 4, /* WEIBULL */ + 0x012F: 2, /* SUMXMY2 */ + 0x0130: 2, /* SUMX2MY2 */ + 0x0131: 2, /* SUMX2PY2 */ + 0x0132: 2, /* CHITEST */ + 0x0133: 2, /* CORREL */ + 0x0134: 2, /* COVAR */ + 0x0135: 3, /* FORECAST */ + 0x0136: 2, /* FTEST */ + 0x0137: 2, /* INTERCEPT */ + 0x0138: 2, /* PEARSON */ + 0x0139: 2, /* RSQ */ + 0x013A: 2, /* STEYX */ + 0x013B: 2, /* SLOPE */ + 0x013C: 4, /* TTEST */ + 0x0145: 2, /* LARGE */ + 0x0146: 2, /* SMALL */ + 0x0147: 2, /* QUARTILE */ + 0x0148: 2, /* PERCENTILE */ + 0x014B: 2, /* TRIMMEAN */ + 0x014C: 2, /* TINV */ + 0x0151: 2, /* POWER */ + 0x0156: 1, /* RADIANS */ + 0x0157: 1, /* DEGREES */ + 0x015A: 2, /* COUNTIF */ + 0x015B: 1, /* COUNTBLANK */ + 0x015E: 4, /* ISPMT */ + 0x015F: 3, /* DATEDIF */ + 0x0160: 1, /* DATESTRING */ + 0x0161: 2, /* NUMBERSTRING */ + 0x0168: 1, /* PHONETIC */ + 0x0170: 1, /* BAHTTEXT */ + 0x0171: 1, /* THAIDAYOFWEEK */ + 0x0172: 1, /* THAIDIGIT */ + 0x0173: 1, /* THAIMONTHOFYEAR */ + 0x0174: 1, /* THAINUMSOUND */ + 0x0175: 1, /* THAINUMSTRING */ + 0x0176: 1, /* THAISTRINGLENGTH */ + 0x0177: 1, /* ISTHAIDIGIT */ + 0x0178: 1, /* ROUNDBAHTDOWN */ + 0x0179: 1, /* ROUNDBAHTUP */ + 0x017A: 1, /* THAIYEAR */ + 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/65_fods.js b/bits/65_fods.js deleted file mode 100644 index fee62c9..0000000 --- a/bits/65_fods.js +++ /dev/null @@ -1,11 +0,0 @@ -/* 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/bits/66_wscommon.js b/bits/66_wscommon.js index 6b01b2b..a3631e5 100644 --- a/bits/66_wscommon.js +++ b/bits/66_wscommon.js @@ -3,7 +3,7 @@ var _ssfopts = {}; // spreadsheet formatting options RELS.WS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"; -function get_sst_id(sst/*:SST*/, str/*:string*/)/*:number*/ { +function get_sst_id(sst, str) { for(var i = 0, len = sst.length; i < len; ++i) if(sst[i].t === str) { sst.Count ++; return i; } sst[len] = {t:str}; sst.Count ++; sst.Unique ++; return len; } @@ -23,7 +23,6 @@ function get_cell_style(styles, cell, opts) { } function safe_format(p, fmtid, fillid, opts) { - if(p.t === 'd' && typeof p.v === 'string') p.v = new Date(p.v); try { if(p.t === 'e') p.w = p.w || BErr[p.v]; else if(fmtid === 0) { diff --git a/bits/67_wsxml.js b/bits/67_wsxml.js index feb3d30..eeae99b 100644 --- a/bits/67_wsxml.js +++ b/bits/67_wsxml.js @@ -2,20 +2,19 @@ function parse_ws_xml_dim(ws, s) { var d = safe_decode_range(s); if(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws["!ref"] = encode_range(d); } -var mergecregex = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g; +var mergecregex = //g; var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/; -var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; +var hlinkregex = /]*\/>/g; var dimregex = /"(\w*:\w*)"/; -var colregex = /<(?:\w*:)?col[^>]*\/>/g; +var colregex = /]*\/>/g; /* 18.3 Worksheets */ -function parse_ws_xml(data/*:?string*/, opts, rels)/*:Worksheet*/ { +function parse_ws_xml(data, opts, rels) { if(!data) return data; /* 18.3.1.99 worksheet CT_Worksheet */ - var s = ({}/*:any*/); + var s = {}; /* 18.3.1.35 dimension CT_SheetDimension ? */ - // $FlowIgnore - var ridx = (data.match(/<(?:\w*:)?dimension/)||{index:-1}).index; + var ridx = data.indexOf(" 0) { var ref = data.substr(ridx,50).match(dimregex); if(ref != null) parse_ws_xml_dim(s, ref[1]); @@ -23,27 +22,28 @@ function parse_ws_xml(data/*:?string*/, opts, rels)/*:Worksheet*/ { /* 18.3.1.55 mergeCells CT_MergeCells */ 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)); + if(data.indexOf("")!==-1) { + var merges = data.match(mergecregex); + for(ridx = 0; ridx != merges.length; ++ridx) + mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); + } /* 18.3.1.17 cols CT_Cols */ var columns = []; - if(opts.cellStyles) { + if(opts.cellStyles && data.indexOf("")!==-1) { /* 18.3.1.13 col CT_Col */ var cols = data.match(colregex); - if(cols) parse_ws_xml_cols(columns, cols); + parse_ws_xml_cols(columns, cols); } - var refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/); + var refguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} }; /* 18.3.1.80 sheetData CT_SheetData ? */ var mtch=data.match(sheetdataregex); if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess); /* 18.3.1.48 hyperlinks CT_Hyperlinks */ - var hlink = data.match(hlinkregex); - if(hlink) parse_ws_xml_hlinks(s, hlink, rels); + if(data.indexOf("")!==-1) parse_ws_xml_hlinks(s, data.match(hlinkregex), 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"]) { @@ -109,11 +109,11 @@ function parse_ws_xml_cols(columns, cols) { } } -function write_ws_xml_cols(ws, cols)/*:string*/ { +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}/*:any*/); + var p = {min:i+1,max:i+1}; /* wch (chars), wpx (pixels) */ width = -1; if(col.wpx) width = px2char(col.wpx); @@ -137,13 +137,13 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { if(opts.cellDates) vv = new Date(cell.v).toISOString(); else { cell.t = 'n'; - vv = ''+(cell.v = datenum(new Date(cell.v))); + 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}/*:any*/); + var v = writetag('v', escapexml(vv)), o = {r:ref}; /* TODO: cell style */ var os = get_cell_style(opts.cellXfs, cell, opts); if(os !== 0) o.s = os; @@ -165,17 +165,14 @@ 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 rregex = /r=["']([^"']*)["']/, isregex = /([\S\s]*?)<\/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/*:any*/; + var ri = 0, x = "", cells = [], cref = [], idx = 0, i=0, cc=0, d="", p; var tag, tagr = 0, tagc = 0; - var sstr, ftag; + var sstr; 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; @@ -192,12 +189,12 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { /* 18.3.1.4 c CT_Cell */ cells = x.substr(ri).split(cellregex); - for(ri = 0; ri != cells.length; ++ri) { + for(ri = typeof tag.r === 'undefined' ? 0 : 1; ri != cells.length; ++ri) { x = cells[ri].trim(); if(x.length === 0) continue; cref = x.match(rregex); idx = ri; i=0; cc=0; x = "":"") + x; - if(cref != null && cref.length === 2) { + 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; @@ -210,31 +207,10 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { 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:""}/*:any*/); + p = {t:""}; - 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]; - } + if((cref=d.match(match_v))!== null && cref[1] !== '') p.v=unescapexml(cref[1]); + if(opts.cellFormula && (cref=d.match(match_f))!== null) p.f=unescapexml(cref[1]); /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -249,10 +225,6 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'n': p.v = parseFloat(p.v); break; case 's': sstr = strs[parseInt(p.v, 10)]; - if(typeof p.v == 'undefined') { - if(!opts.sheetStubs) continue; - p.t = "stub"; - } p.v = sstr.t; p.r = sstr.r; if(opts.cellHTML) p.h = sstr.h; @@ -265,11 +237,11 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'inlineStr': cref = d.match(isregex); p.t = 's'; - if(cref != null && (sstr = parse_si(cref[1]))) p.v = sstr.t; else p.v = ""; + if(cref !== null) { sstr = parse_si(cref[1]); p.v = sstr.t; } else p.v = ""; break; // inline string case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(!opts.cellDates) { p.v = datenum(new Date(p.v)); p.t = 'n'; } + if(!opts.cellDates) { p.v = datenum(p.v); p.t = 'n'; } break; /* error string in .v, number in .v */ case 'e': p.w = p.v; p.v = RBErr[p.v]; break; @@ -289,8 +261,8 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { } }; })(); -function write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ { - var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R=0, C=0; +function write_ws_xml_data(ws, opts, idx, wb) { + var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R, C; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -310,7 +282,7 @@ var WS_XML_ROOT = writextag('worksheet', null, { 'xmlns:r': XMLNS.r }); -function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ { +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]; diff --git a/bits/68_wsbin.js b/bits/68_wsbin.js index d99d765..fd5f1e0 100644 --- a/bits/68_wsbin.js +++ b/bits/68_wsbin.js @@ -1,50 +1,11 @@ /* [MS-XLSB] 2.4.718 BrtRowHdr */ function parse_BrtRowHdr(data, length) { - var z = ([]/*:any*/); + var z = []; z.r = data.read_shift(4); data.l += length-4; return z; } -function write_BrtRowHdr(R/*:number*/, range, ws) { - var o = new_buf(17+8*16); - o.write_shift(4, R); - - /* TODO: flags styles */ - o.write_shift(4, 0); - o.write_shift(2, 0x0140); - o.write_shift(2, 0); - o.write_shift(1, 0); - - /* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */ - 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.c < (i << 10)) continue; - var first = -1, last = -1; - for(var j = (i<<10); j < ((i+1)<<10); ++j) { - caddr.c = j; - if(ws[encode_cell(caddr)]) { if(first < 0) first = j; last = j; } - } - if(first < 0) continue; - ++ncolspan; - o.write_shift(4, first); - o.write_shift(4, last); - } - - var l = o.l; - o.l = lcs; - o.write_shift(4, ncolspan); - o.l = l; - - return o.length > o.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); -} /* [MS-XLSB] 2.4.812 BrtWsDim */ var parse_BrtWsDim = parse_UncheckedRfX; @@ -64,9 +25,9 @@ function parse_BrtCellBlank(data, length) { var cell = parse_XLSBCell(data); return [cell]; } -function write_BrtCellBlank(cell, ncell, o) { +function write_BrtCellBlank(cell, val, o) { if(o == null) o = new_buf(8); - return write_XLSBCell(ncell, o); + return write_XLSBCell(val, o); } @@ -76,18 +37,12 @@ function parse_BrtCellBool(data, length) { 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; -} /* [MS-XLSB] 2.4.305 BrtCellError */ function parse_BrtCellError(data, length) { var cell = parse_XLSBCell(data); - var bError = data.read_shift(1); - return [cell, bError, 'e']; + var fBool = data.read_shift(1); + return [cell, fBool, 'e']; } /* [MS-XLSB] 2.4.308 BrtCellIsst */ @@ -96,12 +51,6 @@ function parse_BrtCellIsst(data, length) { 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; -} /* [MS-XLSB] 2.4.310 BrtCellReal */ function parse_BrtCellReal(data, length) { @@ -109,12 +58,6 @@ function parse_BrtCellReal(data, length) { 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; -} /* [MS-XLSB] 2.4.311 BrtCellRk */ function parse_BrtCellRk(data, length) { @@ -122,13 +65,6 @@ function parse_BrtCellRk(data, length) { 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; -} - /* [MS-XLSB] 2.4.314 BrtCellSt */ function parse_BrtCellSt(data, length) { @@ -136,74 +72,56 @@ function parse_BrtCellSt(data, length) { 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; -} /* [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) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, length-9); + o[3] = ""; /* TODO */ } - else data.l = end; + else data.l += length-9; 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) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, length-9); + o[3] = ""; /* TODO */ } - else data.l = end; + else data.l += length-9; 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) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, length - 16); + o[3] = ""; /* TODO */ } - else data.l = end; + else data.l += length-16; return o; } /* [MS-XLSB] 2.4.650 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { - var end = data.l + length; + var start = data.l; 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/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, start + length - data.l); } - else data.l = end; + else data.l = start + length; return o; } @@ -222,68 +140,26 @@ 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]; o[2] = 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]; - 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, wb)/*:Worksheet*/ { +function parse_ws_bin(data, opts, rels) { if(!data) return data; if(!rels) rels = {'!id':{}}; var s = {}; var ref; - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess = {s: {r:1000000, c:1000000}, 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 = ([[]]/*: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) { + recordhopper(data, function ws_parse(val, R) { if(end) return; - switch(Record.n) { + switch(R.n) { case 'BrtWsDim': ref = val; break; case 'BrtRowHdr': row = val; if(opts.sheetRows && opts.sheetRows <= row.r) end=true; rr = encode_row(row.r); - opts['!row'] = row.r; break; case 'BrtFmlaBool': @@ -296,7 +172,7 @@ function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { case 'BrtCellReal': case 'BrtCellRk': case 'BrtCellSt': - p = ({t:val[2]}/*:any*/); + 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; @@ -304,19 +180,9 @@ function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { 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; @@ -324,7 +190,7 @@ function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { break; case 'BrtCellBlank': if(!opts.sheetStubs) break; - p = ({t:'s',v:undefined}/*:any*/); + p = {t:'s',v:undefined}; 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; @@ -351,17 +217,8 @@ function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { } break; - 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 'BrtArrFmla': break; // TODO + case 'BrtShrFmla': break; // TODO case 'BrtBeginSheet': break; case 'BrtWsProp': break; // TODO case 'BrtSheetCalcProp': break; // TODO @@ -469,14 +326,10 @@ function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { case 'BrtCellIgnoreEC': break; case 'BrtEndCellIgnoreECs': break; - default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); + default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.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(!s["!ref"] && (refguess.s.r < 1000000 || ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0)) s["!ref"] = encode_range(ref); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); if(opts.sheetRows < +tmpref.e.r) { @@ -494,7 +347,7 @@ function parse_ws_bin(data, opts, rels, wb)/*:Worksheet*/ { } /* TODO: something useful -- this is a stub */ -function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { +function write_ws_bin_cell(ba, cell, R, C, opts) { if(cell.v === undefined) return ""; var vv = ""; switch(cell.t) { @@ -502,30 +355,19 @@ function write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:num case 'n': case 'e': vv = ''+cell.v; break; default: vv = cell.v; break; } - var o/*:any*/ = ({r:R, c:C}/*:any*/); + var o = {r:R, c:C}; /* TODO: cell style */ - //o.s = get_cell_style(opts.cellXfs, cell, opts); + 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)); + o.t = "s"; break; } - return; - case 'n': - /* TODO: determine threshold for Real vs RK */ - if(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) 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': /* TODO: error */ o.t = "e"; break; + o.t = "str"; break; + case 'n': break; + case 'b': o.t = "b"; break; + case 'e': o.t = "e"; break; } write_record(ba, "BrtCellBlank", write_BrtCellBlank(cell, o)); } @@ -537,7 +379,6 @@ function write_CELLTABLE(ba, ws, idx, opts, wb) { rr = encode_row(R); /* [ACCELLTABLE] */ /* BrtRowHdr */ - write_row_header(ba, ws, range, R); for(var C = range.s.c; C <= range.e.c; ++C) { /* *16384CELL */ if(R === range.s.r) cols[C] = encode_col(C); diff --git a/bits/74_xmlbin.js b/bits/74_xmlbin.js deleted file mode 100644 index 5badbb0..0000000 --- a/bits/74_xmlbin.js +++ /dev/null @@ -1,58 +0,0 @@ -function parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ { - if(name.slice(-4)===".bin") return parse_wb_bin((data/*:any*/), opts); - return parse_wb_xml((data/*:any*/), opts); -} - -function parse_ws(data, name/*:string*/, opts, rels, wb)/*:Worksheet*/ { - if(name.slice(-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) { - if(name.slice(-4)===".bin") return parse_sty_bin((data/*:any*/), opts); - return parse_sty_xml((data/*:any*/), opts); -} - -function parse_theme(data/*:string*/, name/*:string*/, opts) { - return parse_theme_xml(data, opts); -} - -function parse_sst(data, name/*:string*/, opts)/*:SST*/ { - if(name.slice(-4)===".bin") return parse_sst_bin((data/*:any*/), opts); - return parse_sst_xml((data/*:any*/), opts); -} - -function parse_cmnt(data, name/*:string*/, opts) { - if(name.slice(-4)===".bin") return parse_comments_bin((data/*:any*/), opts); - return parse_comments_xml((data/*:any*/), opts); -} - -function parse_cc(data, name/*:string*/, opts) { - if(name.slice(-4)===".bin") return parse_cc_bin((data/*:any*/), opts); - return parse_cc_xml((data/*:any*/), opts); -} - -function write_wb(wb, name/*:string*/, opts) { - return (name.slice(-4)===".bin" ? write_wb_bin : write_wb_xml)(wb, opts); -} - -function write_ws(data/*:Worksheet*/, name/*:string*/, opts, wb/*:Workbook*/) { - return (name.slice(-4)===".bin" ? write_ws_bin : write_ws_xml)(data, opts, wb); -} - -function write_sty(data, name/*:string*/, opts) { - return (name.slice(-4)===".bin" ? write_sty_bin : write_sty_xml)(data, opts); -} - -function write_sst(data/*:SST*/, name/*:string*/, opts) { - return (name.slice(-4)===".bin" ? write_sst_bin : write_sst_xml)(data, opts); -} -/* -function write_cmnt(data, name:string, opts) { - return (name.slice(-4)===".bin" ? write_comments_bin : write_comments_xml)(data, opts); -} - -function write_cc(data, name:string, opts) { - return (name.slice(-4)===".bin" ? write_cc_bin : write_cc_xml)(data, opts); -} -*/ diff --git a/bits/71_wbcommon.js b/bits/76_wbcommon.js similarity index 89% rename from bits/71_wbcommon.js rename to bits/76_wbcommon.js index 2ffee7d..a70ddc0 100644 --- a/bits/71_wbcommon.js +++ b/bits/76_wbcommon.js @@ -98,10 +98,3 @@ function parse_wb_defaults(wb) { _ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904, 'date1904'); } - -/* TODO: validate workbook */ -function check_wb(wb) { - if(!wb || !wb.SheetNames || !wb.Sheets) throw new Error("Invalid Workbook"); - for(var i = 0; i < wb.SheetNames.length; ++i) for(var j = 0; j < i; ++j) - if(wb.SheetNames[i] == wb.SheetNames[j]) throw new Error("Duplicate Sheet Name: " + wb.SheetNames[i]); -} diff --git a/bits/77_parsetab.js b/bits/77_parsetab.js deleted file mode 100644 index 8bcd2c0..0000000 --- a/bits/77_parsetab.js +++ /dev/null @@ -1,1251 +0,0 @@ -/* [MS-XLSB] 2.3 Record Enumeration */ -var XLSBRecordEnum = { - /*::[*/0x0000/*::]*/: { n:"BrtRowHdr", f:parse_BrtRowHdr }, - /*::[*/0x0001/*::]*/: { n:"BrtCellBlank", f:parse_BrtCellBlank }, - /*::[*/0x0002/*::]*/: { n:"BrtCellRk", f:parse_BrtCellRk }, - /*::[*/0x0003/*::]*/: { n:"BrtCellError", f:parse_BrtCellError }, - /*::[*/0x0004/*::]*/: { n:"BrtCellBool", f:parse_BrtCellBool }, - /*::[*/0x0005/*::]*/: { n:"BrtCellReal", f:parse_BrtCellReal }, - /*::[*/0x0006/*::]*/: { n:"BrtCellSt", f:parse_BrtCellSt }, - /*::[*/0x0007/*::]*/: { n:"BrtCellIsst", f:parse_BrtCellIsst }, - /*::[*/0x0008/*::]*/: { n:"BrtFmlaString", f:parse_BrtFmlaString }, - /*::[*/0x0009/*::]*/: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, - /*::[*/0x000A/*::]*/: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, - /*::[*/0x000B/*::]*/: { n:"BrtFmlaError", f:parse_BrtFmlaError }, - /*::[*/0x0010/*::]*/: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, - /*::[*/0x0013/*::]*/: { n:"BrtSSTItem", f:parse_RichStr }, - /*::[*/0x0014/*::]*/: { n:"BrtPCDIMissing", f:parsenoop }, - /*::[*/0x0015/*::]*/: { n:"BrtPCDINumber", f:parsenoop }, - /*::[*/0x0016/*::]*/: { n:"BrtPCDIBoolean", f:parsenoop }, - /*::[*/0x0017/*::]*/: { n:"BrtPCDIError", f:parsenoop }, - /*::[*/0x0018/*::]*/: { n:"BrtPCDIString", f:parsenoop }, - /*::[*/0x0019/*::]*/: { n:"BrtPCDIDatetime", f:parsenoop }, - /*::[*/0x001A/*::]*/: { n:"BrtPCDIIndex", f:parsenoop }, - /*::[*/0x001B/*::]*/: { n:"BrtPCDIAMissing", f:parsenoop }, - /*::[*/0x001C/*::]*/: { n:"BrtPCDIANumber", f:parsenoop }, - /*::[*/0x001D/*::]*/: { n:"BrtPCDIABoolean", f:parsenoop }, - /*::[*/0x001E/*::]*/: { n:"BrtPCDIAError", f:parsenoop }, - /*::[*/0x001F/*::]*/: { n:"BrtPCDIAString", f:parsenoop }, - /*::[*/0x0020/*::]*/: { n:"BrtPCDIADatetime", f:parsenoop }, - /*::[*/0x0021/*::]*/: { n:"BrtPCRRecord", f:parsenoop }, - /*::[*/0x0022/*::]*/: { n:"BrtPCRRecordDt", f:parsenoop }, - /*::[*/0x0023/*::]*/: { n:"BrtFRTBegin", f:parsenoop }, - /*::[*/0x0024/*::]*/: { n:"BrtFRTEnd", f:parsenoop }, - /*::[*/0x0025/*::]*/: { n:"BrtACBegin", f:parsenoop }, - /*::[*/0x0026/*::]*/: { n:"BrtACEnd", f:parsenoop }, - /*::[*/0x0027/*::]*/: { n:"BrtName", f:parse_BrtName }, - /*::[*/0x0028/*::]*/: { n:"BrtIndexRowBlock", f:parsenoop }, - /*::[*/0x002A/*::]*/: { n:"BrtIndexBlock", f:parsenoop }, - /*::[*/0x002B/*::]*/: { n:"BrtFont", f:parse_BrtFont }, - /*::[*/0x002C/*::]*/: { n:"BrtFmt", f:parse_BrtFmt }, - /*::[*/0x002D/*::]*/: { n:"BrtFill", f:parsenoop }, - /*::[*/0x002E/*::]*/: { n:"BrtBorder", f:parsenoop }, - /*::[*/0x002F/*::]*/: { n:"BrtXF", f:parse_BrtXF }, - /*::[*/0x0030/*::]*/: { n:"BrtStyle", f:parsenoop }, - /*::[*/0x0031/*::]*/: { n:"BrtCellMeta", f:parsenoop }, - /*::[*/0x0032/*::]*/: { n:"BrtValueMeta", f:parsenoop }, - /*::[*/0x0033/*::]*/: { n:"BrtMdb", f:parsenoop }, - /*::[*/0x0034/*::]*/: { n:"BrtBeginFmd", f:parsenoop }, - /*::[*/0x0035/*::]*/: { n:"BrtEndFmd", f:parsenoop }, - /*::[*/0x0036/*::]*/: { n:"BrtBeginMdx", f:parsenoop }, - /*::[*/0x0037/*::]*/: { n:"BrtEndMdx", f:parsenoop }, - /*::[*/0x0038/*::]*/: { n:"BrtBeginMdxTuple", f:parsenoop }, - /*::[*/0x0039/*::]*/: { n:"BrtEndMdxTuple", f:parsenoop }, - /*::[*/0x003A/*::]*/: { n:"BrtMdxMbrIstr", f:parsenoop }, - /*::[*/0x003B/*::]*/: { n:"BrtStr", f:parsenoop }, - /*::[*/0x003C/*::]*/: { n:"BrtColInfo", f:parsenoop }, - /*::[*/0x003E/*::]*/: { n:"BrtCellRString", f:parsenoop }, - /*::[*/0x003F/*::]*/: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, - /*::[*/0x0040/*::]*/: { n:"BrtDVal", f:parsenoop }, - /*::[*/0x0041/*::]*/: { n:"BrtSxvcellNum", f:parsenoop }, - /*::[*/0x0042/*::]*/: { n:"BrtSxvcellStr", f:parsenoop }, - /*::[*/0x0043/*::]*/: { n:"BrtSxvcellBool", f:parsenoop }, - /*::[*/0x0044/*::]*/: { n:"BrtSxvcellErr", f:parsenoop }, - /*::[*/0x0045/*::]*/: { n:"BrtSxvcellDate", f:parsenoop }, - /*::[*/0x0046/*::]*/: { n:"BrtSxvcellNil", f:parsenoop }, - /*::[*/0x0080/*::]*/: { n:"BrtFileVersion", f:parsenoop }, - /*::[*/0x0081/*::]*/: { n:"BrtBeginSheet", f:parsenoop }, - /*::[*/0x0082/*::]*/: { n:"BrtEndSheet", f:parsenoop }, - /*::[*/0x0083/*::]*/: { n:"BrtBeginBook", f:parsenoop, p:0 }, - /*::[*/0x0084/*::]*/: { n:"BrtEndBook", f:parsenoop }, - /*::[*/0x0085/*::]*/: { n:"BrtBeginWsViews", f:parsenoop }, - /*::[*/0x0086/*::]*/: { n:"BrtEndWsViews", f:parsenoop }, - /*::[*/0x0087/*::]*/: { n:"BrtBeginBookViews", f:parsenoop }, - /*::[*/0x0088/*::]*/: { n:"BrtEndBookViews", f:parsenoop }, - /*::[*/0x0089/*::]*/: { n:"BrtBeginWsView", f:parsenoop }, - /*::[*/0x008A/*::]*/: { n:"BrtEndWsView", f:parsenoop }, - /*::[*/0x008B/*::]*/: { n:"BrtBeginCsViews", f:parsenoop }, - /*::[*/0x008C/*::]*/: { n:"BrtEndCsViews", f:parsenoop }, - /*::[*/0x008D/*::]*/: { n:"BrtBeginCsView", f:parsenoop }, - /*::[*/0x008E/*::]*/: { n:"BrtEndCsView", f:parsenoop }, - /*::[*/0x008F/*::]*/: { n:"BrtBeginBundleShs", f:parsenoop }, - /*::[*/0x0090/*::]*/: { n:"BrtEndBundleShs", f:parsenoop }, - /*::[*/0x0091/*::]*/: { n:"BrtBeginSheetData", f:parsenoop }, - /*::[*/0x0092/*::]*/: { n:"BrtEndSheetData", f:parsenoop }, - /*::[*/0x0093/*::]*/: { n:"BrtWsProp", f:parse_BrtWsProp }, - /*::[*/0x0094/*::]*/: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, - /*::[*/0x0097/*::]*/: { n:"BrtPane", f:parsenoop }, - /*::[*/0x0098/*::]*/: { n:"BrtSel", f:parsenoop }, - /*::[*/0x0099/*::]*/: { n:"BrtWbProp", f:parse_BrtWbProp }, - /*::[*/0x009A/*::]*/: { n:"BrtWbFactoid", f:parsenoop }, - /*::[*/0x009B/*::]*/: { n:"BrtFileRecover", f:parsenoop }, - /*::[*/0x009C/*::]*/: { n:"BrtBundleSh", f:parse_BrtBundleSh }, - /*::[*/0x009D/*::]*/: { n:"BrtCalcProp", f:parsenoop }, - /*::[*/0x009E/*::]*/: { n:"BrtBookView", f:parsenoop }, - /*::[*/0x009F/*::]*/: { n:"BrtBeginSst", f:parse_BrtBeginSst }, - /*::[*/0x00A0/*::]*/: { n:"BrtEndSst", f:parsenoop }, - /*::[*/0x00A1/*::]*/: { n:"BrtBeginAFilter", f:parsenoop }, - /*::[*/0x00A2/*::]*/: { n:"BrtEndAFilter", f:parsenoop }, - /*::[*/0x00A3/*::]*/: { n:"BrtBeginFilterColumn", f:parsenoop }, - /*::[*/0x00A4/*::]*/: { n:"BrtEndFilterColumn", f:parsenoop }, - /*::[*/0x00A5/*::]*/: { n:"BrtBeginFilters", f:parsenoop }, - /*::[*/0x00A6/*::]*/: { n:"BrtEndFilters", f:parsenoop }, - /*::[*/0x00A7/*::]*/: { n:"BrtFilter", f:parsenoop }, - /*::[*/0x00A8/*::]*/: { n:"BrtColorFilter", f:parsenoop }, - /*::[*/0x00A9/*::]*/: { n:"BrtIconFilter", f:parsenoop }, - /*::[*/0x00AA/*::]*/: { n:"BrtTop10Filter", f:parsenoop }, - /*::[*/0x00AB/*::]*/: { n:"BrtDynamicFilter", f:parsenoop }, - /*::[*/0x00AC/*::]*/: { n:"BrtBeginCustomFilters", f:parsenoop }, - /*::[*/0x00AD/*::]*/: { n:"BrtEndCustomFilters", f:parsenoop }, - /*::[*/0x00AE/*::]*/: { n:"BrtCustomFilter", f:parsenoop }, - /*::[*/0x00AF/*::]*/: { n:"BrtAFilterDateGroupItem", f:parsenoop }, - /*::[*/0x00B0/*::]*/: { n:"BrtMergeCell", f:parse_BrtMergeCell }, - /*::[*/0x00B1/*::]*/: { n:"BrtBeginMergeCells", f:parsenoop }, - /*::[*/0x00B2/*::]*/: { n:"BrtEndMergeCells", f:parsenoop }, - /*::[*/0x00B3/*::]*/: { n:"BrtBeginPivotCacheDef", f:parsenoop }, - /*::[*/0x00B4/*::]*/: { n:"BrtEndPivotCacheDef", f:parsenoop }, - /*::[*/0x00B5/*::]*/: { n:"BrtBeginPCDFields", f:parsenoop }, - /*::[*/0x00B6/*::]*/: { n:"BrtEndPCDFields", f:parsenoop }, - /*::[*/0x00B7/*::]*/: { n:"BrtBeginPCDField", f:parsenoop }, - /*::[*/0x00B8/*::]*/: { n:"BrtEndPCDField", f:parsenoop }, - /*::[*/0x00B9/*::]*/: { n:"BrtBeginPCDSource", f:parsenoop }, - /*::[*/0x00BA/*::]*/: { n:"BrtEndPCDSource", f:parsenoop }, - /*::[*/0x00BB/*::]*/: { n:"BrtBeginPCDSRange", f:parsenoop }, - /*::[*/0x00BC/*::]*/: { n:"BrtEndPCDSRange", f:parsenoop }, - /*::[*/0x00BD/*::]*/: { n:"BrtBeginPCDFAtbl", f:parsenoop }, - /*::[*/0x00BE/*::]*/: { n:"BrtEndPCDFAtbl", f:parsenoop }, - /*::[*/0x00BF/*::]*/: { n:"BrtBeginPCDIRun", f:parsenoop }, - /*::[*/0x00C0/*::]*/: { n:"BrtEndPCDIRun", f:parsenoop }, - /*::[*/0x00C1/*::]*/: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, - /*::[*/0x00C2/*::]*/: { n:"BrtEndPivotCacheRecords", f:parsenoop }, - /*::[*/0x00C3/*::]*/: { n:"BrtBeginPCDHierarchies", f:parsenoop }, - /*::[*/0x00C4/*::]*/: { n:"BrtEndPCDHierarchies", f:parsenoop }, - /*::[*/0x00C5/*::]*/: { n:"BrtBeginPCDHierarchy", f:parsenoop }, - /*::[*/0x00C6/*::]*/: { n:"BrtEndPCDHierarchy", f:parsenoop }, - /*::[*/0x00C7/*::]*/: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, - /*::[*/0x00C8/*::]*/: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, - /*::[*/0x00C9/*::]*/: { n:"BrtBeginExtConnection", f:parsenoop }, - /*::[*/0x00CA/*::]*/: { n:"BrtEndExtConnection", f:parsenoop }, - /*::[*/0x00CB/*::]*/: { n:"BrtBeginECDbProps", f:parsenoop }, - /*::[*/0x00CC/*::]*/: { n:"BrtEndECDbProps", f:parsenoop }, - /*::[*/0x00CD/*::]*/: { n:"BrtBeginECOlapProps", f:parsenoop }, - /*::[*/0x00CE/*::]*/: { n:"BrtEndECOlapProps", f:parsenoop }, - /*::[*/0x00CF/*::]*/: { n:"BrtBeginPCDSConsol", f:parsenoop }, - /*::[*/0x00D0/*::]*/: { n:"BrtEndPCDSConsol", f:parsenoop }, - /*::[*/0x00D1/*::]*/: { n:"BrtBeginPCDSCPages", f:parsenoop }, - /*::[*/0x00D2/*::]*/: { n:"BrtEndPCDSCPages", f:parsenoop }, - /*::[*/0x00D3/*::]*/: { n:"BrtBeginPCDSCPage", f:parsenoop }, - /*::[*/0x00D4/*::]*/: { n:"BrtEndPCDSCPage", f:parsenoop }, - /*::[*/0x00D5/*::]*/: { n:"BrtBeginPCDSCPItem", f:parsenoop }, - /*::[*/0x00D6/*::]*/: { n:"BrtEndPCDSCPItem", f:parsenoop }, - /*::[*/0x00D7/*::]*/: { n:"BrtBeginPCDSCSets", f:parsenoop }, - /*::[*/0x00D8/*::]*/: { n:"BrtEndPCDSCSets", f:parsenoop }, - /*::[*/0x00D9/*::]*/: { n:"BrtBeginPCDSCSet", f:parsenoop }, - /*::[*/0x00DA/*::]*/: { n:"BrtEndPCDSCSet", f:parsenoop }, - /*::[*/0x00DB/*::]*/: { n:"BrtBeginPCDFGroup", f:parsenoop }, - /*::[*/0x00DC/*::]*/: { n:"BrtEndPCDFGroup", f:parsenoop }, - /*::[*/0x00DD/*::]*/: { n:"BrtBeginPCDFGItems", f:parsenoop }, - /*::[*/0x00DE/*::]*/: { n:"BrtEndPCDFGItems", f:parsenoop }, - /*::[*/0x00DF/*::]*/: { n:"BrtBeginPCDFGRange", f:parsenoop }, - /*::[*/0x00E0/*::]*/: { n:"BrtEndPCDFGRange", f:parsenoop }, - /*::[*/0x00E1/*::]*/: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, - /*::[*/0x00E2/*::]*/: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, - /*::[*/0x00E3/*::]*/: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, - /*::[*/0x00E4/*::]*/: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, - /*::[*/0x00E5/*::]*/: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, - /*::[*/0x00E6/*::]*/: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, - /*::[*/0x00E7/*::]*/: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, - /*::[*/0x00E8/*::]*/: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, - /*::[*/0x00E9/*::]*/: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, - /*::[*/0x00EA/*::]*/: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, - /*::[*/0x00EB/*::]*/: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, - /*::[*/0x00EC/*::]*/: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, - /*::[*/0x00ED/*::]*/: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, - /*::[*/0x00EE/*::]*/: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, - /*::[*/0x00EF/*::]*/: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, - /*::[*/0x00F0/*::]*/: { n:"BrtEndPCDSDTCSets", f:parsenoop }, - /*::[*/0x00F1/*::]*/: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, - /*::[*/0x00F2/*::]*/: { n:"BrtEndPCDSDTCSet", f:parsenoop }, - /*::[*/0x00F3/*::]*/: { n:"BrtBeginPCDCalcItems", f:parsenoop }, - /*::[*/0x00F4/*::]*/: { n:"BrtEndPCDCalcItems", f:parsenoop }, - /*::[*/0x00F5/*::]*/: { n:"BrtBeginPCDCalcItem", f:parsenoop }, - /*::[*/0x00F6/*::]*/: { n:"BrtEndPCDCalcItem", f:parsenoop }, - /*::[*/0x00F7/*::]*/: { n:"BrtBeginPRule", f:parsenoop }, - /*::[*/0x00F8/*::]*/: { n:"BrtEndPRule", f:parsenoop }, - /*::[*/0x00F9/*::]*/: { n:"BrtBeginPRFilters", f:parsenoop }, - /*::[*/0x00FA/*::]*/: { n:"BrtEndPRFilters", f:parsenoop }, - /*::[*/0x00FB/*::]*/: { n:"BrtBeginPRFilter", f:parsenoop }, - /*::[*/0x00FC/*::]*/: { n:"BrtEndPRFilter", f:parsenoop }, - /*::[*/0x00FD/*::]*/: { n:"BrtBeginPNames", f:parsenoop }, - /*::[*/0x00FE/*::]*/: { n:"BrtEndPNames", f:parsenoop }, - /*::[*/0x00FF/*::]*/: { n:"BrtBeginPName", f:parsenoop }, - /*::[*/0x0100/*::]*/: { n:"BrtEndPName", f:parsenoop }, - /*::[*/0x0101/*::]*/: { n:"BrtBeginPNPairs", f:parsenoop }, - /*::[*/0x0102/*::]*/: { n:"BrtEndPNPairs", f:parsenoop }, - /*::[*/0x0103/*::]*/: { n:"BrtBeginPNPair", f:parsenoop }, - /*::[*/0x0104/*::]*/: { n:"BrtEndPNPair", f:parsenoop }, - /*::[*/0x0105/*::]*/: { n:"BrtBeginECWebProps", f:parsenoop }, - /*::[*/0x0106/*::]*/: { n:"BrtEndECWebProps", f:parsenoop }, - /*::[*/0x0107/*::]*/: { n:"BrtBeginEcWpTables", f:parsenoop }, - /*::[*/0x0108/*::]*/: { n:"BrtEndECWPTables", f:parsenoop }, - /*::[*/0x0109/*::]*/: { n:"BrtBeginECParams", f:parsenoop }, - /*::[*/0x010A/*::]*/: { n:"BrtEndECParams", f:parsenoop }, - /*::[*/0x010B/*::]*/: { n:"BrtBeginECParam", f:parsenoop }, - /*::[*/0x010C/*::]*/: { n:"BrtEndECParam", f:parsenoop }, - /*::[*/0x010D/*::]*/: { n:"BrtBeginPCDKPIs", f:parsenoop }, - /*::[*/0x010E/*::]*/: { n:"BrtEndPCDKPIs", f:parsenoop }, - /*::[*/0x010F/*::]*/: { n:"BrtBeginPCDKPI", f:parsenoop }, - /*::[*/0x0110/*::]*/: { n:"BrtEndPCDKPI", f:parsenoop }, - /*::[*/0x0111/*::]*/: { n:"BrtBeginDims", f:parsenoop }, - /*::[*/0x0112/*::]*/: { n:"BrtEndDims", f:parsenoop }, - /*::[*/0x0113/*::]*/: { n:"BrtBeginDim", f:parsenoop }, - /*::[*/0x0114/*::]*/: { n:"BrtEndDim", f:parsenoop }, - /*::[*/0x0115/*::]*/: { n:"BrtIndexPartEnd", f:parsenoop }, - /*::[*/0x0116/*::]*/: { n:"BrtBeginStyleSheet", f:parsenoop }, - /*::[*/0x0117/*::]*/: { n:"BrtEndStyleSheet", f:parsenoop }, - /*::[*/0x0118/*::]*/: { n:"BrtBeginSXView", f:parsenoop }, - /*::[*/0x0119/*::]*/: { n:"BrtEndSXVI", f:parsenoop }, - /*::[*/0x011A/*::]*/: { n:"BrtBeginSXVI", f:parsenoop }, - /*::[*/0x011B/*::]*/: { n:"BrtBeginSXVIs", f:parsenoop }, - /*::[*/0x011C/*::]*/: { n:"BrtEndSXVIs", f:parsenoop }, - /*::[*/0x011D/*::]*/: { n:"BrtBeginSXVD", f:parsenoop }, - /*::[*/0x011E/*::]*/: { n:"BrtEndSXVD", f:parsenoop }, - /*::[*/0x011F/*::]*/: { n:"BrtBeginSXVDs", f:parsenoop }, - /*::[*/0x0120/*::]*/: { n:"BrtEndSXVDs", f:parsenoop }, - /*::[*/0x0121/*::]*/: { n:"BrtBeginSXPI", f:parsenoop }, - /*::[*/0x0122/*::]*/: { n:"BrtEndSXPI", f:parsenoop }, - /*::[*/0x0123/*::]*/: { n:"BrtBeginSXPIs", f:parsenoop }, - /*::[*/0x0124/*::]*/: { n:"BrtEndSXPIs", f:parsenoop }, - /*::[*/0x0125/*::]*/: { n:"BrtBeginSXDI", f:parsenoop }, - /*::[*/0x0126/*::]*/: { n:"BrtEndSXDI", f:parsenoop }, - /*::[*/0x0127/*::]*/: { n:"BrtBeginSXDIs", f:parsenoop }, - /*::[*/0x0128/*::]*/: { n:"BrtEndSXDIs", f:parsenoop }, - /*::[*/0x0129/*::]*/: { n:"BrtBeginSXLI", f:parsenoop }, - /*::[*/0x012A/*::]*/: { n:"BrtEndSXLI", f:parsenoop }, - /*::[*/0x012B/*::]*/: { n:"BrtBeginSXLIRws", f:parsenoop }, - /*::[*/0x012C/*::]*/: { n:"BrtEndSXLIRws", f:parsenoop }, - /*::[*/0x012D/*::]*/: { n:"BrtBeginSXLICols", f:parsenoop }, - /*::[*/0x012E/*::]*/: { n:"BrtEndSXLICols", f:parsenoop }, - /*::[*/0x012F/*::]*/: { n:"BrtBeginSXFormat", f:parsenoop }, - /*::[*/0x0130/*::]*/: { n:"BrtEndSXFormat", f:parsenoop }, - /*::[*/0x0131/*::]*/: { n:"BrtBeginSXFormats", f:parsenoop }, - /*::[*/0x0132/*::]*/: { n:"BrtEndSxFormats", f:parsenoop }, - /*::[*/0x0133/*::]*/: { n:"BrtBeginSxSelect", f:parsenoop }, - /*::[*/0x0134/*::]*/: { n:"BrtEndSxSelect", f:parsenoop }, - /*::[*/0x0135/*::]*/: { n:"BrtBeginISXVDRws", f:parsenoop }, - /*::[*/0x0136/*::]*/: { n:"BrtEndISXVDRws", f:parsenoop }, - /*::[*/0x0137/*::]*/: { n:"BrtBeginISXVDCols", f:parsenoop }, - /*::[*/0x0138/*::]*/: { n:"BrtEndISXVDCols", f:parsenoop }, - /*::[*/0x0139/*::]*/: { n:"BrtEndSXLocation", f:parsenoop }, - /*::[*/0x013A/*::]*/: { n:"BrtBeginSXLocation", f:parsenoop }, - /*::[*/0x013B/*::]*/: { n:"BrtEndSXView", f:parsenoop }, - /*::[*/0x013C/*::]*/: { n:"BrtBeginSXTHs", f:parsenoop }, - /*::[*/0x013D/*::]*/: { n:"BrtEndSXTHs", f:parsenoop }, - /*::[*/0x013E/*::]*/: { n:"BrtBeginSXTH", f:parsenoop }, - /*::[*/0x013F/*::]*/: { n:"BrtEndSXTH", f:parsenoop }, - /*::[*/0x0140/*::]*/: { n:"BrtBeginISXTHRws", f:parsenoop }, - /*::[*/0x0141/*::]*/: { n:"BrtEndISXTHRws", f:parsenoop }, - /*::[*/0x0142/*::]*/: { n:"BrtBeginISXTHCols", f:parsenoop }, - /*::[*/0x0143/*::]*/: { n:"BrtEndISXTHCols", f:parsenoop }, - /*::[*/0x0144/*::]*/: { n:"BrtBeginSXTDMPS", f:parsenoop }, - /*::[*/0x0145/*::]*/: { n:"BrtEndSXTDMPs", f:parsenoop }, - /*::[*/0x0146/*::]*/: { n:"BrtBeginSXTDMP", f:parsenoop }, - /*::[*/0x0147/*::]*/: { n:"BrtEndSXTDMP", f:parsenoop }, - /*::[*/0x0148/*::]*/: { n:"BrtBeginSXTHItems", f:parsenoop }, - /*::[*/0x0149/*::]*/: { n:"BrtEndSXTHItems", f:parsenoop }, - /*::[*/0x014A/*::]*/: { n:"BrtBeginSXTHItem", f:parsenoop }, - /*::[*/0x014B/*::]*/: { n:"BrtEndSXTHItem", f:parsenoop }, - /*::[*/0x014C/*::]*/: { n:"BrtBeginMetadata", f:parsenoop }, - /*::[*/0x014D/*::]*/: { n:"BrtEndMetadata", f:parsenoop }, - /*::[*/0x014E/*::]*/: { n:"BrtBeginEsmdtinfo", f:parsenoop }, - /*::[*/0x014F/*::]*/: { n:"BrtMdtinfo", f:parsenoop }, - /*::[*/0x0150/*::]*/: { n:"BrtEndEsmdtinfo", f:parsenoop }, - /*::[*/0x0151/*::]*/: { n:"BrtBeginEsmdb", f:parsenoop }, - /*::[*/0x0152/*::]*/: { n:"BrtEndEsmdb", f:parsenoop }, - /*::[*/0x0153/*::]*/: { n:"BrtBeginEsfmd", f:parsenoop }, - /*::[*/0x0154/*::]*/: { n:"BrtEndEsfmd", f:parsenoop }, - /*::[*/0x0155/*::]*/: { n:"BrtBeginSingleCells", f:parsenoop }, - /*::[*/0x0156/*::]*/: { n:"BrtEndSingleCells", f:parsenoop }, - /*::[*/0x0157/*::]*/: { n:"BrtBeginList", f:parsenoop }, - /*::[*/0x0158/*::]*/: { n:"BrtEndList", f:parsenoop }, - /*::[*/0x0159/*::]*/: { n:"BrtBeginListCols", f:parsenoop }, - /*::[*/0x015A/*::]*/: { n:"BrtEndListCols", f:parsenoop }, - /*::[*/0x015B/*::]*/: { n:"BrtBeginListCol", f:parsenoop }, - /*::[*/0x015C/*::]*/: { n:"BrtEndListCol", f:parsenoop }, - /*::[*/0x015D/*::]*/: { n:"BrtBeginListXmlCPr", f:parsenoop }, - /*::[*/0x015E/*::]*/: { n:"BrtEndListXmlCPr", f:parsenoop }, - /*::[*/0x015F/*::]*/: { n:"BrtListCCFmla", f:parsenoop }, - /*::[*/0x0160/*::]*/: { n:"BrtListTrFmla", f:parsenoop }, - /*::[*/0x0161/*::]*/: { n:"BrtBeginExternals", f:parsenoop }, - /*::[*/0x0162/*::]*/: { n:"BrtEndExternals", f:parsenoop }, - /*::[*/0x0163/*::]*/: { n:"BrtSupBookSrc", f:parsenoop }, - /*::[*/0x0165/*::]*/: { n:"BrtSupSelf", f:parsenoop }, - /*::[*/0x0166/*::]*/: { n:"BrtSupSame", f:parsenoop }, - /*::[*/0x0167/*::]*/: { n:"BrtSupTabs", f:parsenoop }, - /*::[*/0x0168/*::]*/: { n:"BrtBeginSupBook", f:parsenoop }, - /*::[*/0x0169/*::]*/: { n:"BrtPlaceholderName", f:parsenoop }, - /*::[*/0x016A/*::]*/: { n:"BrtExternSheet", f:parsenoop }, - /*::[*/0x016B/*::]*/: { n:"BrtExternTableStart", f:parsenoop }, - /*::[*/0x016C/*::]*/: { n:"BrtExternTableEnd", f:parsenoop }, - /*::[*/0x016E/*::]*/: { n:"BrtExternRowHdr", f:parsenoop }, - /*::[*/0x016F/*::]*/: { n:"BrtExternCellBlank", f:parsenoop }, - /*::[*/0x0170/*::]*/: { n:"BrtExternCellReal", f:parsenoop }, - /*::[*/0x0171/*::]*/: { n:"BrtExternCellBool", f:parsenoop }, - /*::[*/0x0172/*::]*/: { n:"BrtExternCellError", f:parsenoop }, - /*::[*/0x0173/*::]*/: { n:"BrtExternCellString", f:parsenoop }, - /*::[*/0x0174/*::]*/: { n:"BrtBeginEsmdx", f:parsenoop }, - /*::[*/0x0175/*::]*/: { n:"BrtEndEsmdx", f:parsenoop }, - /*::[*/0x0176/*::]*/: { n:"BrtBeginMdxSet", f:parsenoop }, - /*::[*/0x0177/*::]*/: { n:"BrtEndMdxSet", f:parsenoop }, - /*::[*/0x0178/*::]*/: { n:"BrtBeginMdxMbrProp", f:parsenoop }, - /*::[*/0x0179/*::]*/: { n:"BrtEndMdxMbrProp", f:parsenoop }, - /*::[*/0x017A/*::]*/: { n:"BrtBeginMdxKPI", f:parsenoop }, - /*::[*/0x017B/*::]*/: { n:"BrtEndMdxKPI", f:parsenoop }, - /*::[*/0x017C/*::]*/: { n:"BrtBeginEsstr", f:parsenoop }, - /*::[*/0x017D/*::]*/: { n:"BrtEndEsstr", f:parsenoop }, - /*::[*/0x017E/*::]*/: { n:"BrtBeginPRFItem", f:parsenoop }, - /*::[*/0x017F/*::]*/: { n:"BrtEndPRFItem", f:parsenoop }, - /*::[*/0x0180/*::]*/: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, - /*::[*/0x0181/*::]*/: { n:"BrtEndPivotCacheIDs", f:parsenoop }, - /*::[*/0x0182/*::]*/: { n:"BrtBeginPivotCacheID", f:parsenoop }, - /*::[*/0x0183/*::]*/: { n:"BrtEndPivotCacheID", f:parsenoop }, - /*::[*/0x0184/*::]*/: { n:"BrtBeginISXVIs", f:parsenoop }, - /*::[*/0x0185/*::]*/: { n:"BrtEndISXVIs", f:parsenoop }, - /*::[*/0x0186/*::]*/: { n:"BrtBeginColInfos", f:parsenoop }, - /*::[*/0x0187/*::]*/: { n:"BrtEndColInfos", f:parsenoop }, - /*::[*/0x0188/*::]*/: { n:"BrtBeginRwBrk", f:parsenoop }, - /*::[*/0x0189/*::]*/: { n:"BrtEndRwBrk", f:parsenoop }, - /*::[*/0x018A/*::]*/: { n:"BrtBeginColBrk", f:parsenoop }, - /*::[*/0x018B/*::]*/: { n:"BrtEndColBrk", f:parsenoop }, - /*::[*/0x018C/*::]*/: { n:"BrtBrk", f:parsenoop }, - /*::[*/0x018D/*::]*/: { n:"BrtUserBookView", f:parsenoop }, - /*::[*/0x018E/*::]*/: { n:"BrtInfo", f:parsenoop }, - /*::[*/0x018F/*::]*/: { n:"BrtCUsr", f:parsenoop }, - /*::[*/0x0190/*::]*/: { n:"BrtUsr", f:parsenoop }, - /*::[*/0x0191/*::]*/: { n:"BrtBeginUsers", f:parsenoop }, - /*::[*/0x0193/*::]*/: { n:"BrtEOF", f:parsenoop }, - /*::[*/0x0194/*::]*/: { n:"BrtUCR", f:parsenoop }, - /*::[*/0x0195/*::]*/: { n:"BrtRRInsDel", f:parsenoop }, - /*::[*/0x0196/*::]*/: { n:"BrtRREndInsDel", f:parsenoop }, - /*::[*/0x0197/*::]*/: { n:"BrtRRMove", f:parsenoop }, - /*::[*/0x0198/*::]*/: { n:"BrtRREndMove", f:parsenoop }, - /*::[*/0x0199/*::]*/: { n:"BrtRRChgCell", f:parsenoop }, - /*::[*/0x019A/*::]*/: { n:"BrtRREndChgCell", f:parsenoop }, - /*::[*/0x019B/*::]*/: { n:"BrtRRHeader", f:parsenoop }, - /*::[*/0x019C/*::]*/: { n:"BrtRRUserView", f:parsenoop }, - /*::[*/0x019D/*::]*/: { n:"BrtRRRenSheet", f:parsenoop }, - /*::[*/0x019E/*::]*/: { n:"BrtRRInsertSh", f:parsenoop }, - /*::[*/0x019F/*::]*/: { n:"BrtRRDefName", f:parsenoop }, - /*::[*/0x01A0/*::]*/: { n:"BrtRRNote", f:parsenoop }, - /*::[*/0x01A1/*::]*/: { n:"BrtRRConflict", f:parsenoop }, - /*::[*/0x01A2/*::]*/: { n:"BrtRRTQSIF", f:parsenoop }, - /*::[*/0x01A3/*::]*/: { n:"BrtRRFormat", f:parsenoop }, - /*::[*/0x01A4/*::]*/: { n:"BrtRREndFormat", f:parsenoop }, - /*::[*/0x01A5/*::]*/: { n:"BrtRRAutoFmt", f:parsenoop }, - /*::[*/0x01A6/*::]*/: { n:"BrtBeginUserShViews", f:parsenoop }, - /*::[*/0x01A7/*::]*/: { n:"BrtBeginUserShView", f:parsenoop }, - /*::[*/0x01A8/*::]*/: { n:"BrtEndUserShView", f:parsenoop }, - /*::[*/0x01A9/*::]*/: { n:"BrtEndUserShViews", 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 }, - /*::[*/0x01AF/*::]*/: { n:"BrtBeginPCDCalcMems", f:parsenoop }, - /*::[*/0x01B0/*::]*/: { n:"BrtEndPCDCalcMems", f:parsenoop }, - /*::[*/0x01B1/*::]*/: { n:"BrtBeginPCDCalcMem", f:parsenoop }, - /*::[*/0x01B2/*::]*/: { n:"BrtEndPCDCalcMem", f:parsenoop }, - /*::[*/0x01B3/*::]*/: { n:"BrtBeginPCDHGLevels", f:parsenoop }, - /*::[*/0x01B4/*::]*/: { n:"BrtEndPCDHGLevels", f:parsenoop }, - /*::[*/0x01B5/*::]*/: { n:"BrtBeginPCDHGLevel", f:parsenoop }, - /*::[*/0x01B6/*::]*/: { n:"BrtEndPCDHGLevel", f:parsenoop }, - /*::[*/0x01B7/*::]*/: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, - /*::[*/0x01B8/*::]*/: { n:"BrtEndPCDHGLGroups", f:parsenoop }, - /*::[*/0x01B9/*::]*/: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, - /*::[*/0x01BA/*::]*/: { n:"BrtEndPCDHGLGroup", f:parsenoop }, - /*::[*/0x01BB/*::]*/: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, - /*::[*/0x01BC/*::]*/: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, - /*::[*/0x01BD/*::]*/: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, - /*::[*/0x01BE/*::]*/: { n:"BrtEndPCDHGLGMember", f:parsenoop }, - /*::[*/0x01BF/*::]*/: { n:"BrtBeginQSI", f:parsenoop }, - /*::[*/0x01C0/*::]*/: { n:"BrtEndQSI", f:parsenoop }, - /*::[*/0x01C1/*::]*/: { n:"BrtBeginQSIR", f:parsenoop }, - /*::[*/0x01C2/*::]*/: { n:"BrtEndQSIR", f:parsenoop }, - /*::[*/0x01C3/*::]*/: { n:"BrtBeginDeletedNames", f:parsenoop }, - /*::[*/0x01C4/*::]*/: { n:"BrtEndDeletedNames", f:parsenoop }, - /*::[*/0x01C5/*::]*/: { n:"BrtBeginDeletedName", f:parsenoop }, - /*::[*/0x01C6/*::]*/: { n:"BrtEndDeletedName", f:parsenoop }, - /*::[*/0x01C7/*::]*/: { n:"BrtBeginQSIFs", f:parsenoop }, - /*::[*/0x01C8/*::]*/: { n:"BrtEndQSIFs", f:parsenoop }, - /*::[*/0x01C9/*::]*/: { n:"BrtBeginQSIF", f:parsenoop }, - /*::[*/0x01CA/*::]*/: { n:"BrtEndQSIF", f:parsenoop }, - /*::[*/0x01CB/*::]*/: { n:"BrtBeginAutoSortScope", f:parsenoop }, - /*::[*/0x01CC/*::]*/: { n:"BrtEndAutoSortScope", f:parsenoop }, - /*::[*/0x01CD/*::]*/: { n:"BrtBeginConditionalFormatting", f:parsenoop }, - /*::[*/0x01CE/*::]*/: { n:"BrtEndConditionalFormatting", f:parsenoop }, - /*::[*/0x01CF/*::]*/: { n:"BrtBeginCFRule", f:parsenoop }, - /*::[*/0x01D0/*::]*/: { n:"BrtEndCFRule", f:parsenoop }, - /*::[*/0x01D1/*::]*/: { n:"BrtBeginIconSet", f:parsenoop }, - /*::[*/0x01D2/*::]*/: { n:"BrtEndIconSet", f:parsenoop }, - /*::[*/0x01D3/*::]*/: { n:"BrtBeginDatabar", f:parsenoop }, - /*::[*/0x01D4/*::]*/: { n:"BrtEndDatabar", f:parsenoop }, - /*::[*/0x01D5/*::]*/: { n:"BrtBeginColorScale", f:parsenoop }, - /*::[*/0x01D6/*::]*/: { n:"BrtEndColorScale", f:parsenoop }, - /*::[*/0x01D7/*::]*/: { n:"BrtCFVO", f:parsenoop }, - /*::[*/0x01D8/*::]*/: { n:"BrtExternValueMeta", f:parsenoop }, - /*::[*/0x01D9/*::]*/: { n:"BrtBeginColorPalette", f:parsenoop }, - /*::[*/0x01DA/*::]*/: { n:"BrtEndColorPalette", f:parsenoop }, - /*::[*/0x01DB/*::]*/: { n:"BrtIndexedColor", f:parsenoop }, - /*::[*/0x01DC/*::]*/: { n:"BrtMargins", f:parsenoop }, - /*::[*/0x01DD/*::]*/: { n:"BrtPrintOptions", f:parsenoop }, - /*::[*/0x01DE/*::]*/: { n:"BrtPageSetup", f:parsenoop }, - /*::[*/0x01DF/*::]*/: { n:"BrtBeginHeaderFooter", f:parsenoop }, - /*::[*/0x01E0/*::]*/: { n:"BrtEndHeaderFooter", f:parsenoop }, - /*::[*/0x01E1/*::]*/: { n:"BrtBeginSXCrtFormat", f:parsenoop }, - /*::[*/0x01E2/*::]*/: { n:"BrtEndSXCrtFormat", f:parsenoop }, - /*::[*/0x01E3/*::]*/: { n:"BrtBeginSXCrtFormats", f:parsenoop }, - /*::[*/0x01E4/*::]*/: { n:"BrtEndSXCrtFormats", f:parsenoop }, - /*::[*/0x01E5/*::]*/: { n:"BrtWsFmtInfo", f:parsenoop }, - /*::[*/0x01E6/*::]*/: { n:"BrtBeginMgs", f:parsenoop }, - /*::[*/0x01E7/*::]*/: { n:"BrtEndMGs", f:parsenoop }, - /*::[*/0x01E8/*::]*/: { n:"BrtBeginMGMaps", f:parsenoop }, - /*::[*/0x01E9/*::]*/: { n:"BrtEndMGMaps", f:parsenoop }, - /*::[*/0x01EA/*::]*/: { n:"BrtBeginMG", f:parsenoop }, - /*::[*/0x01EB/*::]*/: { n:"BrtEndMG", f:parsenoop }, - /*::[*/0x01EC/*::]*/: { n:"BrtBeginMap", f:parsenoop }, - /*::[*/0x01ED/*::]*/: { n:"BrtEndMap", f:parsenoop }, - /*::[*/0x01EE/*::]*/: { n:"BrtHLink", f:parse_BrtHLink }, - /*::[*/0x01EF/*::]*/: { n:"BrtBeginDCon", f:parsenoop }, - /*::[*/0x01F0/*::]*/: { n:"BrtEndDCon", f:parsenoop }, - /*::[*/0x01F1/*::]*/: { n:"BrtBeginDRefs", f:parsenoop }, - /*::[*/0x01F2/*::]*/: { n:"BrtEndDRefs", f:parsenoop }, - /*::[*/0x01F3/*::]*/: { n:"BrtDRef", f:parsenoop }, - /*::[*/0x01F4/*::]*/: { n:"BrtBeginScenMan", f:parsenoop }, - /*::[*/0x01F5/*::]*/: { n:"BrtEndScenMan", f:parsenoop }, - /*::[*/0x01F6/*::]*/: { n:"BrtBeginSct", f:parsenoop }, - /*::[*/0x01F7/*::]*/: { n:"BrtEndSct", f:parsenoop }, - /*::[*/0x01F8/*::]*/: { n:"BrtSlc", f:parsenoop }, - /*::[*/0x01F9/*::]*/: { n:"BrtBeginDXFs", f:parsenoop }, - /*::[*/0x01FA/*::]*/: { n:"BrtEndDXFs", f:parsenoop }, - /*::[*/0x01FB/*::]*/: { n:"BrtDXF", f:parsenoop }, - /*::[*/0x01FC/*::]*/: { n:"BrtBeginTableStyles", f:parsenoop }, - /*::[*/0x01FD/*::]*/: { n:"BrtEndTableStyles", f:parsenoop }, - /*::[*/0x01FE/*::]*/: { n:"BrtBeginTableStyle", f:parsenoop }, - /*::[*/0x01FF/*::]*/: { n:"BrtEndTableStyle", f:parsenoop }, - /*::[*/0x0200/*::]*/: { n:"BrtTableStyleElement", f:parsenoop }, - /*::[*/0x0201/*::]*/: { n:"BrtTableStyleClient", f:parsenoop }, - /*::[*/0x0202/*::]*/: { n:"BrtBeginVolDeps", f:parsenoop }, - /*::[*/0x0203/*::]*/: { n:"BrtEndVolDeps", f:parsenoop }, - /*::[*/0x0204/*::]*/: { n:"BrtBeginVolType", f:parsenoop }, - /*::[*/0x0205/*::]*/: { n:"BrtEndVolType", f:parsenoop }, - /*::[*/0x0206/*::]*/: { n:"BrtBeginVolMain", f:parsenoop }, - /*::[*/0x0207/*::]*/: { n:"BrtEndVolMain", f:parsenoop }, - /*::[*/0x0208/*::]*/: { n:"BrtBeginVolTopic", f:parsenoop }, - /*::[*/0x0209/*::]*/: { n:"BrtEndVolTopic", f:parsenoop }, - /*::[*/0x020A/*::]*/: { n:"BrtVolSubtopic", f:parsenoop }, - /*::[*/0x020B/*::]*/: { n:"BrtVolRef", f:parsenoop }, - /*::[*/0x020C/*::]*/: { n:"BrtVolNum", f:parsenoop }, - /*::[*/0x020D/*::]*/: { n:"BrtVolErr", f:parsenoop }, - /*::[*/0x020E/*::]*/: { n:"BrtVolStr", f:parsenoop }, - /*::[*/0x020F/*::]*/: { n:"BrtVolBool", f:parsenoop }, - /*::[*/0x0210/*::]*/: { n:"BrtBeginCalcChain$", f:parsenoop }, - /*::[*/0x0211/*::]*/: { n:"BrtEndCalcChain$", f:parsenoop }, - /*::[*/0x0212/*::]*/: { n:"BrtBeginSortState", f:parsenoop }, - /*::[*/0x0213/*::]*/: { n:"BrtEndSortState", f:parsenoop }, - /*::[*/0x0214/*::]*/: { n:"BrtBeginSortCond", f:parsenoop }, - /*::[*/0x0215/*::]*/: { n:"BrtEndSortCond", f:parsenoop }, - /*::[*/0x0216/*::]*/: { n:"BrtBookProtection", f:parsenoop }, - /*::[*/0x0217/*::]*/: { n:"BrtSheetProtection", f:parsenoop }, - /*::[*/0x0218/*::]*/: { n:"BrtRangeProtection", f:parsenoop }, - /*::[*/0x0219/*::]*/: { n:"BrtPhoneticInfo", f:parsenoop }, - /*::[*/0x021A/*::]*/: { n:"BrtBeginECTxtWiz", f:parsenoop }, - /*::[*/0x021B/*::]*/: { n:"BrtEndECTxtWiz", f:parsenoop }, - /*::[*/0x021C/*::]*/: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, - /*::[*/0x021D/*::]*/: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, - /*::[*/0x021E/*::]*/: { n:"BrtBeginECTwFldInfo", f:parsenoop }, - /*::[*/0x0224/*::]*/: { n:"BrtFileSharing", f:parsenoop }, - /*::[*/0x0225/*::]*/: { n:"BrtOleSize", f:parsenoop }, - /*::[*/0x0226/*::]*/: { n:"BrtDrawing", f:parsenoop }, - /*::[*/0x0227/*::]*/: { n:"BrtLegacyDrawing", f:parsenoop }, - /*::[*/0x0228/*::]*/: { n:"BrtLegacyDrawingHF", f:parsenoop }, - /*::[*/0x0229/*::]*/: { n:"BrtWebOpt", f:parsenoop }, - /*::[*/0x022A/*::]*/: { n:"BrtBeginWebPubItems", f:parsenoop }, - /*::[*/0x022B/*::]*/: { n:"BrtEndWebPubItems", f:parsenoop }, - /*::[*/0x022C/*::]*/: { n:"BrtBeginWebPubItem", f:parsenoop }, - /*::[*/0x022D/*::]*/: { n:"BrtEndWebPubItem", f:parsenoop }, - /*::[*/0x022E/*::]*/: { n:"BrtBeginSXCondFmt", f:parsenoop }, - /*::[*/0x022F/*::]*/: { n:"BrtEndSXCondFmt", f:parsenoop }, - /*::[*/0x0230/*::]*/: { n:"BrtBeginSXCondFmts", f:parsenoop }, - /*::[*/0x0231/*::]*/: { n:"BrtEndSXCondFmts", f:parsenoop }, - /*::[*/0x0232/*::]*/: { n:"BrtBkHim", f:parsenoop }, - /*::[*/0x0234/*::]*/: { n:"BrtColor", f:parsenoop }, - /*::[*/0x0235/*::]*/: { n:"BrtBeginIndexedColors", f:parsenoop }, - /*::[*/0x0236/*::]*/: { n:"BrtEndIndexedColors", f:parsenoop }, - /*::[*/0x0239/*::]*/: { n:"BrtBeginMRUColors", f:parsenoop }, - /*::[*/0x023A/*::]*/: { n:"BrtEndMRUColors", f:parsenoop }, - /*::[*/0x023C/*::]*/: { n:"BrtMRUColor", f:parsenoop }, - /*::[*/0x023D/*::]*/: { n:"BrtBeginDVals", f:parsenoop }, - /*::[*/0x023E/*::]*/: { n:"BrtEndDVals", f:parsenoop }, - /*::[*/0x0241/*::]*/: { n:"BrtSupNameStart", f:parsenoop }, - /*::[*/0x0242/*::]*/: { n:"BrtSupNameValueStart", f:parsenoop }, - /*::[*/0x0243/*::]*/: { n:"BrtSupNameValueEnd", f:parsenoop }, - /*::[*/0x0244/*::]*/: { n:"BrtSupNameNum", f:parsenoop }, - /*::[*/0x0245/*::]*/: { n:"BrtSupNameErr", f:parsenoop }, - /*::[*/0x0246/*::]*/: { n:"BrtSupNameSt", f:parsenoop }, - /*::[*/0x0247/*::]*/: { n:"BrtSupNameNil", f:parsenoop }, - /*::[*/0x0248/*::]*/: { n:"BrtSupNameBool", f:parsenoop }, - /*::[*/0x0249/*::]*/: { n:"BrtSupNameFmla", f:parsenoop }, - /*::[*/0x024A/*::]*/: { n:"BrtSupNameBits", f:parsenoop }, - /*::[*/0x024B/*::]*/: { n:"BrtSupNameEnd", f:parsenoop }, - /*::[*/0x024C/*::]*/: { n:"BrtEndSupBook", f:parsenoop }, - /*::[*/0x024D/*::]*/: { n:"BrtCellSmartTagProperty", f:parsenoop }, - /*::[*/0x024E/*::]*/: { n:"BrtBeginCellSmartTag", f:parsenoop }, - /*::[*/0x024F/*::]*/: { n:"BrtEndCellSmartTag", f:parsenoop }, - /*::[*/0x0250/*::]*/: { n:"BrtBeginCellSmartTags", f:parsenoop }, - /*::[*/0x0251/*::]*/: { n:"BrtEndCellSmartTags", f:parsenoop }, - /*::[*/0x0252/*::]*/: { n:"BrtBeginSmartTags", f:parsenoop }, - /*::[*/0x0253/*::]*/: { n:"BrtEndSmartTags", f:parsenoop }, - /*::[*/0x0254/*::]*/: { n:"BrtSmartTagType", f:parsenoop }, - /*::[*/0x0255/*::]*/: { n:"BrtBeginSmartTagTypes", f:parsenoop }, - /*::[*/0x0256/*::]*/: { n:"BrtEndSmartTagTypes", f:parsenoop }, - /*::[*/0x0257/*::]*/: { n:"BrtBeginSXFilters", f:parsenoop }, - /*::[*/0x0258/*::]*/: { n:"BrtEndSXFilters", f:parsenoop }, - /*::[*/0x0259/*::]*/: { n:"BrtBeginSXFILTER", f:parsenoop }, - /*::[*/0x025A/*::]*/: { n:"BrtEndSXFilter", f:parsenoop }, - /*::[*/0x025B/*::]*/: { n:"BrtBeginFills", f:parsenoop }, - /*::[*/0x025C/*::]*/: { n:"BrtEndFills", f:parsenoop }, - /*::[*/0x025D/*::]*/: { n:"BrtBeginCellWatches", f:parsenoop }, - /*::[*/0x025E/*::]*/: { n:"BrtEndCellWatches", f:parsenoop }, - /*::[*/0x025F/*::]*/: { n:"BrtCellWatch", f:parsenoop }, - /*::[*/0x0260/*::]*/: { n:"BrtBeginCRErrs", f:parsenoop }, - /*::[*/0x0261/*::]*/: { n:"BrtEndCRErrs", f:parsenoop }, - /*::[*/0x0262/*::]*/: { n:"BrtCrashRecErr", f:parsenoop }, - /*::[*/0x0263/*::]*/: { n:"BrtBeginFonts", f:parsenoop }, - /*::[*/0x0264/*::]*/: { n:"BrtEndFonts", f:parsenoop }, - /*::[*/0x0265/*::]*/: { n:"BrtBeginBorders", f:parsenoop }, - /*::[*/0x0266/*::]*/: { n:"BrtEndBorders", f:parsenoop }, - /*::[*/0x0267/*::]*/: { n:"BrtBeginFmts", f:parsenoop }, - /*::[*/0x0268/*::]*/: { n:"BrtEndFmts", f:parsenoop }, - /*::[*/0x0269/*::]*/: { n:"BrtBeginCellXFs", f:parsenoop }, - /*::[*/0x026A/*::]*/: { n:"BrtEndCellXFs", f:parsenoop }, - /*::[*/0x026B/*::]*/: { n:"BrtBeginStyles", f:parsenoop }, - /*::[*/0x026C/*::]*/: { n:"BrtEndStyles", f:parsenoop }, - /*::[*/0x0271/*::]*/: { n:"BrtBigName", f:parsenoop }, - /*::[*/0x0272/*::]*/: { n:"BrtBeginCellStyleXFs", f:parsenoop }, - /*::[*/0x0273/*::]*/: { n:"BrtEndCellStyleXFs", f:parsenoop }, - /*::[*/0x0274/*::]*/: { n:"BrtBeginComments", f:parsenoop }, - /*::[*/0x0275/*::]*/: { n:"BrtEndComments", f:parsenoop }, - /*::[*/0x0276/*::]*/: { n:"BrtBeginCommentAuthors", f:parsenoop }, - /*::[*/0x0277/*::]*/: { n:"BrtEndCommentAuthors", f:parsenoop }, - /*::[*/0x0278/*::]*/: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, - /*::[*/0x0279/*::]*/: { n:"BrtBeginCommentList", f:parsenoop }, - /*::[*/0x027A/*::]*/: { n:"BrtEndCommentList", f:parsenoop }, - /*::[*/0x027B/*::]*/: { n:"BrtBeginComment", f:parse_BrtBeginComment}, - /*::[*/0x027C/*::]*/: { n:"BrtEndComment", f:parsenoop }, - /*::[*/0x027D/*::]*/: { n:"BrtCommentText", f:parse_BrtCommentText }, - /*::[*/0x027E/*::]*/: { n:"BrtBeginOleObjects", f:parsenoop }, - /*::[*/0x027F/*::]*/: { n:"BrtOleObject", f:parsenoop }, - /*::[*/0x0280/*::]*/: { n:"BrtEndOleObjects", f:parsenoop }, - /*::[*/0x0281/*::]*/: { n:"BrtBeginSxrules", f:parsenoop }, - /*::[*/0x0282/*::]*/: { n:"BrtEndSxRules", f:parsenoop }, - /*::[*/0x0283/*::]*/: { n:"BrtBeginActiveXControls", f:parsenoop }, - /*::[*/0x0284/*::]*/: { n:"BrtActiveX", f:parsenoop }, - /*::[*/0x0285/*::]*/: { n:"BrtEndActiveXControls", f:parsenoop }, - /*::[*/0x0286/*::]*/: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, - /*::[*/0x0288/*::]*/: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, - /*::[*/0x0289/*::]*/: { n:"BrtCellIgnoreEC", f:parsenoop }, - /*::[*/0x028A/*::]*/: { n:"BrtEndCellIgnoreECs", f:parsenoop }, - /*::[*/0x028B/*::]*/: { n:"BrtCsProp", f:parsenoop }, - /*::[*/0x028C/*::]*/: { n:"BrtCsPageSetup", f:parsenoop }, - /*::[*/0x028D/*::]*/: { n:"BrtBeginUserCsViews", f:parsenoop }, - /*::[*/0x028E/*::]*/: { n:"BrtEndUserCsViews", f:parsenoop }, - /*::[*/0x028F/*::]*/: { n:"BrtBeginUserCsView", f:parsenoop }, - /*::[*/0x0290/*::]*/: { n:"BrtEndUserCsView", f:parsenoop }, - /*::[*/0x0291/*::]*/: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, - /*::[*/0x0292/*::]*/: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, - /*::[*/0x0293/*::]*/: { n:"BrtPCDSFCIEntry", f:parsenoop }, - /*::[*/0x0294/*::]*/: { n:"BrtBeginListParts", f:parsenoop }, - /*::[*/0x0295/*::]*/: { n:"BrtListPart", f:parsenoop }, - /*::[*/0x0296/*::]*/: { n:"BrtEndListParts", f:parsenoop }, - /*::[*/0x0297/*::]*/: { n:"BrtSheetCalcProp", f:parsenoop }, - /*::[*/0x0298/*::]*/: { n:"BrtBeginFnGroup", f:parsenoop }, - /*::[*/0x0299/*::]*/: { n:"BrtFnGroup", f:parsenoop }, - /*::[*/0x029A/*::]*/: { n:"BrtEndFnGroup", f:parsenoop }, - /*::[*/0x029B/*::]*/: { n:"BrtSupAddin", f:parsenoop }, - /*::[*/0x029C/*::]*/: { n:"BrtSXTDMPOrder", f:parsenoop }, - /*::[*/0x029D/*::]*/: { n:"BrtCsProtection", f:parsenoop }, - /*::[*/0x029F/*::]*/: { n:"BrtBeginWsSortMap", f:parsenoop }, - /*::[*/0x02A0/*::]*/: { n:"BrtEndWsSortMap", f:parsenoop }, - /*::[*/0x02A1/*::]*/: { n:"BrtBeginRRSort", f:parsenoop }, - /*::[*/0x02A2/*::]*/: { n:"BrtEndRRSort", f:parsenoop }, - /*::[*/0x02A3/*::]*/: { n:"BrtRRSortItem", f:parsenoop }, - /*::[*/0x02A4/*::]*/: { n:"BrtFileSharingIso", f:parsenoop }, - /*::[*/0x02A5/*::]*/: { n:"BrtBookProtectionIso", f:parsenoop }, - /*::[*/0x02A6/*::]*/: { n:"BrtSheetProtectionIso", f:parsenoop }, - /*::[*/0x02A7/*::]*/: { n:"BrtCsProtectionIso", f:parsenoop }, - /*::[*/0x02A8/*::]*/: { n:"BrtRangeProtectionIso", f:parsenoop }, - /*::[*/0x0400/*::]*/: { n:"BrtRwDescent", f:parsenoop }, - /*::[*/0x0401/*::]*/: { n:"BrtKnownFonts", f:parsenoop }, - /*::[*/0x0402/*::]*/: { n:"BrtBeginSXTupleSet", f:parsenoop }, - /*::[*/0x0403/*::]*/: { n:"BrtEndSXTupleSet", f:parsenoop }, - /*::[*/0x0404/*::]*/: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, - /*::[*/0x0405/*::]*/: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, - /*::[*/0x0406/*::]*/: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, - /*::[*/0x0407/*::]*/: { n:"BrtBeginSXTupleSetData", f:parsenoop }, - /*::[*/0x0408/*::]*/: { n:"BrtEndSXTupleSetData", f:parsenoop }, - /*::[*/0x0409/*::]*/: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, - /*::[*/0x040A/*::]*/: { n:"BrtEndSXTupleSetRow", f:parsenoop }, - /*::[*/0x040B/*::]*/: { n:"BrtSXTupleSetRowItem", f:parsenoop }, - /*::[*/0x040C/*::]*/: { n:"BrtNameExt", f:parsenoop }, - /*::[*/0x040D/*::]*/: { n:"BrtPCDH14", f:parsenoop }, - /*::[*/0x040E/*::]*/: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, - /*::[*/0x040F/*::]*/: { n:"BrtEndPCDCalcMem14", f:parsenoop }, - /*::[*/0x0410/*::]*/: { n:"BrtSXTH14", f:parsenoop }, - /*::[*/0x0411/*::]*/: { n:"BrtBeginSparklineGroup", f:parsenoop }, - /*::[*/0x0412/*::]*/: { n:"BrtEndSparklineGroup", f:parsenoop }, - /*::[*/0x0413/*::]*/: { n:"BrtSparkline", f:parsenoop }, - /*::[*/0x0414/*::]*/: { n:"BrtSXDI14", f:parsenoop }, - /*::[*/0x0415/*::]*/: { n:"BrtWsFmtInfoEx14", f:parsenoop }, - /*::[*/0x0416/*::]*/: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, - /*::[*/0x0417/*::]*/: { n:"BrtEndConditionalFormatting14", f:parsenoop }, - /*::[*/0x0418/*::]*/: { n:"BrtBeginCFRule14", f:parsenoop }, - /*::[*/0x0419/*::]*/: { n:"BrtEndCFRule14", f:parsenoop }, - /*::[*/0x041A/*::]*/: { n:"BrtCFVO14", f:parsenoop }, - /*::[*/0x041B/*::]*/: { n:"BrtBeginDatabar14", f:parsenoop }, - /*::[*/0x041C/*::]*/: { n:"BrtBeginIconSet14", f:parsenoop }, - /*::[*/0x041D/*::]*/: { n:"BrtDVal14", f:parsenoop }, - /*::[*/0x041E/*::]*/: { n:"BrtBeginDVals14", f:parsenoop }, - /*::[*/0x041F/*::]*/: { n:"BrtColor14", f:parsenoop }, - /*::[*/0x0420/*::]*/: { n:"BrtBeginSparklines", f:parsenoop }, - /*::[*/0x0421/*::]*/: { n:"BrtEndSparklines", f:parsenoop }, - /*::[*/0x0422/*::]*/: { n:"BrtBeginSparklineGroups", f:parsenoop }, - /*::[*/0x0423/*::]*/: { n:"BrtEndSparklineGroups", f:parsenoop }, - /*::[*/0x0425/*::]*/: { n:"BrtSXVD14", f:parsenoop }, - /*::[*/0x0426/*::]*/: { n:"BrtBeginSxview14", f:parsenoop }, - /*::[*/0x0427/*::]*/: { n:"BrtEndSxview14", f:parsenoop }, - /*::[*/0x042A/*::]*/: { n:"BrtBeginPCD14", f:parsenoop }, - /*::[*/0x042B/*::]*/: { n:"BrtEndPCD14", f:parsenoop }, - /*::[*/0x042C/*::]*/: { n:"BrtBeginExtConn14", f:parsenoop }, - /*::[*/0x042D/*::]*/: { n:"BrtEndExtConn14", f:parsenoop }, - /*::[*/0x042E/*::]*/: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, - /*::[*/0x042F/*::]*/: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, - /*::[*/0x0430/*::]*/: { n:"BrtBeginSlicerCacheID", f:parsenoop }, - /*::[*/0x0431/*::]*/: { n:"BrtEndSlicerCacheID", f:parsenoop }, - /*::[*/0x0433/*::]*/: { n:"BrtBeginSlicerCache", f:parsenoop }, - /*::[*/0x0434/*::]*/: { n:"BrtEndSlicerCache", f:parsenoop }, - /*::[*/0x0435/*::]*/: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, - /*::[*/0x0436/*::]*/: { n:"BrtEndSlicerCacheDef", f:parsenoop }, - /*::[*/0x0437/*::]*/: { n:"BrtBeginSlicersEx", f:parsenoop }, - /*::[*/0x0438/*::]*/: { n:"BrtEndSlicersEx", f:parsenoop }, - /*::[*/0x0439/*::]*/: { n:"BrtBeginSlicerEx", f:parsenoop }, - /*::[*/0x043A/*::]*/: { n:"BrtEndSlicerEx", f:parsenoop }, - /*::[*/0x043B/*::]*/: { n:"BrtBeginSlicer", f:parsenoop }, - /*::[*/0x043C/*::]*/: { n:"BrtEndSlicer", f:parsenoop }, - /*::[*/0x043D/*::]*/: { n:"BrtSlicerCachePivotTables", f:parsenoop }, - /*::[*/0x043E/*::]*/: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, - /*::[*/0x043F/*::]*/: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, - /*::[*/0x0440/*::]*/: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, - /*::[*/0x0441/*::]*/: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, - /*::[*/0x0442/*::]*/: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, - /*::[*/0x0443/*::]*/: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, - /*::[*/0x0444/*::]*/: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, - /*::[*/0x0445/*::]*/: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, - /*::[*/0x0446/*::]*/: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, - /*::[*/0x0447/*::]*/: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, - /*::[*/0x0448/*::]*/: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, - /*::[*/0x0449/*::]*/: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, - /*::[*/0x044A/*::]*/: { n:"BrtSlicerCacheSelection", f:parsenoop }, - /*::[*/0x044B/*::]*/: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, - /*::[*/0x044C/*::]*/: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, - /*::[*/0x044D/*::]*/: { n:"BrtEndSlicerCacheNative", f:parsenoop }, - /*::[*/0x044E/*::]*/: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, - /*::[*/0x044F/*::]*/: { n:"BrtRangeProtection14", f:parsenoop }, - /*::[*/0x0450/*::]*/: { n:"BrtRangeProtectionIso14", f:parsenoop }, - /*::[*/0x0451/*::]*/: { n:"BrtCellIgnoreEC14", f:parsenoop }, - /*::[*/0x0457/*::]*/: { n:"BrtList14", f:parsenoop }, - /*::[*/0x0458/*::]*/: { n:"BrtCFIcon", f:parsenoop }, - /*::[*/0x0459/*::]*/: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, - /*::[*/0x045A/*::]*/: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, - /*::[*/0x045B/*::]*/: { n:"BrtBeginSlicers", f:parsenoop }, - /*::[*/0x045C/*::]*/: { n:"BrtEndSlicers", f:parsenoop }, - /*::[*/0x045D/*::]*/: { n:"BrtWbProp14", f:parsenoop }, - /*::[*/0x045E/*::]*/: { n:"BrtBeginSXEdit", f:parsenoop }, - /*::[*/0x045F/*::]*/: { n:"BrtEndSXEdit", f:parsenoop }, - /*::[*/0x0460/*::]*/: { n:"BrtBeginSXEdits", f:parsenoop }, - /*::[*/0x0461/*::]*/: { n:"BrtEndSXEdits", f:parsenoop }, - /*::[*/0x0462/*::]*/: { n:"BrtBeginSXChange", f:parsenoop }, - /*::[*/0x0463/*::]*/: { n:"BrtEndSXChange", f:parsenoop }, - /*::[*/0x0464/*::]*/: { n:"BrtBeginSXChanges", f:parsenoop }, - /*::[*/0x0465/*::]*/: { n:"BrtEndSXChanges", f:parsenoop }, - /*::[*/0x0466/*::]*/: { n:"BrtSXTupleItems", f:parsenoop }, - /*::[*/0x0468/*::]*/: { n:"BrtBeginSlicerStyle", f:parsenoop }, - /*::[*/0x0469/*::]*/: { n:"BrtEndSlicerStyle", f:parsenoop }, - /*::[*/0x046A/*::]*/: { n:"BrtSlicerStyleElement", f:parsenoop }, - /*::[*/0x046B/*::]*/: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, - /*::[*/0x046C/*::]*/: { n:"BrtEndStyleSheetExt14", f:parsenoop }, - /*::[*/0x046D/*::]*/: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, - /*::[*/0x046E/*::]*/: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, - /*::[*/0x046F/*::]*/: { n:"BrtBeginConditionalFormattings", f:parsenoop }, - /*::[*/0x0470/*::]*/: { n:"BrtEndConditionalFormattings", f:parsenoop }, - /*::[*/0x0471/*::]*/: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, - /*::[*/0x0472/*::]*/: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, - /*::[*/0x0473/*::]*/: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, - /*::[*/0x0474/*::]*/: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, - /*::[*/0x0475/*::]*/: { n:"BrtPCDField14", f:parsenoop }, - /*::[*/0x0476/*::]*/: { n:"BrtBeginSlicerStyles", f:parsenoop }, - /*::[*/0x0477/*::]*/: { n:"BrtEndSlicerStyles", f:parsenoop }, - /*::[*/0x0478/*::]*/: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, - /*::[*/0x0479/*::]*/: { n:"BrtEndSlicerStyleElements", f:parsenoop }, - /*::[*/0x047A/*::]*/: { n:"BrtCFRuleExt", f:parsenoop }, - /*::[*/0x047B/*::]*/: { n:"BrtBeginSXCondFmt14", f:parsenoop }, - /*::[*/0x047C/*::]*/: { n:"BrtEndSXCondFmt14", f:parsenoop }, - /*::[*/0x047D/*::]*/: { n:"BrtBeginSXCondFmts14", f:parsenoop }, - /*::[*/0x047E/*::]*/: { n:"BrtEndSXCondFmts14", f:parsenoop }, - /*::[*/0x0480/*::]*/: { n:"BrtBeginSortCond14", f:parsenoop }, - /*::[*/0x0481/*::]*/: { n:"BrtEndSortCond14", f:parsenoop }, - /*::[*/0x0482/*::]*/: { n:"BrtEndDVals14", f:parsenoop }, - /*::[*/0x0483/*::]*/: { n:"BrtEndIconSet14", f:parsenoop }, - /*::[*/0x0484/*::]*/: { n:"BrtEndDatabar14", f:parsenoop }, - /*::[*/0x0485/*::]*/: { n:"BrtBeginColorScale14", f:parsenoop }, - /*::[*/0x0486/*::]*/: { n:"BrtEndColorScale14", f:parsenoop }, - /*::[*/0x0487/*::]*/: { n:"BrtBeginSxrules14", f:parsenoop }, - /*::[*/0x0488/*::]*/: { n:"BrtEndSxrules14", f:parsenoop }, - /*::[*/0x0489/*::]*/: { n:"BrtBeginPRule14", f:parsenoop }, - /*::[*/0x048A/*::]*/: { n:"BrtEndPRule14", f:parsenoop }, - /*::[*/0x048B/*::]*/: { n:"BrtBeginPRFilters14", f:parsenoop }, - /*::[*/0x048C/*::]*/: { n:"BrtEndPRFilters14", f:parsenoop }, - /*::[*/0x048D/*::]*/: { n:"BrtBeginPRFilter14", f:parsenoop }, - /*::[*/0x048E/*::]*/: { n:"BrtEndPRFilter14", f:parsenoop }, - /*::[*/0x048F/*::]*/: { n:"BrtBeginPRFItem14", f:parsenoop }, - /*::[*/0x0490/*::]*/: { n:"BrtEndPRFItem14", f:parsenoop }, - /*::[*/0x0491/*::]*/: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, - /*::[*/0x0492/*::]*/: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, - /*::[*/0x0493/*::]*/: { n:"BrtDxf14", f:parsenoop }, - /*::[*/0x0494/*::]*/: { n:"BrtBeginDxF14s", f:parsenoop }, - /*::[*/0x0495/*::]*/: { n:"BrtEndDxf14s", f:parsenoop }, - /*::[*/0x0499/*::]*/: { n:"BrtFilter14", f:parsenoop }, - /*::[*/0x049A/*::]*/: { n:"BrtBeginCustomFilters14", f:parsenoop }, - /*::[*/0x049C/*::]*/: { n:"BrtCustomFilter14", f:parsenoop }, - /*::[*/0x049D/*::]*/: { n:"BrtIconFilter14", f:parsenoop }, - /*::[*/0x049E/*::]*/: { n:"BrtPivotCacheConnectionName", f:parsenoop }, - /*::[*/0x0800/*::]*/: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, - /*::[*/0x0801/*::]*/: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, - /*::[*/0x0802/*::]*/: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, - /*::[*/0x0803/*::]*/: { n:"BrtBeginPivotTableRefs", f:parsenoop }, - /*::[*/0x0804/*::]*/: { n:"BrtEndPivotTableRefs", f:parsenoop }, - /*::[*/0x0805/*::]*/: { n:"BrtPivotTableRef", f:parsenoop }, - /*::[*/0x0806/*::]*/: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, - /*::[*/0x0807/*::]*/: { n:"BrtBeginSxvcells", f:parsenoop }, - /*::[*/0x0808/*::]*/: { n:"BrtEndSxvcells", f:parsenoop }, - /*::[*/0x0809/*::]*/: { n:"BrtBeginSxRow", f:parsenoop }, - /*::[*/0x080A/*::]*/: { n:"BrtEndSxRow", f:parsenoop }, - /*::[*/0x080C/*::]*/: { n:"BrtPcdCalcMem15", f:parsenoop }, - /*::[*/0x0813/*::]*/: { n:"BrtQsi15", f:parsenoop }, - /*::[*/0x0814/*::]*/: { n:"BrtBeginWebExtensions", f:parsenoop }, - /*::[*/0x0815/*::]*/: { n:"BrtEndWebExtensions", f:parsenoop }, - /*::[*/0x0816/*::]*/: { n:"BrtWebExtension", f:parsenoop }, - /*::[*/0x0817/*::]*/: { n:"BrtAbsPath15", f:parsenoop }, - /*::[*/0x0818/*::]*/: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, - /*::[*/0x0819/*::]*/: { n:"BrtEndPivotTableUISettings", f:parsenoop }, - /*::[*/0x081B/*::]*/: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, - /*::[*/0x081C/*::]*/: { n:"BrtTableSlicerCacheID", f:parsenoop }, - /*::[*/0x081D/*::]*/: { n:"BrtBeginTableSlicerCache", f:parsenoop }, - /*::[*/0x081E/*::]*/: { n:"BrtEndTableSlicerCache", f:parsenoop }, - /*::[*/0x081F/*::]*/: { n:"BrtSxFilter15", f:parsenoop }, - /*::[*/0x0820/*::]*/: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, - /*::[*/0x0821/*::]*/: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, - /*::[*/0x0822/*::]*/: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, - /*::[*/0x0823/*::]*/: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, - /*::[*/0x0824/*::]*/: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, - /*::[*/0x0825/*::]*/: { n:"BrtBeginTimelineCacheID", f:parsenoop }, - /*::[*/0x0826/*::]*/: { n:"BrtEndTimelineCacheID", f:parsenoop }, - /*::[*/0x0827/*::]*/: { n:"BrtBeginTimelinesEx", f:parsenoop }, - /*::[*/0x0828/*::]*/: { n:"BrtEndTimelinesEx", f:parsenoop }, - /*::[*/0x0829/*::]*/: { n:"BrtBeginTimelineEx", f:parsenoop }, - /*::[*/0x082A/*::]*/: { n:"BrtEndTimelineEx", f:parsenoop }, - /*::[*/0x082B/*::]*/: { n:"BrtWorkBookPr15", f:parsenoop }, - /*::[*/0x082C/*::]*/: { n:"BrtPCDH15", f:parsenoop }, - /*::[*/0x082D/*::]*/: { n:"BrtBeginTimelineStyle", f:parsenoop }, - /*::[*/0x082E/*::]*/: { n:"BrtEndTimelineStyle", f:parsenoop }, - /*::[*/0x082F/*::]*/: { n:"BrtTimelineStyleElement", f:parsenoop }, - /*::[*/0x0830/*::]*/: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, - /*::[*/0x0831/*::]*/: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, - /*::[*/0x0832/*::]*/: { n:"BrtBeginTimelineStyles", f:parsenoop }, - /*::[*/0x0833/*::]*/: { n:"BrtEndTimelineStyles", f:parsenoop }, - /*::[*/0x0834/*::]*/: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, - /*::[*/0x0835/*::]*/: { n:"BrtEndTimelineStyleElements", f:parsenoop }, - /*::[*/0x0836/*::]*/: { n:"BrtDxf15", f:parsenoop }, - /*::[*/0x0837/*::]*/: { n:"BrtBeginDxfs15", f:parsenoop }, - /*::[*/0x0838/*::]*/: { n:"brtEndDxfs15", f:parsenoop }, - /*::[*/0x0839/*::]*/: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, - /*::[*/0x083A/*::]*/: { n:"BrtBeginItemUniqueNames", f:parsenoop }, - /*::[*/0x083B/*::]*/: { n:"BrtEndItemUniqueNames", f:parsenoop }, - /*::[*/0x083C/*::]*/: { n:"BrtItemUniqueName", f:parsenoop }, - /*::[*/0x083D/*::]*/: { n:"BrtBeginExtConn15", f:parsenoop }, - /*::[*/0x083E/*::]*/: { n:"BrtEndExtConn15", f:parsenoop }, - /*::[*/0x083F/*::]*/: { n:"BrtBeginOledbPr15", f:parsenoop }, - /*::[*/0x0840/*::]*/: { n:"BrtEndOledbPr15", f:parsenoop }, - /*::[*/0x0841/*::]*/: { n:"BrtBeginDataFeedPr15", f:parsenoop }, - /*::[*/0x0842/*::]*/: { n:"BrtEndDataFeedPr15", f:parsenoop }, - /*::[*/0x0843/*::]*/: { n:"BrtTextPr15", f:parsenoop }, - /*::[*/0x0844/*::]*/: { n:"BrtRangePr15", f:parsenoop }, - /*::[*/0x0845/*::]*/: { n:"BrtDbCommand15", f:parsenoop }, - /*::[*/0x0846/*::]*/: { n:"BrtBeginDbTables15", f:parsenoop }, - /*::[*/0x0847/*::]*/: { n:"BrtEndDbTables15", f:parsenoop }, - /*::[*/0x0848/*::]*/: { n:"BrtDbTable15", f:parsenoop }, - /*::[*/0x0849/*::]*/: { n:"BrtBeginDataModel", f:parsenoop }, - /*::[*/0x084A/*::]*/: { n:"BrtEndDataModel", f:parsenoop }, - /*::[*/0x084B/*::]*/: { n:"BrtBeginModelTables", f:parsenoop }, - /*::[*/0x084C/*::]*/: { n:"BrtEndModelTables", f:parsenoop }, - /*::[*/0x084D/*::]*/: { n:"BrtModelTable", f:parsenoop }, - /*::[*/0x084E/*::]*/: { n:"BrtBeginModelRelationships", f:parsenoop }, - /*::[*/0x084F/*::]*/: { n:"BrtEndModelRelationships", f:parsenoop }, - /*::[*/0x0850/*::]*/: { n:"BrtModelRelationship", f:parsenoop }, - /*::[*/0x0851/*::]*/: { n:"BrtBeginECTxtWiz15", f:parsenoop }, - /*::[*/0x0852/*::]*/: { n:"BrtEndECTxtWiz15", f:parsenoop }, - /*::[*/0x0853/*::]*/: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, - /*::[*/0x0854/*::]*/: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, - /*::[*/0x0855/*::]*/: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, - /*::[*/0x0856/*::]*/: { n:"BrtFieldListActiveItem", f:parsenoop }, - /*::[*/0x0857/*::]*/: { n:"BrtPivotCacheIdVersion", f:parsenoop }, - /*::[*/0x0858/*::]*/: { n:"BrtSXDI15", f:parsenoop }, - /*::[*/0xFFFF/*::]*/: { n:"", f:parsenoop } -}; - -var evert_RE = evert_key(XLSBRecordEnum, 'n'); - -/* [MS-XLS] 2.3 Record Enumeration */ -var XLSRecordEnum = { - /*::[*/0x0003/*::]*/: { n:"BIFF2NUM", f:parse_BIFF2NUM }, - /*::[*/0x0004/*::]*/: { n:"BIFF2STR", f:parse_BIFF2STR }, - /*::[*/0x0006/*::]*/: { n:"Formula", f:parse_Formula }, - /*::[*/0x0009/*::]*/: { n:'BOF', f:parse_BOF }, - /*::[*/0x000a/*::]*/: { n:'EOF', f:parse_EOF }, - /*::[*/0x000c/*::]*/: { n:"CalcCount", f:parse_CalcCount }, - /*::[*/0x000d/*::]*/: { n:"CalcMode", f:parse_CalcMode }, - /*::[*/0x000e/*::]*/: { n:"CalcPrecision", f:parse_CalcPrecision }, - /*::[*/0x000f/*::]*/: { n:"CalcRefMode", f:parse_CalcRefMode }, - /*::[*/0x0010/*::]*/: { n:"CalcDelta", f:parse_CalcDelta }, - /*::[*/0x0011/*::]*/: { n:"CalcIter", f:parse_CalcIter }, - /*::[*/0x0012/*::]*/: { n:"Protect", f:parse_Protect }, - /*::[*/0x0013/*::]*/: { n:"Password", f:parse_Password }, - /*::[*/0x0014/*::]*/: { n:"Header", f:parse_Header }, - /*::[*/0x0015/*::]*/: { n:"Footer", f:parse_Footer }, - /*::[*/0x0017/*::]*/: { n:"ExternSheet", f:parse_ExternSheet }, - /*::[*/0x0018/*::]*/: { n:"Lbl", f:parse_Lbl }, - /*::[*/0x0019/*::]*/: { n:"WinProtect", f:parse_WinProtect }, - /*::[*/0x001a/*::]*/: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, - /*::[*/0x001b/*::]*/: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, - /*::[*/0x001c/*::]*/: { n:"Note", f:parse_Note }, - /*::[*/0x001d/*::]*/: { n:"Selection", f:parse_Selection }, - /*::[*/0x0022/*::]*/: { n:"Date1904", f:parse_Date1904 }, - /*::[*/0x0023/*::]*/: { n:"ExternName", f:parse_ExternName }, - /*::[*/0x0026/*::]*/: { n:"LeftMargin", f:parse_LeftMargin }, - /*::[*/0x0027/*::]*/: { n:"RightMargin", f:parse_RightMargin }, - /*::[*/0x0028/*::]*/: { n:"TopMargin", f:parse_TopMargin }, - /*::[*/0x0029/*::]*/: { n:"BottomMargin", f:parse_BottomMargin }, - /*::[*/0x002a/*::]*/: { n:"PrintRowCol", f:parse_PrintRowCol }, - /*::[*/0x002b/*::]*/: { n:"PrintGrid", f:parse_PrintGrid }, - /*::[*/0x002f/*::]*/: { n:"FilePass", f:parse_FilePass }, - /*::[*/0x0031/*::]*/: { n:"Font", f:parse_Font }, - /*::[*/0x0033/*::]*/: { n:"PrintSize", f:parse_PrintSize }, - /*::[*/0x003c/*::]*/: { n:"Continue", f:parse_Continue }, - /*::[*/0x003d/*::]*/: { n:"Window1", f:parse_Window1 }, - /*::[*/0x0040/*::]*/: { n:"Backup", f:parse_Backup }, - /*::[*/0x0041/*::]*/: { n:"Pane", f:parse_Pane }, - /*::[*/0x0042/*::]*/: { n:'CodePage', f:parse_CodePage }, - /*::[*/0x004d/*::]*/: { n:"Pls", f:parse_Pls }, - /*::[*/0x0050/*::]*/: { n:"DCon", f:parse_DCon }, - /*::[*/0x0051/*::]*/: { n:"DConRef", f:parse_DConRef }, - /*::[*/0x0052/*::]*/: { n:"DConName", f:parse_DConName }, - /*::[*/0x0055/*::]*/: { n:"DefColWidth", f:parse_DefColWidth }, - /*::[*/0x0059/*::]*/: { n:"XCT", f:parse_XCT }, - /*::[*/0x005a/*::]*/: { n:"CRN", f:parse_CRN }, - /*::[*/0x005b/*::]*/: { n:"FileSharing", f:parse_FileSharing }, - /*::[*/0x005c/*::]*/: { n:'WriteAccess', f:parse_WriteAccess }, - /*::[*/0x005d/*::]*/: { n:"Obj", f:parse_Obj }, - /*::[*/0x005e/*::]*/: { n:"Uncalced", f:parse_Uncalced }, - /*::[*/0x005f/*::]*/: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, - /*::[*/0x0060/*::]*/: { n:"Template", f:parse_Template }, - /*::[*/0x0061/*::]*/: { n:"Intl", f:parse_Intl }, - /*::[*/0x0063/*::]*/: { n:"ObjProtect", f:parse_ObjProtect }, - /*::[*/0x007d/*::]*/: { n:"ColInfo", f:parse_ColInfo }, - /*::[*/0x0080/*::]*/: { n:"Guts", f:parse_Guts }, - /*::[*/0x0081/*::]*/: { n:"WsBool", f:parse_WsBool }, - /*::[*/0x0082/*::]*/: { n:"GridSet", f:parse_GridSet }, - /*::[*/0x0083/*::]*/: { n:"HCenter", f:parse_HCenter }, - /*::[*/0x0084/*::]*/: { n:"VCenter", f:parse_VCenter }, - /*::[*/0x0085/*::]*/: { n:'BoundSheet8', f:parse_BoundSheet8 }, - /*::[*/0x0086/*::]*/: { n:"WriteProtect", f:parse_WriteProtect }, - /*::[*/0x008c/*::]*/: { n:"Country", f:parse_Country }, - /*::[*/0x008d/*::]*/: { n:"HideObj", f:parse_HideObj }, - /*::[*/0x0090/*::]*/: { n:"Sort", f:parse_Sort }, - /*::[*/0x0092/*::]*/: { n:"Palette", f:parse_Palette }, - /*::[*/0x0097/*::]*/: { n:"Sync", f:parse_Sync }, - /*::[*/0x0098/*::]*/: { n:"LPr", f:parse_LPr }, - /*::[*/0x0099/*::]*/: { n:"DxGCol", f:parse_DxGCol }, - /*::[*/0x009a/*::]*/: { n:"FnGroupName", f:parse_FnGroupName }, - /*::[*/0x009b/*::]*/: { n:"FilterMode", f:parse_FilterMode }, - /*::[*/0x009c/*::]*/: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, - /*::[*/0x009d/*::]*/: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, - /*::[*/0x009e/*::]*/: { n:"AutoFilter", f:parse_AutoFilter }, - /*::[*/0x00a0/*::]*/: { n:"Scl", f:parse_Scl }, - /*::[*/0x00a1/*::]*/: { n:"Setup", f:parse_Setup }, - /*::[*/0x00ae/*::]*/: { n:"ScenMan", f:parse_ScenMan }, - /*::[*/0x00af/*::]*/: { n:"SCENARIO", f:parse_SCENARIO }, - /*::[*/0x00b0/*::]*/: { n:"SxView", f:parse_SxView }, - /*::[*/0x00b1/*::]*/: { n:"Sxvd", f:parse_Sxvd }, - /*::[*/0x00b2/*::]*/: { n:"SXVI", f:parse_SXVI }, - /*::[*/0x00b4/*::]*/: { n:"SxIvd", f:parse_SxIvd }, - /*::[*/0x00b5/*::]*/: { n:"SXLI", f:parse_SXLI }, - /*::[*/0x00b6/*::]*/: { n:"SXPI", f:parse_SXPI }, - /*::[*/0x00b8/*::]*/: { n:"DocRoute", f:parse_DocRoute }, - /*::[*/0x00b9/*::]*/: { n:"RecipName", f:parse_RecipName }, - /*::[*/0x00bd/*::]*/: { n:"MulRk", f:parse_MulRk }, - /*::[*/0x00be/*::]*/: { n:"MulBlank", f:parse_MulBlank }, - /*::[*/0x00c1/*::]*/: { n:'Mms', f:parse_Mms }, - /*::[*/0x00c5/*::]*/: { n:"SXDI", f:parse_SXDI }, - /*::[*/0x00c6/*::]*/: { n:"SXDB", f:parse_SXDB }, - /*::[*/0x00c7/*::]*/: { n:"SXFDB", f:parse_SXFDB }, - /*::[*/0x00c8/*::]*/: { n:"SXDBB", f:parse_SXDBB }, - /*::[*/0x00c9/*::]*/: { n:"SXNum", f:parse_SXNum }, - /*::[*/0x00ca/*::]*/: { n:"SxBool", f:parse_SxBool }, - /*::[*/0x00cb/*::]*/: { n:"SxErr", f:parse_SxErr }, - /*::[*/0x00cc/*::]*/: { n:"SXInt", f:parse_SXInt }, - /*::[*/0x00cd/*::]*/: { n:"SXString", f:parse_SXString }, - /*::[*/0x00ce/*::]*/: { n:"SXDtr", f:parse_SXDtr }, - /*::[*/0x00cf/*::]*/: { n:"SxNil", f:parse_SxNil }, - /*::[*/0x00d0/*::]*/: { n:"SXTbl", f:parse_SXTbl }, - /*::[*/0x00d1/*::]*/: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, - /*::[*/0x00d2/*::]*/: { n:"SxTbpg", f:parse_SxTbpg }, - /*::[*/0x00d3/*::]*/: { n:"ObProj", f:parse_ObProj }, - /*::[*/0x00d5/*::]*/: { n:"SXStreamID", f:parse_SXStreamID }, - /*::[*/0x00d7/*::]*/: { n:"DBCell", f:parse_DBCell }, - /*::[*/0x00d8/*::]*/: { n:"SXRng", f:parse_SXRng }, - /*::[*/0x00d9/*::]*/: { n:"SxIsxoper", f:parse_SxIsxoper }, - /*::[*/0x00da/*::]*/: { n:"BookBool", f:parse_BookBool }, - /*::[*/0x00dc/*::]*/: { n:"DbOrParamQry", f:parse_DbOrParamQry }, - /*::[*/0x00dd/*::]*/: { n:"ScenarioProtect", f:parse_ScenarioProtect }, - /*::[*/0x00de/*::]*/: { n:"OleObjectSize", f:parse_OleObjectSize }, - /*::[*/0x00e0/*::]*/: { n:"XF", f:parse_XF }, - /*::[*/0x00e1/*::]*/: { n:'InterfaceHdr', f:parse_InterfaceHdr }, - /*::[*/0x00e2/*::]*/: { n:'InterfaceEnd', f:parse_InterfaceEnd }, - /*::[*/0x00e3/*::]*/: { n:"SXVS", f:parse_SXVS }, - /*::[*/0x00e5/*::]*/: { n:"MergeCells", f:parse_MergeCells }, - /*::[*/0x00e9/*::]*/: { n:"BkHim", f:parse_BkHim }, - /*::[*/0x00eb/*::]*/: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, - /*::[*/0x00ec/*::]*/: { n:"MsoDrawing", f:parse_MsoDrawing }, - /*::[*/0x00ed/*::]*/: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, - /*::[*/0x00ef/*::]*/: { n:"PhoneticInfo", f:parse_PhoneticInfo }, - /*::[*/0x00f0/*::]*/: { n:"SxRule", f:parse_SxRule }, - /*::[*/0x00f1/*::]*/: { n:"SXEx", f:parse_SXEx }, - /*::[*/0x00f2/*::]*/: { n:"SxFilt", f:parse_SxFilt }, - /*::[*/0x00f4/*::]*/: { n:"SxDXF", f:parse_SxDXF }, - /*::[*/0x00f5/*::]*/: { n:"SxItm", f:parse_SxItm }, - /*::[*/0x00f6/*::]*/: { n:"SxName", f:parse_SxName }, - /*::[*/0x00f7/*::]*/: { n:"SxSelect", f:parse_SxSelect }, - /*::[*/0x00f8/*::]*/: { n:"SXPair", f:parse_SXPair }, - /*::[*/0x00f9/*::]*/: { n:"SxFmla", f:parse_SxFmla }, - /*::[*/0x00fb/*::]*/: { n:"SxFormat", f:parse_SxFormat }, - /*::[*/0x00fc/*::]*/: { n:"SST", f:parse_SST }, - /*::[*/0x00fd/*::]*/: { n:"LabelSst", f:parse_LabelSst }, - /*::[*/0x00ff/*::]*/: { n:"ExtSST", f:parse_ExtSST }, - /*::[*/0x0100/*::]*/: { n:"SXVDEx", f:parse_SXVDEx }, - /*::[*/0x0103/*::]*/: { n:"SXFormula", f:parse_SXFormula }, - /*::[*/0x0122/*::]*/: { n:"SXDBEx", f:parse_SXDBEx }, - /*::[*/0x0137/*::]*/: { n:"RRDInsDel", f:parse_RRDInsDel }, - /*::[*/0x0138/*::]*/: { n:"RRDHead", f:parse_RRDHead }, - /*::[*/0x013b/*::]*/: { n:"RRDChgCell", f:parse_RRDChgCell }, - /*::[*/0x013d/*::]*/: { n:"RRTabId", f:parse_RRTabId }, - /*::[*/0x013e/*::]*/: { n:"RRDRenSheet", f:parse_RRDRenSheet }, - /*::[*/0x013f/*::]*/: { n:"RRSort", f:parse_RRSort }, - /*::[*/0x0140/*::]*/: { n:"RRDMove", f:parse_RRDMove }, - /*::[*/0x014a/*::]*/: { n:"RRFormat", f:parse_RRFormat }, - /*::[*/0x014b/*::]*/: { n:"RRAutoFmt", f:parse_RRAutoFmt }, - /*::[*/0x014d/*::]*/: { n:"RRInsertSh", f:parse_RRInsertSh }, - /*::[*/0x014e/*::]*/: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, - /*::[*/0x014f/*::]*/: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, - /*::[*/0x0150/*::]*/: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, - /*::[*/0x0151/*::]*/: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, - /*::[*/0x0152/*::]*/: { n:"RRDConflict", f:parse_RRDConflict }, - /*::[*/0x0153/*::]*/: { n:"RRDDefName", f:parse_RRDDefName }, - /*::[*/0x0154/*::]*/: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, - /*::[*/0x015f/*::]*/: { n:"LRng", f:parse_LRng }, - /*::[*/0x0160/*::]*/: { n:"UsesELFs", f:parse_UsesELFs }, - /*::[*/0x0161/*::]*/: { n:"DSF", f:parse_DSF }, - /*::[*/0x0191/*::]*/: { n:"CUsr", f:parse_CUsr }, - /*::[*/0x0192/*::]*/: { n:"CbUsr", f:parse_CbUsr }, - /*::[*/0x0193/*::]*/: { n:"UsrInfo", f:parse_UsrInfo }, - /*::[*/0x0194/*::]*/: { n:"UsrExcl", f:parse_UsrExcl }, - /*::[*/0x0195/*::]*/: { n:"FileLock", f:parse_FileLock }, - /*::[*/0x0196/*::]*/: { n:"RRDInfo", f:parse_RRDInfo }, - /*::[*/0x0197/*::]*/: { n:"BCUsrs", f:parse_BCUsrs }, - /*::[*/0x0198/*::]*/: { n:"UsrChk", f:parse_UsrChk }, - /*::[*/0x01a9/*::]*/: { n:"UserBView", f:parse_UserBView }, - /*::[*/0x01aa/*::]*/: { n:"UserSViewBegin", f:parse_UserSViewBegin }, - /*::[*/0x01ab/*::]*/: { n:"UserSViewEnd", f:parse_UserSViewEnd }, - /*::[*/0x01ac/*::]*/: { n:"RRDUserView", f:parse_RRDUserView }, - /*::[*/0x01ad/*::]*/: { n:"Qsi", f:parse_Qsi }, - /*::[*/0x01ae/*::]*/: { n:"SupBook", f:parse_SupBook }, - /*::[*/0x01af/*::]*/: { n:"Prot4Rev", f:parse_Prot4Rev }, - /*::[*/0x01b0/*::]*/: { n:"CondFmt", f:parse_CondFmt }, - /*::[*/0x01b1/*::]*/: { n:"CF", f:parse_CF }, - /*::[*/0x01b2/*::]*/: { n:"DVal", f:parse_DVal }, - /*::[*/0x01b5/*::]*/: { n:"DConBin", f:parse_DConBin }, - /*::[*/0x01b6/*::]*/: { n:"TxO", f:parse_TxO }, - /*::[*/0x01b7/*::]*/: { n:"RefreshAll", f:parse_RefreshAll }, - /*::[*/0x01b8/*::]*/: { n:"HLink", f:parse_HLink }, - /*::[*/0x01b9/*::]*/: { n:"Lel", f:parse_Lel }, - /*::[*/0x01ba/*::]*/: { n:"CodeName", f:parse_XLSCodeName }, - /*::[*/0x01bb/*::]*/: { n:"SXFDBType", f:parse_SXFDBType }, - /*::[*/0x01bc/*::]*/: { n:"Prot4RevPass", f:parse_Prot4RevPass }, - /*::[*/0x01bd/*::]*/: { n:"ObNoMacros", f:parse_ObNoMacros }, - /*::[*/0x01be/*::]*/: { n:"Dv", f:parse_Dv }, - /*::[*/0x01c0/*::]*/: { n:"Excel9File", f:parse_Excel9File }, - /*::[*/0x01c1/*::]*/: { n:"RecalcId", f:parse_RecalcId, r:2}, - /*::[*/0x01c2/*::]*/: { n:"EntExU2", f:parse_EntExU2 }, - /*::[*/0x0200/*::]*/: { n:"Dimensions", f:parse_Dimensions }, - /*::[*/0x0201/*::]*/: { n:"Blank", f:parse_Blank }, - /*::[*/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 }, - /*::[*/0x0221/*::]*/: { n:"Array", f:parse_Array }, - /*::[*/0x0225/*::]*/: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, - /*::[*/0x0236/*::]*/: { n:"Table", f:parse_Table }, - /*::[*/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 }, - /*::[*/0x04bc/*::]*/: { n:"ShrFmla", f:parse_ShrFmla }, - /*::[*/0x0800/*::]*/: { n:"HLinkTooltip", f:parse_HLinkTooltip }, - /*::[*/0x0801/*::]*/: { n:"WebPub", f:parse_WebPub }, - /*::[*/0x0802/*::]*/: { n:"QsiSXTag", f:parse_QsiSXTag }, - /*::[*/0x0803/*::]*/: { n:"DBQueryExt", f:parse_DBQueryExt }, - /*::[*/0x0804/*::]*/: { n:"ExtString", f:parse_ExtString }, - /*::[*/0x0805/*::]*/: { n:"TxtQry", f:parse_TxtQry }, - /*::[*/0x0806/*::]*/: { n:"Qsir", f:parse_Qsir }, - /*::[*/0x0807/*::]*/: { n:"Qsif", f:parse_Qsif }, - /*::[*/0x0808/*::]*/: { n:"RRDTQSIF", f:parse_RRDTQSIF }, - /*::[*/0x0809/*::]*/: { n:'BOF', f:parse_BOF }, - /*::[*/0x080a/*::]*/: { n:"OleDbConn", f:parse_OleDbConn }, - /*::[*/0x080b/*::]*/: { n:"WOpt", f:parse_WOpt }, - /*::[*/0x080c/*::]*/: { n:"SXViewEx", f:parse_SXViewEx }, - /*::[*/0x080d/*::]*/: { n:"SXTH", f:parse_SXTH }, - /*::[*/0x080e/*::]*/: { n:"SXPIEx", f:parse_SXPIEx }, - /*::[*/0x080f/*::]*/: { n:"SXVDTEx", f:parse_SXVDTEx }, - /*::[*/0x0810/*::]*/: { n:"SXViewEx9", f:parse_SXViewEx9 }, - /*::[*/0x0812/*::]*/: { n:"ContinueFrt", f:parse_ContinueFrt }, - /*::[*/0x0813/*::]*/: { n:"RealTimeData", f:parse_RealTimeData }, - /*::[*/0x0850/*::]*/: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, - /*::[*/0x0851/*::]*/: { n:"FrtWrapper", f:parse_FrtWrapper }, - /*::[*/0x0852/*::]*/: { n:"StartBlock", f:parse_StartBlock }, - /*::[*/0x0853/*::]*/: { n:"EndBlock", f:parse_EndBlock }, - /*::[*/0x0854/*::]*/: { n:"StartObject", f:parse_StartObject }, - /*::[*/0x0855/*::]*/: { n:"EndObject", f:parse_EndObject }, - /*::[*/0x0856/*::]*/: { n:"CatLab", f:parse_CatLab }, - /*::[*/0x0857/*::]*/: { n:"YMult", f:parse_YMult }, - /*::[*/0x0858/*::]*/: { n:"SXViewLink", f:parse_SXViewLink }, - /*::[*/0x0859/*::]*/: { n:"PivotChartBits", f:parse_PivotChartBits }, - /*::[*/0x085a/*::]*/: { n:"FrtFontList", f:parse_FrtFontList }, - /*::[*/0x0862/*::]*/: { n:"SheetExt", f:parse_SheetExt }, - /*::[*/0x0863/*::]*/: { n:"BookExt", f:parse_BookExt, r:12}, - /*::[*/0x0864/*::]*/: { n:"SXAddl", f:parse_SXAddl }, - /*::[*/0x0865/*::]*/: { n:"CrErr", f:parse_CrErr }, - /*::[*/0x0866/*::]*/: { n:"HFPicture", f:parse_HFPicture }, - /*::[*/0x0867/*::]*/: { n:'FeatHdr', f:parse_FeatHdr }, - /*::[*/0x0868/*::]*/: { n:"Feat", f:parse_Feat }, - /*::[*/0x086a/*::]*/: { n:"DataLabExt", f:parse_DataLabExt }, - /*::[*/0x086b/*::]*/: { n:"DataLabExtContents", f:parse_DataLabExtContents }, - /*::[*/0x086c/*::]*/: { n:"CellWatch", f:parse_CellWatch }, - /*::[*/0x0871/*::]*/: { n:"FeatHdr11", f:parse_FeatHdr11 }, - /*::[*/0x0872/*::]*/: { n:"Feature11", f:parse_Feature11 }, - /*::[*/0x0874/*::]*/: { n:"DropDownObjIds", f:parse_DropDownObjIds }, - /*::[*/0x0875/*::]*/: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, - /*::[*/0x0876/*::]*/: { n:"DConn", f:parse_DConn }, - /*::[*/0x0877/*::]*/: { n:"List12", f:parse_List12 }, - /*::[*/0x0878/*::]*/: { n:"Feature12", f:parse_Feature12 }, - /*::[*/0x0879/*::]*/: { n:"CondFmt12", f:parse_CondFmt12 }, - /*::[*/0x087a/*::]*/: { n:"CF12", f:parse_CF12 }, - /*::[*/0x087b/*::]*/: { n:"CFEx", f:parse_CFEx }, - /*::[*/0x087c/*::]*/: { n:"XFCRC", f:parse_XFCRC, r:12 }, - /*::[*/0x087d/*::]*/: { n:"XFExt", f:parse_XFExt, r:12 }, - /*::[*/0x087e/*::]*/: { n:"AutoFilter12", f:parse_AutoFilter12 }, - /*::[*/0x087f/*::]*/: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, - /*::[*/0x0884/*::]*/: { n:"MDTInfo", f:parse_MDTInfo }, - /*::[*/0x0885/*::]*/: { n:"MDXStr", f:parse_MDXStr }, - /*::[*/0x0886/*::]*/: { n:"MDXTuple", f:parse_MDXTuple }, - /*::[*/0x0887/*::]*/: { n:"MDXSet", f:parse_MDXSet }, - /*::[*/0x0888/*::]*/: { n:"MDXProp", f:parse_MDXProp }, - /*::[*/0x0889/*::]*/: { n:"MDXKPI", f:parse_MDXKPI }, - /*::[*/0x088a/*::]*/: { n:"MDB", f:parse_MDB }, - /*::[*/0x088b/*::]*/: { n:"PLV", f:parse_PLV }, - /*::[*/0x088c/*::]*/: { n:"Compat12", f:parse_Compat12, r:12 }, - /*::[*/0x088d/*::]*/: { n:"DXF", f:parse_DXF }, - /*::[*/0x088e/*::]*/: { n:"TableStyles", f:parse_TableStyles, r:12 }, - /*::[*/0x088f/*::]*/: { n:"TableStyle", f:parse_TableStyle }, - /*::[*/0x0890/*::]*/: { n:"TableStyleElement", f:parse_TableStyleElement }, - /*::[*/0x0892/*::]*/: { n:"StyleExt", f:parse_StyleExt }, - /*::[*/0x0893/*::]*/: { n:"NamePublish", f:parse_NamePublish }, - /*::[*/0x0894/*::]*/: { n:"NameCmt", f:parse_NameCmt }, - /*::[*/0x0895/*::]*/: { n:"SortData", f:parse_SortData }, - /*::[*/0x0896/*::]*/: { n:"Theme", f:parse_Theme, r:12 }, - /*::[*/0x0897/*::]*/: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, - /*::[*/0x0898/*::]*/: { n:"FnGrp12", f:parse_FnGrp12 }, - /*::[*/0x0899/*::]*/: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, - /*::[*/0x089a/*::]*/: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, - /*::[*/0x089b/*::]*/: { n:"CompressPictures", f:parse_CompressPictures }, - /*::[*/0x089c/*::]*/: { n:"HeaderFooter", f:parse_HeaderFooter }, - /*::[*/0x089d/*::]*/: { n:"CrtLayout12", f:parse_CrtLayout12 }, - /*::[*/0x089e/*::]*/: { n:"CrtMlFrt", f:parse_CrtMlFrt }, - /*::[*/0x089f/*::]*/: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, - /*::[*/0x08a3/*::]*/: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, - /*::[*/0x08a4/*::]*/: { n:"ShapePropsStream", f:parse_ShapePropsStream }, - /*::[*/0x08a5/*::]*/: { n:"TextPropsStream", f:parse_TextPropsStream }, - /*::[*/0x08a6/*::]*/: { n:"RichTextStream", f:parse_RichTextStream }, - /*::[*/0x08a7/*::]*/: { n:"CrtLayout12A", f:parse_CrtLayout12A }, - /*::[*/0x1001/*::]*/: { n:"Units", f:parse_Units }, - /*::[*/0x1002/*::]*/: { n:"Chart", f:parse_Chart }, - /*::[*/0x1003/*::]*/: { n:"Series", f:parse_Series }, - /*::[*/0x1006/*::]*/: { n:"DataFormat", f:parse_DataFormat }, - /*::[*/0x1007/*::]*/: { n:"LineFormat", f:parse_LineFormat }, - /*::[*/0x1009/*::]*/: { n:"MarkerFormat", f:parse_MarkerFormat }, - /*::[*/0x100a/*::]*/: { n:"AreaFormat", f:parse_AreaFormat }, - /*::[*/0x100b/*::]*/: { n:"PieFormat", f:parse_PieFormat }, - /*::[*/0x100c/*::]*/: { n:"AttachedLabel", f:parse_AttachedLabel }, - /*::[*/0x100d/*::]*/: { n:"SeriesText", f:parse_SeriesText }, - /*::[*/0x1014/*::]*/: { n:"ChartFormat", f:parse_ChartFormat }, - /*::[*/0x1015/*::]*/: { n:"Legend", f:parse_Legend }, - /*::[*/0x1016/*::]*/: { n:"SeriesList", f:parse_SeriesList }, - /*::[*/0x1017/*::]*/: { n:"Bar", f:parse_Bar }, - /*::[*/0x1018/*::]*/: { n:"Line", f:parse_Line }, - /*::[*/0x1019/*::]*/: { n:"Pie", f:parse_Pie }, - /*::[*/0x101a/*::]*/: { n:"Area", f:parse_Area }, - /*::[*/0x101b/*::]*/: { n:"Scatter", f:parse_Scatter }, - /*::[*/0x101c/*::]*/: { n:"CrtLine", f:parse_CrtLine }, - /*::[*/0x101d/*::]*/: { n:"Axis", f:parse_Axis }, - /*::[*/0x101e/*::]*/: { n:"Tick", f:parse_Tick }, - /*::[*/0x101f/*::]*/: { n:"ValueRange", f:parse_ValueRange }, - /*::[*/0x1020/*::]*/: { n:"CatSerRange", f:parse_CatSerRange }, - /*::[*/0x1021/*::]*/: { n:"AxisLine", f:parse_AxisLine }, - /*::[*/0x1022/*::]*/: { n:"CrtLink", f:parse_CrtLink }, - /*::[*/0x1024/*::]*/: { n:"DefaultText", f:parse_DefaultText }, - /*::[*/0x1025/*::]*/: { n:"Text", f:parse_Text }, - /*::[*/0x1026/*::]*/: { n:"FontX", f:parse_FontX }, - /*::[*/0x1027/*::]*/: { n:"ObjectLink", f:parse_ObjectLink }, - /*::[*/0x1032/*::]*/: { n:"Frame", f:parse_Frame }, - /*::[*/0x1033/*::]*/: { n:"Begin", f:parse_Begin }, - /*::[*/0x1034/*::]*/: { n:"End", f:parse_End }, - /*::[*/0x1035/*::]*/: { n:"PlotArea", f:parse_PlotArea }, - /*::[*/0x103a/*::]*/: { n:"Chart3d", f:parse_Chart3d }, - /*::[*/0x103c/*::]*/: { n:"PicF", f:parse_PicF }, - /*::[*/0x103d/*::]*/: { n:"DropBar", f:parse_DropBar }, - /*::[*/0x103e/*::]*/: { n:"Radar", f:parse_Radar }, - /*::[*/0x103f/*::]*/: { n:"Surf", f:parse_Surf }, - /*::[*/0x1040/*::]*/: { n:"RadarArea", f:parse_RadarArea }, - /*::[*/0x1041/*::]*/: { n:"AxisParent", f:parse_AxisParent }, - /*::[*/0x1043/*::]*/: { n:"LegendException", f:parse_LegendException }, - /*::[*/0x1044/*::]*/: { n:"ShtProps", f:parse_ShtProps }, - /*::[*/0x1045/*::]*/: { n:"SerToCrt", f:parse_SerToCrt }, - /*::[*/0x1046/*::]*/: { n:"AxesUsed", f:parse_AxesUsed }, - /*::[*/0x1048/*::]*/: { n:"SBaseRef", f:parse_SBaseRef }, - /*::[*/0x104a/*::]*/: { n:"SerParent", f:parse_SerParent }, - /*::[*/0x104b/*::]*/: { n:"SerAuxTrend", f:parse_SerAuxTrend }, - /*::[*/0x104e/*::]*/: { n:"IFmtRecord", f:parse_IFmtRecord }, - /*::[*/0x104f/*::]*/: { n:"Pos", f:parse_Pos }, - /*::[*/0x1050/*::]*/: { n:"AlRuns", f:parse_AlRuns }, - /*::[*/0x1051/*::]*/: { n:"BRAI", f:parse_BRAI }, - /*::[*/0x105b/*::]*/: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, - /*::[*/0x105c/*::]*/: { n:"ClrtClient", f:parse_ClrtClient }, - /*::[*/0x105d/*::]*/: { n:"SerFmt", f:parse_SerFmt }, - /*::[*/0x105f/*::]*/: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, - /*::[*/0x1060/*::]*/: { n:"Fbi", f:parse_Fbi }, - /*::[*/0x1061/*::]*/: { n:"BopPop", f:parse_BopPop }, - /*::[*/0x1062/*::]*/: { n:"AxcExt", f:parse_AxcExt }, - /*::[*/0x1063/*::]*/: { n:"Dat", f:parse_Dat }, - /*::[*/0x1064/*::]*/: { n:"PlotGrowth", f:parse_PlotGrowth }, - /*::[*/0x1065/*::]*/: { n:"SIIndex", f:parse_SIIndex }, - /*::[*/0x1066/*::]*/: { n:"GelFrame", f:parse_GelFrame }, - /*::[*/0x1067/*::]*/: { n:"BopPopCustom", f:parse_BopPopCustom }, - /*::[*/0x1068/*::]*/: { n:"Fbi2", f:parse_Fbi2 }, - - /* These are specified in an older version of the spec */ - /*::[*/0x0000/*::]*/: { n:"Dimensions", f:parse_Dimensions }, - /*::[*/0x0002/*::]*/: { n:"BIFF2INT", f:parse_BIFF2INT }, - /*::[*/0x0005/*::]*/: { n:"BoolErr", f:parse_BoolErr }, - /*::[*/0x0007/*::]*/: { n:"String", f:parse_BIFF2STRING }, - /*::[*/0x0008/*::]*/: { n:"BIFF2ROW", f:parsenoop }, - /*::[*/0x000b/*::]*/: { n:"Index", f:parse_Index }, - /*::[*/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 }, - /*::[*/0x0045/*::]*/: { n:"BIFF2FONTCLR", f:parsenoop }, - /*::[*/0x0056/*::]*/: { n:"BIFF4FMTCNT", f:parsenoop }, /* 16-bit cnt, similar to BIFF2 */ - /*::[*/0x007e/*::]*/: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ - /*::[*/0x007f/*::]*/: { n:"ImData", f:parsenoop }, - /*::[*/0x0087/*::]*/: { n:"Addin", f:parsenoop }, - /*::[*/0x0088/*::]*/: { n:"Edg", f:parsenoop }, - /*::[*/0x0089/*::]*/: { n:"Pub", f:parsenoop }, - /*::[*/0x0091/*::]*/: { n:"Sub", f:parsenoop }, - /*::[*/0x0094/*::]*/: { n:"LHRecord", f:parsenoop }, - /*::[*/0x0095/*::]*/: { n:"LHNGraph", f:parsenoop }, - /*::[*/0x0096/*::]*/: { n:"Sound", f:parsenoop }, - /*::[*/0x00a9/*::]*/: { n:"CoordList", f:parsenoop }, - /*::[*/0x00ab/*::]*/: { n:"GCW", f:parsenoop }, - /*::[*/0x00bc/*::]*/: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ - /*::[*/0x00c2/*::]*/: { n:"AddMenu", f:parsenoop }, - /*::[*/0x00c3/*::]*/: { n:"DelMenu", f:parsenoop }, - /*::[*/0x00d6/*::]*/: { n:"RString", f:parse_RString }, - /*::[*/0x00df/*::]*/: { n:"UDDesc", f:parsenoop }, - /*::[*/0x00ea/*::]*/: { n:"TabIdConf", f:parsenoop }, - /*::[*/0x0162/*::]*/: { n:"XL5Modify", f:parsenoop }, - /*::[*/0x01a5/*::]*/: { n:"FileSharing2", f:parsenoop }, - /*::[*/0x0209/*::]*/: { n:'BOF', f:parse_BOF }, - /*::[*/0x0218/*::]*/: { n:"Lbl", f:parse_Lbl }, - /*::[*/0x0223/*::]*/: { n:"ExternName", f:parse_ExternName }, - /*::[*/0x0231/*::]*/: { n:"Font", f:parsenoop }, - /*::[*/0x0409/*::]*/: { n:'BOF', f:parse_BOF }, - /*::[*/0x086d/*::]*/: { n:"FeatInfo", f:parsenoop }, - /*::[*/0x0873/*::]*/: { n:"FeatInfo11", f:parsenoop }, - /*::[*/0x0881/*::]*/: { n:"SXAddl12", f:parsenoop }, - /*::[*/0x08c0/*::]*/: { n:"AutoWebPub", f:parsenoop }, - /*::[*/0x08c1/*::]*/: { n:"ListObj", f:parsenoop }, - /*::[*/0x08c2/*::]*/: { n:"ListField", f:parsenoop }, - /*::[*/0x08c3/*::]*/: { n:"ListDV", f:parsenoop }, - /*::[*/0x08c4/*::]*/: { n:"ListCondFmt", f:parsenoop }, - /*::[*/0x08c5/*::]*/: { n:"ListCF", f:parsenoop }, - /*::[*/0x08c6/*::]*/: { n:"FMQry", f:parsenoop }, - /*::[*/0x08c7/*::]*/: { n:"FMSQry", f:parsenoop }, - /*::[*/0x08c8/*::]*/: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ - /*::[*/0x08c9/*::]*/: { n:"LnExt", f:parsenoop }, - /*::[*/0x08ca/*::]*/: { n:"MkrExt", f:parsenoop }, - /*::[*/0x08cb/*::]*/: { n:"CrtCoopt", f:parsenoop }, - - /*::[*/0x0043/*::]*/: { n:"BIFF2XF", f:parsenoop }, - /*::[*/0x0243/*::]*/: { n:"BIFF3XF", f:parsenoop }, - /*::[*/0x0443/*::]*/: { n:"BIFF4XF", f:parsenoop }, - - /*::[*/0x7262/*::]*/: {} -}; - - diff --git a/bits/72_wbxml.js b/bits/77_wbxml.js similarity index 83% rename from bits/72_wbxml.js rename to bits/77_wbxml.js index 9048628..84a3ca8 100644 --- a/bits/72_wbxml.js +++ b/bits/77_wbxml.js @@ -1,10 +1,9 @@ /* 18.2 Workbook */ var wbnsregex = /<\w+:workbook/; -function parse_wb_xml(data, opts)/*:WorkbookFile*/ { - if(!data) throw new Error("Could not find file"); +function parse_wb_xml(data, opts) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false, xmlns = "xmlns"; - (data.match(tagregex)||[]).forEach(function xml_wb(x) { + data.match(tagregex).forEach(function xml_wb(x) { var y = parsexmltag(x); switch(strip_ns(y[0])) { case '': case '': break; + case '': break; /* 18.2.12 fileSharing CT_FileSharing ? */ case '': break; @@ -26,7 +25,6 @@ function parse_wb_xml(data, opts)/*:WorkbookFile*/ { /* 18.2.28 workbookPr CT_WorkbookPr ? */ case '': delete y[0]; wb.WBProps = y; break; - case '': break; /* 18.2.29 workbookProtection CT_WorkbookProtection ? */ case '': case '': break; /* 18.2.30 workbookView CT_BookView + */ case '': break; /* 18.2.20 sheets CT_Sheets 1 */ case '': case '': break; // aggregate sheet /* 18.2.19 sheet CT_Sheet + */ - case '': break; + case '': break; @@ -64,7 +60,6 @@ function parse_wb_xml(data, opts)/*:WorkbookFile*/ { /* 18.2.2 calcPr CT_CalcPr ? */ case '': delete y[0]; wb.CalcPr = y; break; - case '': break; /* 18.2.16 oleSize CT_OleSize ? (ref required) */ case '': pass=false; break; - default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in workbook'); + 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); @@ -126,21 +121,18 @@ var WB_XML_ROOT = writextag('workbook', null, { 'xmlns:r': XMLNS.r }); -function safe1904(wb/*:Workbook*/)/*:string*/ { +function safe1904(wb) { /* TODO: store date1904 somewhere else */ - if(!wb.Workbook) return "false"; - if(!wb.Workbook.WBProps) return "false"; - // $FlowIgnore - return parsexmlbool(wb.Workbook.WBProps.date1904) ? "true" : "false"; + try { return parsexmlbool(wb.Workbook.WBProps.date1904) ? "true" : "false"; } catch(e) { return "false"; } } -function write_wb_xml(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:string*/ { +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:escapexml(wb.SheetNames[i].substr(0,31)), sheetId:""+(i+1), "r:id":"rId"+(i+1)})); + 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(""); diff --git a/bits/73_wbbin.js b/bits/78_wbbin.js similarity index 77% rename from bits/73_wbbin.js rename to bits/78_wbbin.js index a86b56c..8edf347 100644 --- a/bits/73_wbbin.js +++ b/bits/78_wbbin.js @@ -1,5 +1,5 @@ /* [MS-XLSB] 2.4.301 BrtBundleSh */ -function parse_BrtBundleSh(data, length/*:number*/) { +function parse_BrtBundleSh(data, length) { var z = {}; z.hsState = data.read_shift(4); //ST_SheetState z.iTabID = data.read_shift(4); @@ -13,7 +13,7 @@ function write_BrtBundleSh(data, o) { 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; + return o; } /* [MS-XLSB] 2.4.807 BrtWbProp */ @@ -38,46 +38,18 @@ 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)/*:WorkbookFile*/ { +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 'BrtWbProp': break; case 'BrtACBegin': break; case 'BrtAbsPath15': break; case 'BrtACEnd': break; @@ -96,6 +68,7 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { case 'BrtSupBookSrc': break; case 'BrtExternSheet': break; case 'BrtEndExternals': break; + case 'BrtName': break; case 'BrtCalcProp': break; case 'BrtUserBookView': break; case 'BrtBeginPivotCacheIDs': break; @@ -122,14 +95,10 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { case 'BrtEndBook': break; default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.n); } - }, opts); + }); parse_wb_defaults(wb); - Names['!names'] = NameList; - // $FlowIgnore - wb.Names = Names; - return wb; } @@ -152,7 +121,7 @@ function write_BrtFileVersion(data, 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; + return o; } /* [MS-XLSB] 2.1.7.60 Workbook */ @@ -175,7 +144,6 @@ function write_BrtCalcProp(data, o) { return o; } -/* [MS-XLSB] 2.4.640 BrtFileRecover */ function write_BrtFileRecover(data, o) { if(!o) o = new_buf(1); o.write_shift(1,0); @@ -188,22 +156,22 @@ function write_wb_bin(wb, opts) { write_record(ba, "BrtBeginBook"); write_record(ba, "BrtFileVersion", write_BrtFileVersion()); /* [[BrtFileSharingIso] BrtFileSharing] */ - if(0) write_record(ba, "BrtWbProp", write_BrtWbProp()); + write_record(ba, "BrtWbProp", write_BrtWbProp()); /* [ACABSPATH] */ /* [[BrtBookProtectionIso] BrtBookProtection] */ - if(0) write_BOOKVIEWS(ba, wb, opts); + write_BOOKVIEWS(ba, wb, opts); write_BUNDLESHS(ba, wb, opts); /* [FNGROUP] */ /* [EXTERNALS] */ /* *BrtName */ - if(0) write_record(ba, "BrtCalcProp", write_BrtCalcProp()); + write_record(ba, "BrtCalcProp", write_BrtCalcProp()); /* [BrtOleSize] */ /* *(BrtUserBookView *FRT) */ /* [PIVOTCACHEIDS] */ /* [BrtWbFactoid] */ /* [SMARTTAGTYPES] */ /* [BrtWebOpt] */ - if(0) write_record(ba, "BrtFileRecover", write_BrtFileRecover()); + write_record(ba, "BrtFileRecover", write_BrtFileRecover()); /* [WEBPUBITEMS] */ /* [CRERRS] */ /* FRTWORKBOOK */ diff --git a/bits/78_writebiff.js b/bits/78_writebiff.js deleted file mode 100644 index 4b67c2c..0000000 --- a/bits/78_writebiff.js +++ /dev/null @@ -1,103 +0,0 @@ -/* BIFF2-4 single-sheet workbooks */ -function write_biff_rec(ba/*:BufArray*/, t/*:number*/, payload, length/*:?number*/) { - var len = (length || (payload||[]).length); - var o = ba.next(4 + len); - o.write_shift(2, t); - o.write_shift(2, len); - if(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload); -} - -function write_BOF(wb/*:Workbook*/, o) { - if(o.bookType != 'biff2') throw "unsupported BIFF version"; - var out = new_buf(4); - out.write_shift(2, 0x0002); // "unused" - out.write_shift(2, 0x0010); // Sheet - return out; -} - -function write_BIFF2Cell(out, r/*:number*/, c/*:number*/) { - 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/*:number*/, c/*:number*/, 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; -} - -/* TODO: codepage, large strings */ -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 < out.length ? out.slice(0, out.l) : out; -} - -function write_ws_biff_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { - switch(cell.t) { - case 'n': - if((cell.v == (cell.v|0)) && (cell.v >= 0) && (cell.v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, cell.v)); - else - write_biff_rec(ba, 0x0003, write_BIFF2NUMBER(R,C, cell.v)); - break; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); break; - /* TODO: codepage, sst */ - case 's': case 'str': - write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v)); - break; - default: write_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C)); - } -} - -function write_biff_ws(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) { - 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 cell */ - write_ws_biff_cell(ba, ws[ref], R, C, opts); - } - } -} - -/* Based on test files */ -function write_biff_buf(wb/*:Workbook*/, o/*:WriteOpts*/) { - var ba = buf_array(); - var idx = 0; - for(var i=0;i / pair"); - var rows = str.slice(i, j).split(/]*>/); - var R = 0, C = 0; - var range = {s:{r:10000000, c:10000000},e:{r:0,c:0}}; - for(i = 0; i < rows.length; ++i) { - if(rows[i].substr(0,3) != ""); - for(j = 0; j < cells.length; ++j) { - if(cells[j].substr(0,3) != "")) > -1) m = m.slice(cc+1); - while(m.indexOf(">") > -1) m = m.slice(0, m.lastIndexOf("<")); - /* TODO: generate stub cells */ - if(!m.length) continue; - if(range.s.r > R) range.s.r = R; - if(range.e.r < R) range.e.r = R; - if(range.s.c > C) range.s.c = C; - if(range.e.c < C) range.e.c = C; - var coord/*:string*/ = encode_cell({r:R, c:C}); - /* TODO: value parsing */ - if(Number(m) == Number(m)) ws[coord] = {t:'n', v:+m}; - else ws[coord] = {t:'s', v:m}; - } - ++R; C = 0; - } - ws['!ref'] = encode_range(range); - return o; -} diff --git a/bits/79_xmlbin.js b/bits/79_xmlbin.js new file mode 100644 index 0000000..77d1e78 --- /dev/null +++ b/bits/79_xmlbin.js @@ -0,0 +1,52 @@ +function parse_wb(data, name, opts) { + return (name.substr(-4)===".bin" ? parse_wb_bin : parse_wb_xml)(data, opts); +} + +function parse_ws(data, name, opts, rels) { + return (name.substr(-4)===".bin" ? parse_ws_bin : parse_ws_xml)(data, opts, rels); +} + +function parse_sty(data, name, opts) { + return (name.substr(-4)===".bin" ? parse_sty_bin : parse_sty_xml)(data, opts); +} + +function parse_theme(data, name, opts) { + return parse_theme_xml(data, opts); +} + +function parse_sst(data, name, opts) { + return (name.substr(-4)===".bin" ? parse_sst_bin : parse_sst_xml)(data, opts); +} + +function parse_cmnt(data, name, opts) { + return (name.substr(-4)===".bin" ? parse_comments_bin : parse_comments_xml)(data, opts); +} + +function parse_cc(data, name, opts) { + return (name.substr(-4)===".bin" ? parse_cc_bin : parse_cc_xml)(data, opts); +} + +function write_wb(wb, name, opts) { + return (name.substr(-4)===".bin" ? write_wb_bin : write_wb_xml)(wb, opts); +} + +function write_ws(data, name, opts, wb) { + return (name.substr(-4)===".bin" ? write_ws_bin : write_ws_xml)(data, opts, wb); +} + +function write_sty(data, name, opts) { + return (name.substr(-4)===".bin" ? write_sty_bin : write_sty_xml)(data, opts); +} + +function write_sst(data, name, opts) { + return (name.substr(-4)===".bin" ? write_sst_bin : write_sst_xml)(data, opts); +} +/* +function write_cmnt(data, name, opts) { + return (name.substr(-4)===".bin" ? write_comments_bin : write_comments_xml)(data, opts); +} + +function write_cc(data, name, opts) { + return (name.substr(-4)===".bin" ? write_cc_bin : write_cc_xml)(data, opts); +} +*/ diff --git a/bits/80_parseods.js b/bits/80_parseods.js deleted file mode 100644 index 42b01b3..0000000 --- a/bits/80_parseods.js +++ /dev/null @@ -1,394 +0,0 @@ -var parse_content_xml = (function() { - - var parse_text_p = function(text, tag) { - return unescapexml(text.replace(//g," ").replace(/<[^>]*>/g,"")); - }; - - var number_formats = { - /* ods name: [short ssf fmt, long ssf fmt] */ - 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/*:string*/, _opts)/*:Workbook*/ { - var opts = _opts || {}; - var str = xlml_normalize(d); - var state/*:Array*/ = [], tmp; - var tag/*:: = {}*/; - var NFtag = {name:""}, NF = "", pidx = 0; - var sheetag/*:: = {name:"", '名称':""}*/; - var rowtag/*:: = {'行号':""}*/; - var Sheets = {}, SheetNames/*:Array*/ = [], ws = {}; - 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 arrayf = []; - var rept = 1, isstub = false; - var i = 0; - xlmlregex.lastIndex = 0; - while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { - - case 'table': case '工作表': // 9.1.2 - if(Rn[1]==='/') { - if(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range); - if(merges.length) ws['!merges'] = merges; - sheetag.name = utf8read(sheetag['名称'] || 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 = 10000000; range.e.r = range.e.c = 0; - ws = {}; merges = []; - } - break; - - case 'table-row': case '行': // 9.1.3 - if(Rn[1] === '/') break; - rowtag = parsexmltag(Rn[0], false); - if(rowtag['行号']) R = rowtag['行号'] - 1; else ++R; - C = -1; break; - case 'covered-table-cell': // 9.1.5 table:covered-table-cell - ++C; break; /* stub */ - case 'table-cell': case '数据': - 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 < range.s.c) range.s.c = C; - if(R < range.s.r) range.s.r = R; - ctag = parsexmltag(Rn[0], false); - q = ({t:ctag['数据类型'] || 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 = 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; - mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; - merges.push(mrange); - } - - /* 19.675.2 table:number-columns-repeated */ - if(ctag['number-columns-repeated']) rept = parseInt(ctag['number-columns-repeated'], 10); - - /* 19.385 office:value-type */ - 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(new Date(ctag['date-value'])); q.z = 'm/d/yy'; break; - case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; - default: - if(q.t === 'string' || q.t === 'text' || !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.sheetRows < R)) { - ws[encode_cell({r:R,c:C})] = q; - while(--rept > 0) ws[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 = ""; - } - break; // 9.1.4 - - /* pure state */ - case 'document': // TODO: is the root for FODS - case 'document-content': case '电子表格文档': // 3.1.3.2 - case 'spreadsheet': case '主体': // 3.7 - case 'scripts': // 3.12 - case 'styles': // TODO - case 'font-face-decls': // 3.14 - 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; - - /* ignore state */ - case 'meta': case '元数据': // TODO: FODS/UOF - case 'settings': // TODO: - case 'config-item-set': // TODO: - case 'config-item-map-indexed': // TODO: - case 'config-item-map-entry': // TODO: - case 'config-item-map-named': // TODO: - case 'shapes': // 9.2.8 - case 'frame': // 10.4.2 - case 'text-box': // 10.4.3 - case 'image': // 10.4.4 - case 'data-pilot-tables': // 9.6.2 - case 'list-style': // 16.30 - case 'form': // 13.13 - case 'dde-links': // 9.8 - case 'annotation': // 14.1 - case 'event-listeners': // TODO - 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 'scientific-number': // TODO: - break; - case 'currency-symbol': // TODO: - break; - case 'currency-style': // TODO: - break; - case 'number-style': // 16.27.2 - case 'percentage-style': // 16.27.9 - case 'date-style': // 16.27.10 - case 'time-style': // 16.27.18 - 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; // 3.13 - case 'libraries': break; // TODO: - case 'automatic-styles': break; // 3.15.3 - case 'master-styles': break; // TODO: - - case 'default-style': // TODO: - case 'page-layout': break; // TODO: - case 'style': break; // 16.2 - case 'map': break; // 16.3 - case 'font-face': break; // 16.21 - - case 'paragraph-properties': break; // 17.6 - case 'table-properties': break; // 17.15 - case 'table-column-properties': break; // 17.16 - case 'table-row-properties': break; // 17.17 - case 'table-cell-properties': break; // 17.18 - - case 'number': // 16.27.3 - 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; // TODO 16.27.6 - - case 'day': // 16.27.11 - case 'month': // 16.27.12 - case 'year': // 16.27.13 - case 'era': // 16.27.14 - case 'day-of-week': // 16.27.15 - case 'week-of-year': // 16.27.16 - case 'quarter': // 16.27.17 - case 'hours': // 16.27.19 - case 'minutes': // 16.27.20 - case 'seconds': // 16.27.21 - case 'am-pm': // 16.27.22 - 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; // 16.27.23 - case 'boolean': break; // 16.27.24 - case 'text-style': break; // 16.27.25 - case 'text': // 16.27.26 - if(Rn[0].slice(-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; // 16.27.27 - case 'text-properties': break; // 16.27.27 - - case 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3 - - case 'forms': break; // 12.25.2 13.2 - case 'table-column': break; // 9.1.6 - - case 'null-date': break; // 9.4.2 TODO: date1904 - - case 'graphic-properties': break; // 17.21 - case 'calculation-settings': break; // 9.4.1 - case 'named-expressions': break; // 9.4.11 - case 'named-range': break; // 9.4.12 - case 'named-expression': break; // 9.4.13 - case 'sort': break; // 9.4.19 - case 'sort-by': break; // 9.4.20 - case 'sort-groups': break; // 9.4.22 - - case 'span': break; // - case 'line-break': break; // 6.1.5 - case 'p': case '文本串': - 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; // <*:date> - - case 'object': break; // 10.4.6.2 - case 'title': case '标题': break; // <*:title> OR - case 'desc': break; // <*:desc> - - case 'table-source': break; // 9.2.6 - - case 'iteration': break; // 9.4.3 - case 'content-validations': break; // 9.4.4 - case 'database-range': break; // 9.4.15 - case 'filter': break; // 9.5.2 - case 'filter-and': break; // 9.5.3 - case 'filter-or': break; // 9.5.4 - case 'filter-condition': break; // 9.5.5 - - case 'list-level-style-bullet': break; // 16.31 - case 'page-count': break; // TODO - case 'time': break; // TODO - - /* 9.6 Data Pilot Tables - case 'property': break; // 13.8 - - case 'a': break; // 6.1.8 hyperlink - - /* non-standard */ - case 'table-protection': break; - case 'data-pilot-grand-total': break; // -1 ? unescapexml(ss) : cell.r; + 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 * 1000); @@ -118,24 +114,9 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a 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); - /* 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.cellFormula != null && cell.Formula) { + cell.f = rc_to_a1(unescapexml(cell.Formula), base); + cell.Formula = undefined; } if(o.cellStyles) { interiors.forEach(function(x) { @@ -146,45 +127,38 @@ function parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, a cell.ixfe = cell.StyleID !== undefined ? cell.StyleID : 'Default'; } -function xlml_clean_comment(comment/*:any*/) { +function xlml_clean_comment(comment) { comment.t = comment.v; comment.v = comment.w = comment.ixfe = undefined; } -function xlml_normalize(d)/*:string*/ { - if(has_buf &&/*::typeof Buffer !== "undefined" && d != null &&*/ Buffer.isBuffer(d)) return d.toString('utf8'); +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"); + throw "badf"; } /* TODO: Everything */ -/* UOS uses CJK in tags */ -var xlmlregex = /<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/mg; -//var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; -function parse_xlml_xml(d, opts)/*:Workbook*/ { - var str = debom(xlml_normalize(d)); - if(opts && opts.type == 'binary' && typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str)); - if(str.substr(0,1000).indexOf("= 0) return parse_html(str, opts); +var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; +function parse_xlml_xml(d, opts) { + var str = xlml_normalize(d); var Rn; var state = [], tmp; var sheets = {}, sheetnames = [], cursheet = {}, sheetname = ""; - var table = {}, cell = ({}/*:any*/), row = {}; - var dtag = xlml_parsexmltag(''), didx = 0; + var table = {}, cell = {}, row = {}, dtag, didx; var c = 0, r = 0; - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess = {s: {r:1000000, c:1000000}, 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; - str = str.replace(//mg,""); 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); + 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': @@ -207,15 +181,15 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { if(cell.Index) c = +cell.Index - 1; if(c < refguess.s.c) refguess.s.c = c; if(c > refguess.e.c) refguess.e.c = c; - if(Rn[0].slice(-2) === "/>") ++c; + if(Rn[0].substr(-2) === "/>") ++c; comments = []; } break; case 'Row': - if(Rn[1]==='/' || Rn[0].slice(-2) === "/>") { + if(Rn[1]==='/' || Rn[0].substr(-2) === "/>") { if(r < refguess.s.r) refguess.s.r = r; if(r > refguess.e.r) refguess.e.r = r; - if(Rn[0].slice(-2) === "/>") { + if(Rn[0].substr(-2) === "/>") { row = xlml_parsexmltag(Rn[0]); if(row.Index) r = +row.Index - 1; } @@ -227,23 +201,23 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { break; case 'Worksheet': /* TODO: read range from FullRows/FullColumns */ if(Rn[1]==='/'){ - if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|")); + 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:2000000, c:2000000}, e: {r:0, c:0} }; + refguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} }; r = c = 0; state.push([Rn[3], false]); tmp = xlml_parsexmltag(Rn[0]); - sheetname = unescapexml(tmp.Name); + sheetname = tmp.Name; cursheet = {}; mergecells = []; } break; case 'Table': - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} + 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]); @@ -281,7 +255,7 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { case 'Alignment': break; case 'Borders': break; case 'Font': - if(Rn[0].slice(-2) === "/>") break; + if(Rn[0].substr(-2) === "/>") break; else if(Rn[1]==="/") ss += str.slice(fidx, Rn.index); else fidx = Rn.index + Rn[0].length; break; @@ -307,7 +281,7 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { case 'TotalTime': case 'HyperlinkBase': case 'Manager': - if(Rn[0].slice(-2) === "/>") break; + 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; @@ -315,13 +289,13 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { case 'Styles': case 'Workbook': - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} + 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 new Error("Bad state: "+tmp.join("|")); + if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp; xlml_clean_comment(comment); comments.push(comment); } else { @@ -354,16 +328,11 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { case 'ExcelWorkbook': case 'WorkbookOptions': case 'WorksheetOptions': - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} + 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: - /* FODS file root is */ - if(state.length == 0 && Rn[3] == "document") return parse_fods(str, opts); - /* UOS file root is */ - if(state.length == 0 && Rn[3] == "UOF") return parse_fods(str, opts); - var seen = true; switch(state[state.length-1][0]) { /* OfficeDocumentSettings */ @@ -701,14 +670,14 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { /* CustomDocumentProperties */ if(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); if(state[state.length-1][0]==='CustomDocumentProperties') { - if(Rn[0].slice(-2) === "/>") break; + 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 = ({}/*:any*/); + var out = {}; if(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets; out.SheetNames = sheetnames; out.SSF = SSF.get_table(); @@ -717,96 +686,14 @@ function parse_xlml_xml(d, opts)/*:Workbook*/ { return out; } -function parse_xlml(data, opts)/*:Workbook*/ { +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); } - /*:: throw new Error("unsupported type " + opts.type); */ } -/* TODO */ -function write_props_xlml(wb, opts) { - var o = []; - /* DocumentProperties */ - if(wb.Props) o.push(xlml_write_docprops(wb.Props)); - /* CustomDocumentProperties */ - if(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops)); - return o.join(""); -} -/* TODO */ -function write_wb_xlml(wb, opts) { - /* OfficeDocumentSettings */ - /* ExcelWorkbook */ - return ""; -} -/* TODO */ -function write_sty_xlml(wb, opts)/*:string*/ { - /* Styles */ - return ""; -} -/* TODO */ -function write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr)/*:string*/{ - if(!cell || cell.v === undefined) return ""; +function write_xlml(wb, opts) { } - var attr = {}; - if(cell.f) attr["ss:Formula"] = "=" + escapexml(a1_to_rc(cell.f, addr)); - - var t = "", p = ""; - switch(cell.t) { - case 'n': t = 'Number'; p = String(cell.v); break; - case 'b': t = 'Boolean'; p = (cell.v ? "1" : "0"); break; - case 'e': t = 'Error'; p = BErr[cell.v]; break; - case 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); break; - default: t = 'String'; p = escapexml(cell.v||""); - } - var m = '' + p + ''; - - return writextag("Cell", m, attr); -} -/* TODO */ -function write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ { - if(!ws['!ref']) return ""; - var range = safe_decode_range(ws['!ref']); - var o = []; - for(var R = range.s.r; R <= range.e.r; ++R) { - var row = [""]; - for(var C = range.s.c; C <= range.e.c; ++C) { - var addr = {r:R,c:C}; - var ref = encode_cell(addr), cell = ws[ref]; - row.push(write_ws_xlml_cell(ws[ref], ref, ws, opts, idx, wb, addr)); - } - row.push(""); - o.push(row.join("")); - } - return o.join(""); -} -function write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ { - var o = []; - var s = wb.SheetNames[idx]; - var ws = wb.Sheets[s]; - - /* Table */ - var t = ws ? write_ws_xlml_table(ws, opts, idx, wb) : ""; - if(t.length > 0) o.push("" + t + "
"); - /* WorksheetOptions */ - return o.join(""); -} -function write_xlml(wb, opts)/*:string*/ { - var d = []; - d.push(write_props_xlml(wb, opts)); - d.push(write_wb_xlml(wb, opts)); - d.push(write_sty_xlml(wb, opts)); - for(var i = 0; i < wb.SheetNames.length; ++i) - d.push(writextag("Worksheet", write_ws_xlml(i, opts, wb), {"ss:Name":escapexml(wb.SheetNames[i])})); - return XML_HEADER + writextag("Workbook", d.join(""), { - 'xmlns': XLMLNS.ss, - 'xmlns:o': XLMLNS.o, - 'xmlns:x': XLMLNS.x, - 'xmlns:ss': XLMLNS.ss, - 'xmlns:dt': XLMLNS.dt, - 'xmlns:html': XLMLNS.html - }); -} diff --git a/bits/81_writeods.js b/bits/81_writeods.js deleted file mode 100644 index df30661..0000000 --- a/bits/81_writeods.js +++ /dev/null @@ -1,43 +0,0 @@ -var write_content_xml/*:{(wb:any, opts:any):string}*/ = (function() { - var null_cell_xml = ' \n'; - var write_ws = function(ws, wb, i/*:number*/, opts)/*:string*/ { - /* Section 9 Tables */ - var o = []; - o.push(' \n'); - var R=0,C=0, range = decode_range(ws['!ref']); - for(R = 0; R < range.s.r; ++R) o.push(' \n'); - for(; R <= range.e.r; ++R) { - o.push(' \n'); - for(C=0; C < range.s.c; ++C) o.push(null_cell_xml); - for(; C <= range.e.c; ++C) { - var ref = encode_cell({r:R, c:C}), cell = ws[ref]; - if(cell) switch(cell.t) { - case 'b': o.push(' ' + (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; - //case 'd': // TODO - //case 'e': - 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]; - /* 3.1.3.2 */ - if(opts.bookType == "fods") o.push(''); - else o.push('\n'); // TODO - 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'); - if(opts.bookType == "fods") o.push(''); - else o.push('
'); - return o.join(""); - }; -})(); diff --git a/bits/76_xls.js b/bits/81_xls.js similarity index 82% rename from bits/76_xls.js rename to bits/81_xls.js index adf8518..3cd779a 100644 --- a/bits/76_xls.js +++ b/bits/81_xls.js @@ -22,11 +22,11 @@ function parse_compobj(obj) { m = __lpstr(o, l); l += m.length === 0 ? 0 : 5 + m.length; v.Reserved1 = m; if((m = __readUInt32LE(o,l)) !== 0x71b2e9f4) return v; - throw new Error("Unsupported Unicode Extension"); + throw "Unsupported Unicode Extension"; } /* 2.4.58 Continue logic */ -function slurp(R, blob, length/*:number*/, opts) { +function slurp(R, blob, length, opts) { var l = length; var bufs = []; var d = blob.slice(blob.l,blob.l+l); @@ -45,19 +45,18 @@ function slurp(R, blob, length/*:number*/, opts) { blob.l += 4+l; next = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]); } - var b = (bconcat(bufs)/*:any*/); + var b = bconcat(bufs); prep_blob(b, 0); var ll = 0; b.lens = []; for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } return R.f(b, b.length, opts); } -function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { - if(p.t === 'e') { p.w = p.w || BErr[p.v]; } +function safe_format_xf(p, opts, date1904) { if(!p.XF) return; try { var fmtid = p.XF.ifmt||0; - if(p.t === 'e'); + if(p.t === 'e') { p.w = p.w || BErr[p.v]; } else if(fmtid === 0) { if(p.t === 'n') { if((p.v|0) === p.v) p.w = SSF._general_int(p.v); @@ -65,18 +64,18 @@ function safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) { } else p.w = SSF._general(p.v); } - else p.w = SSF.format(fmtid,p.v, {date1904:!!date1904}); + else p.w = SSF.format(fmtid,p.v, {date1904:date1904||false}); if(opts.cellNF) p.z = SSF._table[fmtid]; } catch(e) { if(opts.WTF) throw e; } } -function make_cell(val, ixfe, t)/*:any*/ { - return ({v:val, ixfe:ixfe, t:t}/*:any*/); +function make_cell(val, ixfe, t) { + return {v:val, ixfe:ixfe, t:t}; } // 2.3.2 -function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { - var wb = ({opts:{}}/*:any*/); +function parse_workbook(blob, options) { + var wb = {opts:{}}; var Sheets = {}; var out = {}; var Directory = {}; @@ -86,7 +85,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { var sst = []; var cur_sheet = ""; var Preamble = {}; - var lastcell, last_cell = "", cc, cmnt, rng, rngC, rngR; + var lastcell, last_cell, cc, cmnt, rng, rngC, rngR; var shared_formulae = {}; var array_formulae = []; /* TODO: something more clever */ var temp_val; @@ -99,16 +98,16 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(icv < 64) return palette[icv-8] || XLSIcv[icv]; return XLSIcv[icv]; }; - var process_cell_style = function pcs(cell, line/*:any*/) { + var process_cell_style = function pcs(cell, line) { var xfd = line.XF.data; if(!xfd || !xfd.patternType) return; - line.s = ({}/*:any*/); + line.s = {}; line.s.patternType = xfd.patternType; var t; if((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; } if((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; } }; - var addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) { + var addcell = function addcell(cell, line, options) { if(!cell_valid) return; if(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line); lastcell = cell; @@ -124,7 +123,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(options.sheetRows && lastcell.r >= options.sheetRows) cell_valid = false; else out[last_cell] = line; }; - var opts = ({ + var opts = { enc: false, // encrypted sbcch: 0, // cch in the preceding SupBook snames: [], // sheetnames @@ -136,18 +135,17 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { codepage: 0, // CP from CodePage record winlocked: 0, // fLockWn from WinProtect wtf: false - }/*:any*/); + }; if(options.password) opts.password = options.password; var mergecells = []; var objects = []; - var supbooks = ([[]]/*:any*/); // 1-indexed, will hold extern names + var supbooks = [[]]; // 1-indexed, will hold extern names 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; /* TODO: make a real stack */ - var BIFF2Fmt = 0; /* explicit override for some broken writers */ opts.codepage = 1200; @@ -159,8 +157,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(RecordType === 0 && last_Rn === 'EOF') break; var length = (blob.l === blob.length ? 0 : blob.read_shift(2)), y; var R = XLSRecordEnum[RecordType]; - //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); - //if(!R) console.log(blob.slice(blob.l, blob.l + length)); if(R && R.f) { if(options.bookSheets) { if(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break; @@ -176,6 +172,10 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { if(R.n === 'EOF') val = R.f(blob, length, opts); else val = slurp(R, blob, length, opts); var Rn = R.n; + /* BIFF5 overrides */ + if(opts.biff === 5 || opts.biff === 2) switch(Rn) { + case 'Lbl': Rn = 'Label'; break; + } /* nested switch statements to workaround V8 128 limit */ switch(Rn) { /* Workbook Options */ @@ -204,7 +204,9 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 'RefreshAll': wb.opts.RefreshAll = val; break; case 'BookBool': break; // TODO case 'UsesELFs': /* if(val) console.error("Unsupported ELFs"); */ break; - case 'MTRSettings': break; + case 'MTRSettings': { + if(val[0] && val[1]) throw "Unsupported threads: " + val; + } break; // TODO: actually support threads case 'CalcCount': wb.opts.CalcCount = val; break; case 'CalcDelta': wb.opts.CalcDelta = val; break; case 'CalcIter': wb.opts.CalcIter = val; break; @@ -251,49 +253,41 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { out = {}; } break; case 'BOF': { - if(opts.biff !== 8){} - else if(RecordType === 0x0009) opts.biff = 2; - else if(RecordType === 0x0209) opts.biff = 3; - else if(RecordType === 0x0409) opts.biff = 4; + if(opts.biff !== 8); else if(val.BIFFVer === 0x0500) opts.biff = 5; - else if(val.BIFFVer === 0x0600) opts.biff = 8; else if(val.BIFFVer === 0x0002) opts.biff = 2; else if(val.BIFFVer === 0x0007) opts.biff = 2; if(file_depth++) break; cell_valid = true; out = {}; - if(opts.biff < 5) { + if(opts.biff === 2) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; - /* fake BoundSheet8 */ - 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': { + case 'Number': case 'BIFF2NUM': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'}; - safe_format_xf(temp_val, options, wb.opts.Date1904); + if(temp_val.XF) 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); + if(temp_val.XF) 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); + if(temp_val.XF) 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); + if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } } break; @@ -302,18 +296,10 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { 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}/*:any*/); + 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); + if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); + if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; } @@ -321,44 +307,35 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 'String': { if(last_formula) { last_formula.val = val; - temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}/*:any*/); + 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); + if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + if(temp_val.XF) 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]) { - if(!last_formula) break; /* technically unreachable */ - if(!last_cell || !out[last_cell]) break; /* technically unreachable */ - 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) { - /* TODO: capture range */ - if(!last_formula) break; /* technically unreachable */ - shared_formulae[encode_cell(last_formula.cell)]= val[0]; - (out[encode_cell(last_formula.cell)]||{}).f = ""+stringify_formula(val[0], range, lastcell, supbooks, opts); - } + //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); + /* TODO: capture range */ + shared_formulae[encode_cell(last_formula.cell)]= val[0]; } break; case 'LabelSst': + //temp_val={v:sst[val.isst].t, ixfe:val.ixfe, t:'s'}; 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); + if(temp_val.XF) 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': + /* Some writers erroneously write Label */ 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); + if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Dimensions': { @@ -370,9 +347,6 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { case 'Format': { /* val = [id, fmt] */ SSF.load(val[1], val[0]); } break; - case 'BIFF2FORMAT': { - SSF.load(val, BIFF2Fmt++); - } break; case 'MergeCells': mergecells = mergecells.concat(val); break; @@ -625,16 +599,12 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { /* Future Records */ case 'FrtFontList': case 'FrtWrapper': break; - 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': case 'BIFF2FONTXTRA': break; - case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; - case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; - + default: switch(R.n) { /* nested */ /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': case 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData': @@ -643,7 +613,7 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { }}}} } 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 sheetnamesraw = opts.biff === 2 ? ['Sheet1'] : 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; @@ -657,38 +627,38 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { return wb; } -function parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ { +function parse_xlscfb(cfb, options) { if(!options) options = {}; fix_read_opts(options); reset_cp(); -var CompObj, Summary, Workbook/*:?any*/; -if(cfb.FullPaths) { +var CompObj, Summary, Workbook; +if(cfb.find) { CompObj = cfb.find('!CompObj'); Summary = cfb.find('!SummaryInformation'); Workbook = cfb.find('/Workbook'); } else { prep_blob(cfb, 0); - Workbook = ({content: cfb}/*:any*/); + Workbook = {content: cfb}; } if(!Workbook) Workbook = cfb.find('/Book'); -var CompObjP, SummaryP, WorkbookP/*:Workbook*/; +var CompObjP, SummaryP, WorkbookP; if(CompObj) CompObjP = parse_compobj(CompObj); -if(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/); +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); +if(cfb.find) 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; /* TODO: split up properties */ if(options.bookFiles) WorkbookP.cfb = cfb; -/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */ +WorkbookP.CompObjP = CompObjP; return WorkbookP; } diff --git a/bits/82_parsetab.js b/bits/82_parsetab.js new file mode 100644 index 0000000..fba9b77 --- /dev/null +++ b/bits/82_parsetab.js @@ -0,0 +1,1230 @@ +/* [MS-XLSB] 2.3 Record Enumeration */ +var XLSBRecordEnum = { + 0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, + 0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, + 0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, + 0x0003: { n:"BrtCellError", f:parse_BrtCellError }, + 0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, + 0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, + 0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, + 0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, + 0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, + 0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, + 0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, + 0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, + 0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, + 0x0013: { n:"BrtSSTItem", f:parse_RichStr }, + 0x0014: { n:"BrtPCDIMissing", f:parsenoop }, + 0x0015: { n:"BrtPCDINumber", f:parsenoop }, + 0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, + 0x0017: { n:"BrtPCDIError", f:parsenoop }, + 0x0018: { n:"BrtPCDIString", f:parsenoop }, + 0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, + 0x001A: { n:"BrtPCDIIndex", f:parsenoop }, + 0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, + 0x001C: { n:"BrtPCDIANumber", f:parsenoop }, + 0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, + 0x001E: { n:"BrtPCDIAError", f:parsenoop }, + 0x001F: { n:"BrtPCDIAString", f:parsenoop }, + 0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, + 0x0021: { n:"BrtPCRRecord", f:parsenoop }, + 0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, + 0x0023: { n:"BrtFRTBegin", f:parsenoop }, + 0x0024: { n:"BrtFRTEnd", f:parsenoop }, + 0x0025: { n:"BrtACBegin", f:parsenoop }, + 0x0026: { n:"BrtACEnd", f:parsenoop }, + 0x0027: { n:"BrtName", f:parsenoop }, + 0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, + 0x002A: { n:"BrtIndexBlock", f:parsenoop }, + 0x002B: { n:"BrtFont", f:parse_BrtFont }, + 0x002C: { n:"BrtFmt", f:parse_BrtFmt }, + 0x002D: { n:"BrtFill", f:parsenoop }, + 0x002E: { n:"BrtBorder", f:parsenoop }, + 0x002F: { n:"BrtXF", f:parse_BrtXF }, + 0x0030: { n:"BrtStyle", f:parsenoop }, + 0x0031: { n:"BrtCellMeta", f:parsenoop }, + 0x0032: { n:"BrtValueMeta", f:parsenoop }, + 0x0033: { n:"BrtMdb", f:parsenoop }, + 0x0034: { n:"BrtBeginFmd", f:parsenoop }, + 0x0035: { n:"BrtEndFmd", f:parsenoop }, + 0x0036: { n:"BrtBeginMdx", f:parsenoop }, + 0x0037: { n:"BrtEndMdx", f:parsenoop }, + 0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, + 0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, + 0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, + 0x003B: { n:"BrtStr", f:parsenoop }, + 0x003C: { n:"BrtColInfo", f:parsenoop }, + 0x003E: { n:"BrtCellRString", f:parsenoop }, + 0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, + 0x0040: { n:"BrtDVal", f:parsenoop }, + 0x0041: { n:"BrtSxvcellNum", f:parsenoop }, + 0x0042: { n:"BrtSxvcellStr", f:parsenoop }, + 0x0043: { n:"BrtSxvcellBool", f:parsenoop }, + 0x0044: { n:"BrtSxvcellErr", f:parsenoop }, + 0x0045: { n:"BrtSxvcellDate", f:parsenoop }, + 0x0046: { n:"BrtSxvcellNil", f:parsenoop }, + 0x0080: { n:"BrtFileVersion", f:parsenoop }, + 0x0081: { n:"BrtBeginSheet", f:parsenoop }, + 0x0082: { n:"BrtEndSheet", f:parsenoop }, + 0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, + 0x0084: { n:"BrtEndBook", f:parsenoop }, + 0x0085: { n:"BrtBeginWsViews", f:parsenoop }, + 0x0086: { n:"BrtEndWsViews", f:parsenoop }, + 0x0087: { n:"BrtBeginBookViews", f:parsenoop }, + 0x0088: { n:"BrtEndBookViews", f:parsenoop }, + 0x0089: { n:"BrtBeginWsView", f:parsenoop }, + 0x008A: { n:"BrtEndWsView", f:parsenoop }, + 0x008B: { n:"BrtBeginCsViews", f:parsenoop }, + 0x008C: { n:"BrtEndCsViews", f:parsenoop }, + 0x008D: { n:"BrtBeginCsView", f:parsenoop }, + 0x008E: { n:"BrtEndCsView", f:parsenoop }, + 0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, + 0x0090: { n:"BrtEndBundleShs", f:parsenoop }, + 0x0091: { n:"BrtBeginSheetData", f:parsenoop }, + 0x0092: { n:"BrtEndSheetData", f:parsenoop }, + 0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, + 0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, + 0x0097: { n:"BrtPane", f:parsenoop }, + 0x0098: { n:"BrtSel", f:parsenoop }, + 0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, + 0x009A: { n:"BrtWbFactoid", f:parsenoop }, + 0x009B: { n:"BrtFileRecover", f:parsenoop }, + 0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, + 0x009D: { n:"BrtCalcProp", f:parsenoop }, + 0x009E: { n:"BrtBookView", f:parsenoop }, + 0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, + 0x00A0: { n:"BrtEndSst", f:parsenoop }, + 0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, + 0x00A2: { n:"BrtEndAFilter", f:parsenoop }, + 0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, + 0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, + 0x00A5: { n:"BrtBeginFilters", f:parsenoop }, + 0x00A6: { n:"BrtEndFilters", f:parsenoop }, + 0x00A7: { n:"BrtFilter", f:parsenoop }, + 0x00A8: { n:"BrtColorFilter", f:parsenoop }, + 0x00A9: { n:"BrtIconFilter", f:parsenoop }, + 0x00AA: { n:"BrtTop10Filter", f:parsenoop }, + 0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, + 0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, + 0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, + 0x00AE: { n:"BrtCustomFilter", f:parsenoop }, + 0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, + 0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, + 0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, + 0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, + 0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, + 0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, + 0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, + 0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, + 0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, + 0x00B8: { n:"BrtEndPCDField", f:parsenoop }, + 0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, + 0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, + 0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, + 0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, + 0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, + 0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, + 0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, + 0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, + 0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, + 0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, + 0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, + 0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, + 0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, + 0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, + 0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, + 0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, + 0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, + 0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, + 0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, + 0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, + 0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, + 0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, + 0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, + 0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, + 0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, + 0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, + 0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, + 0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, + 0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, + 0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, + 0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, + 0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, + 0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, + 0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, + 0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, + 0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, + 0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, + 0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, + 0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, + 0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, + 0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, + 0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, + 0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, + 0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, + 0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, + 0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, + 0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, + 0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, + 0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, + 0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, + 0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, + 0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, + 0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, + 0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, + 0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, + 0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, + 0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, + 0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, + 0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, + 0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, + 0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, + 0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, + 0x00F7: { n:"BrtBeginPRule", f:parsenoop }, + 0x00F8: { n:"BrtEndPRule", f:parsenoop }, + 0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, + 0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, + 0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, + 0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, + 0x00FD: { n:"BrtBeginPNames", f:parsenoop }, + 0x00FE: { n:"BrtEndPNames", f:parsenoop }, + 0x00FF: { n:"BrtBeginPName", f:parsenoop }, + 0x0100: { n:"BrtEndPName", f:parsenoop }, + 0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, + 0x0102: { n:"BrtEndPNPairs", f:parsenoop }, + 0x0103: { n:"BrtBeginPNPair", f:parsenoop }, + 0x0104: { n:"BrtEndPNPair", f:parsenoop }, + 0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, + 0x0106: { n:"BrtEndECWebProps", f:parsenoop }, + 0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, + 0x0108: { n:"BrtEndECWPTables", f:parsenoop }, + 0x0109: { n:"BrtBeginECParams", f:parsenoop }, + 0x010A: { n:"BrtEndECParams", f:parsenoop }, + 0x010B: { n:"BrtBeginECParam", f:parsenoop }, + 0x010C: { n:"BrtEndECParam", f:parsenoop }, + 0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, + 0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, + 0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, + 0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, + 0x0111: { n:"BrtBeginDims", f:parsenoop }, + 0x0112: { n:"BrtEndDims", f:parsenoop }, + 0x0113: { n:"BrtBeginDim", f:parsenoop }, + 0x0114: { n:"BrtEndDim", f:parsenoop }, + 0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, + 0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, + 0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, + 0x0118: { n:"BrtBeginSXView", f:parsenoop }, + 0x0119: { n:"BrtEndSXVI", f:parsenoop }, + 0x011A: { n:"BrtBeginSXVI", f:parsenoop }, + 0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, + 0x011C: { n:"BrtEndSXVIs", f:parsenoop }, + 0x011D: { n:"BrtBeginSXVD", f:parsenoop }, + 0x011E: { n:"BrtEndSXVD", f:parsenoop }, + 0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, + 0x0120: { n:"BrtEndSXVDs", f:parsenoop }, + 0x0121: { n:"BrtBeginSXPI", f:parsenoop }, + 0x0122: { n:"BrtEndSXPI", f:parsenoop }, + 0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, + 0x0124: { n:"BrtEndSXPIs", f:parsenoop }, + 0x0125: { n:"BrtBeginSXDI", f:parsenoop }, + 0x0126: { n:"BrtEndSXDI", f:parsenoop }, + 0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, + 0x0128: { n:"BrtEndSXDIs", f:parsenoop }, + 0x0129: { n:"BrtBeginSXLI", f:parsenoop }, + 0x012A: { n:"BrtEndSXLI", f:parsenoop }, + 0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, + 0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, + 0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, + 0x012E: { n:"BrtEndSXLICols", f:parsenoop }, + 0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, + 0x0130: { n:"BrtEndSXFormat", f:parsenoop }, + 0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, + 0x0132: { n:"BrtEndSxFormats", f:parsenoop }, + 0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, + 0x0134: { n:"BrtEndSxSelect", f:parsenoop }, + 0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, + 0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, + 0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, + 0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, + 0x0139: { n:"BrtEndSXLocation", f:parsenoop }, + 0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, + 0x013B: { n:"BrtEndSXView", f:parsenoop }, + 0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, + 0x013D: { n:"BrtEndSXTHs", f:parsenoop }, + 0x013E: { n:"BrtBeginSXTH", f:parsenoop }, + 0x013F: { n:"BrtEndSXTH", f:parsenoop }, + 0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, + 0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, + 0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, + 0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, + 0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, + 0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, + 0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, + 0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, + 0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, + 0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, + 0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, + 0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, + 0x014C: { n:"BrtBeginMetadata", f:parsenoop }, + 0x014D: { n:"BrtEndMetadata", f:parsenoop }, + 0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, + 0x014F: { n:"BrtMdtinfo", f:parsenoop }, + 0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, + 0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, + 0x0152: { n:"BrtEndEsmdb", f:parsenoop }, + 0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, + 0x0154: { n:"BrtEndEsfmd", f:parsenoop }, + 0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, + 0x0156: { n:"BrtEndSingleCells", f:parsenoop }, + 0x0157: { n:"BrtBeginList", f:parsenoop }, + 0x0158: { n:"BrtEndList", f:parsenoop }, + 0x0159: { n:"BrtBeginListCols", f:parsenoop }, + 0x015A: { n:"BrtEndListCols", f:parsenoop }, + 0x015B: { n:"BrtBeginListCol", f:parsenoop }, + 0x015C: { n:"BrtEndListCol", f:parsenoop }, + 0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, + 0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, + 0x015F: { n:"BrtListCCFmla", f:parsenoop }, + 0x0160: { n:"BrtListTrFmla", f:parsenoop }, + 0x0161: { n:"BrtBeginExternals", f:parsenoop }, + 0x0162: { n:"BrtEndExternals", f:parsenoop }, + 0x0163: { n:"BrtSupBookSrc", f:parsenoop }, + 0x0165: { n:"BrtSupSelf", f:parsenoop }, + 0x0166: { n:"BrtSupSame", f:parsenoop }, + 0x0167: { n:"BrtSupTabs", f:parsenoop }, + 0x0168: { n:"BrtBeginSupBook", f:parsenoop }, + 0x0169: { n:"BrtPlaceholderName", f:parsenoop }, + 0x016A: { n:"BrtExternSheet", f:parsenoop }, + 0x016B: { n:"BrtExternTableStart", f:parsenoop }, + 0x016C: { n:"BrtExternTableEnd", f:parsenoop }, + 0x016E: { n:"BrtExternRowHdr", f:parsenoop }, + 0x016F: { n:"BrtExternCellBlank", f:parsenoop }, + 0x0170: { n:"BrtExternCellReal", f:parsenoop }, + 0x0171: { n:"BrtExternCellBool", f:parsenoop }, + 0x0172: { n:"BrtExternCellError", f:parsenoop }, + 0x0173: { n:"BrtExternCellString", f:parsenoop }, + 0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, + 0x0175: { n:"BrtEndEsmdx", f:parsenoop }, + 0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, + 0x0177: { n:"BrtEndMdxSet", f:parsenoop }, + 0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, + 0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, + 0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, + 0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, + 0x017C: { n:"BrtBeginEsstr", f:parsenoop }, + 0x017D: { n:"BrtEndEsstr", f:parsenoop }, + 0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, + 0x017F: { n:"BrtEndPRFItem", f:parsenoop }, + 0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, + 0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, + 0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, + 0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, + 0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, + 0x0185: { n:"BrtEndISXVIs", f:parsenoop }, + 0x0186: { n:"BrtBeginColInfos", f:parsenoop }, + 0x0187: { n:"BrtEndColInfos", f:parsenoop }, + 0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, + 0x0189: { n:"BrtEndRwBrk", f:parsenoop }, + 0x018A: { n:"BrtBeginColBrk", f:parsenoop }, + 0x018B: { n:"BrtEndColBrk", f:parsenoop }, + 0x018C: { n:"BrtBrk", f:parsenoop }, + 0x018D: { n:"BrtUserBookView", f:parsenoop }, + 0x018E: { n:"BrtInfo", f:parsenoop }, + 0x018F: { n:"BrtCUsr", f:parsenoop }, + 0x0190: { n:"BrtUsr", f:parsenoop }, + 0x0191: { n:"BrtBeginUsers", f:parsenoop }, + 0x0193: { n:"BrtEOF", f:parsenoop }, + 0x0194: { n:"BrtUCR", f:parsenoop }, + 0x0195: { n:"BrtRRInsDel", f:parsenoop }, + 0x0196: { n:"BrtRREndInsDel", f:parsenoop }, + 0x0197: { n:"BrtRRMove", f:parsenoop }, + 0x0198: { n:"BrtRREndMove", f:parsenoop }, + 0x0199: { n:"BrtRRChgCell", f:parsenoop }, + 0x019A: { n:"BrtRREndChgCell", f:parsenoop }, + 0x019B: { n:"BrtRRHeader", f:parsenoop }, + 0x019C: { n:"BrtRRUserView", f:parsenoop }, + 0x019D: { n:"BrtRRRenSheet", f:parsenoop }, + 0x019E: { n:"BrtRRInsertSh", f:parsenoop }, + 0x019F: { n:"BrtRRDefName", f:parsenoop }, + 0x01A0: { n:"BrtRRNote", f:parsenoop }, + 0x01A1: { n:"BrtRRConflict", f:parsenoop }, + 0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, + 0x01A3: { n:"BrtRRFormat", f:parsenoop }, + 0x01A4: { n:"BrtRREndFormat", f:parsenoop }, + 0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, + 0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, + 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 }, + 0x01AC: { n:"BrtTable", f:parsenoop }, + 0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, + 0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, + 0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, + 0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, + 0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, + 0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, + 0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, + 0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, + 0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, + 0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, + 0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, + 0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, + 0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, + 0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, + 0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, + 0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, + 0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, + 0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, + 0x01BF: { n:"BrtBeginQSI", f:parsenoop }, + 0x01C0: { n:"BrtEndQSI", f:parsenoop }, + 0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, + 0x01C2: { n:"BrtEndQSIR", f:parsenoop }, + 0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, + 0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, + 0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, + 0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, + 0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, + 0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, + 0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, + 0x01CA: { n:"BrtEndQSIF", f:parsenoop }, + 0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, + 0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, + 0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, + 0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, + 0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, + 0x01D0: { n:"BrtEndCFRule", f:parsenoop }, + 0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, + 0x01D2: { n:"BrtEndIconSet", f:parsenoop }, + 0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, + 0x01D4: { n:"BrtEndDatabar", f:parsenoop }, + 0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, + 0x01D6: { n:"BrtEndColorScale", f:parsenoop }, + 0x01D7: { n:"BrtCFVO", f:parsenoop }, + 0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, + 0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, + 0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, + 0x01DB: { n:"BrtIndexedColor", f:parsenoop }, + 0x01DC: { n:"BrtMargins", f:parsenoop }, + 0x01DD: { n:"BrtPrintOptions", f:parsenoop }, + 0x01DE: { n:"BrtPageSetup", f:parsenoop }, + 0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, + 0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, + 0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, + 0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, + 0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, + 0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, + 0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, + 0x01E6: { n:"BrtBeginMgs", f:parsenoop }, + 0x01E7: { n:"BrtEndMGs", f:parsenoop }, + 0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, + 0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, + 0x01EA: { n:"BrtBeginMG", f:parsenoop }, + 0x01EB: { n:"BrtEndMG", f:parsenoop }, + 0x01EC: { n:"BrtBeginMap", f:parsenoop }, + 0x01ED: { n:"BrtEndMap", f:parsenoop }, + 0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, + 0x01EF: { n:"BrtBeginDCon", f:parsenoop }, + 0x01F0: { n:"BrtEndDCon", f:parsenoop }, + 0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, + 0x01F2: { n:"BrtEndDRefs", f:parsenoop }, + 0x01F3: { n:"BrtDRef", f:parsenoop }, + 0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, + 0x01F5: { n:"BrtEndScenMan", f:parsenoop }, + 0x01F6: { n:"BrtBeginSct", f:parsenoop }, + 0x01F7: { n:"BrtEndSct", f:parsenoop }, + 0x01F8: { n:"BrtSlc", f:parsenoop }, + 0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, + 0x01FA: { n:"BrtEndDXFs", f:parsenoop }, + 0x01FB: { n:"BrtDXF", f:parsenoop }, + 0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, + 0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, + 0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, + 0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, + 0x0200: { n:"BrtTableStyleElement", f:parsenoop }, + 0x0201: { n:"BrtTableStyleClient", f:parsenoop }, + 0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, + 0x0203: { n:"BrtEndVolDeps", f:parsenoop }, + 0x0204: { n:"BrtBeginVolType", f:parsenoop }, + 0x0205: { n:"BrtEndVolType", f:parsenoop }, + 0x0206: { n:"BrtBeginVolMain", f:parsenoop }, + 0x0207: { n:"BrtEndVolMain", f:parsenoop }, + 0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, + 0x0209: { n:"BrtEndVolTopic", f:parsenoop }, + 0x020A: { n:"BrtVolSubtopic", f:parsenoop }, + 0x020B: { n:"BrtVolRef", f:parsenoop }, + 0x020C: { n:"BrtVolNum", f:parsenoop }, + 0x020D: { n:"BrtVolErr", f:parsenoop }, + 0x020E: { n:"BrtVolStr", f:parsenoop }, + 0x020F: { n:"BrtVolBool", f:parsenoop }, + 0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, + 0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, + 0x0212: { n:"BrtBeginSortState", f:parsenoop }, + 0x0213: { n:"BrtEndSortState", f:parsenoop }, + 0x0214: { n:"BrtBeginSortCond", f:parsenoop }, + 0x0215: { n:"BrtEndSortCond", f:parsenoop }, + 0x0216: { n:"BrtBookProtection", f:parsenoop }, + 0x0217: { n:"BrtSheetProtection", f:parsenoop }, + 0x0218: { n:"BrtRangeProtection", f:parsenoop }, + 0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, + 0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, + 0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, + 0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, + 0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, + 0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, + 0x0224: { n:"BrtFileSharing", f:parsenoop }, + 0x0225: { n:"BrtOleSize", f:parsenoop }, + 0x0226: { n:"BrtDrawing", f:parsenoop }, + 0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, + 0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, + 0x0229: { n:"BrtWebOpt", f:parsenoop }, + 0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, + 0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, + 0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, + 0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, + 0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, + 0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, + 0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, + 0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, + 0x0232: { n:"BrtBkHim", f:parsenoop }, + 0x0234: { n:"BrtColor", f:parsenoop }, + 0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, + 0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, + 0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, + 0x023A: { n:"BrtEndMRUColors", f:parsenoop }, + 0x023C: { n:"BrtMRUColor", f:parsenoop }, + 0x023D: { n:"BrtBeginDVals", f:parsenoop }, + 0x023E: { n:"BrtEndDVals", f:parsenoop }, + 0x0241: { n:"BrtSupNameStart", f:parsenoop }, + 0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, + 0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, + 0x0244: { n:"BrtSupNameNum", f:parsenoop }, + 0x0245: { n:"BrtSupNameErr", f:parsenoop }, + 0x0246: { n:"BrtSupNameSt", f:parsenoop }, + 0x0247: { n:"BrtSupNameNil", f:parsenoop }, + 0x0248: { n:"BrtSupNameBool", f:parsenoop }, + 0x0249: { n:"BrtSupNameFmla", f:parsenoop }, + 0x024A: { n:"BrtSupNameBits", f:parsenoop }, + 0x024B: { n:"BrtSupNameEnd", f:parsenoop }, + 0x024C: { n:"BrtEndSupBook", f:parsenoop }, + 0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, + 0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, + 0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, + 0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, + 0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, + 0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, + 0x0253: { n:"BrtEndSmartTags", f:parsenoop }, + 0x0254: { n:"BrtSmartTagType", f:parsenoop }, + 0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, + 0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, + 0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, + 0x0258: { n:"BrtEndSXFilters", f:parsenoop }, + 0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, + 0x025A: { n:"BrtEndSXFilter", f:parsenoop }, + 0x025B: { n:"BrtBeginFills", f:parsenoop }, + 0x025C: { n:"BrtEndFills", f:parsenoop }, + 0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, + 0x025E: { n:"BrtEndCellWatches", f:parsenoop }, + 0x025F: { n:"BrtCellWatch", f:parsenoop }, + 0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, + 0x0261: { n:"BrtEndCRErrs", f:parsenoop }, + 0x0262: { n:"BrtCrashRecErr", f:parsenoop }, + 0x0263: { n:"BrtBeginFonts", f:parsenoop }, + 0x0264: { n:"BrtEndFonts", f:parsenoop }, + 0x0265: { n:"BrtBeginBorders", f:parsenoop }, + 0x0266: { n:"BrtEndBorders", f:parsenoop }, + 0x0267: { n:"BrtBeginFmts", f:parsenoop }, + 0x0268: { n:"BrtEndFmts", f:parsenoop }, + 0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, + 0x026A: { n:"BrtEndCellXFs", f:parsenoop }, + 0x026B: { n:"BrtBeginStyles", f:parsenoop }, + 0x026C: { n:"BrtEndStyles", f:parsenoop }, + 0x0271: { n:"BrtBigName", f:parsenoop }, + 0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, + 0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, + 0x0274: { n:"BrtBeginComments", f:parsenoop }, + 0x0275: { n:"BrtEndComments", f:parsenoop }, + 0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, + 0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, + 0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, + 0x0279: { n:"BrtBeginCommentList", f:parsenoop }, + 0x027A: { n:"BrtEndCommentList", f:parsenoop }, + 0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, + 0x027C: { n:"BrtEndComment", f:parsenoop }, + 0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, + 0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, + 0x027F: { n:"BrtOleObject", f:parsenoop }, + 0x0280: { n:"BrtEndOleObjects", f:parsenoop }, + 0x0281: { n:"BrtBeginSxrules", f:parsenoop }, + 0x0282: { n:"BrtEndSxRules", f:parsenoop }, + 0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, + 0x0284: { n:"BrtActiveX", f:parsenoop }, + 0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, + 0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, + 0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, + 0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, + 0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, + 0x028B: { n:"BrtCsProp", f:parsenoop }, + 0x028C: { n:"BrtCsPageSetup", f:parsenoop }, + 0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, + 0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, + 0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, + 0x0290: { n:"BrtEndUserCsView", f:parsenoop }, + 0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, + 0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, + 0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, + 0x0294: { n:"BrtBeginListParts", f:parsenoop }, + 0x0295: { n:"BrtListPart", f:parsenoop }, + 0x0296: { n:"BrtEndListParts", f:parsenoop }, + 0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, + 0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, + 0x0299: { n:"BrtFnGroup", f:parsenoop }, + 0x029A: { n:"BrtEndFnGroup", f:parsenoop }, + 0x029B: { n:"BrtSupAddin", f:parsenoop }, + 0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, + 0x029D: { n:"BrtCsProtection", f:parsenoop }, + 0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, + 0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, + 0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, + 0x02A2: { n:"BrtEndRRSort", f:parsenoop }, + 0x02A3: { n:"BrtRRSortItem", f:parsenoop }, + 0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, + 0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, + 0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, + 0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, + 0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, + 0x0400: { n:"BrtRwDescent", f:parsenoop }, + 0x0401: { n:"BrtKnownFonts", f:parsenoop }, + 0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, + 0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, + 0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, + 0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, + 0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, + 0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, + 0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, + 0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, + 0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, + 0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, + 0x040C: { n:"BrtNameExt", f:parsenoop }, + 0x040D: { n:"BrtPCDH14", f:parsenoop }, + 0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, + 0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, + 0x0410: { n:"BrtSXTH14", f:parsenoop }, + 0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, + 0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, + 0x0413: { n:"BrtSparkline", f:parsenoop }, + 0x0414: { n:"BrtSXDI14", f:parsenoop }, + 0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, + 0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, + 0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, + 0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, + 0x0419: { n:"BrtEndCFRule14", f:parsenoop }, + 0x041A: { n:"BrtCFVO14", f:parsenoop }, + 0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, + 0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, + 0x041D: { n:"BrtDVal14", f:parsenoop }, + 0x041E: { n:"BrtBeginDVals14", f:parsenoop }, + 0x041F: { n:"BrtColor14", f:parsenoop }, + 0x0420: { n:"BrtBeginSparklines", f:parsenoop }, + 0x0421: { n:"BrtEndSparklines", f:parsenoop }, + 0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, + 0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, + 0x0425: { n:"BrtSXVD14", f:parsenoop }, + 0x0426: { n:"BrtBeginSxview14", f:parsenoop }, + 0x0427: { n:"BrtEndSxview14", f:parsenoop }, + 0x042A: { n:"BrtBeginPCD14", f:parsenoop }, + 0x042B: { n:"BrtEndPCD14", f:parsenoop }, + 0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, + 0x042D: { n:"BrtEndExtConn14", f:parsenoop }, + 0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, + 0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, + 0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, + 0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, + 0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, + 0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, + 0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, + 0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, + 0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, + 0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, + 0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, + 0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, + 0x043B: { n:"BrtBeginSlicer", f:parsenoop }, + 0x043C: { n:"BrtEndSlicer", f:parsenoop }, + 0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, + 0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, + 0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, + 0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, + 0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, + 0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, + 0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, + 0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, + 0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, + 0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, + 0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, + 0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, + 0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, + 0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, + 0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, + 0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, + 0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, + 0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, + 0x044F: { n:"BrtRangeProtection14", f:parsenoop }, + 0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, + 0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, + 0x0457: { n:"BrtList14", f:parsenoop }, + 0x0458: { n:"BrtCFIcon", f:parsenoop }, + 0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, + 0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, + 0x045B: { n:"BrtBeginSlicers", f:parsenoop }, + 0x045C: { n:"BrtEndSlicers", f:parsenoop }, + 0x045D: { n:"BrtWbProp14", f:parsenoop }, + 0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, + 0x045F: { n:"BrtEndSXEdit", f:parsenoop }, + 0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, + 0x0461: { n:"BrtEndSXEdits", f:parsenoop }, + 0x0462: { n:"BrtBeginSXChange", f:parsenoop }, + 0x0463: { n:"BrtEndSXChange", f:parsenoop }, + 0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, + 0x0465: { n:"BrtEndSXChanges", f:parsenoop }, + 0x0466: { n:"BrtSXTupleItems", f:parsenoop }, + 0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, + 0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, + 0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, + 0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, + 0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, + 0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, + 0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, + 0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, + 0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, + 0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, + 0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, + 0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, + 0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, + 0x0475: { n:"BrtPCDField14", f:parsenoop }, + 0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, + 0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, + 0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, + 0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, + 0x047A: { n:"BrtCFRuleExt", f:parsenoop }, + 0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, + 0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, + 0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, + 0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, + 0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, + 0x0481: { n:"BrtEndSortCond14", f:parsenoop }, + 0x0482: { n:"BrtEndDVals14", f:parsenoop }, + 0x0483: { n:"BrtEndIconSet14", f:parsenoop }, + 0x0484: { n:"BrtEndDatabar14", f:parsenoop }, + 0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, + 0x0486: { n:"BrtEndColorScale14", f:parsenoop }, + 0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, + 0x0488: { n:"BrtEndSxrules14", f:parsenoop }, + 0x0489: { n:"BrtBeginPRule14", f:parsenoop }, + 0x048A: { n:"BrtEndPRule14", f:parsenoop }, + 0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, + 0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, + 0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, + 0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, + 0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, + 0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, + 0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, + 0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, + 0x0493: { n:"BrtDxf14", f:parsenoop }, + 0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, + 0x0495: { n:"BrtEndDxf14s", f:parsenoop }, + 0x0499: { n:"BrtFilter14", f:parsenoop }, + 0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, + 0x049C: { n:"BrtCustomFilter14", f:parsenoop }, + 0x049D: { n:"BrtIconFilter14", f:parsenoop }, + 0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, + 0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, + 0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, + 0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, + 0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, + 0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, + 0x0805: { n:"BrtPivotTableRef", f:parsenoop }, + 0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, + 0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, + 0x0808: { n:"BrtEndSxvcells", f:parsenoop }, + 0x0809: { n:"BrtBeginSxRow", f:parsenoop }, + 0x080A: { n:"BrtEndSxRow", f:parsenoop }, + 0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, + 0x0813: { n:"BrtQsi15", f:parsenoop }, + 0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, + 0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, + 0x0816: { n:"BrtWebExtension", f:parsenoop }, + 0x0817: { n:"BrtAbsPath15", f:parsenoop }, + 0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, + 0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, + 0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, + 0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, + 0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, + 0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, + 0x081F: { n:"BrtSxFilter15", f:parsenoop }, + 0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, + 0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, + 0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, + 0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, + 0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, + 0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, + 0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, + 0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, + 0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, + 0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, + 0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, + 0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, + 0x082C: { n:"BrtPCDH15", f:parsenoop }, + 0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, + 0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, + 0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, + 0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, + 0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, + 0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, + 0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, + 0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, + 0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, + 0x0836: { n:"BrtDxf15", f:parsenoop }, + 0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, + 0x0838: { n:"brtEndDxfs15", f:parsenoop }, + 0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, + 0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, + 0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, + 0x083C: { n:"BrtItemUniqueName", f:parsenoop }, + 0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, + 0x083E: { n:"BrtEndExtConn15", f:parsenoop }, + 0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, + 0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, + 0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, + 0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, + 0x0843: { n:"BrtTextPr15", f:parsenoop }, + 0x0844: { n:"BrtRangePr15", f:parsenoop }, + 0x0845: { n:"BrtDbCommand15", f:parsenoop }, + 0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, + 0x0847: { n:"BrtEndDbTables15", f:parsenoop }, + 0x0848: { n:"BrtDbTable15", f:parsenoop }, + 0x0849: { n:"BrtBeginDataModel", f:parsenoop }, + 0x084A: { n:"BrtEndDataModel", f:parsenoop }, + 0x084B: { n:"BrtBeginModelTables", f:parsenoop }, + 0x084C: { n:"BrtEndModelTables", f:parsenoop }, + 0x084D: { n:"BrtModelTable", f:parsenoop }, + 0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, + 0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, + 0x0850: { n:"BrtModelRelationship", f:parsenoop }, + 0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, + 0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, + 0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, + 0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, + 0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, + 0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, + 0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, + 0x0858: { n:"BrtSXDI15", f:parsenoop }, + 0xFFFF: { n:"", f:parsenoop } +}; + +var evert_RE = evert_key(XLSBRecordEnum, 'n'); + +/* [MS-XLS] 2.3 Record Enumeration */ +var XLSRecordEnum = { + 0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, + 0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, + 0x0006: { n:"Formula", f:parse_Formula }, + 0x0009: { n:'BOF', f:parse_BOF }, + 0x000a: { n:'EOF', f:parse_EOF }, + 0x000c: { n:"CalcCount", f:parse_CalcCount }, + 0x000d: { n:"CalcMode", f:parse_CalcMode }, + 0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, + 0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, + 0x0010: { n:"CalcDelta", f:parse_CalcDelta }, + 0x0011: { n:"CalcIter", f:parse_CalcIter }, + 0x0012: { n:"Protect", f:parse_Protect }, + 0x0013: { n:"Password", f:parse_Password }, + 0x0014: { n:"Header", f:parse_Header }, + 0x0015: { n:"Footer", f:parse_Footer }, + 0x0017: { n:"ExternSheet", f:parse_ExternSheet }, + 0x0018: { n:"Lbl", f:parse_Lbl }, + 0x0019: { n:"WinProtect", f:parse_WinProtect }, + 0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, + 0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, + 0x001c: { n:"Note", f:parse_Note }, + 0x001d: { n:"Selection", f:parse_Selection }, + 0x0022: { n:"Date1904", f:parse_Date1904 }, + 0x0023: { n:"ExternName", f:parse_ExternName }, + 0x0026: { n:"LeftMargin", f:parse_LeftMargin }, + 0x0027: { n:"RightMargin", f:parse_RightMargin }, + 0x0028: { n:"TopMargin", f:parse_TopMargin }, + 0x0029: { n:"BottomMargin", f:parse_BottomMargin }, + 0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, + 0x002b: { n:"PrintGrid", f:parse_PrintGrid }, + 0x002f: { n:"FilePass", f:parse_FilePass }, + 0x0031: { n:"Font", f:parse_Font }, + 0x0033: { n:"PrintSize", f:parse_PrintSize }, + 0x003c: { n:"Continue", f:parse_Continue }, + 0x003d: { n:"Window1", f:parse_Window1 }, + 0x0040: { n:"Backup", f:parse_Backup }, + 0x0041: { n:"Pane", f:parse_Pane }, + 0x0042: { n:'CodePage', f:parse_CodePage }, + 0x004d: { n:"Pls", f:parse_Pls }, + 0x0050: { n:"DCon", f:parse_DCon }, + 0x0051: { n:"DConRef", f:parse_DConRef }, + 0x0052: { n:"DConName", f:parse_DConName }, + 0x0055: { n:"DefColWidth", f:parse_DefColWidth }, + 0x0059: { n:"XCT", f:parse_XCT }, + 0x005a: { n:"CRN", f:parse_CRN }, + 0x005b: { n:"FileSharing", f:parse_FileSharing }, + 0x005c: { n:'WriteAccess', f:parse_WriteAccess }, + 0x005d: { n:"Obj", f:parse_Obj }, + 0x005e: { n:"Uncalced", f:parse_Uncalced }, + 0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, + 0x0060: { n:"Template", f:parse_Template }, + 0x0061: { n:"Intl", f:parse_Intl }, + 0x0063: { n:"ObjProtect", f:parse_ObjProtect }, + 0x007d: { n:"ColInfo", f:parse_ColInfo }, + 0x0080: { n:"Guts", f:parse_Guts }, + 0x0081: { n:"WsBool", f:parse_WsBool }, + 0x0082: { n:"GridSet", f:parse_GridSet }, + 0x0083: { n:"HCenter", f:parse_HCenter }, + 0x0084: { n:"VCenter", f:parse_VCenter }, + 0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, + 0x0086: { n:"WriteProtect", f:parse_WriteProtect }, + 0x008c: { n:"Country", f:parse_Country }, + 0x008d: { n:"HideObj", f:parse_HideObj }, + 0x0090: { n:"Sort", f:parse_Sort }, + 0x0092: { n:"Palette", f:parse_Palette }, + 0x0097: { n:"Sync", f:parse_Sync }, + 0x0098: { n:"LPr", f:parse_LPr }, + 0x0099: { n:"DxGCol", f:parse_DxGCol }, + 0x009a: { n:"FnGroupName", f:parse_FnGroupName }, + 0x009b: { n:"FilterMode", f:parse_FilterMode }, + 0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, + 0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, + 0x009e: { n:"AutoFilter", f:parse_AutoFilter }, + 0x00a0: { n:"Scl", f:parse_Scl }, + 0x00a1: { n:"Setup", f:parse_Setup }, + 0x00ae: { n:"ScenMan", f:parse_ScenMan }, + 0x00af: { n:"SCENARIO", f:parse_SCENARIO }, + 0x00b0: { n:"SxView", f:parse_SxView }, + 0x00b1: { n:"Sxvd", f:parse_Sxvd }, + 0x00b2: { n:"SXVI", f:parse_SXVI }, + 0x00b4: { n:"SxIvd", f:parse_SxIvd }, + 0x00b5: { n:"SXLI", f:parse_SXLI }, + 0x00b6: { n:"SXPI", f:parse_SXPI }, + 0x00b8: { n:"DocRoute", f:parse_DocRoute }, + 0x00b9: { n:"RecipName", f:parse_RecipName }, + 0x00bd: { n:"MulRk", f:parse_MulRk }, + 0x00be: { n:"MulBlank", f:parse_MulBlank }, + 0x00c1: { n:'Mms', f:parse_Mms }, + 0x00c5: { n:"SXDI", f:parse_SXDI }, + 0x00c6: { n:"SXDB", f:parse_SXDB }, + 0x00c7: { n:"SXFDB", f:parse_SXFDB }, + 0x00c8: { n:"SXDBB", f:parse_SXDBB }, + 0x00c9: { n:"SXNum", f:parse_SXNum }, + 0x00ca: { n:"SxBool", f:parse_SxBool }, + 0x00cb: { n:"SxErr", f:parse_SxErr }, + 0x00cc: { n:"SXInt", f:parse_SXInt }, + 0x00cd: { n:"SXString", f:parse_SXString }, + 0x00ce: { n:"SXDtr", f:parse_SXDtr }, + 0x00cf: { n:"SxNil", f:parse_SxNil }, + 0x00d0: { n:"SXTbl", f:parse_SXTbl }, + 0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, + 0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, + 0x00d3: { n:"ObProj", f:parse_ObProj }, + 0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, + 0x00d7: { n:"DBCell", f:parse_DBCell }, + 0x00d8: { n:"SXRng", f:parse_SXRng }, + 0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, + 0x00da: { n:"BookBool", f:parse_BookBool }, + 0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, + 0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, + 0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, + 0x00e0: { n:"XF", f:parse_XF }, + 0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, + 0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, + 0x00e3: { n:"SXVS", f:parse_SXVS }, + 0x00e5: { n:"MergeCells", f:parse_MergeCells }, + 0x00e9: { n:"BkHim", f:parse_BkHim }, + 0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, + 0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, + 0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, + 0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, + 0x00f0: { n:"SxRule", f:parse_SxRule }, + 0x00f1: { n:"SXEx", f:parse_SXEx }, + 0x00f2: { n:"SxFilt", f:parse_SxFilt }, + 0x00f4: { n:"SxDXF", f:parse_SxDXF }, + 0x00f5: { n:"SxItm", f:parse_SxItm }, + 0x00f6: { n:"SxName", f:parse_SxName }, + 0x00f7: { n:"SxSelect", f:parse_SxSelect }, + 0x00f8: { n:"SXPair", f:parse_SXPair }, + 0x00f9: { n:"SxFmla", f:parse_SxFmla }, + 0x00fb: { n:"SxFormat", f:parse_SxFormat }, + 0x00fc: { n:"SST", f:parse_SST }, + 0x00fd: { n:"LabelSst", f:parse_LabelSst }, + 0x00ff: { n:"ExtSST", f:parse_ExtSST }, + 0x0100: { n:"SXVDEx", f:parse_SXVDEx }, + 0x0103: { n:"SXFormula", f:parse_SXFormula }, + 0x0122: { n:"SXDBEx", f:parse_SXDBEx }, + 0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, + 0x0138: { n:"RRDHead", f:parse_RRDHead }, + 0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, + 0x013d: { n:"RRTabId", f:parse_RRTabId }, + 0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, + 0x013f: { n:"RRSort", f:parse_RRSort }, + 0x0140: { n:"RRDMove", f:parse_RRDMove }, + 0x014a: { n:"RRFormat", f:parse_RRFormat }, + 0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, + 0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, + 0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, + 0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, + 0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, + 0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, + 0x0152: { n:"RRDConflict", f:parse_RRDConflict }, + 0x0153: { n:"RRDDefName", f:parse_RRDDefName }, + 0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, + 0x015f: { n:"LRng", f:parse_LRng }, + 0x0160: { n:"UsesELFs", f:parse_UsesELFs }, + 0x0161: { n:"DSF", f:parse_DSF }, + 0x0191: { n:"CUsr", f:parse_CUsr }, + 0x0192: { n:"CbUsr", f:parse_CbUsr }, + 0x0193: { n:"UsrInfo", f:parse_UsrInfo }, + 0x0194: { n:"UsrExcl", f:parse_UsrExcl }, + 0x0195: { n:"FileLock", f:parse_FileLock }, + 0x0196: { n:"RRDInfo", f:parse_RRDInfo }, + 0x0197: { n:"BCUsrs", f:parse_BCUsrs }, + 0x0198: { n:"UsrChk", f:parse_UsrChk }, + 0x01a9: { n:"UserBView", f:parse_UserBView }, + 0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, + 0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, + 0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, + 0x01ad: { n:"Qsi", f:parse_Qsi }, + 0x01ae: { n:"SupBook", f:parse_SupBook }, + 0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, + 0x01b0: { n:"CondFmt", f:parse_CondFmt }, + 0x01b1: { n:"CF", f:parse_CF }, + 0x01b2: { n:"DVal", f:parse_DVal }, + 0x01b5: { n:"DConBin", f:parse_DConBin }, + 0x01b6: { n:"TxO", f:parse_TxO }, + 0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, + 0x01b8: { n:"HLink", f:parse_HLink }, + 0x01b9: { n:"Lel", f:parse_Lel }, + 0x01ba: { n:"CodeName", f:parse_XLSCodeName }, + 0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, + 0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, + 0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, + 0x01be: { n:"Dv", f:parse_Dv }, + 0x01c0: { n:"Excel9File", f:parse_Excel9File }, + 0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, + 0x01c2: { n:"EntExU2", f:parse_EntExU2 }, + 0x0200: { n:"Dimensions", f:parse_Dimensions }, + 0x0201: { n:"Blank", f:parse_Blank }, + 0x0203: { n:"Number", f:parse_Number }, + 0x0204: { n:"Label", f:parse_Label }, + 0x0205: { n:"BoolErr", f:parse_BoolErr }, + 0x0207: { n:"String", f:parse_String }, + 0x0208: { n:'Row', f:parse_Row }, + 0x020b: { n:"Index", f:parse_Index }, + 0x0221: { n:"Array", f:parse_Array }, + 0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, + 0x0236: { n:"Table", f:parse_Table }, + 0x023e: { n:"Window2", f:parse_Window2 }, + 0x027e: { n:"RK", f:parse_RK }, + 0x0293: { n:"Style", f:parse_Style }, + 0x0418: { n:"BigName", f:parse_BigName }, + 0x041e: { n:"Format", f:parse_Format }, + 0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, + 0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, + 0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, + 0x0801: { n:"WebPub", f:parse_WebPub }, + 0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, + 0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, + 0x0804: { n:"ExtString", f:parse_ExtString }, + 0x0805: { n:"TxtQry", f:parse_TxtQry }, + 0x0806: { n:"Qsir", f:parse_Qsir }, + 0x0807: { n:"Qsif", f:parse_Qsif }, + 0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, + 0x0809: { n:'BOF', f:parse_BOF }, + 0x080a: { n:"OleDbConn", f:parse_OleDbConn }, + 0x080b: { n:"WOpt", f:parse_WOpt }, + 0x080c: { n:"SXViewEx", f:parse_SXViewEx }, + 0x080d: { n:"SXTH", f:parse_SXTH }, + 0x080e: { n:"SXPIEx", f:parse_SXPIEx }, + 0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, + 0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, + 0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, + 0x0813: { n:"RealTimeData", f:parse_RealTimeData }, + 0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, + 0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, + 0x0852: { n:"StartBlock", f:parse_StartBlock }, + 0x0853: { n:"EndBlock", f:parse_EndBlock }, + 0x0854: { n:"StartObject", f:parse_StartObject }, + 0x0855: { n:"EndObject", f:parse_EndObject }, + 0x0856: { n:"CatLab", f:parse_CatLab }, + 0x0857: { n:"YMult", f:parse_YMult }, + 0x0858: { n:"SXViewLink", f:parse_SXViewLink }, + 0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, + 0x085a: { n:"FrtFontList", f:parse_FrtFontList }, + 0x0862: { n:"SheetExt", f:parse_SheetExt }, + 0x0863: { n:"BookExt", f:parse_BookExt, r:12}, + 0x0864: { n:"SXAddl", f:parse_SXAddl }, + 0x0865: { n:"CrErr", f:parse_CrErr }, + 0x0866: { n:"HFPicture", f:parse_HFPicture }, + 0x0867: { n:'FeatHdr', f:parse_FeatHdr }, + 0x0868: { n:"Feat", f:parse_Feat }, + 0x086a: { n:"DataLabExt", f:parse_DataLabExt }, + 0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, + 0x086c: { n:"CellWatch", f:parse_CellWatch }, + 0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, + 0x0872: { n:"Feature11", f:parse_Feature11 }, + 0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, + 0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, + 0x0876: { n:"DConn", f:parse_DConn }, + 0x0877: { n:"List12", f:parse_List12 }, + 0x0878: { n:"Feature12", f:parse_Feature12 }, + 0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, + 0x087a: { n:"CF12", f:parse_CF12 }, + 0x087b: { n:"CFEx", f:parse_CFEx }, + 0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, + 0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, + 0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, + 0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, + 0x0884: { n:"MDTInfo", f:parse_MDTInfo }, + 0x0885: { n:"MDXStr", f:parse_MDXStr }, + 0x0886: { n:"MDXTuple", f:parse_MDXTuple }, + 0x0887: { n:"MDXSet", f:parse_MDXSet }, + 0x0888: { n:"MDXProp", f:parse_MDXProp }, + 0x0889: { n:"MDXKPI", f:parse_MDXKPI }, + 0x088a: { n:"MDB", f:parse_MDB }, + 0x088b: { n:"PLV", f:parse_PLV }, + 0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, + 0x088d: { n:"DXF", f:parse_DXF }, + 0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, + 0x088f: { n:"TableStyle", f:parse_TableStyle }, + 0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, + 0x0892: { n:"StyleExt", f:parse_StyleExt }, + 0x0893: { n:"NamePublish", f:parse_NamePublish }, + 0x0894: { n:"NameCmt", f:parse_NameCmt }, + 0x0895: { n:"SortData", f:parse_SortData }, + 0x0896: { n:"Theme", f:parse_Theme, r:12 }, + 0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, + 0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, + 0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, + 0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, + 0x089b: { n:"CompressPictures", f:parse_CompressPictures }, + 0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, + 0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, + 0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, + 0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, + 0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, + 0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, + 0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, + 0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, + 0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, + 0x1001: { n:"Units", f:parse_Units }, + 0x1002: { n:"Chart", f:parse_Chart }, + 0x1003: { n:"Series", f:parse_Series }, + 0x1006: { n:"DataFormat", f:parse_DataFormat }, + 0x1007: { n:"LineFormat", f:parse_LineFormat }, + 0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, + 0x100a: { n:"AreaFormat", f:parse_AreaFormat }, + 0x100b: { n:"PieFormat", f:parse_PieFormat }, + 0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, + 0x100d: { n:"SeriesText", f:parse_SeriesText }, + 0x1014: { n:"ChartFormat", f:parse_ChartFormat }, + 0x1015: { n:"Legend", f:parse_Legend }, + 0x1016: { n:"SeriesList", f:parse_SeriesList }, + 0x1017: { n:"Bar", f:parse_Bar }, + 0x1018: { n:"Line", f:parse_Line }, + 0x1019: { n:"Pie", f:parse_Pie }, + 0x101a: { n:"Area", f:parse_Area }, + 0x101b: { n:"Scatter", f:parse_Scatter }, + 0x101c: { n:"CrtLine", f:parse_CrtLine }, + 0x101d: { n:"Axis", f:parse_Axis }, + 0x101e: { n:"Tick", f:parse_Tick }, + 0x101f: { n:"ValueRange", f:parse_ValueRange }, + 0x1020: { n:"CatSerRange", f:parse_CatSerRange }, + 0x1021: { n:"AxisLine", f:parse_AxisLine }, + 0x1022: { n:"CrtLink", f:parse_CrtLink }, + 0x1024: { n:"DefaultText", f:parse_DefaultText }, + 0x1025: { n:"Text", f:parse_Text }, + 0x1026: { n:"FontX", f:parse_FontX }, + 0x1027: { n:"ObjectLink", f:parse_ObjectLink }, + 0x1032: { n:"Frame", f:parse_Frame }, + 0x1033: { n:"Begin", f:parse_Begin }, + 0x1034: { n:"End", f:parse_End }, + 0x1035: { n:"PlotArea", f:parse_PlotArea }, + 0x103a: { n:"Chart3d", f:parse_Chart3d }, + 0x103c: { n:"PicF", f:parse_PicF }, + 0x103d: { n:"DropBar", f:parse_DropBar }, + 0x103e: { n:"Radar", f:parse_Radar }, + 0x103f: { n:"Surf", f:parse_Surf }, + 0x1040: { n:"RadarArea", f:parse_RadarArea }, + 0x1041: { n:"AxisParent", f:parse_AxisParent }, + 0x1043: { n:"LegendException", f:parse_LegendException }, + 0x1044: { n:"ShtProps", f:parse_ShtProps }, + 0x1045: { n:"SerToCrt", f:parse_SerToCrt }, + 0x1046: { n:"AxesUsed", f:parse_AxesUsed }, + 0x1048: { n:"SBaseRef", f:parse_SBaseRef }, + 0x104a: { n:"SerParent", f:parse_SerParent }, + 0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, + 0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, + 0x104f: { n:"Pos", f:parse_Pos }, + 0x1050: { n:"AlRuns", f:parse_AlRuns }, + 0x1051: { n:"BRAI", f:parse_BRAI }, + 0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, + 0x105c: { n:"ClrtClient", f:parse_ClrtClient }, + 0x105d: { n:"SerFmt", f:parse_SerFmt }, + 0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, + 0x1060: { n:"Fbi", f:parse_Fbi }, + 0x1061: { n:"BopPop", f:parse_BopPop }, + 0x1062: { n:"AxcExt", f:parse_AxcExt }, + 0x1063: { n:"Dat", f:parse_Dat }, + 0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, + 0x1065: { n:"SIIndex", f:parse_SIIndex }, + 0x1066: { n:"GelFrame", f:parse_GelFrame }, + 0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, + 0x1068: { n:"Fbi2", f:parse_Fbi2 }, + + /* These are specified in an older version of the spec */ + 0x0016: { n:"ExternCount", f:parsenoop }, + 0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ + 0x007f: { n:"ImData", f:parsenoop }, + 0x0087: { n:"Addin", f:parsenoop }, + 0x0088: { n:"Edg", f:parsenoop }, + 0x0089: { n:"Pub", f:parsenoop }, + 0x0091: { n:"Sub", f:parsenoop }, + 0x0094: { n:"LHRecord", f:parsenoop }, + 0x0095: { n:"LHNGraph", f:parsenoop }, + 0x0096: { n:"Sound", f:parsenoop }, + 0x00a9: { n:"CoordList", f:parsenoop }, + 0x00ab: { n:"GCW", f:parsenoop }, + 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 }, + 0x00df: { n:"UDDesc", f:parsenoop }, + 0x00ea: { n:"TabIdConf", f:parsenoop }, + 0x0162: { n:"XL5Modify", f:parsenoop }, + 0x01a5: { n:"FileSharing2", f:parsenoop }, + 0x0218: { n:"Name", f:parsenoop }, + 0x0223: { n:"ExternName", f:parse_ExternName }, + 0x0231: { n:"Font", f:parsenoop }, + 0x0406: { n:"Formula", f:parse_Formula }, + 0x086d: { n:"FeatInfo", f:parsenoop }, + 0x0873: { n:"FeatInfo11", f:parsenoop }, + 0x0881: { n:"SXAddl12", f:parsenoop }, + 0x08c0: { n:"AutoWebPub", f:parsenoop }, + 0x08c1: { n:"ListObj", f:parsenoop }, + 0x08c2: { n:"ListField", f:parsenoop }, + 0x08c3: { n:"ListDV", f:parsenoop }, + 0x08c4: { n:"ListCondFmt", f:parsenoop }, + 0x08c5: { n:"ListCF", f:parsenoop }, + 0x08c6: { n:"FMQry", f:parsenoop }, + 0x08c7: { n:"FMSQry", f:parsenoop }, + 0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ + 0x08c9: { n:"LnExt", f:parsenoop }, + 0x08ca: { n:"MkrExt", f:parsenoop }, + 0x08cb: { n:"CrtCoopt", f:parsenoop }, + + 0x0000: {} +}; + + diff --git a/bits/82_sheeter.js b/bits/82_sheeter.js deleted file mode 100644 index fdc32b8..0000000 --- a/bits/82_sheeter.js +++ /dev/null @@ -1,7 +0,0 @@ -/* actual implementation in utils, wrappers are for read/write */ -function write_csv_str(wb/*:Workbook*/, o/*:WriteOpts*/) { - var idx = 0; - for(var i=0;i >*/ = []; - var rdf = []; - - /* 3:3.3 and 2:2.2.4 */ - f = "mimetype"; - zip.file(f, "application/vnd.oasis.opendocument.spreadsheet"); - - /* Part 1 Section 2.2 Documents */ - f = "content.xml"; - zip.file(f, write_content_xml(wb, opts)); - manifest.push([f, "text/xml"]); - rdf.push([f, "ContentFile"]); - - /* Part 3 Section 6 Metadata Manifest File */ - f = "manifest.rdf"; - zip.file(f, write_rdf(rdf, opts)); - manifest.push([f, "application/rdf+xml"]); - - /* Part 3 Section 4 Manifest File */ - f = "META-INF/manifest.xml"; - zip.file(f, write_manifest(manifest, opts)); - - return zip; -} diff --git a/bits/83_parseods.js b/bits/83_parseods.js new file mode 100644 index 0000000..cc2c71c --- /dev/null +++ b/bits/83_parseods.js @@ -0,0 +1,6 @@ +/* Helper function to call out to ODS parser */ +function parse_ods(zip, opts) { + if(typeof module !== "undefined" && typeof require !== 'undefined' && typeof ODS === 'undefined') ODS = require('./od' + 's'); + if(typeof ODS === 'undefined' || !ODS.parse_ods) throw new Error("Unsupported ODS"); + return ODS.parse_ods(zip, opts); +} diff --git a/bits/84_defaults.js b/bits/84_defaults.js index 7c65822..4b811ba 100644 --- a/bits/84_defaults.js +++ b/bits/84_defaults.js @@ -1,4 +1,4 @@ -function fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ { +function fix_opts_func(defaults) { return function fix_opts(opts) { for(var i = 0; i != defaults.length; ++i) { var d = defaults[i]; @@ -36,7 +36,5 @@ var fix_write_opts = fix_opts_func([ ['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */ - ['compression', false], /* Use file compression */ - ['WTF', false] /* WTF mode (throws errors) */ ]); diff --git a/bits/85_parsezip.js b/bits/85_parsezip.js index e9dc519..075f294 100644 --- a/bits/85_parsezip.js +++ b/bits/85_parsezip.js @@ -6,15 +6,15 @@ 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, wb) { +function safe_parse_ws(zip, path, relsPath, sheet, sheetRels, sheets, opts) { try { - sheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path); - sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet], wb); + sheetRels[sheet]=parse_rels(getzipdata(zip, relsPath, true), path); + sheets[sheet]=parse_ws(getzipdata(zip, path),path,opts,sheetRels[sheet]); } catch(e) { if(opts.WTF) throw e; } } -var nodirs = function nodirs(x/*:string*/)/*:boolean*/{return x.slice(-1) != '/';}; -function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { +var nodirs = function nodirs(x){return x.substr(-1) != '/';}; +function parse_zip(zip, opts) { make_ssf(SSF); opts = opts || {}; fix_read_opts(opts); @@ -22,11 +22,9 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { /* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */ if(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts); - /* UOC */ - if(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts); var entries = keys(zip.files).filter(nodirs).sort(); - var dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/), opts); + var dir = parse_ct(getzipdata(zip, '[Content_Types].xml'), opts); var xlsb = false; var sheets, binname; if(dir.workbooks.length === 0) { @@ -39,7 +37,7 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { dir.workbooks.push(binname); xlsb = true; } - if(dir.workbooks[0].slice(-3) == "bin") xlsb = true; + if(dir.workbooks[0].substr(-3) == "bin") xlsb = true; if(xlsb) set_cp(1200); if(!opts.bookSheets && !opts.bookProps) { @@ -50,7 +48,7 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { if(dir.style) styles = parse_sty(getzipdata(zip, dir.style.replace(/^\//,'')),dir.style, opts); themes = {}; - if(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\//,''), true)||"",dir.themes[0], opts); + if(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipdata(zip, dir.themes[0].replace(/^\//,''), true),dir.themes[0], opts); } var wb = parse_wb(getzipdata(zip, dir.workbooks[0].replace(/^\//,'')), dir.workbooks[0], opts); @@ -58,10 +56,10 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { var props = {}, propdata = ""; if(dir.coreprops.length !== 0) { - propdata = getzipstr(zip, dir.coreprops[0].replace(/^\//,''), true); + propdata = getzipdata(zip, dir.coreprops[0].replace(/^\//,''), true); if(propdata) props = parse_core_props(propdata); if(dir.extprops.length !== 0) { - propdata = getzipstr(zip, dir.extprops[0].replace(/^\//,''), true); + propdata = getzipdata(zip, dir.extprops[0].replace(/^\//,''), true); if(propdata) parse_ext_props(propdata, props); } } @@ -69,17 +67,17 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { var custprops = {}; if(!opts.bookSheets || opts.bookProps) { if (dir.custprops.length !== 0) { - propdata = getzipstr(zip, dir.custprops[0].replace(/^\//,''), true); + propdata = getzipdata(zip, dir.custprops[0].replace(/^\//,''), true); if(propdata) custprops = parse_cust_props(propdata, opts); } } - var out = ({}/*:any*/); + var out = {}; if(opts.bookSheets || opts.bookProps) { if(props.Worksheets && props.SheetNames.length > 0) 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(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets; + if(typeof sheets !== 'undefined') out.SheetNames = sheets; if(opts.bookSheets ? out.SheetNames : opts.bookProps) return out; } sheets = {}; @@ -88,7 +86,7 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { if(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, dir.calcchain.replace(/^\//,'')),dir.calcchain,opts); var i=0; - var sheetRels = ({}/*:any*/); + var sheetRels = {}; var path, relsPath; if(!props.Worksheets) { var wbsheets = wb.Sheets; @@ -101,23 +99,23 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { var wbext = xlsb ? "bin" : "xml"; var wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels'; - var wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile); + var wbrels = parse_rels(getzipdata(zip, wbrelsfile, true), wbrelsfile); if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ 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\//, ""); + if(wbrels) 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); + safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts); } if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); - out = ({ + out = { Directory: dir, Workbook: wb, Props: props, @@ -129,14 +127,14 @@ function parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ { Styles: styles, Themes: themes, SSF: SSF.get_table() - }/*:any*/); + }; 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); + else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); } return out; } diff --git a/bits/86_writezip.js b/bits/86_writezip.js index c9eea1d..1a41038 100644 --- a/bits/86_writezip.js +++ b/bits/86_writezip.js @@ -9,40 +9,34 @@ function add_rels(rels, rId, f, type, relobj) { rels[('/' + relobj.Target).replace("//","/")] = relobj; } -function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { - if(opts.bookType == "ods") return write_ods(wb, opts); +function write_zip(wb, opts) { if(wb && !wb.SSF) { wb.SSF = SSF.get_table(); } if(wb && wb.SSF) { - // $FlowIgnore make_ssf(SSF); SSF.load_table(wb.SSF); - // $FlowIgnore opts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0; } opts.rels = {}; opts.wbrels = {}; - opts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0; + 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 || {}); - /*:: if(!jszip) throw new Error("JSZip is not available"); */ 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); - /*::if(!wb.Props) throw "unreachable"; */ f = "docProps/app.xml"; + if(!wb.Props) wb.Props = {}; wb.Props.SheetNames = wb.SheetNames; wb.Props.Worksheets = wb.SheetNames.length; zip.file(f, write_ext_props(wb.Props, opts)); diff --git a/bits/87_read.js b/bits/87_read.js index f72f70f..4b3cabb 100644 --- a/bits/87_read.js +++ b/bits/87_read.js @@ -1,15 +1,14 @@ -function firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:number*/ { +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")); + default: throw new Error("Unrecognized type " + o.type); } } -function read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { - /*:: if(!jszip) throw new Error("JSZip is not available"); */ +function read_zip(data, opts) { var zip, d = data; var o = opts||{}; if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; @@ -17,27 +16,31 @@ function read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { 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; + case "file": zip=new jszip(d=_fs.readFileSync(data)); break; default: throw new Error("Unrecognized type " + o.type); } return parse_zip(zip, o); } -function readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { - var zip, d = data, n=0; +function readSync(data, opts) { + var zip, d = data, isfile = false, n; 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); } + if(o.type == "file") { isfile = true; o.type = "buffer"; d = _fs.readFileSync(data); } switch((n = firstbyte(d, o))) { - case 0xD0: return parse_xlscfb(CFB.read(d, o), o); - case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(d) : d), o); + case 0xD0: + if(isfile) o.type = "file"; + return parse_xlscfb(CFB.read(data, o), o); + case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(data) : data), o); case 0x3C: return parse_xlml(d, o); - case 0x50: return read_zip(d, o); - case 0xEF: return parse_xlml(d, o); + case 0x50: + if(isfile) o.type = "file"; + return read_zip(data, opts); default: throw new Error("Unsupported file " + n); } } -function readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ { +function readFileSync(data, opts) { var o = opts||{}; o.type = 'file'; - return readSync(filename, o); + return readSync(data, o); } diff --git a/bits/88_write.js b/bits/88_write.js index 7c00861..0428662 100644 --- a/bits/88_write.js +++ b/bits/88_write.js @@ -1,78 +1,33 @@ -function write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/) { +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; + case "base64": return z.generate({type:"base64"}); + case "binary": return z.generate({type:"string"}); + case "buffer": return z.generate({type:"nodebuffer"}); + case "file": return _fs.writeFileSync(o.file, z.generate({type:"nodebuffer"})); default: throw new Error("Unrecognized type " + o.type); } - if(o.type === "file") return _fs.writeFileSync(o.file, z.generate(oopts)); - return z.generate(oopts); } -/* TODO: test consistency */ -function write_string_type(out/*:string*/, opts/*:WriteOpts*/) { - switch(opts.type) { - case "base64": return Base64.encode(out); - case "binary": return out; - case "file": return _fs.writeFileSync(opts.file, out, 'utf8'); - case "buffer": { - if(has_buf) return new Buffer(out, 'utf8'); - else return out.split("").map(function(c) { return c.charCodeAt(0); }); - } - } - throw new Error("Unrecognized type " + opts.type); -} - -/* TODO: test consistency */ -function write_binary_type(out, opts/*:WriteOpts*/) { - switch(opts.type) { - case "base64": - case "binary": - var bstr = ""; - for(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]); - return opts.type == 'base64' ? Base64.encode(bstr) : bstr; - case "file": return _fs.writeFileSync(opts.file, out); - case "buffer": return out; - default: throw new Error("Unrecognized type " + opts.type); - } -} - -function writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) { - check_wb(wb); +function writeSync(wb, opts) { var o = opts||{}; - switch(o.bookType || 'xlsx') { - case 'xml': - case 'xlml': return write_string_type(write_xlml(wb, o), o); - case 'csv': return write_string_type(write_csv_str(wb, o), o); - case 'fods': return write_string_type(write_ods(wb, o), o); - case 'biff2': return write_binary_type(write_biff_buf(wb, o), o); - case 'xlsx': - case 'xlsm': - case 'xlsb': - case 'ods': return write_zip_type(wb, o); - default: throw new Error ("Unrecognized bookType |" + o.bookType + "|"); + switch(o.bookType) { + case 'xml': return write_xlml(wb, o); + default: return write_zip_type(wb, o); } } -function writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) { +function writeFileSync(wb, filename, opts) { var o = opts||{}; o.type = 'file'; o.file = filename; - if(!o.bookType) switch(o.file.slice(-5).toLowerCase()) { + switch(o.file.substr(-5).toLowerCase()) { case '.xlsx': o.bookType = 'xlsx'; break; case '.xlsm': o.bookType = 'xlsm'; break; case '.xlsb': o.bookType = 'xlsb'; break; - case '.fods': o.bookType = 'fods'; break; - case '.xlml': o.bookType = 'xlml'; break; - default: switch(o.file.slice(-4).toLowerCase()) { - case '.xls': o.bookType = 'biff2'; break; + default: switch(o.file.substr(-4).toLowerCase()) { + case '.xls': o.bookType = 'xls'; break; case '.xml': o.bookType = 'xml'; break; - case '.ods': o.bookType = 'ods'; break; - case '.csv': o.bookType = 'csv'; break; }} return writeSync(wb, o); } diff --git a/bits/90_utils.js b/bits/90_utils.js index 56f7c43..17508ce 100644 --- a/bits/90_utils.js +++ b/bits/90_utils.js @@ -1,33 +1,26 @@ -function decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; } -function encode_row(row/*:number*/)/*:string*/ { return "" + (row + 1); } -function fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\d+)$/,"$1$$$2"); } -function unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\$(\d+)$/,"$1"); } +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/*:string*/)/*:number*/ { 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/*:number*/)/*:string*/ { 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/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,"$$$1"); } -function unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\$([A-Z])/,"$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/*:string*/)/*:Array*/ { return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(","); } -function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; } -function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); } -function fix_cell(cstr/*:string*/)/*:string*/ { return fix_col(fix_row(cstr)); } -function unfix_cell(cstr/*:string*/)/*:string*/ { return unfix_col(unfix_row(cstr)); } -function decode_range(range/*:string*/)/*:Range*/ { var x =range.split(":").map(decode_cell); return {s:x[0],e:x[x.length-1]}; } -function encode_range(cs/*:any*/,ce/*:?any*/)/*:string*/ { - if(typeof ce === 'undefined' || typeof ce === 'number') { -/*:: if(!(cs instanceof Range)) throw "unreachable"; */ - return encode_range(cs.s, cs.e); - } -/*:: if((cs instanceof Range)) throw "unreachable"; */ - if(typeof cs !== 'string') cs = encode_cell((cs/*:any*/)); - if(typeof ce !== 'string') ce = encode_cell((ce/*:any*/)); -/*:: if(typeof cs !== 'string') throw "unreachable"; */ -/*:: if(typeof ce !== 'string') throw "unreachable"; */ +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/*:string*/)/*:Range*/ { +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; @@ -59,21 +52,21 @@ function safe_decode_range(range/*:string*/)/*:Range*/ { return o; } -function safe_format_cell(cell/*:Cell*/, v/*:any*/) { +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/*:Cell*/, v/*:any*/) { +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/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/){ - var val, row, range, header = 0, offset = 1, r, hdr/*:Array*/ = [], isempty, R, C, v, vv; +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 []; @@ -100,10 +93,7 @@ function sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/){ case 3: hdr[C] = o.header[C - r.s.c]; break; default: if(val === undefined) continue; - vv = v = format_cell(val); - var counter = 0; - for(var CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + "_" + (++counter); - hdr[C] = vv; + hdr[C] = format_cell(val); } } @@ -137,9 +127,9 @@ function sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/){ return out; } -function sheet_to_row_object_array(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) { return sheet_to_json(sheet, opts != null ? opts : {}); } +function sheet_to_row_object_array(sheet, opts) { return sheet_to_json(sheet, opts != null ? opts : {}); } -function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { +function sheet_to_csv(sheet, opts) { var out = "", txt = "", qreg = /"/g; var o = opts == null ? {} : opts; if(sheet == null || sheet["!ref"] == null) return ""; @@ -166,11 +156,11 @@ function sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) { } var make_csv = sheet_to_csv; -function sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ { - var y = "", x, val=""; - if(sheet == null || sheet["!ref"] == null) return []; +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; - var cmds = new Array((r.e.r-r.s.r+1)*(r.e.c-r.s.c+1)); + 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) { @@ -180,18 +170,9 @@ function sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ { 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/bits/98_exports.js b/bits/98_exports.js index 8e9fd8a..df1acd6 100644 --- a/bits/98_exports.js +++ b/bits/98_exports.js @@ -1,7 +1,4 @@ XLSX.parse_xlscfb = parse_xlscfb; -XLSX.parse_ods = parse_ods; -XLSX.parse_fods = parse_fods; -XLSX.write_ods = write_ods; XLSX.parse_zip = parse_zip; XLSX.read = readSync; //xlsread XLSX.readFile = readFileSync; //readFile diff --git a/bits/99_footer.js b/bits/99_footer.js index 0670c54..50e5f5e 100644 --- a/bits/99_footer.js +++ b/bits/99_footer.js @@ -1,5 +1,2 @@ })(typeof exports !== 'undefined' ? exports : XLSX); -/*exported XLS */ var XLS = XLSX; -/*exported ODS */ -var ODS = XLSX; diff --git a/bower.json b/bower.json index ec5b885..9c6a6be 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,8 @@ { "name": "js-xlsx", "homepage": "https://github.com/SheetJS/js-xlsx", - "main": "dist/xlsx.core.min.js", + "main": "dist/xlsx.js", + "version": "0.8.1", "ignore": [ "bin", "bits", diff --git a/demos/browserify/.gitignore b/demos/browserify/.gitignore deleted file mode 100644 index 671f90e..0000000 --- a/demos/browserify/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -browserify.js -browserify.min.js diff --git a/demos/browserify/Makefile b/demos/browserify/Makefile deleted file mode 100644 index ba5579d..0000000 --- a/demos/browserify/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -TOOL=browserify -.PHONY: all -all: $(TOOL).min.js - -$(TOOL).min.js: $(TOOL).js - uglifyjs $< > $@ - -.PHONY: $(TOOL).js -$(TOOL).js: - browserify -r './main.js:xlsx' > $@ diff --git a/demos/browserify/browserify.html b/demos/browserify/browserify.html deleted file mode 100644 index 2c72df8..0000000 --- a/demos/browserify/browserify.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - -JS-XLSX Live Demo - - - -JS-XLSX Live Demo
-Output Format: -
- -
Drop a spreadsheet file here to see sheet data
-

... or click here to select a file

- -
-Advanced Demo Options:
-Use Web Workers: (when available)
-Use Transferrables: (when available)
-Use readAsBinaryString: (when available)
-

-
- - - - diff --git a/demos/browserify/main.js b/demos/browserify/main.js deleted file mode 100644 index 108e2f9..0000000 --- a/demos/browserify/main.js +++ /dev/null @@ -1,3 +0,0 @@ -var XLSX = require('../../'); // test against development version -//var XLSX = require('xlsx'); // use in production -module.exports = XLSX; diff --git a/demos/browserify/xlsxworker.js b/demos/browserify/xlsxworker.js deleted file mode 100644 index 8dc6e25..0000000 --- a/demos/browserify/xlsxworker.js +++ /dev/null @@ -1,12 +0,0 @@ -/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -importScripts('browserify.min.js'); -var XLSX = require('xlsx'); -postMessage({t:"ready"}); - -onmessage = function (oEvent) { - var v; - try { - v = XLSX.read(oEvent.data.d, {type: oEvent.data.b ? 'binary' : 'base64'}); - } catch(e) { postMessage({t:"e",d:e.stack||e}); } -postMessage({t:"xlsx", d:JSON.stringify(v)}); -}; diff --git a/demos/browserify/xlsxworker1.js b/demos/browserify/xlsxworker1.js deleted file mode 100644 index 5bfab04..0000000 --- a/demos/browserify/xlsxworker1.js +++ /dev/null @@ -1,27 +0,0 @@ -/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -importScripts('browserify.min.js'); -var XLSX = require('xlsx'); -postMessage({t:"ready"}); - -function ab2str(data) { - var o = "", l = 0, w = 10240; - for(; l 0){ - result[sheetName] = roa; - } - }); - return result; -} - -function to_csv(workbook) { - var result = []; - workbook.SheetNames.forEach(function(sheetName) { - var csv = X.utils.sheet_to_csv(workbook.Sheets[sheetName]); - if(csv.length > 0){ - result.push("SHEET: " + sheetName); - result.push(""); - result.push(csv); - } - }); - return result.join("\n"); -} - -function to_formulae(workbook) { - var result = []; - workbook.SheetNames.forEach(function(sheetName) { - var formulae = X.utils.get_formulae(workbook.Sheets[sheetName]); - if(formulae.length > 0){ - result.push("SHEET: " + sheetName); - result.push(""); - result.push(formulae.join("\n")); - } - }); - return result.join("\n"); -} - -var tarea = document.getElementById('b64data'); -function b64it() { - if(typeof console !== 'undefined') console.log("onload", new Date()); - var wb = X.read(tarea.value, {type: 'base64',WTF:wtf_mode}); - process_wb(wb); -} - -function process_wb(wb) { - var output = ""; - switch(get_radio_value("format")) { - case "json": - output = JSON.stringify(to_json(wb), 2, 2); - break; - case "form": - output = to_formulae(wb); - break; - default: - output = to_csv(wb); - } - if(out.innerText === undefined) out.textContent = output; - else out.innerText = output; - if(typeof console !== 'undefined') console.log("output", new Date()); -} - -var drop = document.getElementById('drop'); -function handleDrop(e) { - e.stopPropagation(); - e.preventDefault(); - rABS = document.getElementsByName("userabs")[0].checked; - var files = e.dataTransfer.files; - var f = files[0]; - { - var reader = new FileReader(); - var name = f.name; - reader.onload = function(e) { - if(typeof console !== 'undefined') console.log("onload", new Date(), rABS); - var data = e.target.result; - { - var wb; - if(rABS) { - wb = X.read(data, {type: 'binary'}); - } else { - var arr = fixdata(data); - wb = X.read(btoa(arr), {type: 'base64'}); - } - process_wb(wb); - } - }; - if(rABS) reader.readAsBinaryString(f); - else reader.readAsArrayBuffer(f); - } -} - -function handleDragover(e) { - e.stopPropagation(); - e.preventDefault(); - e.dataTransfer.dropEffect = 'copy'; -} - -if(drop.addEventListener) { - drop.addEventListener('dragenter', handleDragover, false); - drop.addEventListener('dragover', handleDragover, false); - drop.addEventListener('drop', handleDrop, false); -} - - -var xlf = document.getElementById('xlf'); -function handleFile(e) { - rABS = document.getElementsByName("userabs")[0].checked; - var files = e.target.files; - var f = files[0]; - { - var reader = new FileReader(); - var name = f.name; - reader.onload = function(e) { - if(typeof console !== 'undefined') console.log("onload", new Date(), rABS); - var data = e.target.result; - { - var wb; - if(rABS) { - wb = X.read(data, {type: 'binary'}); - } else { - var arr = fixdata(data); - wb = X.read(btoa(arr), {type: 'base64'}); - } - process_wb(wb); - } - }; - if(rABS) reader.readAsBinaryString(f); - else reader.readAsArrayBuffer(f); - } -} - -if(xlf.addEventListener) xlf.addEventListener('change', handleFile, false); - -}); diff --git a/demos/webpack/.gitignore b/demos/webpack/.gitignore deleted file mode 100644 index 3620fff..0000000 --- a/demos/webpack/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -webpack.js -webpack.min.js diff --git a/demos/webpack/Makefile b/demos/webpack/Makefile deleted file mode 100644 index 2ab7c07..0000000 --- a/demos/webpack/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -TOOL=webpack -.PHONY: all -all: $(TOOL).min.js - -$(TOOL).min.js: $(TOOL).js - uglifyjs $< > $@ - -.PHONY: $(TOOL).js -$(TOOL).js: - webpack main.js --output-filename $@ --display-modules --profile diff --git a/demos/webpack/main.js b/demos/webpack/main.js deleted file mode 100644 index 26a3237..0000000 --- a/demos/webpack/main.js +++ /dev/null @@ -1,3 +0,0 @@ -var XLSX = require('../../'); -console.log("it works!"); -module.exports = XLSX; diff --git a/demos/webpack/webpack.config.js b/demos/webpack/webpack.config.js deleted file mode 100644 index e27d1a8..0000000 --- a/demos/webpack/webpack.config.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - output: { - libraryTarget: 'var', - library: 'XLSX' - }, - module: { - noParse: [/jszip.js$/] - }, - node: { - fs: false, - Buffer: false - } -} diff --git a/demos/webpack/webpack.html b/demos/webpack/webpack.html deleted file mode 100644 index cd5674d..0000000 --- a/demos/webpack/webpack.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - -JS-XLSX Live Demo - - - -JS-XLSX Live Demo
-Output Format: -
- -
Drop a spreadsheet file here to see sheet data
-

... or click here to select a file

- -
-Advanced Demo Options:
-Use Web Workers: (when available)
-Use Transferrables: (when available)
-Use readAsBinaryString: (when available)
-

-
- - - - diff --git a/demos/webpack/xlsxworker.js b/demos/webpack/xlsxworker.js deleted file mode 100644 index 0a72f85..0000000 --- a/demos/webpack/xlsxworker.js +++ /dev/null @@ -1,11 +0,0 @@ -/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -importScripts('webpack.min.js'); -postMessage({t:"ready"}); - -onmessage = function (oEvent) { - var v; - try { - v = XLSX.read(oEvent.data.d, {type: oEvent.data.b ? 'binary' : 'base64'}); - } catch(e) { postMessage({t:"e",d:e.stack||e}); } -postMessage({t:"xlsx", d:JSON.stringify(v)}); -}; diff --git a/demos/webpack/xlsxworker1.js b/demos/webpack/xlsxworker1.js deleted file mode 100644 index 53d0b76..0000000 --- a/demos/webpack/xlsxworker1.js +++ /dev/null @@ -1,26 +0,0 @@ -/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -importScripts('webpack.min.js'); -postMessage({t:"ready"}); - -function ab2str(data) { - var o = "", l = 0, w = 10240; - for(; l?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })(); cptable[932] = (function(){ var d = [], e = {}, D = [], j; D[0] = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������".split(""); @@ -805,7 +805,7 @@ if (typeof module !== 'undefined' && module.exports) module.exports = cptable; "use strict"; if(typeof cptable === "undefined") { if(typeof require !== "undefined"){ - var cpt = cptable; + 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"); diff --git a/dist/jszip.js b/dist/jszip.js index 7155082..51ef5da 100644 --- a/dist/jszip.js +++ b/dist/jszip.js @@ -9,7 +9,7 @@ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/js JSZip uses the library pako released under the MIT license : https://github.com/nodeca/pako/blob/master/LICENSE */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd){JSZip=e();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]*>/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 = { + '"': '"', + "'": ''', + '>': '>', + '<': '<', + '&': '&' +}; +var rencstr = "&<>'\"".split(""); + +// TODO: CP remap (need to read file version to determine OS) +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, tag) { + switch(value) { + case '1': case 'true': case 'TRUE': return true; + /* case '0': case 'false': case 'FALSE':*/ + default: return false; + } +} + +function datenum(v) { + var epoch = Date.parse(v); + return (epoch + 2209161600000) / (24 * 60 * 60 * 1000); +} + +/* ISO 8601 Duration */ +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; + /* falls through */ + case 'H': mt *= 60; + /* falls through */ + case 'M': + if(!time) throw new Error("Unsupported ISO Duration Field: M"); + else mt *= 60; + /* falls through */ + case 'S': break; + } + sec += mt * parseInt(m[i], 10); + } + return sec; +} +/* copied from js-xls (C) SheetJS Apache2 license */ +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-]+)[^>]*>/mg; +/* Part 3 Section 4 Manifest File */ +var CT_ODS = "application/vnd.oasis.opendocument.spreadsheet"; +var parse_manifest = function(d, opts) { + var str = xlml_normalize(d); + var Rn; + var FEtag; + while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { + case 'manifest': break; // 4.2 + case 'file-entry': // 4.3 + FEtag = parsexmltag(Rn[0]); + if(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error("This OpenDocument is not a spreadsheet"); + break; + case 'encryption-data': // 4.4 + case 'algorithm': // 4.5 + case 'start-key-generation': // 4.6 + case 'key-derivation': // 4.7 + throw new Error("Unsupported ODS Encryption"); + default: throw Rn; + } +}; +var parse_text_p = function(text, tag) { + return 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 (i < orig.length) { + c = orig.charCodeAt(i++); + if (c < 128) { out += String.fromCharCode(c); continue; } + d = orig.charCodeAt(i++); + if (c>191 && 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(0xD800 + ((w>>>10)&1023)); + out += String.fromCharCode(0xDC00 + (w&1023)); + } + return out; +}; +var parse_content_xml = (function() { + + var number_formats = { + /* ods name: [short ssf fmt, long ssf fmt] */ + 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, NF, pidx; + var sheetag; + var Sheets = {}, SheetNames = [], ws = {}; + var Rn, q; + var ctag; + var textp, textpidx, textptag; + var R, C, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}}; + var number_format_map = {}; + var merges = [], mrange = {}, mR = 0, mC = 0; + + while((Rn = xlmlregex.exec(str))) switch(Rn[3]) { + + case 'table': // 9.1.2 + 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; + SheetNames.push(sheetag.name); + Sheets[sheetag.name] = ws; + } + else if(Rn[0].charAt(Rn[0].length-2) !== '/') { + sheetag = parsexmltag(Rn[0]); + R = C = -1; + range.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0; + ws = {}; merges = []; + } + break; + + case 'table-row': // 9.1.3 + if(Rn[1] === '/') break; + ++R; C = -1; break; + case 'covered-table-cell': // 9.1.5 table:covered-table-cell + ++C; break; /* stub */ + case 'table-cell': + if(Rn[0].charAt(Rn[0].length-2) === '/') { + ctag = parsexmltag(Rn[0]); + if(ctag['number-columns-repeated']) C+= parseInt(ctag['number-columns-repeated'], 10); + else ++C; + } + else if(Rn[1]!=='/') { + ++C; + if(C > range.e.c) range.e.c = C; + if(R > range.e.r) range.e.r = R; + if(C < range.s.c) range.s.c = C; + if(R < range.s.r) range.s.r = R; + ctag = parsexmltag(Rn[0]); + q = {t:ctag['value-type'], v:null}; + 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); + } + /* 19.385 office:value-type */ + 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; + case 'string': q.t = 's'; break; + default: 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; + q = null; + } + break; // 9.1.4 + + /* pure state */ + case 'document-content': // 3.1.3.2 + case 'spreadsheet': // 3.7 + case 'scripts': // 3.12 + case 'font-face-decls': // 3.14 + 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; + + /* ignore state */ + case 'shapes': // 9.2.8 + case 'frame': // 10.4.2 + 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': // 16.27.2 + case 'percentage-style': // 16.27.9 + case 'date-style': // 16.27.10 + case 'time-style': // 16.27.18 + 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]); + state.push([Rn[3], true]); + } break; + + case 'script': break; // 3.13 + case 'automatic-styles': break; // 3.15.3 + + case 'style': break; // 16.2 + case 'font-face': break; // 16.21 + + case 'paragraph-properties': break; // 17.6 + case 'table-properties': break; // 17.15 + case 'table-column-properties': break; // 17.16 + case 'table-row-properties': break; // 17.17 + case 'table-cell-properties': break; // 17.18 + + case 'number': // 16.27.3 + switch(state[state.length-1][0]) { + case 'time-style': + case 'date-style': + tag = parsexmltag(Rn[0]); + NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + } break; + + case 'day': // 16.27.11 + case 'month': // 16.27.12 + case 'year': // 16.27.13 + case 'era': // 16.27.14 + case 'day-of-week': // 16.27.15 + case 'week-of-year': // 16.27.16 + case 'quarter': // 16.27.17 + case 'hours': // 16.27.19 + case 'minutes': // 16.27.20 + case 'seconds': // 16.27.21 + case 'am-pm': // 16.27.22 + switch(state[state.length-1][0]) { + case 'time-style': + case 'date-style': + tag = parsexmltag(Rn[0]); + NF += number_formats[Rn[3]][tag.style==='long'?1:0]; break; + } break; + + case 'boolean-style': break; // 16.27.23 + case 'boolean': break; // 16.27.24 + case 'text-style': break; // 16.27.25 + case 'text': // 16.27.26 + 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; // 16.27.27 + case 'text-properties': break; // 16.27.27 + + case 'body': break; // 3.3 16.9.6 19.726.3 + + case 'forms': break; // 12.25.2 13.2 + case 'table-column': break; // 9.1.6 + + case 'graphic-properties': break; + case 'calculation-settings': break; // 9.4.1 + case 'named-expressions': break; // 9.4.11 + case 'named-range': break; // 9.4.11 + case 'span': break; // + case 'p': + if(Rn[1]==='/') textp = parse_text_p(str.slice(textpidx,Rn.index), textptag); + else { textptag = parsexmltag(Rn[0]); textpidx = Rn.index + Rn[0].length; } + break; // + case 's': break; // + case 'date': break; // <*:date> + case 'annotation': break; + + case 'object': break; // 10.4.6.2 + case 'title': break; // <*:title> + case 'desc': break; // <*:desc> + + case 'database-ranges': break; // 9.4.14 + case 'database-range': break; // 9.4.15 + case 'filter': break; // 9.5.2 + case 'filter-and': break; // 9.5.3 + case 'filter-or': break; // 9.5.4 + case 'filter-condition': break; // 9.5.5 + default: if(opts.WTF) throw Rn; + } + var out = { + Sheets: Sheets, + SheetNames: SheetNames + }; + return out; + }; +})(); +/* Part 3: Packages */ +var parse_ods = function(zip, opts) { + //var manifest = parse_manifest(getzipdata(zip, 'META-INF/manifest.xml')); + return parse_content_xml(getzipdata(zip, 'content.xml'), opts); +}; +ODS.parse_ods = parse_ods; +})(typeof exports !== 'undefined' ? exports : ODS); diff --git a/dist/xlsx.core.min.js b/dist/xlsx.core.min.js index 2bcc60a..de9d905 100644 --- a/dist/xlsx.core.min.js +++ b/dist/xlsx.core.min.js @@ -1,15 +1,14 @@ /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd){JSZip=e();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){ +!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.9.2";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel.js");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){i=i||0;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.charAt(0)+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o.charAt(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.charAt(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],10),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;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))return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){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(\.?)$/))return sign+commaify(pad0r(aval,0));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){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/))return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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))return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#,##0(\.?)$/))return sign+commaify(""+aval);if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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]={v:"",t:";"};++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 new Error("cannot find right format for |"+fmt.join("|")+"|");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.11.0";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;if(!sector)return;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;if(!sectors[addr])break;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;if(!sectors[addr])break;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){var epoch=v.getTime();if(date1904)epoch+=1462*24*60*60*1e3;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}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function str2cc(str){var o=[];for(var i=0;i!=str.length;++i)o.push(str.charCodeAt(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 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){if(q.indexOf("_")>0)q=q.substr(0,q.indexOf("_"));z[q]=v}else{var k=(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1);if(z[k]&&q.substr(j-3,3)=="ext")continue;z[k]=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]{4})_/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)).slice(-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])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":if(typeof cptable!=="undefined")o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));else return ReadShift.call(this,size,"dbcs");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;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=0,i=0;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,opts){var out=dup(cell);out.s=shift_cell_xls(out.s,range.s,opts);out.e=shift_cell_xls(out.e,range.s,opts);return out}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,opts){if(r.s.r==0&&!r.s.rRel){if(r.e.r==opts.biff>=12?1048575:65535&&!r.e.rRel){return(r.s.cRel?"":"$")+encode_col(r.s.c)+":"+(r.e.cRel?"":"$")+encode_col(r.e.c)}}if(r.s.c==0&&!r.s.cRel){if(r.e.c==opts.biff>=12?65535:255&&!r.e.cRel){return(r.s.rRel?"":"$")+encode_row(r.s.r)+":"+(r.e.rRel?"":"$")+encode_row(r.e.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("crypto")}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;var 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 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 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""+escapexml(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"":case"":break;case"":case"":break;case"":case"":font.strike=1;break;case"":break;case"":case"":font.u=1;break;case"":break;case"":case"":font.b=1;break;case"":break;case"":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>/;var sirphregex=/<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g;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.replace(sirphregex,"").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(2,2),16),parseInt(o.substr(4,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"":if(y.patternType)fill.patternType=y.patternType;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;case"":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])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"":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(wb.SSF&&(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 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break}})}function 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)}}();var crefregex=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g;function shift_formula_str(f,delta){return f.replace(crefregex,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,opts){var r=blob.read_shift(length==12?4:2),R=blob.read_shift(length==12?4: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,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts&&opts.biff>8?12: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,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,opts&&opts.biff>8?12:8,opts);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]}function parse_PtgRefErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=4;if(opts)switch(opts.biff){case 5:throw new Error("PtgRefErr3d -- 5");case 12:w=6;break}blob.l+=w;return[type,ixti]}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_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){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,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]}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){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=0,nameidx=0,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 PtgAttrSpaceType "+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"PtgAreaN":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));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**"+String(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])+rp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+rp;break;default:if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgRefErr3d":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":stack.push("#REF!");break;case"PtgMemFunc":break;default:throw new Error("Unrecognized Formula Token: "+String(f))}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];var _left=true;switch(f[1][0]){case 4:_left=false;case 0:sp=fill(" ",f[1][1]);break;case 5:_left=false;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+f[1][0])}stack.push((_left?sp:"")+stack.pop()+(_left?"":sp));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:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var 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,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};var 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"};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 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(new Date(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];o[2]=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];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};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")}function check_wb(wb){if(!wb||!wb.SheetNames||!wb.Sheets)throw new Error("Invalid Workbook");for(var i=0;i":break;case"":case"
":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":break;case"":case"":break;case"":break;case"":case"":break;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"":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 new Error("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){if(!wb.Workbook)return"false";if(!wb.Workbook.WBProps)return"false";return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"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:escapexml(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.slice(-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb){if(name.slice(-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.slice(-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.slice(-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.slice(-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.slice(-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.slice(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.slice(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.slice(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.slice(-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){var oval=val;switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":oval=parsexmlbool(val);break;case"i2":case"int":oval=parseInt(val,10);break;case"r4":case"float":oval=parseFloat(val);break;case"date":case"dateTime.tz":oval=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+cp[0])}Custprops[unescapexml(Rn[3])]=oval}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=[];var i=0;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=/<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/gm;function parse_xlml_xml(d,opts){var str=debom(xlml_normalize(d));if(opts&&opts.type=="binary"&&typeof cptable!=="undefined")str=cptable.utils.decode(65001,char_codes(str));if(str.substr(0,1e3).indexOf("=0)return parse_html(str,opts);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;str=str.replace(//gm,"");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].slice(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].slice(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].slice(-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 new Error("Bad state: "+tmp.join("|"));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=unescapexml(tmp.Name);cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"))}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].slice(-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].slice(-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 new Error("Bad state: "+tmp.join("|"))}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"));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 new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:if(state.length==0&&Rn[3]=="document")return parse_fods(str,opts);if(state.length==0&&Rn[3]=="UOF")return parse_fods(str,opts);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].slice(-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(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===1536)opts.biff=8;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;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]){if(!last_formula)break;if(!last_cell||!out[last_cell])break;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){if(!last_formula)break;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;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;i / pair");var rows=str.slice(i,j).split(/]*>/);var R=0,C=0;var range={s:{r:1e7,c:1e7},e:{r:0,c:0}};for(i=0;i");for(j=0;j"))>-1)m=m.slice(cc+1);while(m.indexOf(">")>-1)m=m.slice(0,m.lastIndexOf("<"));if(!m.length)continue;if(range.s.r>R)range.s.r=R;if(range.e.rC)range.s.c=C;if(range.e.c/g," ").replace(/<[^>]*>/g,""))};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 opts=_opts||{};var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var rowtag;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]=Rn[3].replace(/_.*$/,"")){case"table":case"工作表":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag["名称"]||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":case"行":if(Rn[1]==="/")break;rowtag=parsexmltag(Rn[0],false);if(rowtag["行号"])R=rowtag["行号"]-1;else++R;C=-1;break;case"covered-table-cell":++C;break;case"table-cell":case"数据":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(new Date(ctag["date-value"]));q.z="m/d/yy";break;case"time":q.t="n";q.v=parse_isodur(ctag["time-value"])/86400;break;case"number":q.t="n";q.v=parseFloat(ctag["数据数值"]);break;default:if(q.t==="string"||q.t==="text"||!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[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":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":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"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"annotation":case"event-listeners":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"scientific-number":break;case"currency-symbol":break;case"currency-style":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"libraries":break;case"automatic-styles":break;case"master-styles":break;case"default-style":case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(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].slice(-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":case"电子表格":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":case"文本串":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":case"标题":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"event-listener":case"initial-creator":case"creator":case"creation-date":case"generator":case"document-statistic":case"user-defined":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":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]==="style:")break;if(Rn[2]==="calcext:")break;if(Rn[2]==="loext:")break;if(Rn[2]==="uof:")break;if(Rn[2]==="表:")break;if(Rn[2]==="字:")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=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];if(opts.bookType=="fods")o.push('');else 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");if(opts.bookType=="fods")o.push("");else o.push("");return o.join("")}}();function write_csv_str(wb,o){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(opts.bookSheets&&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);case 239:return parse_xlml(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 write_string_type(out,opts){switch(opts.type){case"base64":return Base64.encode(out);case"binary":return out;case"file":return _fs.writeFileSync(opts.file,out,"utf8");case"buffer":{if(has_buf)return new Buffer(out,"utf8");else return out.split("").map(function(c){return c.charCodeAt(0)})}}throw new Error("Unrecognized type "+opts.type)}function write_binary_type(out,opts){switch(opts.type){case"base64":case"binary":var bstr="";for(var i=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,vv;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;vv=v=format_cell(val);var counter=0;for(var CC=0;CC=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.1";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 getdata(data){if(!data)return null;if(data.name.substr(-4)===".bin"){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())}else{if(data.data)return data.name.substr(-4)!==".bin"?debom_xml(data.data):char_codes(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 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(has_buf&&typeof jszip==="undefined")jszip=require("js"+"zip");if(typeof jszip==="undefined")jszip=require("./js"+"zip").JSZip;_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}}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 readIEEE754(buf,idx,isLE,nl,ml){if(isLE===undefined)isLE=true;if(!nl)nl=8;if(!ml&&nl===8)ml=52;var e,m,el=nl*8-ml-1,eMax=(1<>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}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 readIEEE754(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(s,e){return this.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}function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)this.writeUInt16LE(val.charCodeAt(i),this.l+2*i);size=2*val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 3:size=3;this[this.l+2]=val&255;val>>>=8;this[this.l+1]=val&255; +val>>>=8;this[this.l]=val&255;break;case 4:size=4;this.writeUInt32LE(val,this.l);break;case 8:size=8;if(f==="f"){this.writeDoubleLE(val,this.l);break}case 16:break;case-4:size=4;this.writeInt32LE(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){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.l0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(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};if(crypto){O.md5=function(hex){return crypto.createHash("md5").update(hex).digest("hex")}}else{O.md5=function(hex){throw"unimplemented"}}};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===undefined?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 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,"f",data)}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 ctext={};if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};(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(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;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"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,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&&opts.biff!==2)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.l
")!==-1){var cols=data.match(colregex);parse_ws_xml_cols(columns,cols)}var refguess={s:{r:1e6,c:1e6},e:{r:0,c:0}};var mtch=data.match(sheetdataregex);if(mtch)parse_ws_xml_data(mtch[1],s,opts,refguess);if(data.indexOf("")!==-1)parse_ws_xml_hlinks(s,data.match(hlinkregex),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=/([\S\s]*?)<\/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)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}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,val,o){if(o==null)o=new_buf(8);return write_XLSBCell(val,o)}function parse_BrtCellBool(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]}function parse_BrtCellError(data,length){var cell=parse_XLSBCell(data);var fBool=data.read_shift(1);return[cell,fBool,"e"]}function parse_BrtCellIsst(data,length){var cell=parse_XLSBCell(data);var isst=data.read_shift(4);return[cell,isst,"s"]}function parse_BrtCellReal(data,length){var cell=parse_XLSBCell(data);var value=parse_Xnum(data);return[cell,value,"n"]}function parse_BrtCellRk(data,length){var cell=parse_XLSBCell(data);var value=parse_RkNumber(data);return[cell,value,"n"]}function parse_BrtCellSt(data,length){var cell=parse_XLSBCell(data);var value=parse_XLWideString(data);return[cell,value,"str"]}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:1e6,c:1e6},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,R){if(end)return;switch(R.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);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";break}o.t="str";break;case"n":break;case"b":o.t="b";break;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);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){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}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"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}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());write_record(ba,"BrtWbProp",write_BrtWbProp());write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);write_record(ba,"BrtCalcProp",write_BrtCalcProp());write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){return(name.substr(-4)===".bin"?parse_wb_bin:parse_wb_xml)(data,opts)}function parse_ws(data,name,opts,rels){return(name.substr(-4)===".bin"?parse_ws_bin:parse_ws_xml)(data,opts,rels)}function parse_sty(data,name,opts){return(name.substr(-4)===".bin"?parse_sty_bin:parse_sty_xml)(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){return(name.substr(-4)===".bin"?parse_sst_bin:parse_sst_xml)(data,opts)}function parse_cmnt(data,name,opts){return(name.substr(-4)===".bin"?parse_comments_bin:parse_comments_xml)(data,opts)}function parse_cc(data,name,opts){return(name.substr(-4)===".bin"?parse_cc_bin:parse_cc_xml)(data,opts)}function write_wb(wb,name,opts){return(name.substr(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(-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"badf"}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={},dtag,didx;var c=0,r=0;var refguess={s:{r:1e6,c:1e6},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:1e6,c:1e6},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){}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"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;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;if(file_depth++)break;cell_valid=true;out={};if(opts.biff===2){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}}}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};if(temp_val.XF)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};if(temp_val.XF)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"};if(temp_val.XF)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"};if(temp_val.XF)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);if(temp_val.XF)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);if(temp_val.XF)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;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];if(temp_val.XF)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];if(temp_val.XF)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"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;case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;default:switch(R.n){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=opts.biff===2?["Sheet1"]: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.find){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.find)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},22:{n:"ExternCount",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},536:{n:"Name",f:parsenoop},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},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},0:{}};function parse_ods(zip,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.parse_ods)throw new Error("Unsupported ODS");return ODS.parse_ods(zip,opts)}function fix_opts_func(defaults){return function fix_opts(opts){for(var i=0;i!=defaults.length;++i){var d=defaults[i];if(opts[d[0]]===undefined)opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])}}}var fix_read_opts=fix_opts_func([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var fix_write_opts=fix_opts_func([["cellDates",false],["bookSST",false],["bookType","xlsx"],["WTF",false]]);function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){return[w.name,wbrels["!id"][w.id].Target]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_ws(zip,path,relsPath,sheet,sheetRels,sheets,opts){try{sheetRels[sheet]=parse_rels(getzipdata(zip,relsPath,true),path);sheets[sheet]=parse_ws(getzipdata(zip,path),path,opts,sheetRels[sheet])}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.substr(-1)!="/"};function parse_zip(zip,opts){make_ssf(SSF);opts=opts||{};fix_read_opts(opts);reset_cp();if(safegetzipfile(zip,"META-INF/manifest.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipdata(zip,"[Content_Types].xml"),opts);var xlsb=false;var sheets,binname;if(dir.workbooks.length===0){binname="xl/workbook.xml";if(getzipdata(zip,binname,true))dir.workbooks.push(binname)}if(dir.workbooks.length===0){binname="xl/workbook.bin";if(!getzipfile(zip,binname,true))throw new Error("Could not find workbook");dir.workbooks.push(binname);xlsb=true}if(dir.workbooks[0].substr(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts);themes={};if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipdata(zip,dir.themes[0].replace(/^\//,""),true),dir.themes[0],opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipdata(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipdata(zip,dir.extprops[0].replace(/^\//,""),true);if(propdata)parse_ext_props(propdata,props)}}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)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(getzipdata(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)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.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(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}});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";if(!wb.Props)wb.Props={};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.type)}}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;case"file":zip=new jszip(d=_fs.readFileSync(data));break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,isfile=false,n;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){isfile=true;o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:if(isfile)o.type="file";return parse_xlscfb(CFB.read(data,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(data):data),o);case 60:return parse_xlml(d,o);case 80:if(isfile)o.type="file";return read_zip(data,opts);default:throw new Error("Unsupported file "+n)}}function readFileSync(data,opts){var o=opts||{};o.type="file";return readSync(data,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);switch(o.type){case"base64":return z.generate({type:"base64"});case"binary":return z.generate({type:"string"});case"buffer":return z.generate({type:"nodebuffer"});case"file":return _fs.writeFileSync(o.file,z.generate({type:"nodebuffer"}));default:throw new Error("Unrecognized type "+o.type)}}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;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="xls";break;case".xml":o.bookType="xml";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; diff --git a/dist/xlsx.core.min.map b/dist/xlsx.core.min.map index cfd5844..557c13f 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","JSZip","f","window","global","self","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","XLSX","make_xlsx","version","current_codepage","current_cptable","cptable","reset_cp","set_cp","cp","char_codes","debom","c1","substr","_getchar","_gc1","_gc2","Base64","make_b64","map","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","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","getTime","parse_isodur","sec","cc2str","arr","str2cc","dup","JSON","stringify","getdatastr","getdatabin","getdata","safegetzipfile","g","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","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","oo","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","encode_col","encode_row","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","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","CT_ODS","parse_manifest","xlml_normalize","Rn","FEtag","xlmlregex","exec","WTF","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","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","console","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","sirphregex","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","fstr","crefregex","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_PtgRefErr3d","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_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","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","_left","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","724","479","483","484","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.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","ods_to_csf_formula","_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","check_wb","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","oval","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","parse_xlml_xml","parse_html","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","parse_fods","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","error","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","Sheet1","coord","parse_content_xml","parse_text_p","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","number_format_map","mrange","mR","mC","rept","isstub","cellStubs","write_content_xml","null_cell_xml","wcx","write_csv_str","sheet_to_csv","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","writeFileSync","write_string_type","write_binary_type","bstr","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","counter","CC","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS","ODS"],"mappings":"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AAI4C,QACA,EAAY,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,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,WAA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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","getdata","safegetzipfile","getzipfile","getzipdata","safe","_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","readIEEE754","isLE","nl","ml","el","eMax","eBias","NaN","Infinity","___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","WriteShift","writeUInt16LE","writeUInt32LE","writeDoubleLE","writeInt32LE","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","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","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","ctext","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","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_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","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","texts","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","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","trim","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","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","parse_BrtCellBool","fBool","parse_BrtCellError","parse_BrtCellIsst","parse_BrtCellReal","parse_BrtCellRk","parse_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","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","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","TxO","noteobj","sheetnamesraw","sort","Number","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","parse_ods","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","isfile","write_zip_type","writeFileSync","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 diff --git a/dist/xlsx.full.min.js b/dist/xlsx.full.min.js index aa11933..953d559 100644 --- a/dist/xlsx.full.min.js +++ b/dist/xlsx.full.min.js @@ -1,21 +1,19 @@ /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd){JSZip=e();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){ +!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 cptable={version:"1.6.0"};cptable[874]=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[932]=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]="���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".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]="�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".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[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[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[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[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]}return{enc:e,dec:d}}();cptable[936]=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]="����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".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[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[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]}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(""); +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 cptable={version:"1.6.0"};cptable[874]=function(){var d="\0\b\t\n\v\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[932]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\v\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]="���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���".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]="�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������".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[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[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[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[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]}return{enc:e,dec:d}}();cptable[936]=function(){var d=[],e={},D=[],j;D[0]="\0\b\t\n\v\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]="����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������".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[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[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]}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\v\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=cptable;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){i=i||0;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.charAt(0)+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o.charAt(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.charAt(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],10),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;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))return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){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(\.?)$/))return sign+commaify(pad0r(aval,0));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){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/))return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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))return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#,##0(\.?)$/))return sign+commaify(""+aval);if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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]={v:"",t:";"};++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 new Error("cannot find right format for |"+fmt.join("|")+"|");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.11.0";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;if(!sector)return;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;if(!sectors[addr])break;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;if(!sectors[addr])break;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){var epoch=v.getTime();if(date1904)epoch+=1462*24*60*60*1e3;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}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function str2cc(str){var o=[];for(var i=0;i!=str.length;++i)o.push(str.charCodeAt(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 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){if(q.indexOf("_")>0)q=q.substr(0,q.indexOf("_"));z[q]=v}else{var k=(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1);if(z[k]&&q.substr(j-3,3)=="ext")continue;z[k]=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]{4})_/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)).slice(-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])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":if(typeof cptable!=="undefined")o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));else return ReadShift.call(this,size,"dbcs");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;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=0,i=0;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,opts){var out=dup(cell);out.s=shift_cell_xls(out.s,range.s,opts);out.e=shift_cell_xls(out.e,range.s,opts);return out}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,opts){if(r.s.r==0&&!r.s.rRel){if(r.e.r==opts.biff>=12?1048575:65535&&!r.e.rRel){return(r.s.cRel?"":"$")+encode_col(r.s.c)+":"+(r.e.cRel?"":"$")+encode_col(r.e.c)}}if(r.s.c==0&&!r.s.cRel){if(r.e.c==opts.biff>=12?65535:255&&!r.e.cRel){return(r.s.rRel?"":"$")+encode_row(r.s.r)+":"+(r.e.rRel?"":"$")+encode_row(r.e.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("crypto")}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;var 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 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 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""+escapexml(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"":case"":break;case"":case"":break;case"":case"":font.strike=1;break;case"":break;case"":case"":font.u=1;break;case"":break;case"":case"":font.b=1;break;case"":break;case"":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>/;var sirphregex=/<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g;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.replace(sirphregex,"").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(2,2),16),parseInt(o.substr(4,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"":if(y.patternType)fill.patternType=y.patternType;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;case"":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])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"":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(wb.SSF&&(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 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break}})}function 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)}}();var crefregex=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g;function shift_formula_str(f,delta){return f.replace(crefregex,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,opts){var r=blob.read_shift(length==12?4:2),R=blob.read_shift(length==12?4: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,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts&&opts.biff>8?12: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,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,opts&&opts.biff>8?12:8,opts);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]}function parse_PtgRefErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=4;if(opts)switch(opts.biff){case 5:throw new Error("PtgRefErr3d -- 5");case 12:w=6;break}blob.l+=w;return[type,ixti]}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_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){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,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]}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){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=0,nameidx=0,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 PtgAttrSpaceType "+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"PtgAreaN":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));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**"+String(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])+rp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+rp;break;default:if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgRefErr3d":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":stack.push("#REF!");break;case"PtgMemFunc":break;default:throw new Error("Unrecognized Formula Token: "+String(f))}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];var _left=true;switch(f[1][0]){case 4:_left=false;case 0:sp=fill(" ",f[1][1]);break;case 5:_left=false;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+f[1][0])}stack.push((_left?sp:"")+stack.pop()+(_left?"":sp));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:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var 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,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};var 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"};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 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(new Date(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];o[2]=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];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};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")}function check_wb(wb){if(!wb||!wb.SheetNames||!wb.Sheets)throw new Error("Invalid Workbook");for(var i=0;i":break;case"":case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":break;case"":case"":break;case"":break;case"":case"":break;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"":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 new Error("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){if(!wb.Workbook)return"false";if(!wb.Workbook.WBProps)return"false";return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"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:escapexml(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.slice(-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb){if(name.slice(-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.slice(-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.slice(-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.slice(-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.slice(-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.slice(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.slice(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.slice(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.slice(-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){var oval=val;switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":oval=parsexmlbool(val);break;case"i2":case"int":oval=parseInt(val,10);break;case"r4":case"float":oval=parseFloat(val);break;case"date":case"dateTime.tz":oval=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+cp[0])}Custprops[unescapexml(Rn[3])]=oval}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=[];var i=0;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=/<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/gm;function parse_xlml_xml(d,opts){var str=debom(xlml_normalize(d));if(opts&&opts.type=="binary"&&typeof cptable!=="undefined")str=cptable.utils.decode(65001,char_codes(str));if(str.substr(0,1e3).indexOf("=0)return parse_html(str,opts);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;str=str.replace(//gm,"");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].slice(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].slice(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].slice(-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 new Error("Bad state: "+tmp.join("|"));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=unescapexml(tmp.Name);cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"))}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].slice(-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].slice(-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 new Error("Bad state: "+tmp.join("|"))}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"));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 new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:if(state.length==0&&Rn[3]=="document")return parse_fods(str,opts);if(state.length==0&&Rn[3]=="UOF")return parse_fods(str,opts);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].slice(-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(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===1536)opts.biff=8;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;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]){if(!last_formula)break;if(!last_cell||!out[last_cell])break;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){if(!last_formula)break;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;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;i / pair");var rows=str.slice(i,j).split(/]*>/);var R=0,C=0;var range={s:{r:1e7,c:1e7},e:{r:0,c:0}};for(i=0;i");for(j=0;j"))>-1)m=m.slice(cc+1);while(m.indexOf(">")>-1)m=m.slice(0,m.lastIndexOf("<"));if(!m.length)continue;if(range.s.r>R)range.s.r=R;if(range.e.rC)range.s.c=C;if(range.e.c/g," ").replace(/<[^>]*>/g,""))};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 opts=_opts||{};var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var rowtag;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]=Rn[3].replace(/_.*$/,"")){case"table":case"工作表":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag["名称"]||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":case"行":if(Rn[1]==="/")break;rowtag=parsexmltag(Rn[0],false);if(rowtag["行号"])R=rowtag["行号"]-1;else++R;C=-1;break;case"covered-table-cell":++C;break;case"table-cell":case"数据":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(new Date(ctag["date-value"]));q.z="m/d/yy";break;case"time":q.t="n";q.v=parse_isodur(ctag["time-value"])/86400;break;case"number":q.t="n";q.v=parseFloat(ctag["数据数值"]);break;default:if(q.t==="string"||q.t==="text"||!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[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":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":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"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"annotation":case"event-listeners":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"scientific-number":break;case"currency-symbol":break;case"currency-style":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"libraries":break;case"automatic-styles":break;case"master-styles":break;case"default-style":case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(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].slice(-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":case"电子表格":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":case"文本串":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":case"标题":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"event-listener":case"initial-creator":case"creator":case"creation-date":case"generator":case"document-statistic":case"user-defined":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":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]==="style:")break;if(Rn[2]==="calcext:")break;if(Rn[2]==="loext:")break;if(Rn[2]==="uof:")break;if(Rn[2]==="表:")break;if(Rn[2]==="字:")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=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];if(opts.bookType=="fods")o.push('');else 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");if(opts.bookType=="fods")o.push("");else o.push("");return o.join("")}}();function write_csv_str(wb,o){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(opts.bookSheets&&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);case 239:return parse_xlml(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 write_string_type(out,opts){switch(opts.type){case"base64":return Base64.encode(out);case"binary":return out;case"file":return _fs.writeFileSync(opts.file,out,"utf8");case"buffer":{if(has_buf)return new Buffer(out,"utf8");else return out.split("").map(function(c){return c.charCodeAt(0)})}}throw new Error("Unrecognized type "+opts.type)}function write_binary_type(out,opts){switch(opts.type){case"base64":case"binary":var bstr="";for(var i=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,vv;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;vv=v=format_cell(val);var counter=0;for(var CC=0;CC?@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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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\v\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 getdata(data){if(!data)return null;if(data.name.substr(-4)===".bin"){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())}else{if(data.data)return data.name.substr(-4)!==".bin"?debom_xml(data.data):char_codes(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 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(has_buf&&typeof jszip==="undefined")jszip=require("js"+"zip");if(typeof jszip==="undefined")jszip=require("./js"+"zip").JSZip;_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}}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 readIEEE754(buf,idx,isLE,nl,ml){if(isLE===undefined)isLE=true;if(!nl)nl=8;if(!ml&&nl===8)ml=52;var e,m,el=nl*8-ml-1,eMax=(1<>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}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 readIEEE754(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(s,e){return this.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}function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)this.writeUInt16LE(val.charCodeAt(i),this.l+2*i);size=2*val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 3:size=3;this[this.l+2]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l]=val&255;break;case 4:size=4;this.writeUInt32LE(val,this.l);break;case 8:size=8;if(f==="f"){this.writeDoubleLE(val,this.l);break}case 16:break;case-4:size=4;this.writeInt32LE(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){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.l0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(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};if(crypto){O.md5=function(hex){return crypto.createHash("md5").update(hex).digest("hex")}}else{O.md5=function(hex){throw"unimplemented"}}};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===undefined?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 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,"f",data)}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 ctext={};if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};(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(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;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"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,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&&opts.biff!==2)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.l":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}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"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}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());write_record(ba,"BrtWbProp",write_BrtWbProp());write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);write_record(ba,"BrtCalcProp",write_BrtCalcProp());write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){return(name.substr(-4)===".bin"?parse_wb_bin:parse_wb_xml)(data,opts)}function parse_ws(data,name,opts,rels){return(name.substr(-4)===".bin"?parse_ws_bin:parse_ws_xml)(data,opts,rels)}function parse_sty(data,name,opts){return(name.substr(-4)===".bin"?parse_sty_bin:parse_sty_xml)(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){return(name.substr(-4)===".bin"?parse_sst_bin:parse_sst_xml)(data,opts)}function parse_cmnt(data,name,opts){return(name.substr(-4)===".bin"?parse_comments_bin:parse_comments_xml)(data,opts)}function parse_cc(data,name,opts){return(name.substr(-4)===".bin"?parse_cc_bin:parse_cc_xml)(data,opts)}function write_wb(wb,name,opts){return(name.substr(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(-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"badf"}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={},dtag,didx;var c=0,r=0;var refguess={s:{r:1e6,c:1e6},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:1e6,c:1e6},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){}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"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;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;if(file_depth++)break;cell_valid=true;out={};if(opts.biff===2){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}}}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};if(temp_val.XF)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};if(temp_val.XF)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"};if(temp_val.XF)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"};if(temp_val.XF)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);if(temp_val.XF)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);if(temp_val.XF)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;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];if(temp_val.XF)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];if(temp_val.XF)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"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;case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;default:switch(R.n){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=opts.biff===2?["Sheet1"]: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.find){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.find)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},22:{n:"ExternCount",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},536:{n:"Name",f:parsenoop},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},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},0:{}};function parse_ods(zip,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.parse_ods)throw new Error("Unsupported ODS");return ODS.parse_ods(zip,opts)}function fix_opts_func(defaults){return function fix_opts(opts){for(var i=0;i!=defaults.length;++i){var d=defaults[i];if(opts[d[0]]===undefined)opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])}}}var fix_read_opts=fix_opts_func([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var fix_write_opts=fix_opts_func([["cellDates",false],["bookSST",false],["bookType","xlsx"],["WTF",false]]);function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){return[w.name,wbrels["!id"][w.id].Target]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_ws(zip,path,relsPath,sheet,sheetRels,sheets,opts){try{sheetRels[sheet]=parse_rels(getzipdata(zip,relsPath,true),path);sheets[sheet]=parse_ws(getzipdata(zip,path),path,opts,sheetRels[sheet])}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.substr(-1)!="/"};function parse_zip(zip,opts){make_ssf(SSF);opts=opts||{};fix_read_opts(opts);reset_cp();if(safegetzipfile(zip,"META-INF/manifest.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipdata(zip,"[Content_Types].xml"),opts);var xlsb=false;var sheets,binname;if(dir.workbooks.length===0){binname="xl/workbook.xml";if(getzipdata(zip,binname,true))dir.workbooks.push(binname)}if(dir.workbooks.length===0){binname="xl/workbook.bin";if(!getzipfile(zip,binname,true))throw new Error("Could not find workbook");dir.workbooks.push(binname);xlsb=true}if(dir.workbooks[0].substr(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts);themes={};if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipdata(zip,dir.themes[0].replace(/^\//,""),true),dir.themes[0],opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipdata(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipdata(zip,dir.extprops[0].replace(/^\//,""),true);if(propdata)parse_ext_props(propdata,props)}}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)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(getzipdata(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)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.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(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}});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";if(!wb.Props)wb.Props={};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.type)}}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;case"file":zip=new jszip(d=_fs.readFileSync(data));break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,isfile=false,n;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){isfile=true;o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:if(isfile)o.type="file";return parse_xlscfb(CFB.read(data,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(data):data),o);case 60:return parse_xlml(d,o);case 80:if(isfile)o.type="file";return read_zip(data,opts);default:throw new Error("Unsupported file "+n)}}function readFileSync(data,opts){var o=opts||{};o.type="file";return readSync(data,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);switch(o.type){case"base64":return z.generate({type:"base64"});case"binary":return z.generate({type:"string"});case"buffer":return z.generate({type:"nodebuffer"});case"file":return _fs.writeFileSync(o.file,z.generate({type:"nodebuffer"}));default:throw new Error("Unrecognized type "+o.type)}}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;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="xls";break;case".xml":o.bookType="xml";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; diff --git a/dist/xlsx.full.min.map b/dist/xlsx.full.min.map index 077e591..0e9190b 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","JSZip","f","window","global","self","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","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","substr","_getchar","_gc1","_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","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","getTime","parse_isodur","sec","cc2str","arr","str2cc","dup","JSON","stringify","getdatastr","getdatabin","getdata","safegetzipfile","g","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","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","oo","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","encode_col","encode_row","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","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","CT_ODS","parse_manifest","xlml_normalize","Rn","FEtag","xlmlregex","exec","WTF","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","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","console","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","sirphregex","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","fstr","crefregex","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_PtgRefErr3d","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_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","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","_left","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","724","479","483","484","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.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","ods_to_csf_formula","_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","check_wb","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","oval","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","parse_xlml_xml","parse_html","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","parse_fods","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","error","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","Sheet1","coord","parse_content_xml","parse_text_p","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","number_format_map","mrange","mR","mC","rept","isstub","cellStubs","write_content_xml","null_cell_xml","wcx","write_csv_str","sheet_to_csv","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","writeFileSync","write_string_type","write_binary_type","bstr","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","counter","CC","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS","ODS"],"mappings":"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AAI4C,QACA,EAAY,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,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,WAA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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","getdata","safegetzipfile","getzipfile","getzipdata","safe","_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","readIEEE754","isLE","nl","ml","el","eMax","eBias","NaN","Infinity","___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","WriteShift","writeUInt16LE","writeUInt32LE","writeDoubleLE","writeInt32LE","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","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","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","ctext","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","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_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","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","texts","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","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","trim","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","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","parse_BrtCellBool","fBool","parse_BrtCellError","parse_BrtCellIsst","parse_BrtCellReal","parse_BrtCellRk","parse_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","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","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","TxO","noteobj","sheetnamesraw","sort","Number","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","parse_ods","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","isfile","write_zip_type","writeFileSync","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 diff --git a/dist/xlsx.js b/dist/xlsx.js index 0ea8ab6..04b0bc9 100644 --- a/dist/xlsx.js +++ b/dist/xlsx.js @@ -2,31 +2,24 @@ /* vim: set ts=2: */ /*jshint -W041 */ /*jshint funcscope:true, eqnull:true */ -/*exported XLSX */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.9.2'; +XLSX.version = '0.8.1'; var current_codepage = 1200, current_cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { - if(typeof cptable === 'undefined') cptable = require('./dist/cpexcel.js'); + 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 < len; ++i) o[i] = data.charCodeAt(i); return o; } -var debom = function(data) { - var c1 = data.charCodeAt(0), c2 = data.charCodeAt(1); - if(c1 == 0xFF && c2 == 0xFE) return data.substr(2); - if(c1 == 0xFE && c2 == 0xFF) return data.substr(2); - if(c1 == 0xFEFF) return data.substr(1); - return data; -}; +var debom_xml = function(data) { return data; }; var _getchar = function _gc1(x) { return String.fromCharCode(x); }; if(typeof cptable !== 'undefined') { set_cp = function(cp) { current_codepage = cp; current_cptable = cptable[cp]; }; - debom = function(data) { + debom_xml = function(data) { if(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.substr(2))); } return data; }; @@ -92,7 +85,7 @@ function s2a(s) { var bconcat = function(bufs) { return [].concat.apply([], bufs); }; var chr0 = /\u0000/g, chr1 = /[\u0001-\u0006]/; -/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */ +/* ssf.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ /*jshint -W041 */ var SSF = {}; var make_ssf = function make_ssf(SSF){ @@ -106,7 +99,7 @@ function pad0r1(v,d){var t=""+Math.round(v); return t.length>=d?t:fill('0',d-t.l 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) { i = i || 0; 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; } +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; } /* Options */ var opts_fmt = [ ["date1904", 0], @@ -118,36 +111,36 @@ function fixopts(o){ } 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' + 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'], @@ -253,8 +246,8 @@ function parse_date_code(v,opts,b2) { else if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;} else { if(date > 60) --date; - /* 1 = Jan 1 1900 in Gregorian */ - var d = new Date(1900, 0, 1); + /* 1 = Jan 1 1900 */ + var d = new Date(1900,0,1); d.setDate(d.getDate() + date - 1); dout = [d.getFullYear(), d.getMonth()+1,d.getDate()]; dow = d.getDay(); @@ -316,7 +309,7 @@ function write_date(type, fmt, val, ss0) { } switch(fmt) { case 's': case 'ss': case '.0': case '.00': case '.000': -if(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100; + if(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100; else tt = ss0 === 1 ? 10 : 1; ss = Math.round((tt)*(val.S + val.u)); if(ss >= 60*tt) ss = 0; @@ -366,23 +359,23 @@ function write_num_exp(fmt, val){ 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.charAt(0) + "." + o.substr(1) + "E+" + (fakee - o.length+ee); + 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.charAt(0) + o.substr(2,period) + "." + o.substr(2+period); + 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.charAt(o.length-1); + 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],10), rr = Math.round(aval * den), base = Math.floor(rr/den); + 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)); } @@ -415,40 +408,39 @@ function write_num_flt(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; + 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))) return write_num_f1(r, aval, sign); - if(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf("0")); - if((r = fmt.match(dec1))) { - // $FlowIgnore + 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*)\.(#*)$/))) { + 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(\.?)$/))) return sign + commaify(pad0r(aval,0)); - if((r = fmt.match(/^#,##0\.([#0]*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/))) return write_num_flt(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)(\\?-([0#]+))+$/))) { + 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 fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o; } - if((r = fmt.match(frac1))) return write_num_f2(r, aval, sign); - if(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf("0")); - if((r = fmt.match(dec1))) { - // $FlowIgnore + 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*)\.(#*)$/))) { + 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(\.?)$/))) return sign + commaify((""+aval)); - if((r = fmt.match(/^#,##0\.([#0]*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/))) return write_num_int(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)(\\?-([0#]+))+$/))) { + 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'; } + if(fmt.substr(i, 3) === "A/P") { if(dt!=null) q.v = dt.H >= 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; @@ -711,12 +702,12 @@ function eval_fmt(fmt, v, opts, flen) { switch(bt) { case 0: break; case 1: -if(dt.u >= 0.5) { dt.u = 0; ++dt.S; } + if(dt.u >= 0.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 >= 0.5) { dt.u = 0; ++dt.S; } + if(dt.u >= 0.5) { dt.u = 0; ++dt.S; } if(dt.S >= 60) { dt.S = 0; ++dt.M; } break; } @@ -725,9 +716,9 @@ if(dt.u >= 0.5) { dt.u = 0; ++dt.S; } for(i=0; i < out.length; ++i) { switch(out[i].t) { case 't': case 'T': case ' ': case 'D': break; - case 'X': out[i].v = ""; out[i].t = ";"; break; + case 'X': out[i] = undefined; break; case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z': -out[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0); + out[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0); out[i].t = 't'; break; case 'n': case '(': case '?': jj = i+1; @@ -738,7 +729,7 @@ out[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0); c === 't' && (out[jj].v === '/' || '$€'.indexOf(out[jj].v) > -1 || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?') )) { out[i].v += out[jj].v; - out[jj] = {v:"", t:";"}; ++jj; + out[jj] = undefined; ++jj; } nstr += out[i].v; i = jj-1; break; @@ -821,7 +812,7 @@ 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 new Error("cannot find right format for |" + fmt.join("|") + "|"); + 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; @@ -843,7 +834,7 @@ function format(fmt,v,o) { var sfmt = ""; switch(typeof fmt) { case "string": sfmt = fmt; break; - case "number": sfmt = (o.table != null ? (o.table) : table_fmt)[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); @@ -860,7 +851,7 @@ SSF.load_table = function load_table(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[ }; make_ssf(SSF); /* map from xlml named formats to SSF TODO: localize */ -var XLMLFormatMap/*{[string]:string}*/ = ({ +var XLMLFormatMap = { "General Number": "General", "General Date": SSF._table[22], "Long Date": "dddd, mmmm dd, yyyy", @@ -877,17 +868,17 @@ var XLMLFormatMap/*{[string]:string}*/ = ({ "Yes/No": '"Yes";"Yes";"No";@', "True/False": '"True";"True";"False";@', "On/Off": '"Yes";"Yes";"No";@' -}); +}; var DO_NOT_EXPORT_CFB = true; -/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */ +/* cfb.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ /* vim: set ts=2: */ /*jshint eqnull:true */ /* [MS-CFB] v20130118 */ var CFB = (function _CFB(){ var exports = {}; -exports.version = '0.11.0'; +exports.version = '0.10.2'; function parse(file) { var mver = 3; // major version var ssz = 512; // sector size @@ -1097,7 +1088,6 @@ function sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) { if(cnt !== 0) throw "DIFAT chain shorter than expected"; } else if(idx !== -1 /*FREESECT*/) { var sector = sectors[idx], m = (ssz>>>2)-1; - if(!sector) return; for(var i = 0; i < m; ++i) { if((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break; fat_addrs.push(q); @@ -1121,7 +1111,6 @@ function get_sector_list(sectors, start, fat_addrs, ssz, chkd) { var addr = fat_addrs[Math.floor(j*4/ssz)]; jj = ((j*4) & modulus); if(ssz < 4 + jj) throw "FAT boundary crossed: " + j + " 4 "+ssz; - if(!sectors[addr]) break; j = __readInt32LE(sectors[addr], jj); } return {nodes: buf, data:__toBuffer([buf_chain])}; @@ -1144,7 +1133,6 @@ function make_sector_list(sectors, dir_start, fat_addrs, ssz) { var addr = fat_addrs[Math.floor(j*4/ssz)]; jj = ((j*4) & modulus); if(ssz < 4 + jj) throw "FAT boundary crossed: " + j + " 4 "+ssz; - if(!sectors[addr]) break; j = __readInt32LE(sectors[addr], jj); } sector_list[k] = {nodes: buf, data:__toBuffer([buf_chain])}; @@ -1165,7 +1153,7 @@ function read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, Fil if(namelen === 0) continue; name = __utf16le(blob,0,namelen-pl); Paths.push(name); - o = ({ + o = { name: name, type: blob.read_shift(1), color: blob.read_shift(1), @@ -1174,7 +1162,7 @@ function read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, Fil C: blob.read_shift(4, 'i'), clsid: blob.read_shift(16), state: blob.read_shift(4, 'i') - }); + }; ctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2); if(ctime !== 0) { o.ctime = ctime; o.ct = read_date(blob, blob.l-8); @@ -1270,25 +1258,25 @@ 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); + 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); + 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); + 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); + 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]); @@ -1296,92 +1284,38 @@ function evert_arr(obj) { return o; } +/* TODO: date1904 logic */ function datenum(v, date1904) { - var epoch = v.getTime(); - if(date1904) epoch += 1462*24*60*60*1000; + if(date1904) v+=1462; + var epoch = Date.parse(v); return (epoch + 2209161600000) / (24 * 60 * 60 * 1000); } -/* ISO 8601 Duration */ -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; - /* falls through */ - case 'H': mt *= 60; - /* falls through */ - case 'M': - if(!time) throw new Error("Unsupported ISO Duration Field: M"); - else mt *= 60; - /* falls through */ - case 'S': break; - } - sec += mt * parseInt(m[i], 10); - } - return sec; -} - function cc2str(arr) { var o = ""; for(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]); return o; } -function str2cc(str) { - var o = []; - for(var i = 0; i != str.length; ++i) o.push(str.charCodeAt(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 < l) o+=c; return o; } -function getdatastr(data) { +function getdata(data) { if(!data) return null; - if(data.data) return debom(data.data); - if(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary')); - if(data.asBinary) return debom(data.asBinary()); - if(data._data && data._data.getContent) return debom(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) { - var o = data._data.getContent(); - if(typeof o == "string") return str2cc(o); - return Array.prototype.slice.call(o); + if(data.name.substr(-4) === ".bin") { + 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()); + } else { + if(data.data) return data.name.substr(-4) !== ".bin" ? debom_xml(data.data) : char_codes(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 getdata(data) { return (data && data.name.slice(-4) === ".bin") ? getdatabin(data) : getdatastr(data); } - -/* Part 2 Section 10.1.2 "Mapping Content Types" Names are case-insensitive */ -/* OASIS does not comment on filename case sensitivity */ function safegetzipfile(zip, file) { - var k = keys(zip.files); - var f = file.toLowerCase(), g = f.replace(/\//g,'\\'); - for(var i=0; i\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; +var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; var tagregex=/<[^>]*>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; function parsexmltag(tag, skip_root) { - var z = ([]); + 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=""; + 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) { - if(q.indexOf("_") > 0) q = q.substr(0, q.indexOf("_")); // from ods - z[q] = v; - } - else { - var k = (j===5 && q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1); - if(z[k] && q.substr(j-3,3) == "ext") continue; // from ods - z[k] = v; - } + if(j===q.length) z[q] = v; + else z[(j===5 && q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1)] = v; } return z; } @@ -1452,9 +1374,8 @@ var rencstr = "&<>'\"".split(""); // TODO: CP remap (need to read file version to determine OS) var unescapexml = (function() { - /* 22.4.2.4 bstr (Basic String) */ - var encregex = /&[a-z]*;/g, coderegex = /_x([\da-fA-F]{4})_/g; - return function unescapexml(text) { + 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));}); }; @@ -1463,7 +1384,7 @@ var unescapexml = (function() { 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)).slice(-4) + "_";}); + return s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return "_x" + ("000"+s.charCodeAt(0).toString(16)).substr(-4) + "_";}); } /* TODO: handle codepages */ @@ -1519,32 +1440,31 @@ if(has_buf) { }; var corpus = "foo bar baz\u00e2\u0098\u0083\u00f0\u009f\u008d\u00a3"; if(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb; - // $FlowIgnore var utf8readc = function utf8readc(data) { return Buffer(data, 'binary').toString('utf8'); }; if(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc; } // matches ... extracts content var matchtag = (function() { - var mtcache = ({}); + var mtcache = {}; return function matchtag(f,g) { - var t = f+"|"+(g||""); - if(mtcache[t]) return mtcache[t]; - return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([^\u2603]*)',((g||"")))); + var t = f+"|"+g; + if(mtcache[t] !== undefined) return mtcache[t]; + return (mtcache[t] = new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?(?:[^>]*)>([^\u2603]*)',(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') ); + return (vt_cache[bt] = new RegExp("(.*?)", 'g') ); };})(); -var vtvregex = /<\/?(:?vt:)?variant>/g, vtmregex = /<(:?vt:)?([^>]*)>(.*)/g, vtmregex = /]*)>(.*)' + g + '';} -function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } return ""; } +function write_w3cdtf(d, t) { try { return d.toISOString().replace(/\.\d*/,""); } catch(e) { if(t) throw e; } } function write_vt(s) { switch(typeof s) { @@ -1572,7 +1492,7 @@ function write_vt(s) { } var XML_HEADER = '\r\n'; -var XMLNS = ({ +var XMLNS = { 'dc': 'http://purl.org/dc/elements/1.1/', 'dcterms': 'http://purl.org/dc/terms/', 'dcmitype': 'http://purl.org/dc/dcmitype/', @@ -1582,7 +1502,7 @@ var XMLNS = ({ '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', @@ -1591,30 +1511,22 @@ XMLNS.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] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f); - var m = (b[idx+6]&0x0f); - for(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i]; - if(e == 0x7ff) 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 readIEEE754(buf, idx, isLE, nl, ml) { + if(isLE === undefined) isLE = true; + if(!nl) nl = 8; + if(!ml && nl === 8) ml = 52; + var e, m, el = nl * 8 - ml - 1, eMax = (1 << el) - 1, eBias = eMax >> 1; + var bits = -7, d = isLE ? -1 : 1, i = isLE ? (nl - 1) : 0, s = buf[idx + i]; -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 = 0x7ff; m = isNaN(v) ? 0x6969 : 0; } - else { - e = Math.floor(Math.log(av) * Math.LOG2E); - m = v * Math.pow(2, 52 - e); - if(e <= -1023 && (!isFinite(m) || m < Math.pow(2,52))) { e = -1022; } - else { m -= Math.pow(2,52); e+=1023; } - } - for(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff; - b[idx + 6] = ((e & 0x0f) << 4) | m & 0xf; - b[idx + 7] = (e >> 4) | bs; + i += d; + e = s & ((1 << (-bits)) - 1); s >>>= (-bits); bits += el; + for (; bits > 0; e = e * 256 + buf[idx + i], i += d, bits -= 8); + m = e & ((1 << (-bits)) - 1); e >>>= (-bits); bits += ml; + for (; bits > 0; m = m * 256 + buf[idx + i], i += d, bits -= 8); + if (e === eMax) return m ? NaN : ((s ? -1 : 1) * Infinity); + else if (e === 0) e = 1 - eBias; + else { m = m + Math.pow(2, ml); e = e - eBias; } + return (s ? -1 : 1) * m * Math.pow(2, e - ml); } var __toBuffer, ___toBuffer; @@ -1630,7 +1542,7 @@ __lpstr = ___lpstr = function lpstr_(b,i) { var len = __readUInt32LE(b,i); retur 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);}; +__double = ___double = function(b, idx) { return readIEEE754(b, idx);}; var is_buf = function is_buf_a(a) { return Array.isArray(a); }; if(has_buf) { @@ -1638,7 +1550,7 @@ if(has_buf) { __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); }; + __utf8 = function utf8_b(s,e) { return this.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); }; @@ -1675,11 +1587,6 @@ function ReadShift(size, t) { 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': - if(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size)); - else return ReadShift.call(this, size, 'dbcs'); - size = 2 * size; break; - /* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */ case 'lpstr': o = __lpstr(this, this.l); size = 5 + o.length; break; /* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */ @@ -1723,7 +1630,7 @@ function ReadShift(size, t) { case 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI; case 4: if(t === 'i' || (this[this.l+3] & 0x80)===0) { oI = __readInt32LE(this, this.l); this.l += 4; return oI; } - else { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR; + 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; } /* falls through */ case 16: o = __hexlify(this, this.l, size); break; @@ -1731,27 +1638,19 @@ function ReadShift(size, t) { this.l+=size; return o; } -var __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); }; -var __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); }; -var __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); }; - function WriteShift(t, val, f) { - var size = 0, i = 0; + var size, i; if(f === 'dbcs') { -for(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i); + for(i = 0; i != val.length; ++i) this.writeUInt16LE(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) & 0xFF; - size = val.length; - } else switch(t) { - case 1: size = 1; this[this.l] = val&0xFF; break; - case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break; - case 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; 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; } + } else switch(t) { + case 1: size = 1; this[this.l] = val&255; break; + case 3: size = 3; this[this.l+2] = val & 255; val >>>= 8; this[this.l+1] = val&255; val >>>= 8; this[this.l] = val&255; break; + case 4: size = 4; this.writeUInt32LE(val, this.l); break; + case 8: size = 8; if(f === 'f') { this.writeDoubleLE(val, this.l); break; } /* falls through */ case 16: break; - case -4: size = 4; __writeInt32LE(this, val, this.l); break; + case -4: size = 4; this.writeInt32LE(val, this.l); break; } this.l += size; return this; } @@ -1781,7 +1680,6 @@ function new_buf(sz) { /* [MS-XLSB] 2.1.4 Record */ function recordhopper(data, cb, opts) { - if(!data) return; var tmpbyte, cntbyte, length; prep_blob(data, data.l || 0); while(data.l < data.length) { @@ -1800,7 +1698,7 @@ function recordhopper(data, cb, opts) { function buf_array() { var bufs = [], blksz = 2048; var newblk = function ba_newblk(sz) { - var o = (new_buf(sz)); + var o = new_buf(sz); prep_blob(o, 0); return o; }; @@ -1808,14 +1706,13 @@ function buf_array() { var curbuf = newblk(blksz); var endbuf = function ba_endbuf() { - if(!curbuf) return; - if(curbuf.length > curbuf.l) curbuf = curbuf.slice(0, curbuf.l); + curbuf.length = curbuf.l; if(curbuf.length > 0) bufs.push(curbuf); curbuf = null; }; var next = function ba_next(sz) { - if(curbuf && sz < curbuf.length - curbuf.l) return curbuf; + if(sz < curbuf.length - curbuf.l) return curbuf; endbuf(); return (curbuf = newblk(Math.max(sz+1, blksz))); }; @@ -1827,12 +1724,11 @@ function buf_array() { var push = function ba_push(buf) { endbuf(); curbuf = buf; next(blksz); }; - return ({ next:next, push:push, end:end, _bufs:bufs }); + return { next:next, push:push, end:end, _bufs:bufs }; } function write_record(ba, type, payload, length) { - var t = Number(evert_RE[type]), l; - if(isNaN(t)) return; // TODO: throw something here? + var t = evert_RE[type], l; if(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0; l = 1 + (t >= 0x80 ? 1 : 0) + 1 + length; if(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l; @@ -1849,56 +1745,32 @@ function write_record(ba, type, payload, length) { if(length > 0 && is_buf(payload)) ba.push(payload); } /* XLS ranges enforced */ -function shift_cell_xls(cell, tgt, opts) { - var out = dup(cell); +function shift_cell_xls(cell, tgt) { if(tgt.s) { - if(out.cRel) out.c += tgt.s.c; - if(out.rRel) out.r += tgt.s.r; + if(cell.cRel) cell.c += tgt.s.c; + if(cell.rRel) cell.r += tgt.s.r; } else { - out.c += tgt.c; - out.r += tgt.r; + cell.c += tgt.c; + cell.r += tgt.r; } - if(!opts || opts.biff < 12) { - while(out.c >= 0x100) out.c -= 0x100; - while(out.r >= 0x10000) out.r -= 0x10000; - } - return out; + cell.cRel = cell.rRel = 0; + while(cell.c >= 0x100) cell.c -= 0x100; + while(cell.r >= 0x10000) cell.r -= 0x10000; + return cell; } -function shift_range_xls(cell, range, opts) { - var out = dup(cell); - out.s = shift_cell_xls(out.s, range.s, opts); - out.e = shift_cell_xls(out.e, range.s, opts); - 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, opts) { - if(r.s.r == 0 && !r.s.rRel) { - if(r.e.r == opts.biff >= 12 ? 0xFFFFF : 0xFFFF && !r.e.rRel) { - return (r.s.cRel ? "" : "$") + encode_col(r.s.c) + ":" + (r.e.cRel ? "" : "$") + encode_col(r.e.c); - } - } - if(r.s.c == 0 && !r.s.cRel) { - if(r.e.c == opts.biff >= 12 ? 0xFFFF : 0xFF && !r.e.cRel) { - return (r.s.rRel ? "" : "$") + encode_row(r.s.r) + ":" + (r.e.rRel ? "" : "$") + encode_row(r.e.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('crypto'); } + try { crypto = require('cry'+'pto'); } catch(e) { crypto = null; } } @@ -1910,8 +1782,7 @@ var make_offcrypto = function(O, _crypto) { j = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255; t = S[i]; S[i] = S[j]; S[j] = t; } - // $FlowIgnore - i = j = 0; var out = Buffer(data.length); + i = j = 0; out = Buffer(data.length); for(c = 0; c != data.length; ++c) { i = (i + 1)&255; j = (j + S[i])%256; @@ -1921,10 +1792,11 @@ var make_offcrypto = function(O, _crypto) { return out; }; - O.md5 = function(hex) { - if(!crypto) throw new Error("Unsupported crypto"); - return crypto.createHash('md5').update(hex).digest('hex'); - }; + if(crypto) { + O.md5 = function(hex) { return crypto.createHash('md5').update(hex).digest('hex'); }; + } else { + O.md5 = function(hex) { throw "unimplemented"; }; + } }; make_offcrypto(OFFCRYPTO, typeof crypto !== "undefined" ? crypto : undefined); @@ -1940,7 +1812,7 @@ function parse_RichStr(data, length) { var flags = data.read_shift(1); var str = parse_XLWideString(data); var rgsStrRun = []; - var z = ({ t: str, h: str }); + var z = { t: str, h: str }; if((flags & 1) !== 0) { /* fRichStr */ /* TODO: formatted string */ var dwSizeStrRun = data.read_shift(4); @@ -1973,7 +1845,7 @@ function parse_XLSBCell(data) { 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(3, cell.iStyleRef === undefined ? cell.iStyleRef : cell.s); o.write_shift(1, 0); /* fPhShow */ return o; } @@ -2006,10 +1878,6 @@ 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; @@ -2025,19 +1893,10 @@ function parse_RkNumber(data) { 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); // TODO -} - -/* [MS-XLSB] 2.5.117 RfX */ -function parse_RfX(data) { - var cell = ({s: {}, e: {}}); +/* [MS-XLSB] 2.5.153 */ +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); @@ -2045,7 +1904,7 @@ function parse_RfX(data) { return cell; } -function write_RfX(r, o) { +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); @@ -2054,27 +1913,22 @@ function write_RfX(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 */ 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'); } +function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, 'f', data); } /* [MS-XLSB] 2.5.198.2 */ var BErr = { -0x00: "#NULL!", -0x07: "#DIV/0!", -0x0F: "#VALUE!", -0x17: "#REF!", -0x1D: "#NAME?", -0x24: "#NUM!", -0x2A: "#N/A", -0x2B: "#GETTING_DATA", -0xFF: "#WTF?" + 0x00: "#NULL!", + 0x07: "#DIV/0!", + 0x0F: "#VALUE!", + 0x17: "#REF!", + 0x1D: "#NAME?", + 0x24: "#NUM!", + 0x2A: "#N/A", + 0x2B: "#GETTING_DATA", + 0xFF: "#WTF?" }; var RBErr = evert_num(BErr); @@ -2151,62 +2005,62 @@ function parse_FontFlags(data, length) { /* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */ var DocSummaryPIDDSI = { -0x01: { n: 'CodePage', t: VT_I2 }, -0x02: { n: 'Category', t: VT_STRING }, -0x03: { n: 'PresentationFormat', t: VT_STRING }, -0x04: { n: 'ByteCount', t: VT_I4 }, -0x05: { n: 'LineCount', t: VT_I4 }, -0x06: { n: 'ParagraphCount', t: VT_I4 }, -0x07: { n: 'SlideCount', t: VT_I4 }, -0x08: { n: 'NoteCount', t: VT_I4 }, -0x09: { n: 'HiddenCount', t: VT_I4 }, -0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, -0x0b: { n: 'Scale', t: VT_BOOL }, -0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, -0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, -0x0e: { n: 'Manager', t: VT_STRING }, -0x0f: { n: 'Company', t: VT_STRING }, -0x10: { n: 'LinksDirty', t: VT_BOOL }, -0x11: { n: 'CharacterCount', t: VT_I4 }, -0x13: { n: 'SharedDoc', t: VT_BOOL }, -0x16: { n: 'HLinksChanged', t: VT_BOOL }, -0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, -0x1A: { n: 'ContentType', t: VT_STRING }, -0x1B: { n: 'ContentStatus', t: VT_STRING }, -0x1C: { n: 'Language', t: VT_STRING }, -0x1D: { n: 'Version', t: VT_STRING }, -0xFF: {} + 0x01: { n: 'CodePage', t: VT_I2 }, + 0x02: { n: 'Category', t: VT_STRING }, + 0x03: { n: 'PresentationFormat', t: VT_STRING }, + 0x04: { n: 'ByteCount', t: VT_I4 }, + 0x05: { n: 'LineCount', t: VT_I4 }, + 0x06: { n: 'ParagraphCount', t: VT_I4 }, + 0x07: { n: 'SlideCount', t: VT_I4 }, + 0x08: { n: 'NoteCount', t: VT_I4 }, + 0x09: { n: 'HiddenCount', t: VT_I4 }, + 0x0a: { n: 'MultimediaClipCount', t: VT_I4 }, + 0x0b: { n: 'Scale', t: VT_BOOL }, + 0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT }, + 0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR }, + 0x0e: { n: 'Manager', t: VT_STRING }, + 0x0f: { n: 'Company', t: VT_STRING }, + 0x10: { n: 'LinksDirty', t: VT_BOOL }, + 0x11: { n: 'CharacterCount', t: VT_I4 }, + 0x13: { n: 'SharedDoc', t: VT_BOOL }, + 0x16: { n: 'HLinksChanged', t: VT_BOOL }, + 0x17: { n: 'AppVersion', t: VT_I4, p: 'version' }, + 0x1A: { n: 'ContentType', t: VT_STRING }, + 0x1B: { n: 'ContentStatus', t: VT_STRING }, + 0x1C: { n: 'Language', t: VT_STRING }, + 0x1D: { n: 'Version', t: VT_STRING }, + 0xFF: {} }; /* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */ var SummaryPIDSI = { -0x01: { n: 'CodePage', t: VT_I2 }, -0x02: { n: 'Title', t: VT_STRING }, -0x03: { n: 'Subject', t: VT_STRING }, -0x04: { n: 'Author', t: VT_STRING }, -0x05: { n: 'Keywords', t: VT_STRING }, -0x06: { n: 'Comments', t: VT_STRING }, -0x07: { n: 'Template', t: VT_STRING }, -0x08: { n: 'LastAuthor', t: VT_STRING }, -0x09: { n: 'RevNumber', t: VT_STRING }, -0x0A: { n: 'EditTime', t: VT_FILETIME }, -0x0B: { n: 'LastPrinted', t: VT_FILETIME }, -0x0C: { n: 'CreatedDate', t: VT_FILETIME }, -0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, -0x0E: { n: 'PageCount', t: VT_I4 }, -0x0F: { n: 'WordCount', t: VT_I4 }, -0x10: { n: 'CharCount', t: VT_I4 }, -0x11: { n: 'Thumbnail', t: VT_CF }, -0x12: { n: 'ApplicationName', t: VT_LPSTR }, -0x13: { n: 'DocumentSecurity', t: VT_I4 }, -0xFF: {} + 0x01: { n: 'CodePage', t: VT_I2 }, + 0x02: { n: 'Title', t: VT_STRING }, + 0x03: { n: 'Subject', t: VT_STRING }, + 0x04: { n: 'Author', t: VT_STRING }, + 0x05: { n: 'Keywords', t: VT_STRING }, + 0x06: { n: 'Comments', t: VT_STRING }, + 0x07: { n: 'Template', t: VT_STRING }, + 0x08: { n: 'LastAuthor', t: VT_STRING }, + 0x09: { n: 'RevNumber', t: VT_STRING }, + 0x0A: { n: 'EditTime', t: VT_FILETIME }, + 0x0B: { n: 'LastPrinted', t: VT_FILETIME }, + 0x0C: { n: 'CreatedDate', t: VT_FILETIME }, + 0x0D: { n: 'ModifiedDate', t: VT_FILETIME }, + 0x0E: { n: 'PageCount', t: VT_I4 }, + 0x0F: { n: 'WordCount', t: VT_I4 }, + 0x10: { n: 'CharCount', t: VT_I4 }, + 0x11: { n: 'Thumbnail', t: VT_CF }, + 0x12: { n: 'ApplicationName', t: VT_LPSTR }, + 0x13: { n: 'DocumentSecurity', t: VT_I4 }, + 0xFF: {} }; /* [MS-OLEPS] 2.18 */ var SpecialProperties = { -0x80000000: { n: 'Locale', t: VT_UI4 }, -0x80000003: { n: 'Behavior', t: VT_UI4 }, -0x72627262: {} + 0x80000000: { n: 'Locale', t: VT_UI4 }, + 0x80000003: { n: 'Behavior', t: VT_UI4 }, + 0x72627262: {} }; (function() { @@ -2216,56 +2070,56 @@ var SpecialProperties = { /* [MS-XLS] 2.4.63 Country/Region codes */ var CountryEnum = { -0x0001: "US", // United States -0x0002: "CA", // Canada -0x0003: "", // Latin America (except Brazil) -0x0007: "RU", // Russia -0x0014: "EG", // Egypt -0x001E: "GR", // Greece -0x001F: "NL", // Netherlands -0x0020: "BE", // Belgium -0x0021: "FR", // France -0x0022: "ES", // Spain -0x0024: "HU", // Hungary -0x0027: "IT", // Italy -0x0029: "CH", // Switzerland -0x002B: "AT", // Austria -0x002C: "GB", // United Kingdom -0x002D: "DK", // Denmark -0x002E: "SE", // Sweden -0x002F: "NO", // Norway -0x0030: "PL", // Poland -0x0031: "DE", // Germany -0x0034: "MX", // Mexico -0x0037: "BR", // Brazil -0x003d: "AU", // Australia -0x0040: "NZ", // New Zealand -0x0042: "TH", // Thailand -0x0051: "JP", // Japan -0x0052: "KR", // Korea -0x0054: "VN", // Viet Nam -0x0056: "CN", // China -0x005A: "TR", // Turkey -0x0069: "JS", // Ramastan -0x00D5: "DZ", // Algeria -0x00D8: "MA", // Morocco -0x00DA: "LY", // Libya -0x015F: "PT", // Portugal -0x0162: "IS", // Iceland -0x0166: "FI", // Finland -0x01A4: "CZ", // Czech Republic -0x0376: "TW", // Taiwan -0x03C1: "LB", // Lebanon -0x03C2: "JO", // Jordan -0x03C3: "SY", // Syria -0x03C4: "IQ", // Iraq -0x03C5: "KW", // Kuwait -0x03C6: "SA", // Saudi Arabia -0x03CB: "AE", // United Arab Emirates -0x03CC: "IL", // Israel -0x03CE: "QA", // Qatar -0x03D5: "IR", // Iran -0xFFFF: "US" // United States + 0x0001: "US", // United States + 0x0002: "CA", // Canada + 0x0003: "", // Latin America (except Brazil) + 0x0007: "RU", // Russia + 0x0014: "EG", // Egypt + 0x001E: "GR", // Greece + 0x001F: "NL", // Netherlands + 0x0020: "BE", // Belgium + 0x0021: "FR", // France + 0x0022: "ES", // Spain + 0x0024: "HU", // Hungary + 0x0027: "IT", // Italy + 0x0029: "CH", // Switzerland + 0x002B: "AT", // Austria + 0x002C: "GB", // United Kingdom + 0x002D: "DK", // Denmark + 0x002E: "SE", // Sweden + 0x002F: "NO", // Norway + 0x0030: "PL", // Poland + 0x0031: "DE", // Germany + 0x0034: "MX", // Mexico + 0x0037: "BR", // Brazil + 0x003d: "AU", // Australia + 0x0040: "NZ", // New Zealand + 0x0042: "TH", // Thailand + 0x0051: "JP", // Japan + 0x0052: "KR", // Korea + 0x0054: "VN", // Viet Nam + 0x0056: "CN", // China + 0x005A: "TR", // Turkey + 0x0069: "JS", // Ramastan + 0x00D5: "DZ", // Algeria + 0x00D8: "MA", // Morocco + 0x00DA: "LY", // Libya + 0x015F: "PT", // Portugal + 0x0162: "IS", // Iceland + 0x0166: "FI", // Finland + 0x01A4: "CZ", // Czech Republic + 0x0376: "TW", // Taiwan + 0x03C1: "LB", // Lebanon + 0x03C2: "JO", // Jordan + 0x03C3: "SY", // Syria + 0x03C4: "IQ", // Iraq + 0x03C5: "KW", // Kuwait + 0x03C6: "SA", // Saudi Arabia + 0x03CB: "AE", // United Arab Emirates + 0x03CC: "IL", // Israel + 0x03CE: "QA", // Qatar + 0x03D5: "IR", // Iran + 0xFFFF: "US" // United States }; /* [MS-XLS] 2.5.127 */ @@ -2376,7 +2230,7 @@ var XLSIcv = rgbify([ /* 14.2 Part Summary */ /* [MS-XLSX] 2.1 Part Enumerations */ /* [MS-XLSB] 2.1.7 Part Enumeration */ -var ct2type/*{[string]:string}*/ = ({ +var ct2type = { /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -2413,12 +2267,6 @@ 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", @@ -2520,7 +2368,7 @@ var ct2type/*{[string]:string}*/ = ({ "application/vnd.openxmlformats-officedocument.oleObject": "TODO", "sheet": "js" -}); +}; var CT_LIST = (function(){ var o = { @@ -2548,16 +2396,16 @@ var CT_LIST = (function(){ return o; })(); -var type2ct/*{[string]:Array}*/ = evert_arr(ct2type); +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 = {}; + if(!data || !data.match) return data; + var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], + coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], + TODO:[], rels:[], xmlns: "" }; (data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0].replace(nsregex,"<")) { @@ -2566,6 +2414,7 @@ function parse_ct(data, opts) { case '2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */ -/* Part 3 Section 4 Manifest File */ -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; // 4.2 - case 'file-entry': // 4.3 - 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': // 4.4 - case 'algorithm': // 4.5 - case 'start-key-generation': // 4.6 - case 'key-derivation': // 4.7 - 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 < manifest.length; ++i) o.push(' \n'); - o.push(''); - return o.join(""); -} - -/* Part 3 Section 6 Metadata Manifest File */ -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(""); -} /* ECMA-376 Part II 11.1 Core Properties Part */ /* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */ var CORE_PROPS = [ @@ -2892,7 +2684,7 @@ function write_ext_props(cp, opts) { /* TODO: HeadingPairs, TitlesOfParts */ 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 "" + escapexml(s) + ""; }).join(""), {size: cp.Worksheets, baseType:"lpstr"}))); + 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(""); } @@ -2902,13 +2694,16 @@ RELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relati var custregex = /<[^>]+>[^<]*/g; function parse_cust_props(data, opts) { - var p = {}, name = ""; + 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(' 0) blob.l += (4 - (size & 3)) & 3; + if(size & 3 > 0) blob.l += (4 - (size & 3)) & 3; return bytes; } @@ -3123,7 +2917,7 @@ function parse_PropertySet(blob, PIDSI) { var NumProps = blob.read_shift(4); var Props = [], i = 0; var CodePage = 0; - var Dictionary = -1, DictObj = ({}); + var Dictionary = -1, DictObj; for(i = 0; i != NumProps; ++i) { var PropID = blob.read_shift(4); var Offset = blob.read_shift(4); @@ -3214,7 +3008,7 @@ function parse_PropertySetStream(file, PIDSI) { var blob = file.content; prep_blob(blob, 0); - var NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0; + var NumSets, FMTID0, FMTID1, Offset0, Offset1; blob.chk('feff', 'Byte Order: '); var vers = blob.read_shift(2); // TODO: check version @@ -3228,13 +3022,13 @@ function parse_PropertySetStream(file, PIDSI) { else if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); } var PSet0 = parse_PropertySet(blob, PIDSI); - var rval = ({ SystemIdentifier: SystemIdentifier }); + var rval = { SystemIdentifier: SystemIdentifier }; for(var y in PSet0) rval[y] = PSet0[y]; //rval.blob = blob; rval.FMTID = FMTID0; //rval.PSet0 = PSet0; if(NumSets === 1) return rval; - if(blob.l !== Offset1) throw new Error("Length mismatch 2: " + blob.l + " !== " + Offset1); + if(blob.l !== Offset1) throw "Length mismatch 2: " + blob.l + " !== " + Offset1; var PSet1; try { PSet1 = parse_PropertySet(blob, null); } catch(e) { } for(y in PSet1) rval[y] = PSet1[y]; @@ -3277,15 +3071,13 @@ function parse_Bes(blob) { /* [MS-XLS] 2.5.240 ShortXLUnicodeString */ function parse_ShortXLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts && opts.biff >= 12 ? 2 : 1); + var cch = blob.read_shift(1); var width = 1, encoding = 'sbcs-cont'; var cp = current_codepage; if(opts && opts.biff >= 8) current_codepage = 1200; - if(!opts || opts.biff == 8 ) { + if(opts === undefined || opts.biff !== 5) { 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; @@ -3299,7 +3091,7 @@ function parse_XLUnicodeRichExtendedString(blob) { var cch = blob.read_shift(2), flags = blob.read_shift(1); var fHighByte = flags & 0x1, fExtSt = flags & 0x4, fRichSt = flags & 0x8; var width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs - var cRun = 0, cbExtRst; + var cRun, cbExtRst; var z = {}; if(fRichSt) cRun = blob.read_shift(2); if(fExtSt) cbExtRst = blob.read_shift(4); @@ -3316,10 +3108,6 @@ 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'); } @@ -3328,13 +3116,13 @@ function parse_XLUnicodeStringNoCch(blob, cch, opts) { /* 2.5.294 XLUnicodeString */ function parse_XLUnicodeString(blob, length, opts) { - var cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + 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); } /* BIFF5 override */ function parse_XLUnicodeString2(blob, length, opts) { - if(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts); + if(opts.biff !== 5 && opts.biff !== 2) 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'); @@ -3425,7 +3213,7 @@ function parse_XLSCell(blob, length) { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); var ixfe = blob.read_shift(2); - return ({r:rw, c:col, ixfe:ixfe}); + return {r:rw, c:col, ixfe:ixfe}; } /* 2.5.134 */ @@ -3454,14 +3242,15 @@ function parse_XTI(blob, length) { function parse_RkRec(blob, length) { var ixfe = blob.read_shift(2); var RK = parse_RkNumber(blob); + //console.log("::", ixfe, RK,";;"); return [ixfe, RK]; } /* 2.5.1 */ -function parse_AddinUdf(blob, length, opts) { +function parse_AddinUdf(blob, length) { blob.l += 4; length -= 4; var l = blob.l + length; - var udfName = parse_ShortXLUnicodeString(blob, length, opts); + var udfName = parse_ShortXLUnicodeString(blob, length); var cb = blob.read_shift(2); l -= blob.l; if(cb !== l) throw "Malformed AddinUdf: padding = " + l + " != " + cb; @@ -3520,22 +3309,22 @@ function parse_FtCf(blob, length) { /* 2.5.140 - 2.5.154 and friends */ var FtTab = { -0x15: parse_FtCmo, -0x13: parsenoop, /* FtLbsData */ -0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ -0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ -0x10: parsenoop, /* FtEdoData */ -0x0F: parsenoop, /* FtGboData */ -0x0D: parse_FtNts, /* FtNts */ -0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ -0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ -0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ -0x09: parsenoop, /* FtPictFmla */ -0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ -0x07: parse_FtCf, /* FtCf */ -0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ -0x04: parsenoop, /* FtMacro */ -0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ + 0x15: parse_FtCmo, + 0x13: parsenoop, /* FtLbsData */ + 0x12: function(blob, length) { blob.l += 12; }, /* FtCblsData */ + 0x11: function(blob, length) { blob.l += 8; }, /* FtRboData */ + 0x10: parsenoop, /* FtEdoData */ + 0x0F: parsenoop, /* FtGboData */ + 0x0D: parse_FtNts, /* FtNts */ + 0x0C: function(blob, length) { blob.l += 24; }, /* FtSbs */ + 0x0B: function(blob, length) { blob.l += 10; }, /* FtRbo */ + 0x0A: function(blob, length) { blob.l += 16; }, /* FtCbls */ + 0x09: parsenoop, /* FtPictFmla */ + 0x08: function(blob, length) { blob.l += 6; }, /* FtPioGrbit */ + 0x07: parse_FtCf, /* FtCf */ + 0x06: function(blob, length) { blob.l += 6; }, /* FtGmo */ + 0x04: parsenoop, /* FtMacro */ + 0x00: function(blob, length) { blob.l += 4; } /* FtEnding */ }; function parse_FtArray(blob, length, ot) { var s = blob.l; @@ -3565,7 +3354,7 @@ function parse_BOF(blob, length) { case 0x0500: /* BIFF5 */ case 0x0002: case 0x0007: /* BIFF2 */ break; - default: if(length > 6) throw new Error("Unexpected BIFF Ver " + o.BIFFVer); + default: throw "Unexpected BIFF Ver " + o.BIFFVer; } blob.read_shift(length); return o; @@ -3594,7 +3383,7 @@ function parse_WriteAccess(blob, length, opts) { /* 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); - var hidden = blob.read_shift(1) & 0x03; + var hidden = blob.read_shift(1) >> 6; var dt = blob.read_shift(1); switch(dt) { case 0: dt = 'Worksheet'; break; @@ -3611,7 +3400,7 @@ function parse_BoundSheet8(blob, length, opts) { function parse_SST(blob, length) { var cnt = blob.read_shift(4); var ucnt = blob.read_shift(4); - var strs = ([]); + var strs = []; for(var i = 0; i != ucnt; ++i) { strs.push(parse_XLUnicodeRichExtendedString(blob)); } @@ -3660,7 +3449,7 @@ function parse_RecalcId(blob, length) { /* 2.4.87 */ function parse_DefaultRowHeight (blob, length) { - var f = length == 4 ? blob.read_shift(2) : 0, miyRw; + var f = blob.read_shift(2), miyRw; miyRw = blob.read_shift(2); // flags & 0x02 -> hidden, else empty var fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3}; return [fl, miyRw]; @@ -3691,10 +3480,8 @@ 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); - if(opts.biff == 2) blob.l++; - var str = parse_XLUnicodeString(blob, target - blob.l, opts); + var str = parse_XLUnicodeString(blob, length-6, opts); cell.val = str; return cell; } @@ -3705,15 +3492,13 @@ function parse_Format(blob, length, opts) { var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [ifmt, fmtstr]; } -var parse_BIFF2Format = parse_XLUnicodeString2; /* 2.4.90 */ -function parse_Dimensions(blob, length, opts) { - var end = blob.l + length; - var w = opts.biff == 8 || !opts.biff ? 4 : 2; +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 = end; + blob.l += 2; return {s: {r:r, c:c}, e: {r:R, c:C}}; } @@ -3765,14 +3550,13 @@ function parse_Guts(blob, length) { 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("|"); + if(out[0] > 7 || out[1] > 7) throw "Bad Gutters: " + out; return out; } /* 2.4.24 */ -function parse_BoolErr(blob, length, opts) { +function parse_BoolErr(blob, length) { 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'; @@ -3805,7 +3589,7 @@ function parse_SupBook(blob, length, opts) { function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; - var o = ({ + var o = { fBuiltIn: flags & 0x01, fWantAdvise: (flags >>> 1) & 0x01, fWantPict: (flags >>> 2) & 0x01, @@ -3813,8 +3597,8 @@ function parse_ExternName(blob, length, opts) { fOleLink: (flags >>> 4) & 0x01, cf: (flags >>> 5) & 0x3FF, fIcon: flags >>> 15 & 0x01 - }); - if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts); + }; + if(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2); //else throw new Error("unsupported SupBook cch: " + opts.sbcch); o.body = body || blob.read_shift(length-2); return o; @@ -3822,19 +3606,17 @@ function parse_ExternName(blob, length, opts) { /* 2.4.150 TODO */ function parse_Lbl(blob, length, opts) { + if(opts.biff < 8) return parse_Label(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 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 npflen = target - blob.l; if(opts && opts.biff == 2) --npflen; - var rgce = target == blob.l || cce == 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce); + var rgce = parse_NameParsedFormula(blob, target - blob.l, opts, cce); return { chKey: chKey, Name: name, @@ -3866,12 +3648,7 @@ function parse_ShrFmla(blob, length, opts) { /* 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); - /* 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; - } + blob.l += 6; length -= 12; /* TODO: fAlwaysCalc */ return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } @@ -3917,7 +3694,6 @@ function parse_Obj(blob, length) { /* 2.4.329 TODO: parse properly */ 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]; @@ -3931,6 +3707,7 @@ try { blob.l += len; //var fmla = parse_ObjFmla(blob, s + length - blob.l); + var texts = ""; for(var i = 1; i < blob.lens.length-1; ++i) { if(blob.l-s != blob.lens[i]) throw "TxO: bad continue record"; var hdr = blob[blob.l]; @@ -3951,7 +3728,7 @@ try { // blob.l += 6; // if(s + length != blob.l) throw "TxO " + (s + length) + ", at " + blob.l; return { t: texts }; -} catch(e) { blob.l = s + length; return { t: texts }; } +} catch(e) { blob.l = s + length; return { t: texts||"" }; } } /* 2.4.140 */ @@ -4334,7 +4111,6 @@ 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; } @@ -4343,74 +4119,37 @@ 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'); -} - -/* TODO: convert to BIFF8 font struct */ -function parse_BIFF2FONTXTRA(blob, length) { - blob.l += 6; // unknown - blob.l += 2; // font weight "bls" - blob.l += 1; // charset - blob.l += 3; // unknown - 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 */ -1: 65001, /* DEFAULT */ -2: 65001, /* SYMBOL */ -77: 10000, /* MAC */ -128: 932, /* SHIFTJIS */ -129: 949, /* HANGUL */ -130: 1361, /* JOHAB */ -134: 936, /* GB2312 */ -136: 950, /* CHINESEBIG5 */ -161: 1253, /* GREEK */ -162: 1254, /* TURKISH */ -163: 1258, /* VIETNAMESE */ -177: 1255, /* HEBREW */ -178: 1256, /* ARABIC */ -186: 1257, /* BALTIC */ -204: 1251, /* RUSSIAN */ -222: 874, /* THAI */ -238: 1250, /* EASTEUROPE */ -255: 1252, /* OEM */ -69: 6969 /* MISC */ -}); +var CS2CP = { + 0: 1252, /* ANSI */ + 1: 65001, /* DEFAULT */ + 2: 65001, /* SYMBOL */ + 77: 10000, /* MAC */ + 128: 932, /* SHIFTJIS */ + 129: 949, /* HANGUL */ + 130: 1361, /* JOHAB */ + 134: 936, /* GB2312 */ + 136: 950, /* CHINESEBIG5 */ + 161: 1253, /* GREEK */ + 162: 1254, /* TURKISH */ + 163: 1258, /* VIETNAMESE */ + 177: 1255, /* HEBREW */ + 178: 1256, /* ARABIC */ + 186: 1257, /* BALTIC */ + 204: 1251, /* RUSSIAN */ + 222: 874, /* THAI */ + 238: 1250, /* EASTEUROPE */ + 255: 1252, /* OEM */ + 69: 6969 /* MISC */ +}; /* Parse a list of tags */ 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 tregex = matchtag("t"), rpregex = matchtag("rPr"), rregex = //g, rend = /<\/r>/, nlregex = /\r\n/g; /* 18.4.7 rPr CT_RPrElt */ var parse_rpr = function parse_rpr(rpr, intro, outro) { var font = {}, cp = 65001; @@ -4428,7 +4167,6 @@ var parse_rs = (function parse_rs_factory() { /* ** not required . */ case '': case '': break; /* 18.4.1 charset CT_IntProperty TODO */ @@ -4440,7 +4178,6 @@ var parse_rs = (function parse_rs_factory() { /* 18.4.2 outline CT_BooleanProperty TODO */ case '': case '': break; /* 18.4.5 rFont CT_FontName */ @@ -4453,31 +4190,27 @@ var parse_rs = (function parse_rs_factory() { case '': case '': font.strike = 1; break; case '': break; /* 18.4.13 u CT_UnderlineProperty */ case '': case '': font.u = 1; break; case '': break; /* 18.8.2 b */ case '': case '': font.b = 1; break; case '': break; /* 18.8.26 i */ case '': case '': font.i = 1; break; case '': break; @@ -4527,25 +4260,23 @@ var parse_rs = (function parse_rs_factory() { })(); /* 18.4.8 si CT_Rst */ -var sitregex = /<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g, sirregex = /<(?:\w+:)?r>/; -var sirphregex = /<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g; +var sitregex = /]*>([^<]*)<\/t>/g, sirregex = //; function parse_si(x, opts) { var html = opts ? opts.cellHTML : true; var z = {}; if(!x) return null; var y; /* 18.4.12 t ST_Xstring (Plaintext String) */ - // 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 = utf8read(x); + if(x.charCodeAt(1) === 116) { + z.t = utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0])); + z.r = x; if(html) z.h = z.t; } /* 18.4.4 r CT_RElt (Rich Text Run) */ else if((y = x.match(sirregex))) { - z.r = utf8read(x); - z.t = utf8read(unescapexml((x.replace(sirphregex, '').match(sitregex)||[]).join("").replace(tagregex,""))); - if(html) z.h = parse_rs(z.r); + z.r = x; + z.t = utf8read(unescapexml(x.match(sitregex).join("").replace(tagregex,""))); + if(html) z.h = parse_rs(x); } /* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */ /* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */ @@ -4553,18 +4284,17 @@ function parse_si(x, opts) { } /* 18.4 Shared String Table */ -var sstr0 = /<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/; -var sstr1 = /<(?:\w+:)?(?:si|sstItem)>/g; -var sstr2 = /<\/(?:\w+:)?(?:si|sstItem)>/; +var sstr0 = /]*)>([\s\S]*)<\/sst>/; +var sstr1 = /<(?:si|sstItem)>/g; +var sstr2 = /<\/(?:si|sstItem)>/; function parse_sst_xml(data, opts) { - var s = ([]), ss = ""; - if(!data) return s; + var s = [], ss; /* 18.4.9 sst CT_Sst */ 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); + 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; @@ -4604,7 +4334,7 @@ function parse_BrtBeginSst(data, length) { /* [MS-XLSB] 2.1.7.45 Shared Strings */ function parse_sst_bin(data, opts) { - var s = ([]); + var s = []; var pass = false; recordhopper(data, function hopper_sst(val, R, RT) { switch(R.n) { @@ -4636,12 +4366,7 @@ function write_sst_bin(sst, opts) { write_record(ba, "BrtEndSst"); return ba.end(); } -function _JS2ANSI(str) { - if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); - var o = [], oo = str.split(""); - for(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0); - return o; -} +function _JS2ANSI(str) { if(typeof cptable !== 'undefined') return cptable.utils.encode(1252, str); return str.split("").map(function(x) { return x.charCodeAt(0); }); } /* [MS-OFFCRYPTO] 2.1.4 Version */ function parse_Version(blob, length) { @@ -4791,7 +4516,7 @@ var crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArra var crypto_MakeXorDecryptor = function(password) { var XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password); return function(Data) { - var O = crypto_DecryptData_Method1("", Data, XorArrayIndex, XorArray); + var O = crypto_DecryptData_Method1(null, Data, XorArrayIndex, XorArray); XorArrayIndex = O[1]; return O[0]; }; @@ -4799,7 +4524,7 @@ var crypto_MakeXorDecryptor = function(password) { /* 2.5.343 */ function parse_XORObfuscation(blob, length, opts, out) { - var o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }); + 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); @@ -4823,7 +4548,7 @@ function parse_FilePass(blob, length, opts) { function hex2RGB(h) { var o = h.substr(h[0]==="#"?1:0,6); - return [parseInt(o.substr(0,2),16),parseInt(o.substr(2,2),16),parseInt(o.substr(4,2),16)]; + 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]); @@ -4924,7 +4649,6 @@ function parse_fills(t, opts) { /* 18.8.32 patternFill CT_PatternFill */ case '': if(y.patternType) fill.patternType = y.patternType; break; case '': case '': break; @@ -4950,7 +4674,7 @@ function parse_fills(t, opts) { break; case '': case '': break; - default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in fills'); + default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in fills'; } }); } @@ -4958,10 +4682,9 @@ function parse_fills(t, opts) { /* 18.8.31 numFmts CT_NumFmts */ function parse_numFmts(t, opts) { styles.NumberFmt = []; - var k/*Array*/ = (keys(SSF._table)); + var k = keys(SSF._table); for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]]; var m = t[0].match(tagregex); - if(!m) return; for(i=0; i < m.length; ++i) { var y = parsexmltag(m[i]); switch(y[0]) { @@ -4970,8 +4693,7 @@ function parse_numFmts(t, opts) { var f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10); styles.NumberFmt[j] = f; if(j>0) SSF.load(f,j); } break; - case '': break; - default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts'); + default: if(opts.WTF) throw 'unrecognized ' + y[0] + ' in numFmts'; } } } @@ -4979,7 +4701,7 @@ function parse_numFmts(t, opts) { 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]) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])})); + 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] = (""); @@ -5003,7 +4725,7 @@ function parse_cellXfs(t, opts) { case '': break; /* 18.8.1 alignment CT_CellAlignment */ - case '': case '': break; + case '': break; /* 18.8.33 protection CT_CellProtection */ case '': case '': break; @@ -5032,7 +4754,6 @@ var cellXfRegex = /]*)>.*<\/cellXfs>/; var fillsRegex = /]*)>.*<\/fills>/; return function parse_sty_xml(data, opts) { - if(!data) return styles; /* 18.8.39 styleSheet CT_Stylesheet */ var t; @@ -5069,7 +4790,7 @@ RELS.STY = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/ function write_sty_xml(wb, opts) { var o = [XML_HEADER, STYLES_XML_ROOT], w; - if(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w; + if((w = write_numFmts(wb.SSF)) != null) o[o.length] = w; o[o.length] = (''); o[o.length] = (''); o[o.length] = (''); @@ -5091,7 +4812,7 @@ function parse_BrtFmt(data, length) { /* [MS-XLSB] 2.4.653 BrtFont TODO */ function parse_BrtFont(data, length) { - var out = ({flags:{}}); + var out = {flags:{}}; out.dyHeight = data.read_shift(2); out.grbit = parse_FontFlags(data, 2); out.bls = data.read_shift(2); @@ -5126,7 +4847,7 @@ function parse_BrtXF(data, length) { /* [MS-XLSB] 2.1.7.50 Styles */ function parse_sty_bin(data, opts) { - styles.NumberFmt = ([]); + styles.NumberFmt = []; for(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y]; styles.CellXf = []; @@ -5221,7 +4942,7 @@ RELS.THEME = "http://schemas.openxmlformats.org/officeDocument/2006/relationship function parse_clrScheme(t, opts) { themes.themeElements.clrScheme = []; var color = {}; - (t[0].match(tagregex)||[]).forEach(function(x) { + t[0].match(tagregex).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { case '': break; @@ -5305,7 +5026,7 @@ function parse_themeElements(data, opts) { /* fmtScheme CT_StyleMatrix */ ['fmtScheme', fmtsregex, parse_fmtScheme] ].forEach(function(m) { - if(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements'); + if(!(t=data.match(m[1]))) throw m[0] + ' not found in themeElements'; m[2](t, opts); }); } @@ -5326,175 +5047,7 @@ function parse_theme_xml(data, 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 write_theme() { return '\n'; } /* [MS-XLS] 2.4.326 TODO: payload is a zip file */ function parse_Theme(blob, length) { var dwThemeVersion = blob.read_shift(4); @@ -5565,15 +5118,10 @@ function update_xfext(xf, xfext) { switch(xfe[0]) { /* 2.5.108 extPropData */ case 0x04: break; /* foreground color */ case 0x05: break; /* background color */ - case 0x06: break; /* gradient fill */ - case 0x07: break; /* top cell border color */ - case 0x08: break; /* bottom cell border color */ - case 0x09: break; /* left cell border color */ - case 0x0a: break; /* right cell border color */ - case 0x0b: break; /* diagonal cell border color */ + case 0x07: case 0x08: case 0x09: case 0x0a: break; case 0x0d: break; /* text color */ case 0x0e: break; /* font scheme */ - case 0x0f: break; /* indentation level */ + default: throw "bafuq" + xfe[0].toString(16); } }); } @@ -5581,7 +5129,6 @@ function update_xfext(xf, xfext) { /* 18.6 Calculation Chain */ 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); @@ -5663,7 +5210,7 @@ function insertCommentsIntoSheet(sheetName, sheet, comments) { } if (!cell.c) cell.c = []; - var o = ({a: comment.author, t: comment.t, r: comment.r}); + var o = {a: comment.author, t: comment.t, r: comment.r}; if(comment.h) o.h = comment.h; cell.c.push(o); }); @@ -5674,25 +5221,19 @@ function parse_comments_xml(data, opts) { if(data.match(/<(?:\w+:)?comments *\/>/)) 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) { + data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/)[1].split(/<\/\w*:?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - var a = x.match(/<(?:\w+:)?author[^>]*>(.*)/); - if(a) authors.push(a[1]); + authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); }); - var cmnttag = data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/); - if(cmnttag && cmnttag[1]) cmnttag[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { + (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/)||["",""])[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 y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[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>/); + var textMatch = x.match(/([^\u2603]*)<\/text>/); if (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag. var rt = parse_si(textMatch[1]); - if(!rt) return; comment.r = rt.r; comment.t = rt.t; if(opts.cellHTML) comment.h = rt.h; @@ -5755,10 +5296,9 @@ 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; - 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); + 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; @@ -5766,19 +5306,6 @@ var rc_to_a1 = (function(){ }; })(); -/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */ -var crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g; -function shift_formula_str(f, delta) { - return f.replace(crefregex, 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; }; } @@ -5788,129 +5315,85 @@ function parseread1(blob, length) { blob.l+=1; return; } /* 2.5.51 */ function parse_ColRelU(blob, length) { - var c = blob.read_shift(length == 1 ? 1 : 2); + var c = blob.read_shift(2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* [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); +/* 2.5.198.105 */ +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]} }; } -/* 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, opts) { - var r=blob.read_shift(length == 12 ? 4 : 2), R=blob.read_shift(length == 12 ? 4 : 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]} }; } /* 2.5.198.109 */ -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); +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_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]}; -} -/* [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); +/* 2.5.198.111 */ +function parse_RgceLocRel(blob, length) { + var r = blob.read_shift(2); var cl = blob.read_shift(2); var cRel = (cl & 0x8000) >> 15, rRel = (cl & 0x4000) >> 14; cl &= 0x3FFF; - if(rRel == 1) while(r > 0x7FFFF) r -= 0x100000; - if(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000; + if(cRel !== 0) while(cl >= 0x100) cl -= 0x100; 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, opts) { +function parse_PtgArea(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); + var area = parse_RgceArea(blob, 8); return [type, area]; } -/* [MS-XLS] 2.5.198.28 */ -/* [MS-XLSB] 2.5.97.19 */ -function parse_PtgArea3d(blob, length, opts) { +/* 2.5.198.28 */ +function parse_PtgArea3d(blob, length) { var type = (blob[blob.l++] & 0x60) >> 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); + var ixti = blob.read_shift(2); + var area = parse_RgceArea(blob, 8); return [type, ixti, area]; } /* 2.5.198.29 */ -function parse_PtgAreaErr(blob, length, opts) { +function parse_PtgAreaErr(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - blob.l += opts && opts.biff > 8 ? 12 : 8; + blob.l += 8; return [type]; } /* 2.5.198.30 */ -function parse_PtgAreaErr3d(blob, length, opts) { +function parse_PtgAreaErr3d(blob, length) { var type = (blob[blob.l++] & 0x60) >> 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; + blob.l += 8; return [type, ixti]; } /* 2.5.198.31 */ -function parse_PtgAreaN(blob, length, opts) { +function parse_PtgAreaN(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - var area = parse_RgceAreaRel(blob, opts && opts.biff > 8 ? 12 : 8, opts); + var area = parse_RgceAreaRel(blob, 8); return [type, area]; } -/* [MS-XLS] 2.5.198.32 */ -/* [MS-XLSB] 2.5.97.23 */ -function parse_PtgArray(blob, length, opts) { +/* 2.5.198.32 -- ignore this and look in PtgExtraArray for shape + values */ +function parse_PtgArray(blob, length) { var type = (blob[blob.l++] & 0x60) >> 5; - blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; + blob.l += 7; return [type]; } @@ -5923,40 +5406,33 @@ function parse_PtgAttrBaxcel(blob, length) { } /* 2.5.198.34 */ -function parse_PtgAttrChoose(blob, length, opts) { +function parse_PtgAttrChoose(blob, length) { blob.l +=2; - var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + var offset = blob.read_shift(2); var o = []; /* offset is 1 less than the number of elements */ - for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2)); + for(var i = 0; i <= offset; ++i) o.push(blob.read_shift(2)); return o; } /* 2.5.198.35 */ -function parse_PtgAttrGoto(blob, length, opts) { +function parse_PtgAttrGoto(blob, length) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; - return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; + return [bitGoto, blob.read_shift(2)]; } /* 2.5.198.36 */ -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) { +function parse_PtgAttrIf(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, opts) { +function parse_PtgAttrSemi(blob, length) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; - blob.l += opts && opts.biff == 2 ? 3 : 4; + blob.l += 4; return [bitSemi]; } @@ -5979,44 +5455,46 @@ function parse_PtgAttrSpaceSemi(blob, length) { } /* 2.5.198.84 TODO */ -function parse_PtgRef(blob, length, opts) { +function parse_PtgRef(blob, length) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLoc(blob, 0, opts); + var loc = parse_RgceLoc(blob,4); return [type, loc]; } /* 2.5.198.88 TODO */ -function parse_PtgRefN(blob, length, opts) { +function parse_PtgRefN(blob, length) { + var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var loc = parse_RgceLocRel(blob, 0, opts); + var loc = parse_RgceLocRel(blob,4); return [type, loc]; } /* 2.5.198.85 TODO */ -function parse_PtgRef3d(blob, length, opts) { +function parse_PtgRef3d(blob, length) { + var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex - var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel + var loc = parse_RgceLoc(blob,4); return [type, ixti, loc]; } /* 2.5.198.62 TODO */ -function parse_PtgFunc(blob, length, opts) { +function parse_PtgFunc(blob, length) { var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; - var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); - return [FtabArgc[iftab], Ftab[iftab], type]; + var iftab = blob.read_shift(2); + return [FtabArgc[iftab], Ftab[iftab]]; } /* 2.5.198.63 TODO */ -function parse_PtgFuncVar(blob, length, opts) { +function parse_PtgFuncVar(blob, length) { blob.l++; - var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); + var cparams = blob.read_shift(1), tab = parsetab(blob); return [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]]; } @@ -6025,26 +5503,22 @@ function parsetab(blob, length) { } /* 2.5.198.41 */ -function parse_PtgAttrSum(blob, length, opts) { - blob.l += opts && opts.biff == 2 ? 3 : 4; return; -} - +var parse_PtgAttrSum = parseread(4); /* 2.5.198.43 */ var parse_PtgConcat = parseread1; /* 2.5.198.58 */ -function parse_PtgExp(blob, length, opts) { +function parse_PtgExp(blob, length) { 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); + var col = blob.read_shift(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 */ +/* 2.5.198.66 TODO */ function parse_PtgInt(blob, length) { blob.l++; return blob.read_shift(2); } /* 2.5.198.42 */ @@ -6054,19 +5528,12 @@ 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, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } +function parse_PtgStr(blob, length) { blob.l++; return parse_ShortXLUnicodeString(blob); } -/* [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.112 + 2.5.192.11{3,4,5,6,7} */ +function parse_SerAr(blob) { + var val = []; + switch((val[0] = blob.read_shift(1))) { /* 2.5.192.113 */ case 0x04: /* SerBool -- boolean */ val[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE'; @@ -6083,7 +5550,7 @@ function parse_SerAr(blob, biff) { val[1] = parse_Xnum(blob, 8); break; /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ - val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; + val[1] = parse_XLUnicodeString(blob); break; // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; @@ -6098,89 +5565,52 @@ function parse_PtgExtraMem(blob, cce) { } /* 2.5.198.59 */ -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; } - // $FlowIgnore +function parse_PtgExtraArray(blob) { + var cols = 1 + blob.read_shift(1); //DColByteU + var rows = 1 + blob.read_shift(2); //DRw 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); + for(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob); return o; } /* 2.5.198.76 */ -function parse_PtgName(blob, length, opts) { +function parse_PtgName(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; - 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; - } + var nameindex = blob.read_shift(4); return [type, 0, nameindex]; } /* 2.5.198.77 */ -function parse_PtgNameX(blob, length, opts) { - if(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts); +function parse_PtgNameX(blob, length) { 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, opts) { +function parse_PtgMemArea(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; - blob.l += (opts && opts.biff == 2 ? 3 : 4); - var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + blob.l += 4; + var cce = blob.read_shift(2); return [type, cce]; } /* 2.5.198.72 */ -function parse_PtgMemFunc(blob, length, opts) { +function parse_PtgMemFunc(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; - var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); + var cce = blob.read_shift(2); return [type, cce]; } /* 2.5.198.86 */ -function parse_PtgRefErr(blob, length, opts) { +function parse_PtgRefErr(blob, length) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; - if(opts.biff == 12) blob.l += 2; return [type]; } -/* 2.5.198.87 */ -function parse_PtgRefErr3d(blob, length, opts) { - var type = (blob[blob.l++] & 0x60) >> 5; - var ixti = blob.read_shift(2); - var w = 4; - if(opts) switch(opts.biff) { - case 5: throw new Error("PtgRefErr3d -- 5"); // TODO: find test case - case 12: w = 6; break; - } - blob.l += w; - return [type, ixti]; -} - /* 2.5.198.26 */ var parse_PtgAdd = parseread1; /* 2.5.198.45 */ @@ -6224,114 +5654,108 @@ var parse_PtgUplus = parseread1; var parse_PtgMemErr = parsenoop; /* 2.5.198.73 */ var parse_PtgMemNoMem = parsenoop; +/* 2.5.198.87 */ +var parse_PtgRefErr3d = parsenoop; /* 2.5.198.92 */ var parse_PtgTbl = parsenoop; /* 2.5.198.25 */ var PtgTypes = { -0x01: { n:'PtgExp', f:parse_PtgExp }, -0x02: { n:'PtgTbl', f:parse_PtgTbl }, -0x03: { n:'PtgAdd', f:parse_PtgAdd }, -0x04: { n:'PtgSub', f:parse_PtgSub }, -0x05: { n:'PtgMul', f:parse_PtgMul }, -0x06: { n:'PtgDiv', f:parse_PtgDiv }, -0x07: { n:'PtgPower', f:parse_PtgPower }, -0x08: { n:'PtgConcat', f:parse_PtgConcat }, -0x09: { n:'PtgLt', f:parse_PtgLt }, -0x0A: { n:'PtgLe', f:parse_PtgLe }, -0x0B: { n:'PtgEq', f:parse_PtgEq }, -0x0C: { n:'PtgGe', f:parse_PtgGe }, -0x0D: { n:'PtgGt', f:parse_PtgGt }, -0x0E: { n:'PtgNe', f:parse_PtgNe }, -0x0F: { n:'PtgIsect', f:parse_PtgIsect }, -0x10: { n:'PtgUnion', f:parse_PtgUnion }, -0x11: { n:'PtgRange', f:parse_PtgRange }, -0x12: { n:'PtgUplus', f:parse_PtgUplus }, -0x13: { n:'PtgUminus', f:parse_PtgUminus }, -0x14: { n:'PtgPercent', f:parse_PtgPercent }, -0x15: { n:'PtgParen', f:parse_PtgParen }, -0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, -0x17: { n:'PtgStr', f:parse_PtgStr }, -0x1C: { n:'PtgErr', f:parse_PtgErr }, -0x1D: { n:'PtgBool', f:parse_PtgBool }, -0x1E: { n:'PtgInt', f:parse_PtgInt }, -0x1F: { n:'PtgNum', f:parse_PtgNum }, -0x20: { n:'PtgArray', f:parse_PtgArray }, -0x21: { n:'PtgFunc', f:parse_PtgFunc }, -0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, -0x23: { n:'PtgName', f:parse_PtgName }, -0x24: { n:'PtgRef', f:parse_PtgRef }, -0x25: { n:'PtgArea', f:parse_PtgArea }, -0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, -0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, -0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, -0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, -0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, -0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, -0x2C: { n:'PtgRefN', f:parse_PtgRefN }, -0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, -0x39: { n:'PtgNameX', f:parse_PtgNameX }, -0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, -0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, -0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, -0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, -0xFF: {} + 0x01: { n:'PtgExp', f:parse_PtgExp }, + 0x02: { n:'PtgTbl', f:parse_PtgTbl }, + 0x03: { n:'PtgAdd', f:parse_PtgAdd }, + 0x04: { n:'PtgSub', f:parse_PtgSub }, + 0x05: { n:'PtgMul', f:parse_PtgMul }, + 0x06: { n:'PtgDiv', f:parse_PtgDiv }, + 0x07: { n:'PtgPower', f:parse_PtgPower }, + 0x08: { n:'PtgConcat', f:parse_PtgConcat }, + 0x09: { n:'PtgLt', f:parse_PtgLt }, + 0x0A: { n:'PtgLe', f:parse_PtgLe }, + 0x0B: { n:'PtgEq', f:parse_PtgEq }, + 0x0C: { n:'PtgGe', f:parse_PtgGe }, + 0x0D: { n:'PtgGt', f:parse_PtgGt }, + 0x0E: { n:'PtgNe', f:parse_PtgNe }, + 0x0F: { n:'PtgIsect', f:parse_PtgIsect }, + 0x10: { n:'PtgUnion', f:parse_PtgUnion }, + 0x11: { n:'PtgRange', f:parse_PtgRange }, + 0x12: { n:'PtgUplus', f:parse_PtgUplus }, + 0x13: { n:'PtgUminus', f:parse_PtgUminus }, + 0x14: { n:'PtgPercent', f:parse_PtgPercent }, + 0x15: { n:'PtgParen', f:parse_PtgParen }, + 0x16: { n:'PtgMissArg', f:parse_PtgMissArg }, + 0x17: { n:'PtgStr', f:parse_PtgStr }, + 0x1C: { n:'PtgErr', f:parse_PtgErr }, + 0x1D: { n:'PtgBool', f:parse_PtgBool }, + 0x1E: { n:'PtgInt', f:parse_PtgInt }, + 0x1F: { n:'PtgNum', f:parse_PtgNum }, + 0x20: { n:'PtgArray', f:parse_PtgArray }, + 0x21: { n:'PtgFunc', f:parse_PtgFunc }, + 0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar }, + 0x23: { n:'PtgName', f:parse_PtgName }, + 0x24: { n:'PtgRef', f:parse_PtgRef }, + 0x25: { n:'PtgArea', f:parse_PtgArea }, + 0x26: { n:'PtgMemArea', f:parse_PtgMemArea }, + 0x27: { n:'PtgMemErr', f:parse_PtgMemErr }, + 0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem }, + 0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc }, + 0x2A: { n:'PtgRefErr', f:parse_PtgRefErr }, + 0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr }, + 0x2C: { n:'PtgRefN', f:parse_PtgRefN }, + 0x2D: { n:'PtgAreaN', f:parse_PtgAreaN }, + 0x39: { n:'PtgNameX', f:parse_PtgNameX }, + 0x3A: { n:'PtgRef3d', f:parse_PtgRef3d }, + 0x3B: { n:'PtgArea3d', f:parse_PtgArea3d }, + 0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d }, + 0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d }, + 0xFF: {} }; /* These are duplicated in the PtgTypes table */ var PtgDupes = { -0x40: 0x20, 0x60: 0x20, -0x41: 0x21, 0x61: 0x21, -0x42: 0x22, 0x62: 0x22, -0x43: 0x23, 0x63: 0x23, -0x44: 0x24, 0x64: 0x24, -0x45: 0x25, 0x65: 0x25, -0x46: 0x26, 0x66: 0x26, -0x47: 0x27, 0x67: 0x27, -0x48: 0x28, 0x68: 0x28, -0x49: 0x29, 0x69: 0x29, -0x4A: 0x2A, 0x6A: 0x2A, -0x4B: 0x2B, 0x6B: 0x2B, -0x4C: 0x2C, 0x6C: 0x2C, -0x4D: 0x2D, 0x6D: 0x2D, -0x59: 0x39, 0x79: 0x39, -0x5A: 0x3A, 0x7A: 0x3A, -0x5B: 0x3B, 0x7B: 0x3B, -0x5C: 0x3C, 0x7C: 0x3C, -0x5D: 0x3D, 0x7D: 0x3D + 0x40: 0x20, 0x60: 0x20, + 0x41: 0x21, 0x61: 0x21, + 0x42: 0x22, 0x62: 0x22, + 0x43: 0x23, 0x63: 0x23, + 0x44: 0x24, 0x64: 0x24, + 0x45: 0x25, 0x65: 0x25, + 0x46: 0x26, 0x66: 0x26, + 0x47: 0x27, 0x67: 0x27, + 0x48: 0x28, 0x68: 0x28, + 0x49: 0x29, 0x69: 0x29, + 0x4A: 0x2A, 0x6A: 0x2A, + 0x4B: 0x2B, 0x6B: 0x2B, + 0x4C: 0x2C, 0x6C: 0x2C, + 0x4D: 0x2D, 0x6D: 0x2D, + 0x59: 0x39, 0x79: 0x39, + 0x5A: 0x3A, 0x7A: 0x3A, + 0x5B: 0x3B, 0x7B: 0x3B, + 0x5C: 0x3C, 0x7C: 0x3C, + 0x5D: 0x3D, 0x7D: 0x3D }; (function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})(); -var Ptg18 = { -// 0x19: { n:'PtgList', f:parse_PtgList }, // TODO -// 0x1D: { n:'PtgSxName', f:parse_PtgSxName }, // TODO -}; +var Ptg18 = {}; var Ptg19 = { -0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, -0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, -0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, -0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, -0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, -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: {} + 0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi }, + 0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf }, + 0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose }, + 0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto }, + 0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum }, + 0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel }, + 0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace }, + 0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi }, + 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); 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); + blob.read_shift(1); + var chn = blob.read_shift(4); + var cbf = ""; + 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]}; } @@ -6345,7 +5769,6 @@ function parse_FormulaValue(blob) { case 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e']; case 0x03: blob.l += 8; return ["",'s']; } - return []; } /* 2.5.198.103 */ @@ -6356,24 +5779,17 @@ function parse_RgbExtra(blob, length, rgce, opts) { for(var i = 0; i !== rgce.length; ++i) { switch(rgce[i][0]) { case 'PtgArray': /* PtgArray -> PtgExtraArray */ - rgce[i][1] = parse_PtgExtraArray(blob, 0, opts); + rgce[i][1] = parse_PtgExtraArray(blob); 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; } @@ -6381,7 +5797,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, opts); + var rgce = parse_Rgce(blob, cce); var rgcb; if(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts); return [rgce, rgcb]; @@ -6389,11 +5805,11 @@ function parse_NameParsedFormula(blob, length, opts, cce) { /* 2.5.198.3 TODO */ function parse_XLSCellParsedFormula(blob, length, opts) { - var target = blob.l + length, len = opts.biff == 2 ? 1 : 2; - var rgcb, cce = blob.read_shift(len); // length of rgce + var target = blob.l + length; + var rgcb, cce = blob.read_shift(2); // length of rgce if(cce == 0xFFFF) 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); + var rgce = parse_Rgce(blob, cce); + if(length !== cce + 2) rgcb = parse_RgbExtra(blob, length - cce - 2, rgce, opts); return [rgce, rgcb]; } @@ -6401,7 +5817,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, opts); + var rgce = parse_Rgce(blob, cce); if(cce == 0xFFFF) return [[],parsenoop(blob, length-2)]; if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; @@ -6409,78 +5825,47 @@ function parse_SharedParsedFormula(blob, length, opts) { /* 2.5.198.1 TODO */ 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); // length of rgce + var target = blob.l + length; + var rgcb, cce = blob.read_shift(2); // length of rgce if(cce == 0xFFFF) 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); + var rgce = parse_Rgce(blob, cce); + if(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts); return [rgce, rgcb]; } /* 2.5.198.104 */ -function parse_Rgce(blob, length, opts) { +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]; + //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)); } - // $FlowIgnore - else { ptgs.push([R.n, R.f(blob, length, opts)]); } + if(!R || !R.f) { ptgs.push(parsenoop(blob, length)); } + else { ptgs.push([R.n, R.f(blob, length)]); } } return ptgs; } -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(";"); -} +function mapper(x) { return x.map(function f2(y) { return y[1];}).join(",");} -/* [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/*Array*/, range, cell, supbooks, opts) { - //console.log(formula); - var _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}}; - var stack = [], e1, e2, type, c, ixti=0, nameidx=0, r, sname=""; +/* 2.2.2 + Magic TODO */ +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 ""; - 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]; //console.log("++",f, stack) switch(f[0]) { + /* 2.2.2.1 Unary Operator Tokens */ /* 2.5.198.93 */ case 'PtgUminus': stack.push("-" + stack.pop()); break; /* 2.5.198.95 */ @@ -6488,36 +5873,69 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { /* 2.5.198.81 */ case 'PtgPercent': stack.push(stack.pop() + "%"); break; - case 'PtgAdd': /* 2.5.198.26 */ - case 'PtgConcat': /* 2.5.198.43 */ - case 'PtgDiv': /* 2.5.198.45 */ - case 'PtgEq': /* 2.5.198.56 */ - case 'PtgGe': /* 2.5.198.64 */ - case 'PtgGt': /* 2.5.198.65 */ - case 'PtgLe': /* 2.5.198.68 */ - case 'PtgLt': /* 2.5.198.69 */ - case 'PtgMul': /* 2.5.198.75 */ - case 'PtgNe': /* 2.5.198.78 */ - case 'PtgPower': /* 2.5.198.82 */ - case 'PtgSub': /* 2.5.198.90 */ + /* 2.2.2.1 Binary Value Operator Token */ + /* 2.5.198.26 */ + case 'PtgAdd': e1 = stack.pop(); e2 = stack.pop(); - if(last_sp >= 0) { - switch(formula[0][last_sp][1][0]) { - // $FlowIgnore - case 0: sp = fill(" ", formula[0][last_sp][1][1]); break; - // $FlowIgnore - case 1: sp = fill("\r", formula[0][last_sp][1][1]); break; - default: - sp = ""; - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + formula[0][last_sp][1][0]); - } - e2 = e2 + sp; - last_sp = -1; - } - stack.push(e2+PtgBinOp[f[0]]+e1); + 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); break; + /* 2.2.2.1 Binary Reference Operator Token */ /* 2.5.198.67 */ case 'PtgIsect': e1 = stack.pop(); e2 = stack.pop(); @@ -6527,46 +5945,41 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { 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 'PtgRange': break; + /* 2.2.2.3 Control Tokens "can be ignored" */ /* 2.5.198.34 */ case 'PtgAttrChoose': break; /* 2.5.198.35 */ 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(f[1][1], _range, opts); - stack.push(encode_cell_xls(c)); + type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), _range); + stack.push(encode_cell(c)); break; /* 2.5.198.88 */ case 'PtgRefN': - type = f[1][0]; c = shift_cell_xls(f[1][1], cell, opts); - stack.push(encode_cell_xls(c)); + type = f[1][0]; c = shift_cell_xls(decode_cell(encode_cell(f[1][1])), cell); + stack.push(encode_cell(c)); break; case 'PtgRef3d': // TODO: lots of stuff - 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)); + 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; + /* Function Call */ /* 2.5.198.62 */ case 'PtgFunc': /* 2.5.198.63 */ case 'PtgFuncVar': - //console.log(f[1]); - /* f[1] = [argc, func, type] */ + /* f[1] = [argc, func] */ var argc = f[1][0], func = f[1][1]; if(!argc) argc = 0; - var args = argc == 0 ? [] : stack.slice(-argc); + var args = stack.slice(-argc); stack.length -= argc; if(func === 'User') func = args.shift(); stack.push(func + "(" + args.join(",") + ")"); @@ -6579,31 +5992,25 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { /* 2.5.198.79 TODO: precision? */ case 'PtgNum': stack.push(String(f[1])); break; /* 2.5.198.89 */ - // $FlowIgnore case 'PtgStr': stack.push('"' + f[1] + '"'); break; /* 2.5.198.57 */ case 'PtgErr': stack.push(f[1]); break; - /* 2.5.198.31 TODO */ - case 'PtgAreaN': - type = f[1][0]; r = shift_range_xls(f[1][1], _range, opts); - stack.push(encode_range_xls(r, opts)); - break; /* 2.5.198.27 TODO: fixed points */ case 'PtgArea': - type = f[1][0]; r = shift_range_xls(f[1][1], _range, opts); - stack.push(encode_range_xls(r, opts)); + type = f[1][0]; r = shift_range_xls(f[1][1], _range); + stack.push(encode_range(r)); break; /* 2.5.198.28 */ case 'PtgArea3d': // TODO: lots of stuff 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)); + stack.push(supbooks[1][ixti+1]+"!"+encode_range(r)); break; /* 2.5.198.41 */ case 'PtgAttrSum': stack.push("SUM(" + stack.pop() + ")"); break; + /* Expression Prefixes */ /* 2.5.198.37 */ case 'PtgAttrSemi': break; @@ -6612,7 +6019,7 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { /* f[1] = type, 0, nameindex */ nameidx = f[1][2]; var lbl = supbooks[0][nameidx]; - var name = lbl ? lbl.Name : "**MISSING**" + String(nameidx); + var name = lbl.Name; if(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name]; stack.push(name); break; @@ -6620,53 +6027,26 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { /* 2.5.97.61 TODO: do something different for revisions */ case 'PtgNameX': /* f[1] = type, ixti, nameindex */ - var bookidx = (f[1][1]); nameidx = f[1][2]; var externbook; + var bookidx = f[1][1]; nameidx = f[1][2]; var externbook; /* TODO: Properly handle missing values */ - //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(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': - var lp = '(', rp = ')'; - if(last_sp >= 0) { - sp = ""; - switch(formula[0][last_sp][1][0]) { - // $FlowIgnore - case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break; - // $FlowIgnore - case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break; - // $FlowIgnore - case 4: rp = fill(" ", formula[0][last_sp][1][1]) + rp; break; - // $FlowIgnore - case 5: rp = fill("\r", formula[0][last_sp][1][1]) + rp; break; - default: - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + formula[0][last_sp][1][0]); - } - last_sp = -1; - } - stack.push(lp + stack.pop() + rp); break; + case 'PtgParen': stack.push('(' + stack.pop() + ')'); break; /* 2.5.198.86 */ case 'PtgRefErr': stack.push('#REF!'); break; - /* 2.5.198.87 */ - case 'PtgRefErr3d': stack.push('#REF!'); break; - /* */ /* 2.5.198.58 TODO */ case 'PtgExp': c = {c:f[1][1],r:f[1][0]}; - var q = ({c: cell.c, r:cell.r}); + 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)); @@ -6679,8 +6059,6 @@ function stringify_formula(formula/*Array*/, 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]); } @@ -6688,20 +6066,17 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { /* 2.5.198.32 TODO */ case 'PtgArray': - stack.push("{" + stringify_array(f[1]) + "}"); + stack.push("{" + f[1].map(mapper).join(";") + "}"); break; + /* 2.2.2.5 Mem Tokens */ /* 2.5.198.70 TODO: confirm this is a non-display */ case 'PtgMemArea': //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - /* 2.5.198.38 */ - case 'PtgAttrSpace': - /* 2.5.198.39 */ - case 'PtgAttrSpaceSemi': - last_sp = ff; - break; + /* 2.5.198.38 TODO */ + case 'PtgAttrSpace': break; /* 2.5.198.92 TODO */ case 'PtgTbl': break; @@ -6714,1195 +6089,1000 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { stack.push(""); break; - /* 2.5.198.29 */ - case 'PtgAreaErr': stack.push("#REF!"); break; + /* 2.5.198.29 TODO */ + case 'PtgAreaErr': break; + + /* 2.5.198.31 TODO */ + case 'PtgAreaN': stack.push(""); break; + + /* 2.5.198.87 TODO */ + case 'PtgRefErr3d': break; /* 2.5.198.72 TODO */ case 'PtgMemFunc': break; - default: throw new Error('Unrecognized Formula Token: ' + String(f)); - } - var PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto']; - if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) { - f = formula[0][last_sp]; - var _left = true; - switch(f[1][0]) { - /* note: some bad XLSB files omit the PtgParen */ - case 4: _left = false; - /* falls through */ - // $FlowIgnore - case 0: sp = fill(" ", f[1][1]); break; - case 5: _left = false; - /* falls through */ - // $FlowIgnore - case 1: sp = fill("\r", f[1][1]); break; - default: - sp = ""; - // $FlowIgnore - if(opts.WTF) throw new Error("Unexpected PtgAttrSpaceType " + f[1][0]); - } - stack.push((_left ? sp : "") + stack.pop() + (_left ? "" : sp)); - last_sp = -1; + default: throw 'Unrecognized Formula Token: ' + f; } //console.log("::",f, stack) } //console.log("--",stack); - if(stack.length > 1 && opts.WTF) throw new Error("bad formula stack"); return stack[0]; } -/* XLSB Parsed Formula records have the same shape */ -function parse_XLSBParsedFormula(data, length, opts) { - var end = data.l + length; +/* [MS-XLSB] 2.5.97.4 CellParsedFormula TODO: use similar logic to js-xls */ +function parse_XLSBCellParsedFormula(data, 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]; + return parsenoop(data, length-4); } - -/* [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 -0x2: "VALUE", // single value -0x3: "ARRAY" // array of values + 0x1: "REFERENCE", // reference to range + 0x2: "VALUE", // single value + 0x3: "ARRAY" // array of values }; /* [MS-XLS] 2.5.198.4 */ var Cetab = { -0x0000: 'BEEP', -0x0001: 'OPEN', -0x0002: 'OPEN.LINKS', -0x0003: 'CLOSE.ALL', -0x0004: 'SAVE', -0x0005: 'SAVE.AS', -0x0006: 'FILE.DELETE', -0x0007: 'PAGE.SETUP', -0x0008: 'PRINT', -0x0009: 'PRINTER.SETUP', -0x000A: 'QUIT', -0x000B: 'NEW.WINDOW', -0x000C: 'ARRANGE.ALL', -0x000D: 'WINDOW.SIZE', -0x000E: 'WINDOW.MOVE', -0x000F: 'FULL', -0x0010: 'CLOSE', -0x0011: 'RUN', -0x0016: 'SET.PRINT.AREA', -0x0017: 'SET.PRINT.TITLES', -0x0018: 'SET.PAGE.BREAK', -0x0019: 'REMOVE.PAGE.BREAK', -0x001A: 'FONT', -0x001B: 'DISPLAY', -0x001C: 'PROTECT.DOCUMENT', -0x001D: 'PRECISION', -0x001E: 'A1.R1C1', -0x001F: 'CALCULATE.NOW', -0x0020: 'CALCULATION', -0x0022: 'DATA.FIND', -0x0023: 'EXTRACT', -0x0024: 'DATA.DELETE', -0x0025: 'SET.DATABASE', -0x0026: 'SET.CRITERIA', -0x0027: 'SORT', -0x0028: 'DATA.SERIES', -0x0029: 'TABLE', -0x002A: 'FORMAT.NUMBER', -0x002B: 'ALIGNMENT', -0x002C: 'STYLE', -0x002D: 'BORDER', -0x002E: 'CELL.PROTECTION', -0x002F: 'COLUMN.WIDTH', -0x0030: 'UNDO', -0x0031: 'CUT', -0x0032: 'COPY', -0x0033: 'PASTE', -0x0034: 'CLEAR', -0x0035: 'PASTE.SPECIAL', -0x0036: 'EDIT.DELETE', -0x0037: 'INSERT', -0x0038: 'FILL.RIGHT', -0x0039: 'FILL.DOWN', -0x003D: 'DEFINE.NAME', -0x003E: 'CREATE.NAMES', -0x003F: 'FORMULA.GOTO', -0x0040: 'FORMULA.FIND', -0x0041: 'SELECT.LAST.CELL', -0x0042: 'SHOW.ACTIVE.CELL', -0x0043: 'GALLERY.AREA', -0x0044: 'GALLERY.BAR', -0x0045: 'GALLERY.COLUMN', -0x0046: 'GALLERY.LINE', -0x0047: 'GALLERY.PIE', -0x0048: 'GALLERY.SCATTER', -0x0049: 'COMBINATION', -0x004A: 'PREFERRED', -0x004B: 'ADD.OVERLAY', -0x004C: 'GRIDLINES', -0x004D: 'SET.PREFERRED', -0x004E: 'AXES', -0x004F: 'LEGEND', -0x0050: 'ATTACH.TEXT', -0x0051: 'ADD.ARROW', -0x0052: 'SELECT.CHART', -0x0053: 'SELECT.PLOT.AREA', -0x0054: 'PATTERNS', -0x0055: 'MAIN.CHART', -0x0056: 'OVERLAY', -0x0057: 'SCALE', -0x0058: 'FORMAT.LEGEND', -0x0059: 'FORMAT.TEXT', -0x005A: 'EDIT.REPEAT', -0x005B: 'PARSE', -0x005C: 'JUSTIFY', -0x005D: 'HIDE', -0x005E: 'UNHIDE', -0x005F: 'WORKSPACE', -0x0060: 'FORMULA', -0x0061: 'FORMULA.FILL', -0x0062: 'FORMULA.ARRAY', -0x0063: 'DATA.FIND.NEXT', -0x0064: 'DATA.FIND.PREV', -0x0065: 'FORMULA.FIND.NEXT', -0x0066: 'FORMULA.FIND.PREV', -0x0067: 'ACTIVATE', -0x0068: 'ACTIVATE.NEXT', -0x0069: 'ACTIVATE.PREV', -0x006A: 'UNLOCKED.NEXT', -0x006B: 'UNLOCKED.PREV', -0x006C: 'COPY.PICTURE', -0x006D: 'SELECT', -0x006E: 'DELETE.NAME', -0x006F: 'DELETE.FORMAT', -0x0070: 'VLINE', -0x0071: 'HLINE', -0x0072: 'VPAGE', -0x0073: 'HPAGE', -0x0074: 'VSCROLL', -0x0075: 'HSCROLL', -0x0076: 'ALERT', -0x0077: 'NEW', -0x0078: 'CANCEL.COPY', -0x0079: 'SHOW.CLIPBOARD', -0x007A: 'MESSAGE', -0x007C: 'PASTE.LINK', -0x007D: 'APP.ACTIVATE', -0x007E: 'DELETE.ARROW', -0x007F: 'ROW.HEIGHT', -0x0080: 'FORMAT.MOVE', -0x0081: 'FORMAT.SIZE', -0x0082: 'FORMULA.REPLACE', -0x0083: 'SEND.KEYS', -0x0084: 'SELECT.SPECIAL', -0x0085: 'APPLY.NAMES', -0x0086: 'REPLACE.FONT', -0x0087: 'FREEZE.PANES', -0x0088: 'SHOW.INFO', -0x0089: 'SPLIT', -0x008A: 'ON.WINDOW', -0x008B: 'ON.DATA', -0x008C: 'DISABLE.INPUT', -0x008E: 'OUTLINE', -0x008F: 'LIST.NAMES', -0x0090: 'FILE.CLOSE', -0x0091: 'SAVE.WORKBOOK', -0x0092: 'DATA.FORM', -0x0093: 'COPY.CHART', -0x0094: 'ON.TIME', -0x0095: 'WAIT', -0x0096: 'FORMAT.FONT', -0x0097: 'FILL.UP', -0x0098: 'FILL.LEFT', -0x0099: 'DELETE.OVERLAY', -0x009B: 'SHORT.MENUS', -0x009F: 'SET.UPDATE.STATUS', -0x00A1: 'COLOR.PALETTE', -0x00A2: 'DELETE.STYLE', -0x00A3: 'WINDOW.RESTORE', -0x00A4: 'WINDOW.MAXIMIZE', -0x00A6: 'CHANGE.LINK', -0x00A7: 'CALCULATE.DOCUMENT', -0x00A8: 'ON.KEY', -0x00A9: 'APP.RESTORE', -0x00AA: 'APP.MOVE', -0x00AB: 'APP.SIZE', -0x00AC: 'APP.MINIMIZE', -0x00AD: 'APP.MAXIMIZE', -0x00AE: 'BRING.TO.FRONT', -0x00AF: 'SEND.TO.BACK', -0x00B9: 'MAIN.CHART.TYPE', -0x00BA: 'OVERLAY.CHART.TYPE', -0x00BB: 'SELECT.END', -0x00BC: 'OPEN.MAIL', -0x00BD: 'SEND.MAIL', -0x00BE: 'STANDARD.FONT', -0x00BF: 'CONSOLIDATE', -0x00C0: 'SORT.SPECIAL', -0x00C1: 'GALLERY.3D.AREA', -0x00C2: 'GALLERY.3D.COLUMN', -0x00C3: 'GALLERY.3D.LINE', -0x00C4: 'GALLERY.3D.PIE', -0x00C5: 'VIEW.3D', -0x00C6: 'GOAL.SEEK', -0x00C7: 'WORKGROUP', -0x00C8: 'FILL.GROUP', -0x00C9: 'UPDATE.LINK', -0x00CA: 'PROMOTE', -0x00CB: 'DEMOTE', -0x00CC: 'SHOW.DETAIL', -0x00CE: 'UNGROUP', -0x00CF: 'OBJECT.PROPERTIES', -0x00D0: 'SAVE.NEW.OBJECT', -0x00D1: 'SHARE', -0x00D2: 'SHARE.NAME', -0x00D3: 'DUPLICATE', -0x00D4: 'APPLY.STYLE', -0x00D5: 'ASSIGN.TO.OBJECT', -0x00D6: 'OBJECT.PROTECTION', -0x00D7: 'HIDE.OBJECT', -0x00D8: 'SET.EXTRACT', -0x00D9: 'CREATE.PUBLISHER', -0x00DA: 'SUBSCRIBE.TO', -0x00DB: 'ATTRIBUTES', -0x00DC: 'SHOW.TOOLBAR', -0x00DE: 'PRINT.PREVIEW', -0x00DF: 'EDIT.COLOR', -0x00E0: 'SHOW.LEVELS', -0x00E1: 'FORMAT.MAIN', -0x00E2: 'FORMAT.OVERLAY', -0x00E3: 'ON.RECALC', -0x00E4: 'EDIT.SERIES', -0x00E5: 'DEFINE.STYLE', -0x00F0: 'LINE.PRINT', -0x00F3: 'ENTER.DATA', -0x00F9: 'GALLERY.RADAR', -0x00FA: 'MERGE.STYLES', -0x00FB: 'EDITION.OPTIONS', -0x00FC: 'PASTE.PICTURE', -0x00FD: 'PASTE.PICTURE.LINK', -0x00FE: 'SPELLING', -0x0100: 'ZOOM', -0x0103: 'INSERT.OBJECT', -0x0104: 'WINDOW.MINIMIZE', -0x0109: 'SOUND.NOTE', -0x010A: 'SOUND.PLAY', -0x010B: 'FORMAT.SHAPE', -0x010C: 'EXTEND.POLYGON', -0x010D: 'FORMAT.AUTO', -0x0110: 'GALLERY.3D.BAR', -0x0111: 'GALLERY.3D.SURFACE', -0x0112: 'FILL.AUTO', -0x0114: 'CUSTOMIZE.TOOLBAR', -0x0115: 'ADD.TOOL', -0x0116: 'EDIT.OBJECT', -0x0117: 'ON.DOUBLECLICK', -0x0118: 'ON.ENTRY', -0x0119: 'WORKBOOK.ADD', -0x011A: 'WORKBOOK.MOVE', -0x011B: 'WORKBOOK.COPY', -0x011C: 'WORKBOOK.OPTIONS', -0x011D: 'SAVE.WORKSPACE', -0x0120: 'CHART.WIZARD', -0x0121: 'DELETE.TOOL', -0x0122: 'MOVE.TOOL', -0x0123: 'WORKBOOK.SELECT', -0x0124: 'WORKBOOK.ACTIVATE', -0x0125: 'ASSIGN.TO.TOOL', -0x0127: 'COPY.TOOL', -0x0128: 'RESET.TOOL', -0x0129: 'CONSTRAIN.NUMERIC', -0x012A: 'PASTE.TOOL', -0x012E: 'WORKBOOK.NEW', -0x0131: 'SCENARIO.CELLS', -0x0132: 'SCENARIO.DELETE', -0x0133: 'SCENARIO.ADD', -0x0134: 'SCENARIO.EDIT', -0x0135: 'SCENARIO.SHOW', -0x0136: 'SCENARIO.SHOW.NEXT', -0x0137: 'SCENARIO.SUMMARY', -0x0138: 'PIVOT.TABLE.WIZARD', -0x0139: 'PIVOT.FIELD.PROPERTIES', -0x013A: 'PIVOT.FIELD', -0x013B: 'PIVOT.ITEM', -0x013C: 'PIVOT.ADD.FIELDS', -0x013E: 'OPTIONS.CALCULATION', -0x013F: 'OPTIONS.EDIT', -0x0140: 'OPTIONS.VIEW', -0x0141: 'ADDIN.MANAGER', -0x0142: 'MENU.EDITOR', -0x0143: 'ATTACH.TOOLBARS', -0x0144: 'VBAActivate', -0x0145: 'OPTIONS.CHART', -0x0148: 'VBA.INSERT.FILE', -0x014A: 'VBA.PROCEDURE.DEFINITION', -0x0150: 'ROUTING.SLIP', -0x0152: 'ROUTE.DOCUMENT', -0x0153: 'MAIL.LOGON', -0x0156: 'INSERT.PICTURE', -0x0157: 'EDIT.TOOL', -0x0158: 'GALLERY.DOUGHNUT', -0x015E: 'CHART.TREND', -0x0160: 'PIVOT.ITEM.PROPERTIES', -0x0162: 'WORKBOOK.INSERT', -0x0163: 'OPTIONS.TRANSITION', -0x0164: 'OPTIONS.GENERAL', -0x0172: 'FILTER.ADVANCED', -0x0175: 'MAIL.ADD.MAILER', -0x0176: 'MAIL.DELETE.MAILER', -0x0177: 'MAIL.REPLY', -0x0178: 'MAIL.REPLY.ALL', -0x0179: 'MAIL.FORWARD', -0x017A: 'MAIL.NEXT.LETTER', -0x017B: 'DATA.LABEL', -0x017C: 'INSERT.TITLE', -0x017D: 'FONT.PROPERTIES', -0x017E: 'MACRO.OPTIONS', -0x017F: 'WORKBOOK.HIDE', -0x0180: 'WORKBOOK.UNHIDE', -0x0181: 'WORKBOOK.DELETE', -0x0182: 'WORKBOOK.NAME', -0x0184: 'GALLERY.CUSTOM', -0x0186: 'ADD.CHART.AUTOFORMAT', -0x0187: 'DELETE.CHART.AUTOFORMAT', -0x0188: 'CHART.ADD.DATA', -0x0189: 'AUTO.OUTLINE', -0x018A: 'TAB.ORDER', -0x018B: 'SHOW.DIALOG', -0x018C: 'SELECT.ALL', -0x018D: 'UNGROUP.SHEETS', -0x018E: 'SUBTOTAL.CREATE', -0x018F: 'SUBTOTAL.REMOVE', -0x0190: 'RENAME.OBJECT', -0x019C: 'WORKBOOK.SCROLL', -0x019D: 'WORKBOOK.NEXT', -0x019E: 'WORKBOOK.PREV', -0x019F: 'WORKBOOK.TAB.SPLIT', -0x01A0: 'FULL.SCREEN', -0x01A1: 'WORKBOOK.PROTECT', -0x01A4: 'SCROLLBAR.PROPERTIES', -0x01A5: 'PIVOT.SHOW.PAGES', -0x01A6: 'TEXT.TO.COLUMNS', -0x01A7: 'FORMAT.CHARTTYPE', -0x01A8: 'LINK.FORMAT', -0x01A9: 'TRACER.DISPLAY', -0x01AE: 'TRACER.NAVIGATE', -0x01AF: 'TRACER.CLEAR', -0x01B0: 'TRACER.ERROR', -0x01B1: 'PIVOT.FIELD.GROUP', -0x01B2: 'PIVOT.FIELD.UNGROUP', -0x01B3: 'CHECKBOX.PROPERTIES', -0x01B4: 'LABEL.PROPERTIES', -0x01B5: 'LISTBOX.PROPERTIES', -0x01B6: 'EDITBOX.PROPERTIES', -0x01B7: 'PIVOT.REFRESH', -0x01B8: 'LINK.COMBO', -0x01B9: 'OPEN.TEXT', -0x01BA: 'HIDE.DIALOG', -0x01BB: 'SET.DIALOG.FOCUS', -0x01BC: 'ENABLE.OBJECT', -0x01BD: 'PUSHBUTTON.PROPERTIES', -0x01BE: 'SET.DIALOG.DEFAULT', -0x01BF: 'FILTER', -0x01C0: 'FILTER.SHOW.ALL', -0x01C1: 'CLEAR.OUTLINE', -0x01C2: 'FUNCTION.WIZARD', -0x01C3: 'ADD.LIST.ITEM', -0x01C4: 'SET.LIST.ITEM', -0x01C5: 'REMOVE.LIST.ITEM', -0x01C6: 'SELECT.LIST.ITEM', -0x01C7: 'SET.CONTROL.VALUE', -0x01C8: 'SAVE.COPY.AS', -0x01CA: 'OPTIONS.LISTS.ADD', -0x01CB: 'OPTIONS.LISTS.DELETE', -0x01CC: 'SERIES.AXES', -0x01CD: 'SERIES.X', -0x01CE: 'SERIES.Y', -0x01CF: 'ERRORBAR.X', -0x01D0: 'ERRORBAR.Y', -0x01D1: 'FORMAT.CHART', -0x01D2: 'SERIES.ORDER', -0x01D3: 'MAIL.LOGOFF', -0x01D4: 'CLEAR.ROUTING.SLIP', -0x01D5: 'APP.ACTIVATE.MICROSOFT', -0x01D6: 'MAIL.EDIT.MAILER', -0x01D7: 'ON.SHEET', -0x01D8: 'STANDARD.WIDTH', -0x01D9: 'SCENARIO.MERGE', -0x01DA: 'SUMMARY.INFO', -0x01DB: 'FIND.FILE', -0x01DC: 'ACTIVE.CELL.FONT', -0x01DD: 'ENABLE.TIPWIZARD', -0x01DE: 'VBA.MAKE.ADDIN', -0x01E0: 'INSERTDATATABLE', -0x01E1: 'WORKGROUP.OPTIONS', -0x01E2: 'MAIL.SEND.MAILER', -0x01E5: 'AUTOCORRECT', -0x01E9: 'POST.DOCUMENT', -0x01EB: 'PICKLIST', -0x01ED: 'VIEW.SHOW', -0x01EE: 'VIEW.DEFINE', -0x01EF: 'VIEW.DELETE', -0x01FD: 'SHEET.BACKGROUND', -0x01FE: 'INSERT.MAP.OBJECT', -0x01FF: 'OPTIONS.MENONO', -0x0205: 'MSOCHECKS', -0x0206: 'NORMAL', -0x0207: 'LAYOUT', -0x0208: 'RM.PRINT.AREA', -0x0209: 'CLEAR.PRINT.AREA', -0x020A: 'ADD.PRINT.AREA', -0x020B: 'MOVE.BRK', -0x0221: 'HIDECURR.NOTE', -0x0222: 'HIDEALL.NOTES', -0x0223: 'DELETE.NOTE', -0x0224: 'TRAVERSE.NOTES', -0x0225: 'ACTIVATE.NOTES', -0x026C: 'PROTECT.REVISIONS', -0x026D: 'UNPROTECT.REVISIONS', -0x0287: 'OPTIONS.ME', -0x028D: 'WEB.PUBLISH', -0x029B: 'NEWWEBQUERY', -0x02A1: 'PIVOT.TABLE.CHART', -0x02F1: 'OPTIONS.SAVE', -0x02F3: 'OPTIONS.SPELL', -0x0328: 'HIDEALL.INKANNOTS' + 0x0000: 'BEEP', + 0x0001: 'OPEN', + 0x0002: 'OPEN.LINKS', + 0x0003: 'CLOSE.ALL', + 0x0004: 'SAVE', + 0x0005: 'SAVE.AS', + 0x0006: 'FILE.DELETE', + 0x0007: 'PAGE.SETUP', + 0x0008: 'PRINT', + 0x0009: 'PRINTER.SETUP', + 0x000A: 'QUIT', + 0x000B: 'NEW.WINDOW', + 0x000C: 'ARRANGE.ALL', + 0x000D: 'WINDOW.SIZE', + 0x000E: 'WINDOW.MOVE', + 0x000F: 'FULL', + 0x0010: 'CLOSE', + 0x0011: 'RUN', + 0x0016: 'SET.PRINT.AREA', + 0x0017: 'SET.PRINT.TITLES', + 0x0018: 'SET.PAGE.BREAK', + 0x0019: 'REMOVE.PAGE.BREAK', + 0x001A: 'FONT', + 0x001B: 'DISPLAY', + 0x001C: 'PROTECT.DOCUMENT', + 0x001D: 'PRECISION', + 0x001E: 'A1.R1C1', + 0x001F: 'CALCULATE.NOW', + 0x0020: 'CALCULATION', + 0x0022: 'DATA.FIND', + 0x0023: 'EXTRACT', + 0x0024: 'DATA.DELETE', + 0x0025: 'SET.DATABASE', + 0x0026: 'SET.CRITERIA', + 0x0027: 'SORT', + 0x0028: 'DATA.SERIES', + 0x0029: 'TABLE', + 0x002A: 'FORMAT.NUMBER', + 0x002B: 'ALIGNMENT', + 0x002C: 'STYLE', + 0x002D: 'BORDER', + 0x002E: 'CELL.PROTECTION', + 0x002F: 'COLUMN.WIDTH', + 0x0030: 'UNDO', + 0x0031: 'CUT', + 0x0032: 'COPY', + 0x0033: 'PASTE', + 0x0034: 'CLEAR', + 0x0035: 'PASTE.SPECIAL', + 0x0036: 'EDIT.DELETE', + 0x0037: 'INSERT', + 0x0038: 'FILL.RIGHT', + 0x0039: 'FILL.DOWN', + 0x003D: 'DEFINE.NAME', + 0x003E: 'CREATE.NAMES', + 0x003F: 'FORMULA.GOTO', + 0x0040: 'FORMULA.FIND', + 0x0041: 'SELECT.LAST.CELL', + 0x0042: 'SHOW.ACTIVE.CELL', + 0x0043: 'GALLERY.AREA', + 0x0044: 'GALLERY.BAR', + 0x0045: 'GALLERY.COLUMN', + 0x0046: 'GALLERY.LINE', + 0x0047: 'GALLERY.PIE', + 0x0048: 'GALLERY.SCATTER', + 0x0049: 'COMBINATION', + 0x004A: 'PREFERRED', + 0x004B: 'ADD.OVERLAY', + 0x004C: 'GRIDLINES', + 0x004D: 'SET.PREFERRED', + 0x004E: 'AXES', + 0x004F: 'LEGEND', + 0x0050: 'ATTACH.TEXT', + 0x0051: 'ADD.ARROW', + 0x0052: 'SELECT.CHART', + 0x0053: 'SELECT.PLOT.AREA', + 0x0054: 'PATTERNS', + 0x0055: 'MAIN.CHART', + 0x0056: 'OVERLAY', + 0x0057: 'SCALE', + 0x0058: 'FORMAT.LEGEND', + 0x0059: 'FORMAT.TEXT', + 0x005A: 'EDIT.REPEAT', + 0x005B: 'PARSE', + 0x005C: 'JUSTIFY', + 0x005D: 'HIDE', + 0x005E: 'UNHIDE', + 0x005F: 'WORKSPACE', + 0x0060: 'FORMULA', + 0x0061: 'FORMULA.FILL', + 0x0062: 'FORMULA.ARRAY', + 0x0063: 'DATA.FIND.NEXT', + 0x0064: 'DATA.FIND.PREV', + 0x0065: 'FORMULA.FIND.NEXT', + 0x0066: 'FORMULA.FIND.PREV', + 0x0067: 'ACTIVATE', + 0x0068: 'ACTIVATE.NEXT', + 0x0069: 'ACTIVATE.PREV', + 0x006A: 'UNLOCKED.NEXT', + 0x006B: 'UNLOCKED.PREV', + 0x006C: 'COPY.PICTURE', + 0x006D: 'SELECT', + 0x006E: 'DELETE.NAME', + 0x006F: 'DELETE.FORMAT', + 0x0070: 'VLINE', + 0x0071: 'HLINE', + 0x0072: 'VPAGE', + 0x0073: 'HPAGE', + 0x0074: 'VSCROLL', + 0x0075: 'HSCROLL', + 0x0076: 'ALERT', + 0x0077: 'NEW', + 0x0078: 'CANCEL.COPY', + 0x0079: 'SHOW.CLIPBOARD', + 0x007A: 'MESSAGE', + 0x007C: 'PASTE.LINK', + 0x007D: 'APP.ACTIVATE', + 0x007E: 'DELETE.ARROW', + 0x007F: 'ROW.HEIGHT', + 0x0080: 'FORMAT.MOVE', + 0x0081: 'FORMAT.SIZE', + 0x0082: 'FORMULA.REPLACE', + 0x0083: 'SEND.KEYS', + 0x0084: 'SELECT.SPECIAL', + 0x0085: 'APPLY.NAMES', + 0x0086: 'REPLACE.FONT', + 0x0087: 'FREEZE.PANES', + 0x0088: 'SHOW.INFO', + 0x0089: 'SPLIT', + 0x008A: 'ON.WINDOW', + 0x008B: 'ON.DATA', + 0x008C: 'DISABLE.INPUT', + 0x008E: 'OUTLINE', + 0x008F: 'LIST.NAMES', + 0x0090: 'FILE.CLOSE', + 0x0091: 'SAVE.WORKBOOK', + 0x0092: 'DATA.FORM', + 0x0093: 'COPY.CHART', + 0x0094: 'ON.TIME', + 0x0095: 'WAIT', + 0x0096: 'FORMAT.FONT', + 0x0097: 'FILL.UP', + 0x0098: 'FILL.LEFT', + 0x0099: 'DELETE.OVERLAY', + 0x009B: 'SHORT.MENUS', + 0x009F: 'SET.UPDATE.STATUS', + 0x00A1: 'COLOR.PALETTE', + 0x00A2: 'DELETE.STYLE', + 0x00A3: 'WINDOW.RESTORE', + 0x00A4: 'WINDOW.MAXIMIZE', + 0x00A6: 'CHANGE.LINK', + 0x00A7: 'CALCULATE.DOCUMENT', + 0x00A8: 'ON.KEY', + 0x00A9: 'APP.RESTORE', + 0x00AA: 'APP.MOVE', + 0x00AB: 'APP.SIZE', + 0x00AC: 'APP.MINIMIZE', + 0x00AD: 'APP.MAXIMIZE', + 0x00AE: 'BRING.TO.FRONT', + 0x00AF: 'SEND.TO.BACK', + 0x00B9: 'MAIN.CHART.TYPE', + 0x00BA: 'OVERLAY.CHART.TYPE', + 0x00BB: 'SELECT.END', + 0x00BC: 'OPEN.MAIL', + 0x00BD: 'SEND.MAIL', + 0x00BE: 'STANDARD.FONT', + 0x00BF: 'CONSOLIDATE', + 0x00C0: 'SORT.SPECIAL', + 0x00C1: 'GALLERY.3D.AREA', + 0x00C2: 'GALLERY.3D.COLUMN', + 0x00C3: 'GALLERY.3D.LINE', + 0x00C4: 'GALLERY.3D.PIE', + 0x00C5: 'VIEW.3D', + 0x00C6: 'GOAL.SEEK', + 0x00C7: 'WORKGROUP', + 0x00C8: 'FILL.GROUP', + 0x00C9: 'UPDATE.LINK', + 0x00CA: 'PROMOTE', + 0x00CB: 'DEMOTE', + 0x00CC: 'SHOW.DETAIL', + 0x00CE: 'UNGROUP', + 0x00CF: 'OBJECT.PROPERTIES', + 0x00D0: 'SAVE.NEW.OBJECT', + 0x00D1: 'SHARE', + 0x00D2: 'SHARE.NAME', + 0x00D3: 'DUPLICATE', + 0x00D4: 'APPLY.STYLE', + 0x00D5: 'ASSIGN.TO.OBJECT', + 0x00D6: 'OBJECT.PROTECTION', + 0x00D7: 'HIDE.OBJECT', + 0x00D8: 'SET.EXTRACT', + 0x00D9: 'CREATE.PUBLISHER', + 0x00DA: 'SUBSCRIBE.TO', + 0x00DB: 'ATTRIBUTES', + 0x00DC: 'SHOW.TOOLBAR', + 0x00DE: 'PRINT.PREVIEW', + 0x00DF: 'EDIT.COLOR', + 0x00E0: 'SHOW.LEVELS', + 0x00E1: 'FORMAT.MAIN', + 0x00E2: 'FORMAT.OVERLAY', + 0x00E3: 'ON.RECALC', + 0x00E4: 'EDIT.SERIES', + 0x00E5: 'DEFINE.STYLE', + 0x00F0: 'LINE.PRINT', + 0x00F3: 'ENTER.DATA', + 0x00F9: 'GALLERY.RADAR', + 0x00FA: 'MERGE.STYLES', + 0x00FB: 'EDITION.OPTIONS', + 0x00FC: 'PASTE.PICTURE', + 0x00FD: 'PASTE.PICTURE.LINK', + 0x00FE: 'SPELLING', + 0x0100: 'ZOOM', + 0x0103: 'INSERT.OBJECT', + 0x0104: 'WINDOW.MINIMIZE', + 0x0109: 'SOUND.NOTE', + 0x010A: 'SOUND.PLAY', + 0x010B: 'FORMAT.SHAPE', + 0x010C: 'EXTEND.POLYGON', + 0x010D: 'FORMAT.AUTO', + 0x0110: 'GALLERY.3D.BAR', + 0x0111: 'GALLERY.3D.SURFACE', + 0x0112: 'FILL.AUTO', + 0x0114: 'CUSTOMIZE.TOOLBAR', + 0x0115: 'ADD.TOOL', + 0x0116: 'EDIT.OBJECT', + 0x0117: 'ON.DOUBLECLICK', + 0x0118: 'ON.ENTRY', + 0x0119: 'WORKBOOK.ADD', + 0x011A: 'WORKBOOK.MOVE', + 0x011B: 'WORKBOOK.COPY', + 0x011C: 'WORKBOOK.OPTIONS', + 0x011D: 'SAVE.WORKSPACE', + 0x0120: 'CHART.WIZARD', + 0x0121: 'DELETE.TOOL', + 0x0122: 'MOVE.TOOL', + 0x0123: 'WORKBOOK.SELECT', + 0x0124: 'WORKBOOK.ACTIVATE', + 0x0125: 'ASSIGN.TO.TOOL', + 0x0127: 'COPY.TOOL', + 0x0128: 'RESET.TOOL', + 0x0129: 'CONSTRAIN.NUMERIC', + 0x012A: 'PASTE.TOOL', + 0x012E: 'WORKBOOK.NEW', + 0x0131: 'SCENARIO.CELLS', + 0x0132: 'SCENARIO.DELETE', + 0x0133: 'SCENARIO.ADD', + 0x0134: 'SCENARIO.EDIT', + 0x0135: 'SCENARIO.SHOW', + 0x0136: 'SCENARIO.SHOW.NEXT', + 0x0137: 'SCENARIO.SUMMARY', + 0x0138: 'PIVOT.TABLE.WIZARD', + 0x0139: 'PIVOT.FIELD.PROPERTIES', + 0x013A: 'PIVOT.FIELD', + 0x013B: 'PIVOT.ITEM', + 0x013C: 'PIVOT.ADD.FIELDS', + 0x013E: 'OPTIONS.CALCULATION', + 0x013F: 'OPTIONS.EDIT', + 0x0140: 'OPTIONS.VIEW', + 0x0141: 'ADDIN.MANAGER', + 0x0142: 'MENU.EDITOR', + 0x0143: 'ATTACH.TOOLBARS', + 0x0144: 'VBAActivate', + 0x0145: 'OPTIONS.CHART', + 0x0148: 'VBA.INSERT.FILE', + 0x014A: 'VBA.PROCEDURE.DEFINITION', + 0x0150: 'ROUTING.SLIP', + 0x0152: 'ROUTE.DOCUMENT', + 0x0153: 'MAIL.LOGON', + 0x0156: 'INSERT.PICTURE', + 0x0157: 'EDIT.TOOL', + 0x0158: 'GALLERY.DOUGHNUT', + 0x015E: 'CHART.TREND', + 0x0160: 'PIVOT.ITEM.PROPERTIES', + 0x0162: 'WORKBOOK.INSERT', + 0x0163: 'OPTIONS.TRANSITION', + 0x0164: 'OPTIONS.GENERAL', + 0x0172: 'FILTER.ADVANCED', + 0x0175: 'MAIL.ADD.MAILER', + 0x0176: 'MAIL.DELETE.MAILER', + 0x0177: 'MAIL.REPLY', + 0x0178: 'MAIL.REPLY.ALL', + 0x0179: 'MAIL.FORWARD', + 0x017A: 'MAIL.NEXT.LETTER', + 0x017B: 'DATA.LABEL', + 0x017C: 'INSERT.TITLE', + 0x017D: 'FONT.PROPERTIES', + 0x017E: 'MACRO.OPTIONS', + 0x017F: 'WORKBOOK.HIDE', + 0x0180: 'WORKBOOK.UNHIDE', + 0x0181: 'WORKBOOK.DELETE', + 0x0182: 'WORKBOOK.NAME', + 0x0184: 'GALLERY.CUSTOM', + 0x0186: 'ADD.CHART.AUTOFORMAT', + 0x0187: 'DELETE.CHART.AUTOFORMAT', + 0x0188: 'CHART.ADD.DATA', + 0x0189: 'AUTO.OUTLINE', + 0x018A: 'TAB.ORDER', + 0x018B: 'SHOW.DIALOG', + 0x018C: 'SELECT.ALL', + 0x018D: 'UNGROUP.SHEETS', + 0x018E: 'SUBTOTAL.CREATE', + 0x018F: 'SUBTOTAL.REMOVE', + 0x0190: 'RENAME.OBJECT', + 0x019C: 'WORKBOOK.SCROLL', + 0x019D: 'WORKBOOK.NEXT', + 0x019E: 'WORKBOOK.PREV', + 0x019F: 'WORKBOOK.TAB.SPLIT', + 0x01A0: 'FULL.SCREEN', + 0x01A1: 'WORKBOOK.PROTECT', + 0x01A4: 'SCROLLBAR.PROPERTIES', + 0x01A5: 'PIVOT.SHOW.PAGES', + 0x01A6: 'TEXT.TO.COLUMNS', + 0x01A7: 'FORMAT.CHARTTYPE', + 0x01A8: 'LINK.FORMAT', + 0x01A9: 'TRACER.DISPLAY', + 0x01AE: 'TRACER.NAVIGATE', + 0x01AF: 'TRACER.CLEAR', + 0x01B0: 'TRACER.ERROR', + 0x01B1: 'PIVOT.FIELD.GROUP', + 0x01B2: 'PIVOT.FIELD.UNGROUP', + 0x01B3: 'CHECKBOX.PROPERTIES', + 0x01B4: 'LABEL.PROPERTIES', + 0x01B5: 'LISTBOX.PROPERTIES', + 0x01B6: 'EDITBOX.PROPERTIES', + 0x01B7: 'PIVOT.REFRESH', + 0x01B8: 'LINK.COMBO', + 0x01B9: 'OPEN.TEXT', + 0x01BA: 'HIDE.DIALOG', + 0x01BB: 'SET.DIALOG.FOCUS', + 0x01BC: 'ENABLE.OBJECT', + 0x01BD: 'PUSHBUTTON.PROPERTIES', + 0x01BE: 'SET.DIALOG.DEFAULT', + 0x01BF: 'FILTER', + 0x01C0: 'FILTER.SHOW.ALL', + 0x01C1: 'CLEAR.OUTLINE', + 0x01C2: 'FUNCTION.WIZARD', + 0x01C3: 'ADD.LIST.ITEM', + 0x01C4: 'SET.LIST.ITEM', + 0x01C5: 'REMOVE.LIST.ITEM', + 0x01C6: 'SELECT.LIST.ITEM', + 0x01C7: 'SET.CONTROL.VALUE', + 0x01C8: 'SAVE.COPY.AS', + 0x01CA: 'OPTIONS.LISTS.ADD', + 0x01CB: 'OPTIONS.LISTS.DELETE', + 0x01CC: 'SERIES.AXES', + 0x01CD: 'SERIES.X', + 0x01CE: 'SERIES.Y', + 0x01CF: 'ERRORBAR.X', + 0x01D0: 'ERRORBAR.Y', + 0x01D1: 'FORMAT.CHART', + 0x01D2: 'SERIES.ORDER', + 0x01D3: 'MAIL.LOGOFF', + 0x01D4: 'CLEAR.ROUTING.SLIP', + 0x01D5: 'APP.ACTIVATE.MICROSOFT', + 0x01D6: 'MAIL.EDIT.MAILER', + 0x01D7: 'ON.SHEET', + 0x01D8: 'STANDARD.WIDTH', + 0x01D9: 'SCENARIO.MERGE', + 0x01DA: 'SUMMARY.INFO', + 0x01DB: 'FIND.FILE', + 0x01DC: 'ACTIVE.CELL.FONT', + 0x01DD: 'ENABLE.TIPWIZARD', + 0x01DE: 'VBA.MAKE.ADDIN', + 0x01E0: 'INSERTDATATABLE', + 0x01E1: 'WORKGROUP.OPTIONS', + 0x01E2: 'MAIL.SEND.MAILER', + 0x01E5: 'AUTOCORRECT', + 0x01E9: 'POST.DOCUMENT', + 0x01EB: 'PICKLIST', + 0x01ED: 'VIEW.SHOW', + 0x01EE: 'VIEW.DEFINE', + 0x01EF: 'VIEW.DELETE', + 0x01FD: 'SHEET.BACKGROUND', + 0x01FE: 'INSERT.MAP.OBJECT', + 0x01FF: 'OPTIONS.MENONO', + 0x0205: 'MSOCHECKS', + 0x0206: 'NORMAL', + 0x0207: 'LAYOUT', + 0x0208: 'RM.PRINT.AREA', + 0x0209: 'CLEAR.PRINT.AREA', + 0x020A: 'ADD.PRINT.AREA', + 0x020B: 'MOVE.BRK', + 0x0221: 'HIDECURR.NOTE', + 0x0222: 'HIDEALL.NOTES', + 0x0223: 'DELETE.NOTE', + 0x0224: 'TRAVERSE.NOTES', + 0x0225: 'ACTIVATE.NOTES', + 0x026C: 'PROTECT.REVISIONS', + 0x026D: 'UNPROTECT.REVISIONS', + 0x0287: 'OPTIONS.ME', + 0x028D: 'WEB.PUBLISH', + 0x029B: 'NEWWEBQUERY', + 0x02A1: 'PIVOT.TABLE.CHART', + 0x02F1: 'OPTIONS.SAVE', + 0x02F3: 'OPTIONS.SPELL', + 0x0328: 'HIDEALL.INKANNOTS' }; /* [MS-XLS] 2.5.198.17 */ -/* [MS-XLSB] 2.5.97.10 */ var Ftab = { -0x0000: 'COUNT', -0x0001: 'IF', -0x0002: 'ISNA', -0x0003: 'ISERROR', -0x0004: 'SUM', -0x0005: 'AVERAGE', -0x0006: 'MIN', -0x0007: 'MAX', -0x0008: 'ROW', -0x0009: 'COLUMN', -0x000A: 'NA', -0x000B: 'NPV', -0x000C: 'STDEV', -0x000D: 'DOLLAR', -0x000E: 'FIXED', -0x000F: 'SIN', -0x0010: 'COS', -0x0011: 'TAN', -0x0012: 'ATAN', -0x0013: 'PI', -0x0014: 'SQRT', -0x0015: 'EXP', -0x0016: 'LN', -0x0017: 'LOG10', -0x0018: 'ABS', -0x0019: 'INT', -0x001A: 'SIGN', -0x001B: 'ROUND', -0x001C: 'LOOKUP', -0x001D: 'INDEX', -0x001E: 'REPT', -0x001F: 'MID', -0x0020: 'LEN', -0x0021: 'VALUE', -0x0022: 'TRUE', -0x0023: 'FALSE', -0x0024: 'AND', -0x0025: 'OR', -0x0026: 'NOT', -0x0027: 'MOD', -0x0028: 'DCOUNT', -0x0029: 'DSUM', -0x002A: 'DAVERAGE', -0x002B: 'DMIN', -0x002C: 'DMAX', -0x002D: 'DSTDEV', -0x002E: 'VAR', -0x002F: 'DVAR', -0x0030: 'TEXT', -0x0031: 'LINEST', -0x0032: 'TREND', -0x0033: 'LOGEST', -0x0034: 'GROWTH', -0x0035: 'GOTO', -0x0036: 'HALT', -0x0037: 'RETURN', -0x0038: 'PV', -0x0039: 'FV', -0x003A: 'NPER', -0x003B: 'PMT', -0x003C: 'RATE', -0x003D: 'MIRR', -0x003E: 'IRR', -0x003F: 'RAND', -0x0040: 'MATCH', -0x0041: 'DATE', -0x0042: 'TIME', -0x0043: 'DAY', -0x0044: 'MONTH', -0x0045: 'YEAR', -0x0046: 'WEEKDAY', -0x0047: 'HOUR', -0x0048: 'MINUTE', -0x0049: 'SECOND', -0x004A: 'NOW', -0x004B: 'AREAS', -0x004C: 'ROWS', -0x004D: 'COLUMNS', -0x004E: 'OFFSET', -0x004F: 'ABSREF', -0x0050: 'RELREF', -0x0051: 'ARGUMENT', -0x0052: 'SEARCH', -0x0053: 'TRANSPOSE', -0x0054: 'ERROR', -0x0055: 'STEP', -0x0056: 'TYPE', -0x0057: 'ECHO', -0x0058: 'SET.NAME', -0x0059: 'CALLER', -0x005A: 'DEREF', -0x005B: 'WINDOWS', -0x005C: 'SERIES', -0x005D: 'DOCUMENTS', -0x005E: 'ACTIVE.CELL', -0x005F: 'SELECTION', -0x0060: 'RESULT', -0x0061: 'ATAN2', -0x0062: 'ASIN', -0x0063: 'ACOS', -0x0064: 'CHOOSE', -0x0065: 'HLOOKUP', -0x0066: 'VLOOKUP', -0x0067: 'LINKS', -0x0068: 'INPUT', -0x0069: 'ISREF', -0x006A: 'GET.FORMULA', -0x006B: 'GET.NAME', -0x006C: 'SET.VALUE', -0x006D: 'LOG', -0x006E: 'EXEC', -0x006F: 'CHAR', -0x0070: 'LOWER', -0x0071: 'UPPER', -0x0072: 'PROPER', -0x0073: 'LEFT', -0x0074: 'RIGHT', -0x0075: 'EXACT', -0x0076: 'TRIM', -0x0077: 'REPLACE', -0x0078: 'SUBSTITUTE', -0x0079: 'CODE', -0x007A: 'NAMES', -0x007B: 'DIRECTORY', -0x007C: 'FIND', -0x007D: 'CELL', -0x007E: 'ISERR', -0x007F: 'ISTEXT', -0x0080: 'ISNUMBER', -0x0081: 'ISBLANK', -0x0082: 'T', -0x0083: 'N', -0x0084: 'FOPEN', -0x0085: 'FCLOSE', -0x0086: 'FSIZE', -0x0087: 'FREADLN', -0x0088: 'FREAD', -0x0089: 'FWRITELN', -0x008A: 'FWRITE', -0x008B: 'FPOS', -0x008C: 'DATEVALUE', -0x008D: 'TIMEVALUE', -0x008E: 'SLN', -0x008F: 'SYD', -0x0090: 'DDB', -0x0091: 'GET.DEF', -0x0092: 'REFTEXT', -0x0093: 'TEXTREF', -0x0094: 'INDIRECT', -0x0095: 'REGISTER', -0x0096: 'CALL', -0x0097: 'ADD.BAR', -0x0098: 'ADD.MENU', -0x0099: 'ADD.COMMAND', -0x009A: 'ENABLE.COMMAND', -0x009B: 'CHECK.COMMAND', -0x009C: 'RENAME.COMMAND', -0x009D: 'SHOW.BAR', -0x009E: 'DELETE.MENU', -0x009F: 'DELETE.COMMAND', -0x00A0: 'GET.CHART.ITEM', -0x00A1: 'DIALOG.BOX', -0x00A2: 'CLEAN', -0x00A3: 'MDETERM', -0x00A4: 'MINVERSE', -0x00A5: 'MMULT', -0x00A6: 'FILES', -0x00A7: 'IPMT', -0x00A8: 'PPMT', -0x00A9: 'COUNTA', -0x00AA: 'CANCEL.KEY', -0x00AB: 'FOR', -0x00AC: 'WHILE', -0x00AD: 'BREAK', -0x00AE: 'NEXT', -0x00AF: 'INITIATE', -0x00B0: 'REQUEST', -0x00B1: 'POKE', -0x00B2: 'EXECUTE', -0x00B3: 'TERMINATE', -0x00B4: 'RESTART', -0x00B5: 'HELP', -0x00B6: 'GET.BAR', -0x00B7: 'PRODUCT', -0x00B8: 'FACT', -0x00B9: 'GET.CELL', -0x00BA: 'GET.WORKSPACE', -0x00BB: 'GET.WINDOW', -0x00BC: 'GET.DOCUMENT', -0x00BD: 'DPRODUCT', -0x00BE: 'ISNONTEXT', -0x00BF: 'GET.NOTE', -0x00C0: 'NOTE', -0x00C1: 'STDEVP', -0x00C2: 'VARP', -0x00C3: 'DSTDEVP', -0x00C4: 'DVARP', -0x00C5: 'TRUNC', -0x00C6: 'ISLOGICAL', -0x00C7: 'DCOUNTA', -0x00C8: 'DELETE.BAR', -0x00C9: 'UNREGISTER', -0x00CC: 'USDOLLAR', -0x00CD: 'FINDB', -0x00CE: 'SEARCHB', -0x00CF: 'REPLACEB', -0x00D0: 'LEFTB', -0x00D1: 'RIGHTB', -0x00D2: 'MIDB', -0x00D3: 'LENB', -0x00D4: 'ROUNDUP', -0x00D5: 'ROUNDDOWN', -0x00D6: 'ASC', -0x00D7: 'DBCS', -0x00D8: 'RANK', -0x00DB: 'ADDRESS', -0x00DC: 'DAYS360', -0x00DD: 'TODAY', -0x00DE: 'VDB', -0x00DF: 'ELSE', -0x00E0: 'ELSE.IF', -0x00E1: 'END.IF', -0x00E2: 'FOR.CELL', -0x00E3: 'MEDIAN', -0x00E4: 'SUMPRODUCT', -0x00E5: 'SINH', -0x00E6: 'COSH', -0x00E7: 'TANH', -0x00E8: 'ASINH', -0x00E9: 'ACOSH', -0x00EA: 'ATANH', -0x00EB: 'DGET', -0x00EC: 'CREATE.OBJECT', -0x00ED: 'VOLATILE', -0x00EE: 'LAST.ERROR', -0x00EF: 'CUSTOM.UNDO', -0x00F0: 'CUSTOM.REPEAT', -0x00F1: 'FORMULA.CONVERT', -0x00F2: 'GET.LINK.INFO', -0x00F3: 'TEXT.BOX', -0x00F4: 'INFO', -0x00F5: 'GROUP', -0x00F6: 'GET.OBJECT', -0x00F7: 'DB', -0x00F8: 'PAUSE', -0x00FB: 'RESUME', -0x00FC: 'FREQUENCY', -0x00FD: 'ADD.TOOLBAR', -0x00FE: 'DELETE.TOOLBAR', -0x00FF: 'User', -0x0100: 'RESET.TOOLBAR', -0x0101: 'EVALUATE', -0x0102: 'GET.TOOLBAR', -0x0103: 'GET.TOOL', -0x0104: 'SPELLING.CHECK', -0x0105: 'ERROR.TYPE', -0x0106: 'APP.TITLE', -0x0107: 'WINDOW.TITLE', -0x0108: 'SAVE.TOOLBAR', -0x0109: 'ENABLE.TOOL', -0x010A: 'PRESS.TOOL', -0x010B: 'REGISTER.ID', -0x010C: 'GET.WORKBOOK', -0x010D: 'AVEDEV', -0x010E: 'BETADIST', -0x010F: 'GAMMALN', -0x0110: 'BETAINV', -0x0111: 'BINOMDIST', -0x0112: 'CHIDIST', -0x0113: 'CHIINV', -0x0114: 'COMBIN', -0x0115: 'CONFIDENCE', -0x0116: 'CRITBINOM', -0x0117: 'EVEN', -0x0118: 'EXPONDIST', -0x0119: 'FDIST', -0x011A: 'FINV', -0x011B: 'FISHER', -0x011C: 'FISHERINV', -0x011D: 'FLOOR', -0x011E: 'GAMMADIST', -0x011F: 'GAMMAINV', -0x0120: 'CEILING', -0x0121: 'HYPGEOMDIST', -0x0122: 'LOGNORMDIST', -0x0123: 'LOGINV', -0x0124: 'NEGBINOMDIST', -0x0125: 'NORMDIST', -0x0126: 'NORMSDIST', -0x0127: 'NORMINV', -0x0128: 'NORMSINV', -0x0129: 'STANDARDIZE', -0x012A: 'ODD', -0x012B: 'PERMUT', -0x012C: 'POISSON', -0x012D: 'TDIST', -0x012E: 'WEIBULL', -0x012F: 'SUMXMY2', -0x0130: 'SUMX2MY2', -0x0131: 'SUMX2PY2', -0x0132: 'CHITEST', -0x0133: 'CORREL', -0x0134: 'COVAR', -0x0135: 'FORECAST', -0x0136: 'FTEST', -0x0137: 'INTERCEPT', -0x0138: 'PEARSON', -0x0139: 'RSQ', -0x013A: 'STEYX', -0x013B: 'SLOPE', -0x013C: 'TTEST', -0x013D: 'PROB', -0x013E: 'DEVSQ', -0x013F: 'GEOMEAN', -0x0140: 'HARMEAN', -0x0141: 'SUMSQ', -0x0142: 'KURT', -0x0143: 'SKEW', -0x0144: 'ZTEST', -0x0145: 'LARGE', -0x0146: 'SMALL', -0x0147: 'QUARTILE', -0x0148: 'PERCENTILE', -0x0149: 'PERCENTRANK', -0x014A: 'MODE', -0x014B: 'TRIMMEAN', -0x014C: 'TINV', -0x014E: 'MOVIE.COMMAND', -0x014F: 'GET.MOVIE', -0x0150: 'CONCATENATE', -0x0151: 'POWER', -0x0152: 'PIVOT.ADD.DATA', -0x0153: 'GET.PIVOT.TABLE', -0x0154: 'GET.PIVOT.FIELD', -0x0155: 'GET.PIVOT.ITEM', -0x0156: 'RADIANS', -0x0157: 'DEGREES', -0x0158: 'SUBTOTAL', -0x0159: 'SUMIF', -0x015A: 'COUNTIF', -0x015B: 'COUNTBLANK', -0x015C: 'SCENARIO.GET', -0x015D: 'OPTIONS.LISTS.GET', -0x015E: 'ISPMT', -0x015F: 'DATEDIF', -0x0160: 'DATESTRING', -0x0161: 'NUMBERSTRING', -0x0162: 'ROMAN', -0x0163: 'OPEN.DIALOG', -0x0164: 'SAVE.DIALOG', -0x0165: 'VIEW.GET', -0x0166: 'GETPIVOTDATA', -0x0167: 'HYPERLINK', -0x0168: 'PHONETIC', -0x0169: 'AVERAGEA', -0x016A: 'MAXA', -0x016B: 'MINA', -0x016C: 'STDEVPA', -0x016D: 'VARPA', -0x016E: 'STDEVA', -0x016F: 'VARA', -0x0170: 'BAHTTEXT', -0x0171: 'THAIDAYOFWEEK', -0x0172: 'THAIDIGIT', -0x0173: 'THAIMONTHOFYEAR', -0x0174: 'THAINUMSOUND', -0x0175: 'THAINUMSTRING', -0x0176: 'THAISTRINGLENGTH', -0x0177: 'ISTHAIDIGIT', -0x0178: 'ROUNDBAHTDOWN', -0x0179: 'ROUNDBAHTUP', -0x017A: 'THAIYEAR', -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: 'CONVERT', -0x02D4: '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' + 0x0000: 'COUNT', + 0x0001: 'IF', + 0x0002: 'ISNA', + 0x0003: 'ISERROR', + 0x0004: 'SUM', + 0x0005: 'AVERAGE', + 0x0006: 'MIN', + 0x0007: 'MAX', + 0x0008: 'ROW', + 0x0009: 'COLUMN', + 0x000A: 'NA', + 0x000B: 'NPV', + 0x000C: 'STDEV', + 0x000D: 'DOLLAR', + 0x000E: 'FIXED', + 0x000F: 'SIN', + 0x0010: 'COS', + 0x0011: 'TAN', + 0x0012: 'ATAN', + 0x0013: 'PI', + 0x0014: 'SQRT', + 0x0015: 'EXP', + 0x0016: 'LN', + 0x0017: 'LOG10', + 0x0018: 'ABS', + 0x0019: 'INT', + 0x001A: 'SIGN', + 0x001B: 'ROUND', + 0x001C: 'LOOKUP', + 0x001D: 'INDEX', + 0x001E: 'REPT', + 0x001F: 'MID', + 0x0020: 'LEN', + 0x0021: 'VALUE', + 0x0022: 'TRUE', + 0x0023: 'FALSE', + 0x0024: 'AND', + 0x0025: 'OR', + 0x0026: 'NOT', + 0x0027: 'MOD', + 0x0028: 'DCOUNT', + 0x0029: 'DSUM', + 0x002A: 'DAVERAGE', + 0x002B: 'DMIN', + 0x002C: 'DMAX', + 0x002D: 'DSTDEV', + 0x002E: 'VAR', + 0x002F: 'DVAR', + 0x0030: 'TEXT', + 0x0031: 'LINEST', + 0x0032: 'TREND', + 0x0033: 'LOGEST', + 0x0034: 'GROWTH', + 0x0035: 'GOTO', + 0x0036: 'HALT', + 0x0037: 'RETURN', + 0x0038: 'PV', + 0x0039: 'FV', + 0x003A: 'NPER', + 0x003B: 'PMT', + 0x003C: 'RATE', + 0x003D: 'MIRR', + 0x003E: 'IRR', + 0x003F: 'RAND', + 0x0040: 'MATCH', + 0x0041: 'DATE', + 0x0042: 'TIME', + 0x0043: 'DAY', + 0x0044: 'MONTH', + 0x0045: 'YEAR', + 0x0046: 'WEEKDAY', + 0x0047: 'HOUR', + 0x0048: 'MINUTE', + 0x0049: 'SECOND', + 0x004A: 'NOW', + 0x004B: 'AREAS', + 0x004C: 'ROWS', + 0x004D: 'COLUMNS', + 0x004E: 'OFFSET', + 0x004F: 'ABSREF', + 0x0050: 'RELREF', + 0x0051: 'ARGUMENT', + 0x0052: 'SEARCH', + 0x0053: 'TRANSPOSE', + 0x0054: 'ERROR', + 0x0055: 'STEP', + 0x0056: 'TYPE', + 0x0057: 'ECHO', + 0x0058: 'SET.NAME', + 0x0059: 'CALLER', + 0x005A: 'DEREF', + 0x005B: 'WINDOWS', + 0x005C: 'SERIES', + 0x005D: 'DOCUMENTS', + 0x005E: 'ACTIVE.CELL', + 0x005F: 'SELECTION', + 0x0060: 'RESULT', + 0x0061: 'ATAN2', + 0x0062: 'ASIN', + 0x0063: 'ACOS', + 0x0064: 'CHOOSE', + 0x0065: 'HLOOKUP', + 0x0066: 'VLOOKUP', + 0x0067: 'LINKS', + 0x0068: 'INPUT', + 0x0069: 'ISREF', + 0x006A: 'GET.FORMULA', + 0x006B: 'GET.NAME', + 0x006C: 'SET.VALUE', + 0x006D: 'LOG', + 0x006E: 'EXEC', + 0x006F: 'CHAR', + 0x0070: 'LOWER', + 0x0071: 'UPPER', + 0x0072: 'PROPER', + 0x0073: 'LEFT', + 0x0074: 'RIGHT', + 0x0075: 'EXACT', + 0x0076: 'TRIM', + 0x0077: 'REPLACE', + 0x0078: 'SUBSTITUTE', + 0x0079: 'CODE', + 0x007A: 'NAMES', + 0x007B: 'DIRECTORY', + 0x007C: 'FIND', + 0x007D: 'CELL', + 0x007E: 'ISERR', + 0x007F: 'ISTEXT', + 0x0080: 'ISNUMBER', + 0x0081: 'ISBLANK', + 0x0082: 'T', + 0x0083: 'N', + 0x0084: 'FOPEN', + 0x0085: 'FCLOSE', + 0x0086: 'FSIZE', + 0x0087: 'FREADLN', + 0x0088: 'FREAD', + 0x0089: 'FWRITELN', + 0x008A: 'FWRITE', + 0x008B: 'FPOS', + 0x008C: 'DATEVALUE', + 0x008D: 'TIMEVALUE', + 0x008E: 'SLN', + 0x008F: 'SYD', + 0x0090: 'DDB', + 0x0091: 'GET.DEF', + 0x0092: 'REFTEXT', + 0x0093: 'TEXTREF', + 0x0094: 'INDIRECT', + 0x0095: 'REGISTER', + 0x0096: 'CALL', + 0x0097: 'ADD.BAR', + 0x0098: 'ADD.MENU', + 0x0099: 'ADD.COMMAND', + 0x009A: 'ENABLE.COMMAND', + 0x009B: 'CHECK.COMMAND', + 0x009C: 'RENAME.COMMAND', + 0x009D: 'SHOW.BAR', + 0x009E: 'DELETE.MENU', + 0x009F: 'DELETE.COMMAND', + 0x00A0: 'GET.CHART.ITEM', + 0x00A1: 'DIALOG.BOX', + 0x00A2: 'CLEAN', + 0x00A3: 'MDETERM', + 0x00A4: 'MINVERSE', + 0x00A5: 'MMULT', + 0x00A6: 'FILES', + 0x00A7: 'IPMT', + 0x00A8: 'PPMT', + 0x00A9: 'COUNTA', + 0x00AA: 'CANCEL.KEY', + 0x00AB: 'FOR', + 0x00AC: 'WHILE', + 0x00AD: 'BREAK', + 0x00AE: 'NEXT', + 0x00AF: 'INITIATE', + 0x00B0: 'REQUEST', + 0x00B1: 'POKE', + 0x00B2: 'EXECUTE', + 0x00B3: 'TERMINATE', + 0x00B4: 'RESTART', + 0x00B5: 'HELP', + 0x00B6: 'GET.BAR', + 0x00B7: 'PRODUCT', + 0x00B8: 'FACT', + 0x00B9: 'GET.CELL', + 0x00BA: 'GET.WORKSPACE', + 0x00BB: 'GET.WINDOW', + 0x00BC: 'GET.DOCUMENT', + 0x00BD: 'DPRODUCT', + 0x00BE: 'ISNONTEXT', + 0x00BF: 'GET.NOTE', + 0x00C0: 'NOTE', + 0x00C1: 'STDEVP', + 0x00C2: 'VARP', + 0x00C3: 'DSTDEVP', + 0x00C4: 'DVARP', + 0x00C5: 'TRUNC', + 0x00C6: 'ISLOGICAL', + 0x00C7: 'DCOUNTA', + 0x00C8: 'DELETE.BAR', + 0x00C9: 'UNREGISTER', + 0x00CC: 'USDOLLAR', + 0x00CD: 'FINDB', + 0x00CE: 'SEARCHB', + 0x00CF: 'REPLACEB', + 0x00D0: 'LEFTB', + 0x00D1: 'RIGHTB', + 0x00D2: 'MIDB', + 0x00D3: 'LENB', + 0x00D4: 'ROUNDUP', + 0x00D5: 'ROUNDDOWN', + 0x00D6: 'ASC', + 0x00D7: 'DBCS', + 0x00D8: 'RANK', + 0x00DB: 'ADDRESS', + 0x00DC: 'DAYS360', + 0x00DD: 'TODAY', + 0x00DE: 'VDB', + 0x00DF: 'ELSE', + 0x00E0: 'ELSE.IF', + 0x00E1: 'END.IF', + 0x00E2: 'FOR.CELL', + 0x00E3: 'MEDIAN', + 0x00E4: 'SUMPRODUCT', + 0x00E5: 'SINH', + 0x00E6: 'COSH', + 0x00E7: 'TANH', + 0x00E8: 'ASINH', + 0x00E9: 'ACOSH', + 0x00EA: 'ATANH', + 0x00EB: 'DGET', + 0x00EC: 'CREATE.OBJECT', + 0x00ED: 'VOLATILE', + 0x00EE: 'LAST.ERROR', + 0x00EF: 'CUSTOM.UNDO', + 0x00F0: 'CUSTOM.REPEAT', + 0x00F1: 'FORMULA.CONVERT', + 0x00F2: 'GET.LINK.INFO', + 0x00F3: 'TEXT.BOX', + 0x00F4: 'INFO', + 0x00F5: 'GROUP', + 0x00F6: 'GET.OBJECT', + 0x00F7: 'DB', + 0x00F8: 'PAUSE', + 0x00FB: 'RESUME', + 0x00FC: 'FREQUENCY', + 0x00FD: 'ADD.TOOLBAR', + 0x00FE: 'DELETE.TOOLBAR', + 0x00FF: 'User', + 0x0100: 'RESET.TOOLBAR', + 0x0101: 'EVALUATE', + 0x0102: 'GET.TOOLBAR', + 0x0103: 'GET.TOOL', + 0x0104: 'SPELLING.CHECK', + 0x0105: 'ERROR.TYPE', + 0x0106: 'APP.TITLE', + 0x0107: 'WINDOW.TITLE', + 0x0108: 'SAVE.TOOLBAR', + 0x0109: 'ENABLE.TOOL', + 0x010A: 'PRESS.TOOL', + 0x010B: 'REGISTER.ID', + 0x010C: 'GET.WORKBOOK', + 0x010D: 'AVEDEV', + 0x010E: 'BETADIST', + 0x010F: 'GAMMALN', + 0x0110: 'BETAINV', + 0x0111: 'BINOMDIST', + 0x0112: 'CHIDIST', + 0x0113: 'CHIINV', + 0x0114: 'COMBIN', + 0x0115: 'CONFIDENCE', + 0x0116: 'CRITBINOM', + 0x0117: 'EVEN', + 0x0118: 'EXPONDIST', + 0x0119: 'FDIST', + 0x011A: 'FINV', + 0x011B: 'FISHER', + 0x011C: 'FISHERINV', + 0x011D: 'FLOOR', + 0x011E: 'GAMMADIST', + 0x011F: 'GAMMAINV', + 0x0120: 'CEILING', + 0x0121: 'HYPGEOMDIST', + 0x0122: 'LOGNORMDIST', + 0x0123: 'LOGINV', + 0x0124: 'NEGBINOMDIST', + 0x0125: 'NORMDIST', + 0x0126: 'NORMSDIST', + 0x0127: 'NORMINV', + 0x0128: 'NORMSINV', + 0x0129: 'STANDARDIZE', + 0x012A: 'ODD', + 0x012B: 'PERMUT', + 0x012C: 'POISSON', + 0x012D: 'TDIST', + 0x012E: 'WEIBULL', + 0x012F: 'SUMXMY2', + 0x0130: 'SUMX2MY2', + 0x0131: 'SUMX2PY2', + 0x0132: 'CHITEST', + 0x0133: 'CORREL', + 0x0134: 'COVAR', + 0x0135: 'FORECAST', + 0x0136: 'FTEST', + 0x0137: 'INTERCEPT', + 0x0138: 'PEARSON', + 0x0139: 'RSQ', + 0x013A: 'STEYX', + 0x013B: 'SLOPE', + 0x013C: 'TTEST', + 0x013D: 'PROB', + 0x013E: 'DEVSQ', + 0x013F: 'GEOMEAN', + 0x0140: 'HARMEAN', + 0x0141: 'SUMSQ', + 0x0142: 'KURT', + 0x0143: 'SKEW', + 0x0144: 'ZTEST', + 0x0145: 'LARGE', + 0x0146: 'SMALL', + 0x0147: 'QUARTILE', + 0x0148: 'PERCENTILE', + 0x0149: 'PERCENTRANK', + 0x014A: 'MODE', + 0x014B: 'TRIMMEAN', + 0x014C: 'TINV', + 0x014E: 'MOVIE.COMMAND', + 0x014F: 'GET.MOVIE', + 0x0150: 'CONCATENATE', + 0x0151: 'POWER', + 0x0152: 'PIVOT.ADD.DATA', + 0x0153: 'GET.PIVOT.TABLE', + 0x0154: 'GET.PIVOT.FIELD', + 0x0155: 'GET.PIVOT.ITEM', + 0x0156: 'RADIANS', + 0x0157: 'DEGREES', + 0x0158: 'SUBTOTAL', + 0x0159: 'SUMIF', + 0x015A: 'COUNTIF', + 0x015B: 'COUNTBLANK', + 0x015C: 'SCENARIO.GET', + 0x015D: 'OPTIONS.LISTS.GET', + 0x015E: 'ISPMT', + 0x015F: 'DATEDIF', + 0x0160: 'DATESTRING', + 0x0161: 'NUMBERSTRING', + 0x0162: 'ROMAN', + 0x0163: 'OPEN.DIALOG', + 0x0164: 'SAVE.DIALOG', + 0x0165: 'VIEW.GET', + 0x0166: 'GETPIVOTDATA', + 0x0167: 'HYPERLINK', + 0x0168: 'PHONETIC', + 0x0169: 'AVERAGEA', + 0x016A: 'MAXA', + 0x016B: 'MINA', + 0x016C: 'STDEVPA', + 0x016D: 'VARPA', + 0x016E: 'STDEVA', + 0x016F: 'VARA', + 0x0170: 'BAHTTEXT', + 0x0171: 'THAIDAYOFWEEK', + 0x0172: 'THAIDIGIT', + 0x0173: 'THAIMONTHOFYEAR', + 0x0174: 'THAINUMSOUND', + 0x0175: 'THAINUMSTRING', + 0x0176: 'THAISTRINGLENGTH', + 0x0177: 'ISTHAIDIGIT', + 0x0178: 'ROUNDBAHTDOWN', + 0x0179: 'ROUNDBAHTUP', + 0x017A: 'THAIYEAR', + 0x017B: 'RTD' }; var FtabArgc = { -0x0002: 1, /* ISNA */ -0x0003: 1, /* ISERROR */ -0x000F: 1, /* SIN */ -0x0010: 1, /* COS */ -0x0011: 1, /* TAN */ -0x0012: 1, /* ATAN */ -0x0013: 0, /* PI */ -0x0014: 1, /* SQRT */ -0x0015: 1, /* EXP */ -0x0016: 1, /* LN */ -0x0017: 1, /* LOG10 */ -0x0018: 1, /* ABS */ -0x0019: 1, /* INT */ -0x001A: 1, /* SIGN */ -0x001B: 2, /* ROUND */ -0x001E: 2, /* REPT */ -0x001F: 3, /* MID */ -0x0020: 1, /* LEN */ -0x0021: 1, /* VALUE */ -0x0026: 1, /* NOT */ -0x0027: 2, /* MOD */ -0x0028: 3, /* DCOUNT */ -0x0029: 3, /* DSUM */ -0x002A: 3, /* DAVERAGE */ -0x002B: 3, /* DMIN */ -0x002C: 3, /* DMAX */ -0x002D: 3, /* DSTDEV */ -0x002F: 3, /* DVAR */ -0x0030: 2, /* TEXT */ -0x0035: 1, /* GOTO */ -0x003D: 3, /* MIRR */ -0x0041: 3, /* DATE */ -0x0042: 3, /* TIME */ -0x0043: 1, /* DAY */ -0x0044: 1, /* MONTH */ -0x0045: 1, /* YEAR */ -0x0046: 1, /* WEEKDAY */ -0x0047: 1, /* HOUR */ -0x0048: 1, /* MINUTE */ -0x0049: 1, /* SECOND */ -0x004B: 1, /* AREAS */ -0x004C: 1, /* ROWS */ -0x004D: 1, /* COLUMNS */ -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 */ -0x0071: 1, /* UPPER */ -0x0072: 1, /* PROPER */ -0x0075: 2, /* EXACT */ -0x0076: 1, /* TRIM */ -0x0077: 4, /* REPLACE */ -0x0079: 1, /* CODE */ -0x007E: 1, /* ISERR */ -0x007F: 1, /* ISTEXT */ -0x0080: 1, /* ISNUMBER */ -0x0081: 1, /* ISBLANK */ -0x0082: 1, /* T */ -0x0083: 1, /* N */ -0x0085: 1, /* FCLOSE */ -0x0086: 1, /* FSIZE */ -0x0087: 1, /* FREADLN */ -0x0088: 2, /* FREAD */ -0x0089: 2, /* FWRITELN */ -0x008A: 2, /* FWRITE */ -0x008C: 1, /* DATEVALUE */ -0x008D: 1, /* TIMEVALUE */ -0x008E: 3, /* SLN */ -0x008F: 4, /* SYD */ -0x0090: 4, /* DDB */ -0x00A2: 1, /* CLEAN */ -0x00A3: 1, /* MDETERM */ -0x00A4: 1, /* MINVERSE */ -0x00A5: 2, /* MMULT */ -0x00AC: 1, /* WHILE */ -0x00AF: 2, /* INITIATE */ -0x00B0: 2, /* REQUEST */ -0x00B1: 3, /* POKE */ -0x00B2: 2, /* EXECUTE */ -0x00B3: 1, /* TERMINATE */ -0x00B8: 1, /* FACT */ -0x00BD: 3, /* DPRODUCT */ -0x00BE: 1, /* ISNONTEXT */ -0x00C3: 3, /* DSTDEVP */ -0x00C4: 3, /* DVARP */ -0x00C5: 1, /* TRUNC */ -0x00C6: 1, /* ISLOGICAL */ -0x00C7: 3, /* DCOUNTA */ -0x00C9: 1, /* UNREGISTER */ -0x00CF: 4, /* REPLACEB */ -0x00D2: 3, /* MIDB */ -0x00D3: 1, /* LENB */ -0x00D4: 2, /* ROUNDUP */ -0x00D5: 2, /* ROUNDDOWN */ -0x00D6: 1, /* ASC */ -0x00D7: 1, /* DBCS */ -0x00E5: 1, /* SINH */ -0x00E6: 1, /* COSH */ -0x00E7: 1, /* TANH */ -0x00E8: 1, /* ASINH */ -0x00E9: 1, /* ACOSH */ -0x00EA: 1, /* ATANH */ -0x00EB: 3, /* DGET */ -0x00F4: 1, /* INFO */ -0x00F7: 4, /* DB */ -0x00FC: 2, /* FREQUENCY */ -0x0101: 1, /* EVALUATE */ -0x0105: 1, /* ERROR.TYPE */ -0x010F: 1, /* GAMMALN */ -0x0111: 4, /* BINOMDIST */ -0x0112: 2, /* CHIDIST */ -0x0113: 2, /* CHIINV */ -0x0114: 2, /* COMBIN */ -0x0115: 3, /* CONFIDENCE */ -0x0116: 3, /* CRITBINOM */ -0x0117: 1, /* EVEN */ -0x0118: 3, /* EXPONDIST */ -0x0119: 3, /* FDIST */ -0x011A: 3, /* FINV */ -0x011B: 1, /* FISHER */ -0x011C: 1, /* FISHERINV */ -0x011D: 2, /* FLOOR */ -0x011E: 4, /* GAMMADIST */ -0x011F: 3, /* GAMMAINV */ -0x0120: 2, /* CEILING */ -0x0121: 4, /* HYPGEOMDIST */ -0x0122: 3, /* LOGNORMDIST */ -0x0123: 3, /* LOGINV */ -0x0124: 3, /* NEGBINOMDIST */ -0x0125: 4, /* NORMDIST */ -0x0126: 1, /* NORMSDIST */ -0x0127: 3, /* NORMINV */ -0x0128: 1, /* NORMSINV */ -0x0129: 3, /* STANDARDIZE */ -0x012A: 1, /* ODD */ -0x012B: 2, /* PERMUT */ -0x012C: 3, /* POISSON */ -0x012D: 3, /* TDIST */ -0x012E: 4, /* WEIBULL */ -0x012F: 2, /* SUMXMY2 */ -0x0130: 2, /* SUMX2MY2 */ -0x0131: 2, /* SUMX2PY2 */ -0x0132: 2, /* CHITEST */ -0x0133: 2, /* CORREL */ -0x0134: 2, /* COVAR */ -0x0135: 3, /* FORECAST */ -0x0136: 2, /* FTEST */ -0x0137: 2, /* INTERCEPT */ -0x0138: 2, /* PEARSON */ -0x0139: 2, /* RSQ */ -0x013A: 2, /* STEYX */ -0x013B: 2, /* SLOPE */ -0x013C: 4, /* TTEST */ -0x0145: 2, /* LARGE */ -0x0146: 2, /* SMALL */ -0x0147: 2, /* QUARTILE */ -0x0148: 2, /* PERCENTILE */ -0x014B: 2, /* TRIMMEAN */ -0x014C: 2, /* TINV */ -0x0151: 2, /* POWER */ -0x0156: 1, /* RADIANS */ -0x0157: 1, /* DEGREES */ -0x015A: 2, /* COUNTIF */ -0x015B: 1, /* COUNTBLANK */ -0x015E: 4, /* ISPMT */ -0x015F: 3, /* DATEDIF */ -0x0160: 1, /* DATESTRING */ -0x0161: 2, /* NUMBERSTRING */ -0x0168: 1, /* PHONETIC */ -0x0170: 1, /* BAHTTEXT */ -0x0171: 1, /* THAIDAYOFWEEK */ -0x0172: 1, /* THAIDIGIT */ -0x0173: 1, /* THAIMONTHOFYEAR */ -0x0174: 1, /* THAINUMSOUND */ -0x0175: 1, /* THAINUMSTRING */ -0x0176: 1, /* THAISTRINGLENGTH */ -0x0177: 1, /* ISTHAIDIGIT */ -0x0178: 1, /* ROUNDBAHTDOWN */ -0x0179: 1, /* ROUNDBAHTUP */ -0x017A: 1, /* THAIYEAR */ -0x017E: 3, /* CUBEMEMBERPROPERTY */ -0x0181: 1, /* HEX2DEC */ -0x0188: 1, /* OCT2DEC */ -0x0189: 1, /* BIN2DEC */ -0x018C: 2, /* IMSUB */ -0x018D: 2, /* IMDIV */ -0x018E: 2, /* IMPOWER */ -0x018F: 1, /* IMABS */ -0x0190: 1, /* IMSQRT */ -0x0191: 1, /* IMLN */ -0x0192: 1, /* IMLOG2 */ -0x0193: 1, /* IMLOG10 */ -0x0194: 1, /* IMSIN */ -0x0195: 1, /* IMCOS */ -0x0196: 1, /* IMEXP */ -0x0197: 1, /* IMARGUMENT */ -0x0198: 1, /* IMCONJUGATE */ -0x0199: 1, /* IMAGINARY */ -0x019A: 1, /* IMREAL */ -0x019E: 4, /* SERIESSUM */ -0x019F: 1, /* FACTDOUBLE */ -0x01A0: 1, /* SQRTPI */ -0x01A1: 2, /* QUOTIENT */ -0x01A4: 1, /* ISEVEN */ -0x01A5: 1, /* ISODD */ -0x01A6: 2, /* MROUND */ -0x01A8: 1, /* ERFC */ -0x01A9: 2, /* BESSELJ */ -0x01AA: 2, /* BESSELK */ -0x01AB: 2, /* BESSELY */ -0x01AC: 2, /* BESSELI */ -0x01AE: 3, /* XNPV */ -0x01B6: 3, /* TBILLEQ */ -0x01B7: 3, /* TBILLPRICE */ -0x01B8: 3, /* TBILLYIELD */ -0x01BB: 2, /* DOLLARDE */ -0x01BC: 2, /* DOLLARFR */ -0x01BD: 2, /* NOMINAL */ -0x01BE: 2, /* EFFECT */ -0x01BF: 6, /* CUMPRINC */ -0x01C0: 6, /* CUMIPMT */ -0x01C1: 2, /* EDATE */ -0x01C2: 2, /* EOMONTH */ -0x01D0: 2, /* RANDBETWEEN */ -0x01D4: 3, /* CONVERT */ -0x01DC: 2, /* FVSCHEDULE */ -0x01DF: 1, /* CUBESETCOUNT */ -0x01E0: 2, /* IFERROR */ -0xFFFF: 0 + 0x0002: 1, /* ISNA */ + 0x0003: 1, /* ISERROR */ + 0x000F: 1, /* SIN */ + 0x0010: 1, /* COS */ + 0x0011: 1, /* TAN */ + 0x0012: 1, /* ATAN */ + 0x0014: 1, /* SQRT */ + 0x0015: 1, /* EXP */ + 0x0016: 1, /* LN */ + 0x0017: 1, /* LOG10 */ + 0x0018: 1, /* ABS */ + 0x0019: 1, /* INT */ + 0x001A: 1, /* SIGN */ + 0x001B: 2, /* ROUND */ + 0x001E: 2, /* REPT */ + 0x001F: 3, /* MID */ + 0x0020: 1, /* LEN */ + 0x0021: 1, /* VALUE */ + 0x0026: 1, /* NOT */ + 0x0027: 2, /* MOD */ + 0x0028: 3, /* DCOUNT */ + 0x0029: 3, /* DSUM */ + 0x002A: 3, /* DAVERAGE */ + 0x002B: 3, /* DMIN */ + 0x002C: 3, /* DMAX */ + 0x002D: 3, /* DSTDEV */ + 0x002F: 3, /* DVAR */ + 0x0030: 2, /* TEXT */ + 0x0035: 1, /* GOTO */ + 0x003D: 3, /* MIRR */ + 0x0041: 3, /* DATE */ + 0x0042: 3, /* TIME */ + 0x0043: 1, /* DAY */ + 0x0044: 1, /* MONTH */ + 0x0045: 1, /* YEAR */ + 0x0047: 1, /* HOUR */ + 0x0048: 1, /* MINUTE */ + 0x0049: 1, /* SECOND */ + 0x004B: 1, /* AREAS */ + 0x004C: 1, /* ROWS */ + 0x004D: 1, /* COLUMNS */ + 0x004F: 2, /* ABSREF */ + 0x0050: 2, /* RELREF */ + 0x0053: 1, /* TRANSPOSE */ + 0x0056: 1, /* TYPE */ + 0x005A: 1, /* DEREF */ + 0x0061: 2, /* ATAN2 */ + 0x0062: 1, /* ASIN */ + 0x0063: 1, /* ACOS */ + 0x0069: 1, /* ISREF */ + 0x006F: 1, /* CHAR */ + 0x0070: 1, /* LOWER */ + 0x0071: 1, /* UPPER */ + 0x0072: 1, /* PROPER */ + 0x0075: 2, /* EXACT */ + 0x0076: 1, /* TRIM */ + 0x0077: 4, /* REPLACE */ + 0x0079: 1, /* CODE */ + 0x007E: 1, /* ISERR */ + 0x007F: 1, /* ISTEXT */ + 0x0080: 1, /* ISNUMBER */ + 0x0081: 1, /* ISBLANK */ + 0x0082: 1, /* T */ + 0x0083: 1, /* N */ + 0x0085: 1, /* FCLOSE */ + 0x0086: 1, /* FSIZE */ + 0x0087: 1, /* FREADLN */ + 0x0088: 2, /* FREAD */ + 0x0089: 2, /* FWRITELN */ + 0x008A: 2, /* FWRITE */ + 0x008C: 1, /* DATEVALUE */ + 0x008D: 1, /* TIMEVALUE */ + 0x008E: 3, /* SLN */ + 0x008F: 4, /* SYD */ + 0x00A2: 1, /* CLEAN */ + 0x00A3: 1, /* MDETERM */ + 0x00A4: 1, /* MINVERSE */ + 0x00A5: 2, /* MMULT */ + 0x00AC: 1, /* WHILE */ + 0x00AF: 2, /* INITIATE */ + 0x00B0: 2, /* REQUEST */ + 0x00B1: 3, /* POKE */ + 0x00B2: 2, /* EXECUTE */ + 0x00B3: 1, /* TERMINATE */ + 0x00B8: 1, /* FACT */ + 0x00BD: 3, /* DPRODUCT */ + 0x00BE: 1, /* ISNONTEXT */ + 0x00C3: 3, /* DSTDEVP */ + 0x00C4: 3, /* DVARP */ + 0x00C6: 1, /* ISLOGICAL */ + 0x00C7: 3, /* DCOUNTA */ + 0x00C9: 1, /* UNREGISTER */ + 0x00CF: 4, /* REPLACEB */ + 0x00D2: 3, /* MIDB */ + 0x00D3: 1, /* LENB */ + 0x00D4: 2, /* ROUNDUP */ + 0x00D5: 2, /* ROUNDDOWN */ + 0x00D6: 1, /* ASC */ + 0x00D7: 1, /* DBCS */ + 0x00E5: 1, /* SINH */ + 0x00E6: 1, /* COSH */ + 0x00E7: 1, /* TANH */ + 0x00E8: 1, /* ASINH */ + 0x00E9: 1, /* ACOSH */ + 0x00EA: 1, /* ATANH */ + 0x00EB: 3, /* DGET */ + 0x00F4: 1, /* INFO */ + 0x00FC: 2, /* FREQUENCY */ + 0x0101: 1, /* EVALUATE */ + 0x0105: 1, /* ERROR.TYPE */ + 0x010F: 1, /* GAMMALN */ + 0x0111: 4, /* BINOMDIST */ + 0x0112: 2, /* CHIDIST */ + 0x0113: 2, /* CHIINV */ + 0x0114: 2, /* COMBIN */ + 0x0115: 3, /* CONFIDENCE */ + 0x0116: 3, /* CRITBINOM */ + 0x0117: 1, /* EVEN */ + 0x0118: 3, /* EXPONDIST */ + 0x0119: 3, /* FDIST */ + 0x011A: 3, /* FINV */ + 0x011B: 1, /* FISHER */ + 0x011C: 1, /* FISHERINV */ + 0x011D: 2, /* FLOOR */ + 0x011E: 4, /* GAMMADIST */ + 0x011F: 3, /* GAMMAINV */ + 0x0120: 2, /* CEILING */ + 0x0121: 4, /* HYPGEOMDIST */ + 0x0122: 3, /* LOGNORMDIST */ + 0x0123: 3, /* LOGINV */ + 0x0124: 3, /* NEGBINOMDIST */ + 0x0125: 4, /* NORMDIST */ + 0x0126: 1, /* NORMSDIST */ + 0x0127: 3, /* NORMINV */ + 0x0128: 1, /* NORMSINV */ + 0x0129: 3, /* STANDARDIZE */ + 0x012A: 1, /* ODD */ + 0x012B: 2, /* PERMUT */ + 0x012C: 3, /* POISSON */ + 0x012D: 3, /* TDIST */ + 0x012E: 4, /* WEIBULL */ + 0x012F: 2, /* SUMXMY2 */ + 0x0130: 2, /* SUMX2MY2 */ + 0x0131: 2, /* SUMX2PY2 */ + 0x0132: 2, /* CHITEST */ + 0x0133: 2, /* CORREL */ + 0x0134: 2, /* COVAR */ + 0x0135: 3, /* FORECAST */ + 0x0136: 2, /* FTEST */ + 0x0137: 2, /* INTERCEPT */ + 0x0138: 2, /* PEARSON */ + 0x0139: 2, /* RSQ */ + 0x013A: 2, /* STEYX */ + 0x013B: 2, /* SLOPE */ + 0x013C: 4, /* TTEST */ + 0x0145: 2, /* LARGE */ + 0x0146: 2, /* SMALL */ + 0x0147: 2, /* QUARTILE */ + 0x0148: 2, /* PERCENTILE */ + 0x014B: 2, /* TRIMMEAN */ + 0x014C: 2, /* TINV */ + 0x0151: 2, /* POWER */ + 0x0156: 1, /* RADIANS */ + 0x0157: 1, /* DEGREES */ + 0x015A: 2, /* COUNTIF */ + 0x015B: 1, /* COUNTBLANK */ + 0x015E: 4, /* ISPMT */ + 0x015F: 3, /* DATEDIF */ + 0x0160: 1, /* DATESTRING */ + 0x0161: 2, /* NUMBERSTRING */ + 0x0168: 1, /* PHONETIC */ + 0x0170: 1, /* BAHTTEXT */ + 0x0171: 1, /* THAIDAYOFWEEK */ + 0x0172: 1, /* THAIDIGIT */ + 0x0173: 1, /* THAIMONTHOFYEAR */ + 0x0174: 1, /* THAINUMSOUND */ + 0x0175: 1, /* THAINUMSTRING */ + 0x0176: 1, /* THAISTRINGLENGTH */ + 0x0177: 1, /* ISTHAIDIGIT */ + 0x0178: 1, /* ROUNDBAHTDOWN */ + 0x0179: 1, /* ROUNDBAHTUP */ + 0x017A: 1, /* THAIYEAR */ + 0xFFFF: 0 }; /* [MS-XLSX] 2.2.3 Functions */ -/* [MS-XLSB] 2.5.97.10 Ftab */ var XLSXFutureFunctions = { "_xlfn.ACOT": "ACOT", "_xlfn.ACOTH": "ACOTH", @@ -8024,17 +7204,6 @@ var XLSXFutureFunctions = { "_xlfn.Z.TEST": "Z.TEST" }; -/* 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 strs = {}; // shared strings var _ssfopts = {}; // spreadsheet formatting options @@ -8060,7 +7229,6 @@ function get_cell_style(styles, cell, opts) { } function safe_format(p, fmtid, fillid, opts) { - if(p.t === 'd' && typeof p.v === 'string') p.v = new Date(p.v); try { if(p.t === 'e') p.w = p.w || BErr[p.v]; else if(fmtid === 0) { @@ -8096,20 +7264,19 @@ function parse_ws_xml_dim(ws, s) { var d = safe_decode_range(s); if(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws["!ref"] = encode_range(d); } -var mergecregex = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*\/>/g; +var mergecregex = //g; var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/; -var hlinkregex = /<(?:\w*:)?hyperlink[^>]*\/>/g; +var hlinkregex = /]*\/>/g; var dimregex = /"(\w*:\w*)"/; -var colregex = /<(?:\w*:)?col[^>]*\/>/g; +var colregex = /]*\/>/g; /* 18.3 Worksheets */ 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 - var ridx = (data.match(/<(?:\w*:)?dimension/)||{index:-1}).index; + var ridx = data.indexOf(" 0) { var ref = data.substr(ridx,50).match(dimregex); if(ref != null) parse_ws_xml_dim(s, ref[1]); @@ -8117,27 +7284,28 @@ function parse_ws_xml(data, opts, rels) { /* 18.3.1.55 mergeCells CT_MergeCells */ 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)); + if(data.indexOf("")!==-1) { + var merges = data.match(mergecregex); + for(ridx = 0; ridx != merges.length; ++ridx) + mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"")+1)); + } /* 18.3.1.17 cols CT_Cols */ var columns = []; - if(opts.cellStyles) { + if(opts.cellStyles && data.indexOf("")!==-1) { /* 18.3.1.13 col CT_Col */ var cols = data.match(colregex); - if(cols) parse_ws_xml_cols(columns, cols); + parse_ws_xml_cols(columns, cols); } - var refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }); + var refguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} }; /* 18.3.1.80 sheetData CT_SheetData ? */ var mtch=data.match(sheetdataregex); if(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess); /* 18.3.1.48 hyperlinks CT_Hyperlinks */ - var hlink = data.match(hlinkregex); - if(hlink) parse_ws_xml_hlinks(s, hlink, rels); + if(data.indexOf("")!==-1) parse_ws_xml_hlinks(s, data.match(hlinkregex), 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"]) { @@ -8207,7 +7375,7 @@ 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}); + var p = {min:i+1,max:i+1}; /* wch (chars), wpx (pixels) */ width = -1; if(col.wpx) width = px2char(col.wpx); @@ -8231,13 +7399,13 @@ function write_ws_xml_cell(cell, ref, ws, opts, idx, wb) { if(opts.cellDates) vv = new Date(cell.v).toISOString(); else { cell.t = 'n'; - vv = ''+(cell.v = datenum(new Date(cell.v))); + 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 v = writetag('v', escapexml(vv)), o = {r:ref}; /* TODO: cell style */ var os = get_cell_style(opts.cellXfs, cell, opts); if(os !== 0) o.s = os; @@ -8259,17 +7427,14 @@ 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 rregex = /r=["']([^"']*)["']/, isregex = /([\S\s]*?)<\/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, ftag; + var sstr; 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; @@ -8286,12 +7451,12 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { /* 18.3.1.4 c CT_Cell */ cells = x.substr(ri).split(cellregex); - for(ri = 0; ri != cells.length; ++ri) { + for(ri = typeof tag.r === 'undefined' ? 0 : 1; ri != cells.length; ++ri) { x = cells[ri].trim(); if(x.length === 0) continue; cref = x.match(rregex); idx = ri; i=0; cc=0; x = "":"") + x; - if(cref != null && cref.length === 2) { + 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; @@ -8304,31 +7469,10 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { 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:""}); + 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) { - // 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]; - } + if((cref=d.match(match_v))!== null && cref[1] !== '') p.v=unescapexml(cref[1]); + if(opts.cellFormula && (cref=d.match(match_f))!== null) p.f=unescapexml(cref[1]); /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(tag.t === undefined && p.v === undefined) { @@ -8343,10 +7487,6 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'n': p.v = parseFloat(p.v); break; case 's': sstr = strs[parseInt(p.v, 10)]; - if(typeof p.v == 'undefined') { - if(!opts.sheetStubs) continue; - p.t = "stub"; - } p.v = sstr.t; p.r = sstr.r; if(opts.cellHTML) p.h = sstr.h; @@ -8359,11 +7499,11 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { case 'inlineStr': cref = d.match(isregex); p.t = 's'; - if(cref != null && (sstr = parse_si(cref[1]))) p.v = sstr.t; else p.v = ""; + if(cref !== null) { sstr = parse_si(cref[1]); p.v = sstr.t; } else p.v = ""; break; // inline string case 'b': p.v = parsexmlbool(p.v); break; case 'd': - if(!opts.cellDates) { p.v = datenum(new Date(p.v)); p.t = 'n'; } + if(!opts.cellDates) { p.v = datenum(p.v); p.t = 'n'; } break; /* error string in .v, number in .v */ case 'e': p.w = p.v; p.v = RBErr[p.v]; break; @@ -8384,7 +7524,7 @@ return function parse_ws_xml_data(sdata, s, opts, guess) { }; })(); function write_ws_xml_data(ws, opts, idx, wb) { - var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R=0, C=0; + var o = [], r = [], range = safe_decode_range(ws['!ref']), cell, ref, rr = "", cols = [], R, C; for(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C); for(R = range.s.r; R <= range.e.r; ++R) { r = []; @@ -8428,50 +7568,11 @@ function write_ws_xml(idx, opts, wb) { /* [MS-XLSB] 2.4.718 BrtRowHdr */ function parse_BrtRowHdr(data, length) { - var z = ([]); + 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); - - /* TODO: flags styles */ - o.write_shift(4, 0); - o.write_shift(2, 0x0140); - o.write_shift(2, 0); - o.write_shift(1, 0); - - /* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */ - 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.c < (i << 10)) continue; - var first = -1, last = -1; - for(var j = (i<<10); j < ((i+1)<<10); ++j) { - caddr.c = j; - if(ws[encode_cell(caddr)]) { if(first < 0) first = j; last = j; } - } - if(first < 0) continue; - ++ncolspan; - o.write_shift(4, first); - o.write_shift(4, last); - } - - var l = o.l; - o.l = lcs; - o.write_shift(4, ncolspan); - o.l = l; - - return o.length > o.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); -} /* [MS-XLSB] 2.4.812 BrtWsDim */ var parse_BrtWsDim = parse_UncheckedRfX; @@ -8491,9 +7592,9 @@ function parse_BrtCellBlank(data, length) { var cell = parse_XLSBCell(data); return [cell]; } -function write_BrtCellBlank(cell, ncell, o) { +function write_BrtCellBlank(cell, val, o) { if(o == null) o = new_buf(8); - return write_XLSBCell(ncell, o); + return write_XLSBCell(val, o); } @@ -8503,18 +7604,12 @@ function parse_BrtCellBool(data, length) { 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; -} /* [MS-XLSB] 2.4.305 BrtCellError */ function parse_BrtCellError(data, length) { var cell = parse_XLSBCell(data); - var bError = data.read_shift(1); - return [cell, bError, 'e']; + var fBool = data.read_shift(1); + return [cell, fBool, 'e']; } /* [MS-XLSB] 2.4.308 BrtCellIsst */ @@ -8523,12 +7618,6 @@ function parse_BrtCellIsst(data, length) { 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; -} /* [MS-XLSB] 2.4.310 BrtCellReal */ function parse_BrtCellReal(data, length) { @@ -8536,12 +7625,6 @@ function parse_BrtCellReal(data, length) { 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; -} /* [MS-XLSB] 2.4.311 BrtCellRk */ function parse_BrtCellRk(data, length) { @@ -8549,13 +7632,6 @@ function parse_BrtCellRk(data, length) { 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; -} - /* [MS-XLSB] 2.4.314 BrtCellSt */ function parse_BrtCellSt(data, length) { @@ -8563,74 +7639,56 @@ function parse_BrtCellSt(data, length) { 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; -} /* [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) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, length-9); + o[3] = ""; /* TODO */ } - else data.l = end; + else data.l += length-9; 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) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, length-9); + o[3] = ""; /* TODO */ } - else data.l = end; + else data.l += length-9; 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) { - data.l += 2; - var formula = parse_XLSBCellParsedFormula(data, end - data.l, opts); - o[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, length - 16); + o[3] = ""; /* TODO */ } - else data.l = end; + else data.l += length-16; return o; } /* [MS-XLSB] 2.4.650 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { - var end = data.l + length; + var start = data.l; 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/*range*/, cell, opts.supbooks, opts);/* TODO */ + var formula = parse_XLSBCellParsedFormula(data, start + length - data.l); } - else data.l = end; + else data.l = start + length; return o; } @@ -8649,68 +7707,26 @@ 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]; o[2] = 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]; - 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, wb) { +function parse_ws_bin(data, opts, rels) { if(!data) return data; if(!rels) rels = {'!id':{}}; var s = {}; var ref; - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess = {s: {r:1000000, c:1000000}, 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 < wb.Names['!names'].length; ++i) supbooks[0][i+1] = wb.Names[wb.Names['!names'][i]]; - - recordhopper(data, function ws_parse(val, Record) { + recordhopper(data, function ws_parse(val, R) { if(end) return; - switch(Record.n) { + switch(R.n) { case 'BrtWsDim': ref = val; break; case 'BrtRowHdr': row = val; if(opts.sheetRows && opts.sheetRows <= row.r) end=true; rr = encode_row(row.r); - opts['!row'] = row.r; break; case 'BrtFmlaBool': @@ -8723,7 +7739,7 @@ function parse_ws_bin(data, opts, rels, wb) { case 'BrtCellReal': case 'BrtCellRk': case 'BrtCellSt': - p = ({t:val[2]}); + 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; @@ -8731,19 +7747,9 @@ function parse_ws_bin(data, opts, rels, wb) { 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; @@ -8751,7 +7757,7 @@ function parse_ws_bin(data, opts, rels, wb) { break; case 'BrtCellBlank': if(!opts.sheetStubs) break; - p = ({t:'s',v:undefined}); + p = {t:'s',v:undefined}; 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; @@ -8778,17 +7784,8 @@ function parse_ws_bin(data, opts, rels, wb) { } break; - 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 'BrtArrFmla': break; // TODO + case 'BrtShrFmla': break; // TODO case 'BrtBeginSheet': break; case 'BrtWsProp': break; // TODO case 'BrtSheetCalcProp': break; // TODO @@ -8896,14 +7893,10 @@ function parse_ws_bin(data, opts, rels, wb) { case 'BrtCellIgnoreEC': break; case 'BrtEndCellIgnoreECs': break; - default: if(!pass || opts.WTF) throw new Error("Unexpected record " + Record.n); + default: if(!pass || opts.WTF) throw new Error("Unexpected record " + R.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(!s["!ref"] && (refguess.s.r < 1000000 || ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0)) s["!ref"] = encode_range(ref); if(opts.sheetRows && s["!ref"]) { var tmpref = safe_decode_range(s["!ref"]); if(opts.sheetRows < +tmpref.e.r) { @@ -8929,30 +7922,19 @@ function write_ws_bin_cell(ba, cell, R, C, opts) { case 'n': case 'e': vv = ''+cell.v; break; default: vv = cell.v; break; } - var o = ({r:R, c:C}); + var o = {r:R, c:C}; /* TODO: cell style */ - //o.s = get_cell_style(opts.cellXfs, cell, opts); + 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)); + o.t = "s"; break; } - return; - case 'n': - /* TODO: determine threshold for Real vs RK */ - if(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) 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': /* TODO: error */ o.t = "e"; break; + o.t = "str"; break; + case 'n': break; + case 'b': o.t = "b"; break; + case 'e': o.t = "e"; break; } write_record(ba, "BrtCellBlank", write_BrtCellBlank(cell, o)); } @@ -8964,7 +7946,6 @@ function write_CELLTABLE(ba, ws, idx, opts, wb) { rr = encode_row(R); /* [ACCELLTABLE] */ /* BrtRowHdr */ - write_row_header(ba, ws, range, R); for(var C = range.s.c; C <= range.e.c; ++C) { /* *16384CELL */ if(R === range.s.r) cols[C] = encode_col(C); @@ -9123,20 +8104,12 @@ function parse_wb_defaults(wb) { _ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904, 'date1904'); } - -/* TODO: validate workbook */ -function check_wb(wb) { - if(!wb || !wb.SheetNames || !wb.Sheets) throw new Error("Invalid Workbook"); - for(var i = 0; i < wb.SheetNames.length; ++i) for(var j = 0; j < i; ++j) - if(wb.SheetNames[i] == wb.SheetNames[j]) throw new Error("Duplicate Sheet Name: " + wb.SheetNames[i]); -} /* 18.2 Workbook */ 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) { + data.match(tagregex).forEach(function xml_wb(x) { var y = parsexmltag(x); switch(strip_ns(y[0])) { case '': case '': break; + case '': break; /* 18.2.12 fileSharing CT_FileSharing ? */ case '': break; @@ -9158,7 +8131,6 @@ function parse_wb_xml(data, opts) { /* 18.2.28 workbookPr CT_WorkbookPr ? */ case '': delete y[0]; wb.WBProps = y; break; - case '': break; /* 18.2.29 workbookProtection CT_WorkbookProtection ? */ case '': case '': break; /* 18.2.30 workbookView CT_BookView + */ case '': break; /* 18.2.20 sheets CT_Sheets 1 */ case '': case '': break; // aggregate sheet /* 18.2.19 sheet CT_Sheet + */ - case '': break; + case '': break; @@ -9196,7 +8166,6 @@ function parse_wb_xml(data, opts) { /* 18.2.2 calcPr CT_CalcPr ? */ case '': delete y[0]; wb.CalcPr = y; break; - case '': break; /* 18.2.16 oleSize CT_OleSize ? (ref required) */ case '': pass=false; break; - default: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in workbook'); + 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); @@ -9260,10 +8229,7 @@ var WB_XML_ROOT = writextag('workbook', null, { function safe1904(wb) { /* TODO: store date1904 somewhere else */ - if(!wb.Workbook) return "false"; - if(!wb.Workbook.WBProps) return "false"; - // $FlowIgnore - return parsexmlbool(wb.Workbook.WBProps.date1904) ? "true" : "false"; + try { return parsexmlbool(wb.Workbook.WBProps.date1904) ? "true" : "false"; } catch(e) { return "false"; } } function write_wb_xml(wb, opts) { @@ -9272,7 +8238,7 @@ function write_wb_xml(wb, opts) { 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:escapexml(wb.SheetNames[i].substr(0,31)), sheetId:""+(i+1), "r:id":"rId"+(i+1)})); + 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(""); @@ -9292,7 +8258,7 @@ function write_BrtBundleSh(data, o) { 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; + return o; } /* [MS-XLSB] 2.4.807 BrtWbProp */ @@ -9317,46 +8283,18 @@ 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; + case 'BrtWbProp': break; case 'BrtACBegin': break; case 'BrtAbsPath15': break; case 'BrtACEnd': break; @@ -9375,6 +8313,7 @@ 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; @@ -9401,14 +8340,10 @@ 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; - // $FlowIgnore - wb.Names = Names; - return wb; } @@ -9431,7 +8366,7 @@ function write_BrtFileVersion(data, 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; + return o; } /* [MS-XLSB] 2.1.7.60 Workbook */ @@ -9454,7 +8389,6 @@ function write_BrtCalcProp(data, o) { return o; } -/* [MS-XLSB] 2.4.640 BrtFileRecover */ function write_BrtFileRecover(data, o) { if(!o) o = new_buf(1); o.write_shift(1,0); @@ -9467,22 +8401,22 @@ function write_wb_bin(wb, opts) { write_record(ba, "BrtBeginBook"); write_record(ba, "BrtFileVersion", write_BrtFileVersion()); /* [[BrtFileSharingIso] BrtFileSharing] */ - if(0) write_record(ba, "BrtWbProp", write_BrtWbProp()); + write_record(ba, "BrtWbProp", write_BrtWbProp()); /* [ACABSPATH] */ /* [[BrtBookProtectionIso] BrtBookProtection] */ - if(0) write_BOOKVIEWS(ba, wb, opts); + write_BOOKVIEWS(ba, wb, opts); write_BUNDLESHS(ba, wb, opts); /* [FNGROUP] */ /* [EXTERNALS] */ /* *BrtName */ - if(0) write_record(ba, "BrtCalcProp", write_BrtCalcProp()); + write_record(ba, "BrtCalcProp", write_BrtCalcProp()); /* [BrtOleSize] */ /* *(BrtUserBookView *FRT) */ /* [PIVOTCACHEIDS] */ /* [BrtWbFactoid] */ /* [SMARTTAGTYPES] */ /* [BrtWebOpt] */ - if(0) write_record(ba, "BrtFileRecover", write_BrtFileRecover()); + write_record(ba, "BrtFileRecover", write_BrtFileRecover()); /* [WEBPUBITEMS] */ /* [CRERRS] */ /* FRTWORKBOOK */ @@ -9491,18 +8425,15 @@ function write_wb_bin(wb, opts) { return ba.end(); } function parse_wb(data, name, opts) { - if(name.slice(-4)===".bin") return parse_wb_bin((data), opts); - return parse_wb_xml((data), opts); + return (name.substr(-4)===".bin" ? parse_wb_bin : parse_wb_xml)(data, opts); } -function parse_ws(data, name, opts, rels, wb) { - if(name.slice(-4)===".bin") return parse_ws_bin((data), opts, rels, wb); - return parse_ws_xml((data), opts, rels, wb); +function parse_ws(data, name, opts, rels) { + return (name.substr(-4)===".bin" ? parse_ws_bin : parse_ws_xml)(data, opts, rels); } function parse_sty(data, name, opts) { - if(name.slice(-4)===".bin") return parse_sty_bin((data), opts); - return parse_sty_xml((data), opts); + return (name.substr(-4)===".bin" ? parse_sty_bin : parse_sty_xml)(data, opts); } function parse_theme(data, name, opts) { @@ -9510,42 +8441,39 @@ function parse_theme(data, name, opts) { } function parse_sst(data, name, opts) { - if(name.slice(-4)===".bin") return parse_sst_bin((data), opts); - return parse_sst_xml((data), opts); + return (name.substr(-4)===".bin" ? parse_sst_bin : parse_sst_xml)(data, opts); } function parse_cmnt(data, name, opts) { - if(name.slice(-4)===".bin") return parse_comments_bin((data), opts); - return parse_comments_xml((data), opts); + return (name.substr(-4)===".bin" ? parse_comments_bin : parse_comments_xml)(data, opts); } function parse_cc(data, name, opts) { - if(name.slice(-4)===".bin") return parse_cc_bin((data), opts); - return parse_cc_xml((data), opts); + return (name.substr(-4)===".bin" ? parse_cc_bin : parse_cc_xml)(data, opts); } function write_wb(wb, name, opts) { - return (name.slice(-4)===".bin" ? write_wb_bin : write_wb_xml)(wb, opts); + return (name.substr(-4)===".bin" ? write_wb_bin : write_wb_xml)(wb, opts); } function write_ws(data, name, opts, wb) { - return (name.slice(-4)===".bin" ? write_ws_bin : write_ws_xml)(data, opts, wb); + return (name.substr(-4)===".bin" ? write_ws_bin : write_ws_xml)(data, opts, wb); } function write_sty(data, name, opts) { - return (name.slice(-4)===".bin" ? write_sty_bin : write_sty_xml)(data, opts); + return (name.substr(-4)===".bin" ? write_sty_bin : write_sty_xml)(data, opts); } function write_sst(data, name, opts) { - return (name.slice(-4)===".bin" ? write_sst_bin : write_sst_xml)(data, opts); + return (name.substr(-4)===".bin" ? write_sst_bin : write_sst_xml)(data, opts); } /* -function write_cmnt(data, name:string, opts) { - return (name.slice(-4)===".bin" ? write_comments_bin : write_comments_xml)(data, opts); +function write_cmnt(data, name, opts) { + return (name.substr(-4)===".bin" ? write_comments_bin : write_comments_xml)(data, opts); } -function write_cc(data, name:string, opts) { - return (name.slice(-4)===".bin" ? write_cc_bin : write_cc_xml)(data, opts); +function write_cc(data, name, opts) { + return (name.substr(-4)===".bin" ? write_cc_bin : write_cc_xml)(data, opts); } */ var attregexg2=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; @@ -9553,12 +8481,12 @@ 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]; + 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); + 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); @@ -9574,7 +8502,7 @@ function xlml_parsexmltagobj(tag) { 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); + 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); @@ -9593,16 +8521,15 @@ function xlml_format(format, value) { } function xlml_set_custprop(Custprops, Rn, cp, val) { - var oval = val; switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]) { - case "boolean": oval = parsexmlbool(val); break; - case "i2": case "int": oval = parseInt(val, 10); break; - case "r4": case "float": oval = parseFloat(val); break; - case "date": case "dateTime.tz": oval = new Date(val); break; + 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 new Error("bad custprop:" + cp[0]); + default: throw "bad custprop:" + cp[0]; } - Custprops[unescapexml(Rn[3])] = oval; + Custprops[unescapexml(Rn[3])] = val; } function safe_format_xlml(cell, nf, o) { @@ -9631,10 +8558,9 @@ 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, arrayf, o) { +function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, o) { var nf = "General", sid = cell.StyleID, S = {}; o = o || {}; var interiors = []; - var i = 0; if(sid === undefined && row) sid = row.StyleID; if(sid === undefined && csty) sid = csty.StyleID; while(styles[sid] !== undefined) { @@ -9650,7 +8576,7 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o break; case 'String': cell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml)); - cell.v = xml.indexOf("<") > -1 ? unescapexml(ss) : cell.r; + 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 * 1000); @@ -9666,24 +8592,9 @@ function parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o 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); - /* 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.cellFormula != null && cell.Formula) { + cell.f = rc_to_a1(unescapexml(cell.Formula), base); + cell.Formula = undefined; } if(o.cellStyles) { interiors.forEach(function(x) { @@ -9702,37 +8613,30 @@ function xlml_clean_comment(comment) { 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"); + throw "badf"; } /* TODO: Everything */ -/* UOS uses CJK in tags */ -var xlmlregex = /<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/mg; -//var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; +var xlmlregex = /<(\/?)([a-z0-9]*:|)(\w+)[^>]*>/mg; function parse_xlml_xml(d, opts) { - var str = debom(xlml_normalize(d)); - if(opts && opts.type == 'binary' && typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str)); - if(str.substr(0,1000).indexOf("= 0) return parse_html(str, 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 table = {}, cell = {}, row = {}, dtag, didx; var c = 0, r = 0; - var refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} }; + var refguess = {s: {r:1000000, c:1000000}, 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; - str = str.replace(//mg,""); 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); + 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': @@ -9755,15 +8659,15 @@ function parse_xlml_xml(d, opts) { if(cell.Index) c = +cell.Index - 1; if(c < refguess.s.c) refguess.s.c = c; if(c > refguess.e.c) refguess.e.c = c; - if(Rn[0].slice(-2) === "/>") ++c; + if(Rn[0].substr(-2) === "/>") ++c; comments = []; } break; case 'Row': - if(Rn[1]==='/' || Rn[0].slice(-2) === "/>") { + if(Rn[1]==='/' || Rn[0].substr(-2) === "/>") { if(r < refguess.s.r) refguess.s.r = r; if(r > refguess.e.r) refguess.e.r = r; - if(Rn[0].slice(-2) === "/>") { + if(Rn[0].substr(-2) === "/>") { row = xlml_parsexmltag(Rn[0]); if(row.Index) r = +row.Index - 1; } @@ -9775,23 +8679,23 @@ function parse_xlml_xml(d, opts) { break; case 'Worksheet': /* TODO: read range from FullRows/FullColumns */ if(Rn[1]==='/'){ - if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|")); + 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:2000000, c:2000000}, e: {r:0, c:0} }; + refguess = {s: {r:1000000, c:1000000}, e: {r:0, c:0} }; r = c = 0; state.push([Rn[3], false]); tmp = xlml_parsexmltag(Rn[0]); - sheetname = unescapexml(tmp.Name); + sheetname = tmp.Name; cursheet = {}; mergecells = []; } break; case 'Table': - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} + 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]); @@ -9829,7 +8733,7 @@ function parse_xlml_xml(d, opts) { case 'Alignment': break; case 'Borders': break; case 'Font': - if(Rn[0].slice(-2) === "/>") break; + if(Rn[0].substr(-2) === "/>") break; else if(Rn[1]==="/") ss += str.slice(fidx, Rn.index); else fidx = Rn.index + Rn[0].length; break; @@ -9855,7 +8759,7 @@ function parse_xlml_xml(d, opts) { case 'TotalTime': case 'HyperlinkBase': case 'Manager': - if(Rn[0].slice(-2) === "/>") break; + 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; @@ -9863,13 +8767,13 @@ function parse_xlml_xml(d, opts) { case 'Styles': case 'Workbook': - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} + 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 new Error("Bad state: "+tmp.join("|")); + if((tmp=state.pop())[0]!==Rn[3]) throw "Bad state: "+tmp; xlml_clean_comment(comment); comments.push(comment); } else { @@ -9902,16 +8806,11 @@ function parse_xlml_xml(d, opts) { case 'ExcelWorkbook': case 'WorkbookOptions': case 'WorksheetOptions': - if(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error("Bad state: "+tmp.join("|"));} + 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: - /* FODS file root is */ - if(state.length == 0 && Rn[3] == "document") return parse_fods(str, opts); - /* UOS file root is */ - if(state.length == 0 && Rn[3] == "UOF") return parse_fods(str, opts); - var seen = true; switch(state[state.length-1][0]) { /* OfficeDocumentSettings */ @@ -10249,14 +9148,14 @@ function parse_xlml_xml(d, opts) { /* CustomDocumentProperties */ if(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + "|" + state.join("|"); if(state[state.length-1][0]==='CustomDocumentProperties') { - if(Rn[0].slice(-2) === "/>") break; + 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 = ({}); + var out = {}; if(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets; out.SheetNames = sheetnames; out.SSF = SSF.get_table(); @@ -10274,11 +9173,8 @@ function parse_xlml(data, opts) { } } -/* TODO */ -function write_xlml(wb, opts) { - var o = [XML_HEADER]; - return o.join(""); -} +function write_xlml(wb, opts) { } + /* [MS-OLEDS] 2.3.8 CompObjStream */ function parse_compobj(obj) { var v = {}; @@ -10303,7 +9199,7 @@ function parse_compobj(obj) { m = __lpstr(o, l); l += m.length === 0 ? 0 : 5 + m.length; v.Reserved1 = m; if((m = __readUInt32LE(o,l)) !== 0x71b2e9f4) return v; - throw new Error("Unsupported Unicode Extension"); + throw "Unsupported Unicode Extension"; } /* 2.4.58 Continue logic */ @@ -10326,7 +9222,7 @@ function slurp(R, blob, length, opts) { blob.l += 4+l; next = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]); } - var b = (bconcat(bufs)); + var b = bconcat(bufs); prep_blob(b, 0); var ll = 0; b.lens = []; for(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; } @@ -10334,11 +9230,10 @@ function slurp(R, blob, length, opts) { } function safe_format_xf(p, opts, date1904) { - if(p.t === 'e') { p.w = p.w || BErr[p.v]; } if(!p.XF) return; try { var fmtid = p.XF.ifmt||0; - if(p.t === 'e'); + if(p.t === 'e') { p.w = p.w || BErr[p.v]; } else if(fmtid === 0) { if(p.t === 'n') { if((p.v|0) === p.v) p.w = SSF._general_int(p.v); @@ -10346,18 +9241,18 @@ function safe_format_xf(p, opts, date1904) { } else p.w = SSF._general(p.v); } - else p.w = SSF.format(fmtid,p.v, {date1904:!!date1904}); + else p.w = SSF.format(fmtid,p.v, {date1904:date1904||false}); if(opts.cellNF) p.z = SSF._table[fmtid]; } catch(e) { if(opts.WTF) throw e; } } function make_cell(val, ixfe, t) { - return ({v:val, ixfe:ixfe, t:t}); + return {v:val, ixfe:ixfe, t:t}; } // 2.3.2 function parse_workbook(blob, options) { - var wb = ({opts:{}}); + var wb = {opts:{}}; var Sheets = {}; var out = {}; var Directory = {}; @@ -10367,7 +9262,7 @@ function parse_workbook(blob, options) { var sst = []; var cur_sheet = ""; var Preamble = {}; - var lastcell, last_cell = "", cc, cmnt, rng, rngC, rngR; + var lastcell, last_cell, cc, cmnt, rng, rngC, rngR; var shared_formulae = {}; var array_formulae = []; /* TODO: something more clever */ var temp_val; @@ -10383,7 +9278,7 @@ function parse_workbook(blob, options) { var process_cell_style = function pcs(cell, line) { var xfd = line.XF.data; if(!xfd || !xfd.patternType) return; - line.s = ({}); + line.s = {}; line.s.patternType = xfd.patternType; var t; if((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; } @@ -10405,7 +9300,7 @@ function parse_workbook(blob, options) { if(options.sheetRows && lastcell.r >= options.sheetRows) cell_valid = false; else out[last_cell] = line; }; - var opts = ({ + var opts = { enc: false, // encrypted sbcch: 0, // cch in the preceding SupBook snames: [], // sheetnames @@ -10417,18 +9312,17 @@ function parse_workbook(blob, options) { codepage: 0, // CP from CodePage record winlocked: 0, // fLockWn from WinProtect wtf: false - }); + }; if(options.password) opts.password = options.password; var mergecells = []; var objects = []; - var supbooks = ([[]]); // 1-indexed, will hold extern names + var supbooks = [[]]; // 1-indexed, will hold extern names 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; /* TODO: make a real stack */ - var BIFF2Fmt = 0; /* explicit override for some broken writers */ opts.codepage = 1200; @@ -10440,8 +9334,6 @@ function parse_workbook(blob, options) { if(RecordType === 0 && last_Rn === 'EOF') break; var length = (blob.l === blob.length ? 0 : blob.read_shift(2)), y; var R = XLSRecordEnum[RecordType]; - //console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length); - //if(!R) console.log(blob.slice(blob.l, blob.l + length)); if(R && R.f) { if(options.bookSheets) { if(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break; @@ -10457,6 +9349,10 @@ function parse_workbook(blob, options) { if(R.n === 'EOF') val = R.f(blob, length, opts); else val = slurp(R, blob, length, opts); var Rn = R.n; + /* BIFF5 overrides */ + if(opts.biff === 5 || opts.biff === 2) switch(Rn) { + case 'Lbl': Rn = 'Label'; break; + } /* nested switch statements to workaround V8 128 limit */ switch(Rn) { /* Workbook Options */ @@ -10485,7 +9381,9 @@ function parse_workbook(blob, options) { case 'RefreshAll': wb.opts.RefreshAll = val; break; case 'BookBool': break; // TODO case 'UsesELFs': /* if(val) console.error("Unsupported ELFs"); */ break; - case 'MTRSettings': break; + case 'MTRSettings': { + if(val[0] && val[1]) throw "Unsupported threads: " + val; + } break; // TODO: actually support threads case 'CalcCount': wb.opts.CalcCount = val; break; case 'CalcDelta': wb.opts.CalcDelta = val; break; case 'CalcIter': wb.opts.CalcIter = val; break; @@ -10532,49 +9430,41 @@ function parse_workbook(blob, options) { out = {}; } break; case 'BOF': { - if(opts.biff !== 8){} - else if(RecordType === 0x0009) opts.biff = 2; - else if(RecordType === 0x0209) opts.biff = 3; - else if(RecordType === 0x0409) opts.biff = 4; + if(opts.biff !== 8); else if(val.BIFFVer === 0x0500) opts.biff = 5; - else if(val.BIFFVer === 0x0600) opts.biff = 8; else if(val.BIFFVer === 0x0002) opts.biff = 2; else if(val.BIFFVer === 0x0007) opts.biff = 2; if(file_depth++) break; cell_valid = true; out = {}; - if(opts.biff < 5) { + if(opts.biff === 2) { if(cur_sheet === "") cur_sheet = "Sheet1"; range = {s:{r:0,c:0},e:{r:0,c:0}}; - /* fake BoundSheet8 */ - 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': { + case 'Number': case 'BIFF2NUM': { temp_val = {ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:'n'}; - safe_format_xf(temp_val, options, wb.opts.Date1904); + if(temp_val.XF) 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); + if(temp_val.XF) 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); + if(temp_val.XF) 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); + if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:j, r:val.r}, temp_val, options); } } break; @@ -10583,18 +9473,10 @@ function parse_workbook(blob, options) { 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 = {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); + if(options.cellFormula) temp_val.f = "="+stringify_formula(val.formula,range,val.cell,supbooks, opts); + if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); addcell(val.cell, temp_val, options); last_formula = val; } @@ -10602,44 +9484,35 @@ function parse_workbook(blob, options) { case 'String': { if(last_formula) { last_formula.val = val; - temp_val = ({v:last_formula.val, ixfe:last_formula.cell.ixfe, t:'s'}); + 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); + if(options.cellFormula) temp_val.f = "="+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts); + if(temp_val.XF) 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]) { - if(!last_formula) break; /* technically unreachable */ - if(!last_cell || !out[last_cell]) break; /* technically unreachable */ - 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) { - /* TODO: capture range */ - if(!last_formula) break; /* technically unreachable */ - shared_formulae[encode_cell(last_formula.cell)]= val[0]; - (out[encode_cell(last_formula.cell)]||{}).f = stringify_formula(val[0], range, lastcell, supbooks, opts); - } + //if(options.cellFormula) out[last_cell].f = stringify_formula(val[0], range, lastcell, supbooks, opts); + /* TODO: capture range */ + shared_formulae[encode_cell(last_formula.cell)]= val[0]; } break; case 'LabelSst': + //temp_val={v:sst[val.isst].t, ixfe:val.ixfe, t:'s'}; 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); + if(temp_val.XF) 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': + /* Some writers erroneously write Label */ 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); + if(temp_val.XF) safe_format_xf(temp_val, options, wb.opts.Date1904); addcell({c:val.c, r:val.r}, temp_val, options); break; case 'Dimensions': { @@ -10651,9 +9524,6 @@ function parse_workbook(blob, options) { case 'Format': { /* val = [id, fmt] */ SSF.load(val[1], val[0]); } break; - case 'BIFF2FORMAT': { - SSF.load(val, BIFF2Fmt++); - } break; case 'MergeCells': mergecells = mergecells.concat(val); break; @@ -10906,16 +9776,12 @@ function parse_workbook(blob, options) { /* Future Records */ case 'FrtFontList': case 'FrtWrapper': break; - 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': case 'BIFF2FONTXTRA': break; - case 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break; - case 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break; - + default: switch(R.n) { /* nested */ /* Miscellaneous */ case 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt': case 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData': @@ -10924,7 +9790,7 @@ function parse_workbook(blob, options) { }}}} } 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 sheetnamesraw = opts.biff === 2 ? ['Sheet1'] : 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; @@ -10943,33 +9809,33 @@ if(!options) options = {}; fix_read_opts(options); reset_cp(); var CompObj, Summary, Workbook; -if(cfb.FullPaths) { +if(cfb.find) { CompObj = cfb.find('!CompObj'); Summary = cfb.find('!SummaryInformation'); Workbook = cfb.find('/Workbook'); } else { prep_blob(cfb, 0); - Workbook = ({content: cfb}); + 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 = ({}); +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); +if(cfb.find) 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; /* TODO: split up properties */ if(options.bookFiles) WorkbookP.cfb = cfb; -/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */ +WorkbookP.CompObjP = CompObjP; return WorkbookP; } @@ -10986,1879 +9852,1239 @@ function parse_props(cfb) { /* [MS-XLSB] 2.3 Record Enumeration */ var XLSBRecordEnum = { -0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, -0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, -0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, -0x0003: { n:"BrtCellError", f:parse_BrtCellError }, -0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, -0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, -0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, -0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, -0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, -0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, -0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, -0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, -0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, -0x0013: { n:"BrtSSTItem", f:parse_RichStr }, -0x0014: { n:"BrtPCDIMissing", f:parsenoop }, -0x0015: { n:"BrtPCDINumber", f:parsenoop }, -0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, -0x0017: { n:"BrtPCDIError", f:parsenoop }, -0x0018: { n:"BrtPCDIString", f:parsenoop }, -0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, -0x001A: { n:"BrtPCDIIndex", f:parsenoop }, -0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, -0x001C: { n:"BrtPCDIANumber", f:parsenoop }, -0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, -0x001E: { n:"BrtPCDIAError", f:parsenoop }, -0x001F: { n:"BrtPCDIAString", f:parsenoop }, -0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, -0x0021: { n:"BrtPCRRecord", f:parsenoop }, -0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, -0x0023: { n:"BrtFRTBegin", f:parsenoop }, -0x0024: { n:"BrtFRTEnd", f:parsenoop }, -0x0025: { n:"BrtACBegin", f:parsenoop }, -0x0026: { n:"BrtACEnd", f:parsenoop }, -0x0027: { n:"BrtName", f:parse_BrtName }, -0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, -0x002A: { n:"BrtIndexBlock", f:parsenoop }, -0x002B: { n:"BrtFont", f:parse_BrtFont }, -0x002C: { n:"BrtFmt", f:parse_BrtFmt }, -0x002D: { n:"BrtFill", f:parsenoop }, -0x002E: { n:"BrtBorder", f:parsenoop }, -0x002F: { n:"BrtXF", f:parse_BrtXF }, -0x0030: { n:"BrtStyle", f:parsenoop }, -0x0031: { n:"BrtCellMeta", f:parsenoop }, -0x0032: { n:"BrtValueMeta", f:parsenoop }, -0x0033: { n:"BrtMdb", f:parsenoop }, -0x0034: { n:"BrtBeginFmd", f:parsenoop }, -0x0035: { n:"BrtEndFmd", f:parsenoop }, -0x0036: { n:"BrtBeginMdx", f:parsenoop }, -0x0037: { n:"BrtEndMdx", f:parsenoop }, -0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, -0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, -0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, -0x003B: { n:"BrtStr", f:parsenoop }, -0x003C: { n:"BrtColInfo", f:parsenoop }, -0x003E: { n:"BrtCellRString", f:parsenoop }, -0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, -0x0040: { n:"BrtDVal", f:parsenoop }, -0x0041: { n:"BrtSxvcellNum", f:parsenoop }, -0x0042: { n:"BrtSxvcellStr", f:parsenoop }, -0x0043: { n:"BrtSxvcellBool", f:parsenoop }, -0x0044: { n:"BrtSxvcellErr", f:parsenoop }, -0x0045: { n:"BrtSxvcellDate", f:parsenoop }, -0x0046: { n:"BrtSxvcellNil", f:parsenoop }, -0x0080: { n:"BrtFileVersion", f:parsenoop }, -0x0081: { n:"BrtBeginSheet", f:parsenoop }, -0x0082: { n:"BrtEndSheet", f:parsenoop }, -0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, -0x0084: { n:"BrtEndBook", f:parsenoop }, -0x0085: { n:"BrtBeginWsViews", f:parsenoop }, -0x0086: { n:"BrtEndWsViews", f:parsenoop }, -0x0087: { n:"BrtBeginBookViews", f:parsenoop }, -0x0088: { n:"BrtEndBookViews", f:parsenoop }, -0x0089: { n:"BrtBeginWsView", f:parsenoop }, -0x008A: { n:"BrtEndWsView", f:parsenoop }, -0x008B: { n:"BrtBeginCsViews", f:parsenoop }, -0x008C: { n:"BrtEndCsViews", f:parsenoop }, -0x008D: { n:"BrtBeginCsView", f:parsenoop }, -0x008E: { n:"BrtEndCsView", f:parsenoop }, -0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, -0x0090: { n:"BrtEndBundleShs", f:parsenoop }, -0x0091: { n:"BrtBeginSheetData", f:parsenoop }, -0x0092: { n:"BrtEndSheetData", f:parsenoop }, -0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, -0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, -0x0097: { n:"BrtPane", f:parsenoop }, -0x0098: { n:"BrtSel", f:parsenoop }, -0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, -0x009A: { n:"BrtWbFactoid", f:parsenoop }, -0x009B: { n:"BrtFileRecover", f:parsenoop }, -0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, -0x009D: { n:"BrtCalcProp", f:parsenoop }, -0x009E: { n:"BrtBookView", f:parsenoop }, -0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, -0x00A0: { n:"BrtEndSst", f:parsenoop }, -0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, -0x00A2: { n:"BrtEndAFilter", f:parsenoop }, -0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, -0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, -0x00A5: { n:"BrtBeginFilters", f:parsenoop }, -0x00A6: { n:"BrtEndFilters", f:parsenoop }, -0x00A7: { n:"BrtFilter", f:parsenoop }, -0x00A8: { n:"BrtColorFilter", f:parsenoop }, -0x00A9: { n:"BrtIconFilter", f:parsenoop }, -0x00AA: { n:"BrtTop10Filter", f:parsenoop }, -0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, -0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, -0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, -0x00AE: { n:"BrtCustomFilter", f:parsenoop }, -0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, -0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, -0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, -0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, -0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, -0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, -0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, -0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, -0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, -0x00B8: { n:"BrtEndPCDField", f:parsenoop }, -0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, -0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, -0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, -0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, -0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, -0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, -0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, -0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, -0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, -0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, -0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, -0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, -0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, -0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, -0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, -0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, -0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, -0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, -0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, -0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, -0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, -0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, -0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, -0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, -0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, -0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, -0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, -0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, -0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, -0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, -0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, -0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, -0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, -0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, -0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, -0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, -0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, -0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, -0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, -0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, -0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, -0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, -0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, -0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, -0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, -0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, -0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, -0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, -0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, -0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, -0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, -0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, -0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, -0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, -0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, -0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, -0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, -0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, -0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, -0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, -0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, -0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, -0x00F7: { n:"BrtBeginPRule", f:parsenoop }, -0x00F8: { n:"BrtEndPRule", f:parsenoop }, -0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, -0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, -0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, -0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, -0x00FD: { n:"BrtBeginPNames", f:parsenoop }, -0x00FE: { n:"BrtEndPNames", f:parsenoop }, -0x00FF: { n:"BrtBeginPName", f:parsenoop }, -0x0100: { n:"BrtEndPName", f:parsenoop }, -0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, -0x0102: { n:"BrtEndPNPairs", f:parsenoop }, -0x0103: { n:"BrtBeginPNPair", f:parsenoop }, -0x0104: { n:"BrtEndPNPair", f:parsenoop }, -0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, -0x0106: { n:"BrtEndECWebProps", f:parsenoop }, -0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, -0x0108: { n:"BrtEndECWPTables", f:parsenoop }, -0x0109: { n:"BrtBeginECParams", f:parsenoop }, -0x010A: { n:"BrtEndECParams", f:parsenoop }, -0x010B: { n:"BrtBeginECParam", f:parsenoop }, -0x010C: { n:"BrtEndECParam", f:parsenoop }, -0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, -0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, -0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, -0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, -0x0111: { n:"BrtBeginDims", f:parsenoop }, -0x0112: { n:"BrtEndDims", f:parsenoop }, -0x0113: { n:"BrtBeginDim", f:parsenoop }, -0x0114: { n:"BrtEndDim", f:parsenoop }, -0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, -0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, -0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, -0x0118: { n:"BrtBeginSXView", f:parsenoop }, -0x0119: { n:"BrtEndSXVI", f:parsenoop }, -0x011A: { n:"BrtBeginSXVI", f:parsenoop }, -0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, -0x011C: { n:"BrtEndSXVIs", f:parsenoop }, -0x011D: { n:"BrtBeginSXVD", f:parsenoop }, -0x011E: { n:"BrtEndSXVD", f:parsenoop }, -0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, -0x0120: { n:"BrtEndSXVDs", f:parsenoop }, -0x0121: { n:"BrtBeginSXPI", f:parsenoop }, -0x0122: { n:"BrtEndSXPI", f:parsenoop }, -0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, -0x0124: { n:"BrtEndSXPIs", f:parsenoop }, -0x0125: { n:"BrtBeginSXDI", f:parsenoop }, -0x0126: { n:"BrtEndSXDI", f:parsenoop }, -0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, -0x0128: { n:"BrtEndSXDIs", f:parsenoop }, -0x0129: { n:"BrtBeginSXLI", f:parsenoop }, -0x012A: { n:"BrtEndSXLI", f:parsenoop }, -0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, -0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, -0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, -0x012E: { n:"BrtEndSXLICols", f:parsenoop }, -0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, -0x0130: { n:"BrtEndSXFormat", f:parsenoop }, -0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, -0x0132: { n:"BrtEndSxFormats", f:parsenoop }, -0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, -0x0134: { n:"BrtEndSxSelect", f:parsenoop }, -0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, -0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, -0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, -0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, -0x0139: { n:"BrtEndSXLocation", f:parsenoop }, -0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, -0x013B: { n:"BrtEndSXView", f:parsenoop }, -0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, -0x013D: { n:"BrtEndSXTHs", f:parsenoop }, -0x013E: { n:"BrtBeginSXTH", f:parsenoop }, -0x013F: { n:"BrtEndSXTH", f:parsenoop }, -0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, -0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, -0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, -0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, -0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, -0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, -0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, -0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, -0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, -0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, -0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, -0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, -0x014C: { n:"BrtBeginMetadata", f:parsenoop }, -0x014D: { n:"BrtEndMetadata", f:parsenoop }, -0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, -0x014F: { n:"BrtMdtinfo", f:parsenoop }, -0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, -0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, -0x0152: { n:"BrtEndEsmdb", f:parsenoop }, -0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, -0x0154: { n:"BrtEndEsfmd", f:parsenoop }, -0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, -0x0156: { n:"BrtEndSingleCells", f:parsenoop }, -0x0157: { n:"BrtBeginList", f:parsenoop }, -0x0158: { n:"BrtEndList", f:parsenoop }, -0x0159: { n:"BrtBeginListCols", f:parsenoop }, -0x015A: { n:"BrtEndListCols", f:parsenoop }, -0x015B: { n:"BrtBeginListCol", f:parsenoop }, -0x015C: { n:"BrtEndListCol", f:parsenoop }, -0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, -0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, -0x015F: { n:"BrtListCCFmla", f:parsenoop }, -0x0160: { n:"BrtListTrFmla", f:parsenoop }, -0x0161: { n:"BrtBeginExternals", f:parsenoop }, -0x0162: { n:"BrtEndExternals", f:parsenoop }, -0x0163: { n:"BrtSupBookSrc", f:parsenoop }, -0x0165: { n:"BrtSupSelf", f:parsenoop }, -0x0166: { n:"BrtSupSame", f:parsenoop }, -0x0167: { n:"BrtSupTabs", f:parsenoop }, -0x0168: { n:"BrtBeginSupBook", f:parsenoop }, -0x0169: { n:"BrtPlaceholderName", f:parsenoop }, -0x016A: { n:"BrtExternSheet", f:parsenoop }, -0x016B: { n:"BrtExternTableStart", f:parsenoop }, -0x016C: { n:"BrtExternTableEnd", f:parsenoop }, -0x016E: { n:"BrtExternRowHdr", f:parsenoop }, -0x016F: { n:"BrtExternCellBlank", f:parsenoop }, -0x0170: { n:"BrtExternCellReal", f:parsenoop }, -0x0171: { n:"BrtExternCellBool", f:parsenoop }, -0x0172: { n:"BrtExternCellError", f:parsenoop }, -0x0173: { n:"BrtExternCellString", f:parsenoop }, -0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, -0x0175: { n:"BrtEndEsmdx", f:parsenoop }, -0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, -0x0177: { n:"BrtEndMdxSet", f:parsenoop }, -0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, -0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, -0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, -0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, -0x017C: { n:"BrtBeginEsstr", f:parsenoop }, -0x017D: { n:"BrtEndEsstr", f:parsenoop }, -0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, -0x017F: { n:"BrtEndPRFItem", f:parsenoop }, -0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, -0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, -0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, -0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, -0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, -0x0185: { n:"BrtEndISXVIs", f:parsenoop }, -0x0186: { n:"BrtBeginColInfos", f:parsenoop }, -0x0187: { n:"BrtEndColInfos", f:parsenoop }, -0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, -0x0189: { n:"BrtEndRwBrk", f:parsenoop }, -0x018A: { n:"BrtBeginColBrk", f:parsenoop }, -0x018B: { n:"BrtEndColBrk", f:parsenoop }, -0x018C: { n:"BrtBrk", f:parsenoop }, -0x018D: { n:"BrtUserBookView", f:parsenoop }, -0x018E: { n:"BrtInfo", f:parsenoop }, -0x018F: { n:"BrtCUsr", f:parsenoop }, -0x0190: { n:"BrtUsr", f:parsenoop }, -0x0191: { n:"BrtBeginUsers", f:parsenoop }, -0x0193: { n:"BrtEOF", f:parsenoop }, -0x0194: { n:"BrtUCR", f:parsenoop }, -0x0195: { n:"BrtRRInsDel", f:parsenoop }, -0x0196: { n:"BrtRREndInsDel", f:parsenoop }, -0x0197: { n:"BrtRRMove", f:parsenoop }, -0x0198: { n:"BrtRREndMove", f:parsenoop }, -0x0199: { n:"BrtRRChgCell", f:parsenoop }, -0x019A: { n:"BrtRREndChgCell", f:parsenoop }, -0x019B: { n:"BrtRRHeader", f:parsenoop }, -0x019C: { n:"BrtRRUserView", f:parsenoop }, -0x019D: { n:"BrtRRRenSheet", f:parsenoop }, -0x019E: { n:"BrtRRInsertSh", f:parsenoop }, -0x019F: { n:"BrtRRDefName", f:parsenoop }, -0x01A0: { n:"BrtRRNote", f:parsenoop }, -0x01A1: { n:"BrtRRConflict", f:parsenoop }, -0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, -0x01A3: { n:"BrtRRFormat", f:parsenoop }, -0x01A4: { n:"BrtRREndFormat", f:parsenoop }, -0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, -0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, -0x01A7: { n:"BrtBeginUserShView", f:parsenoop }, -0x01A8: { n:"BrtEndUserShView", f:parsenoop }, -0x01A9: { n:"BrtEndUserShViews", 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 }, -0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, -0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, -0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, -0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, -0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, -0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, -0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, -0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, -0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, -0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, -0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, -0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, -0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, -0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, -0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, -0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, -0x01BF: { n:"BrtBeginQSI", f:parsenoop }, -0x01C0: { n:"BrtEndQSI", f:parsenoop }, -0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, -0x01C2: { n:"BrtEndQSIR", f:parsenoop }, -0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, -0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, -0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, -0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, -0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, -0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, -0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, -0x01CA: { n:"BrtEndQSIF", f:parsenoop }, -0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, -0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, -0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, -0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, -0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, -0x01D0: { n:"BrtEndCFRule", f:parsenoop }, -0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, -0x01D2: { n:"BrtEndIconSet", f:parsenoop }, -0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, -0x01D4: { n:"BrtEndDatabar", f:parsenoop }, -0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, -0x01D6: { n:"BrtEndColorScale", f:parsenoop }, -0x01D7: { n:"BrtCFVO", f:parsenoop }, -0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, -0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, -0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, -0x01DB: { n:"BrtIndexedColor", f:parsenoop }, -0x01DC: { n:"BrtMargins", f:parsenoop }, -0x01DD: { n:"BrtPrintOptions", f:parsenoop }, -0x01DE: { n:"BrtPageSetup", f:parsenoop }, -0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, -0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, -0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, -0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, -0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, -0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, -0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, -0x01E6: { n:"BrtBeginMgs", f:parsenoop }, -0x01E7: { n:"BrtEndMGs", f:parsenoop }, -0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, -0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, -0x01EA: { n:"BrtBeginMG", f:parsenoop }, -0x01EB: { n:"BrtEndMG", f:parsenoop }, -0x01EC: { n:"BrtBeginMap", f:parsenoop }, -0x01ED: { n:"BrtEndMap", f:parsenoop }, -0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, -0x01EF: { n:"BrtBeginDCon", f:parsenoop }, -0x01F0: { n:"BrtEndDCon", f:parsenoop }, -0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, -0x01F2: { n:"BrtEndDRefs", f:parsenoop }, -0x01F3: { n:"BrtDRef", f:parsenoop }, -0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, -0x01F5: { n:"BrtEndScenMan", f:parsenoop }, -0x01F6: { n:"BrtBeginSct", f:parsenoop }, -0x01F7: { n:"BrtEndSct", f:parsenoop }, -0x01F8: { n:"BrtSlc", f:parsenoop }, -0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, -0x01FA: { n:"BrtEndDXFs", f:parsenoop }, -0x01FB: { n:"BrtDXF", f:parsenoop }, -0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, -0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, -0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, -0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, -0x0200: { n:"BrtTableStyleElement", f:parsenoop }, -0x0201: { n:"BrtTableStyleClient", f:parsenoop }, -0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, -0x0203: { n:"BrtEndVolDeps", f:parsenoop }, -0x0204: { n:"BrtBeginVolType", f:parsenoop }, -0x0205: { n:"BrtEndVolType", f:parsenoop }, -0x0206: { n:"BrtBeginVolMain", f:parsenoop }, -0x0207: { n:"BrtEndVolMain", f:parsenoop }, -0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, -0x0209: { n:"BrtEndVolTopic", f:parsenoop }, -0x020A: { n:"BrtVolSubtopic", f:parsenoop }, -0x020B: { n:"BrtVolRef", f:parsenoop }, -0x020C: { n:"BrtVolNum", f:parsenoop }, -0x020D: { n:"BrtVolErr", f:parsenoop }, -0x020E: { n:"BrtVolStr", f:parsenoop }, -0x020F: { n:"BrtVolBool", f:parsenoop }, -0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, -0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, -0x0212: { n:"BrtBeginSortState", f:parsenoop }, -0x0213: { n:"BrtEndSortState", f:parsenoop }, -0x0214: { n:"BrtBeginSortCond", f:parsenoop }, -0x0215: { n:"BrtEndSortCond", f:parsenoop }, -0x0216: { n:"BrtBookProtection", f:parsenoop }, -0x0217: { n:"BrtSheetProtection", f:parsenoop }, -0x0218: { n:"BrtRangeProtection", f:parsenoop }, -0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, -0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, -0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, -0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, -0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, -0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, -0x0224: { n:"BrtFileSharing", f:parsenoop }, -0x0225: { n:"BrtOleSize", f:parsenoop }, -0x0226: { n:"BrtDrawing", f:parsenoop }, -0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, -0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, -0x0229: { n:"BrtWebOpt", f:parsenoop }, -0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, -0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, -0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, -0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, -0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, -0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, -0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, -0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, -0x0232: { n:"BrtBkHim", f:parsenoop }, -0x0234: { n:"BrtColor", f:parsenoop }, -0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, -0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, -0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, -0x023A: { n:"BrtEndMRUColors", f:parsenoop }, -0x023C: { n:"BrtMRUColor", f:parsenoop }, -0x023D: { n:"BrtBeginDVals", f:parsenoop }, -0x023E: { n:"BrtEndDVals", f:parsenoop }, -0x0241: { n:"BrtSupNameStart", f:parsenoop }, -0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, -0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, -0x0244: { n:"BrtSupNameNum", f:parsenoop }, -0x0245: { n:"BrtSupNameErr", f:parsenoop }, -0x0246: { n:"BrtSupNameSt", f:parsenoop }, -0x0247: { n:"BrtSupNameNil", f:parsenoop }, -0x0248: { n:"BrtSupNameBool", f:parsenoop }, -0x0249: { n:"BrtSupNameFmla", f:parsenoop }, -0x024A: { n:"BrtSupNameBits", f:parsenoop }, -0x024B: { n:"BrtSupNameEnd", f:parsenoop }, -0x024C: { n:"BrtEndSupBook", f:parsenoop }, -0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, -0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, -0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, -0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, -0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, -0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, -0x0253: { n:"BrtEndSmartTags", f:parsenoop }, -0x0254: { n:"BrtSmartTagType", f:parsenoop }, -0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, -0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, -0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, -0x0258: { n:"BrtEndSXFilters", f:parsenoop }, -0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, -0x025A: { n:"BrtEndSXFilter", f:parsenoop }, -0x025B: { n:"BrtBeginFills", f:parsenoop }, -0x025C: { n:"BrtEndFills", f:parsenoop }, -0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, -0x025E: { n:"BrtEndCellWatches", f:parsenoop }, -0x025F: { n:"BrtCellWatch", f:parsenoop }, -0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, -0x0261: { n:"BrtEndCRErrs", f:parsenoop }, -0x0262: { n:"BrtCrashRecErr", f:parsenoop }, -0x0263: { n:"BrtBeginFonts", f:parsenoop }, -0x0264: { n:"BrtEndFonts", f:parsenoop }, -0x0265: { n:"BrtBeginBorders", f:parsenoop }, -0x0266: { n:"BrtEndBorders", f:parsenoop }, -0x0267: { n:"BrtBeginFmts", f:parsenoop }, -0x0268: { n:"BrtEndFmts", f:parsenoop }, -0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, -0x026A: { n:"BrtEndCellXFs", f:parsenoop }, -0x026B: { n:"BrtBeginStyles", f:parsenoop }, -0x026C: { n:"BrtEndStyles", f:parsenoop }, -0x0271: { n:"BrtBigName", f:parsenoop }, -0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, -0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, -0x0274: { n:"BrtBeginComments", f:parsenoop }, -0x0275: { n:"BrtEndComments", f:parsenoop }, -0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, -0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, -0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, -0x0279: { n:"BrtBeginCommentList", f:parsenoop }, -0x027A: { n:"BrtEndCommentList", f:parsenoop }, -0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, -0x027C: { n:"BrtEndComment", f:parsenoop }, -0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, -0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, -0x027F: { n:"BrtOleObject", f:parsenoop }, -0x0280: { n:"BrtEndOleObjects", f:parsenoop }, -0x0281: { n:"BrtBeginSxrules", f:parsenoop }, -0x0282: { n:"BrtEndSxRules", f:parsenoop }, -0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, -0x0284: { n:"BrtActiveX", f:parsenoop }, -0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, -0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, -0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, -0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, -0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, -0x028B: { n:"BrtCsProp", f:parsenoop }, -0x028C: { n:"BrtCsPageSetup", f:parsenoop }, -0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, -0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, -0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, -0x0290: { n:"BrtEndUserCsView", f:parsenoop }, -0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, -0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, -0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, -0x0294: { n:"BrtBeginListParts", f:parsenoop }, -0x0295: { n:"BrtListPart", f:parsenoop }, -0x0296: { n:"BrtEndListParts", f:parsenoop }, -0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, -0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, -0x0299: { n:"BrtFnGroup", f:parsenoop }, -0x029A: { n:"BrtEndFnGroup", f:parsenoop }, -0x029B: { n:"BrtSupAddin", f:parsenoop }, -0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, -0x029D: { n:"BrtCsProtection", f:parsenoop }, -0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, -0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, -0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, -0x02A2: { n:"BrtEndRRSort", f:parsenoop }, -0x02A3: { n:"BrtRRSortItem", f:parsenoop }, -0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, -0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, -0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, -0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, -0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, -0x0400: { n:"BrtRwDescent", f:parsenoop }, -0x0401: { n:"BrtKnownFonts", f:parsenoop }, -0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, -0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, -0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, -0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, -0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, -0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, -0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, -0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, -0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, -0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, -0x040C: { n:"BrtNameExt", f:parsenoop }, -0x040D: { n:"BrtPCDH14", f:parsenoop }, -0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, -0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, -0x0410: { n:"BrtSXTH14", f:parsenoop }, -0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, -0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, -0x0413: { n:"BrtSparkline", f:parsenoop }, -0x0414: { n:"BrtSXDI14", f:parsenoop }, -0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, -0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, -0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, -0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, -0x0419: { n:"BrtEndCFRule14", f:parsenoop }, -0x041A: { n:"BrtCFVO14", f:parsenoop }, -0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, -0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, -0x041D: { n:"BrtDVal14", f:parsenoop }, -0x041E: { n:"BrtBeginDVals14", f:parsenoop }, -0x041F: { n:"BrtColor14", f:parsenoop }, -0x0420: { n:"BrtBeginSparklines", f:parsenoop }, -0x0421: { n:"BrtEndSparklines", f:parsenoop }, -0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, -0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, -0x0425: { n:"BrtSXVD14", f:parsenoop }, -0x0426: { n:"BrtBeginSxview14", f:parsenoop }, -0x0427: { n:"BrtEndSxview14", f:parsenoop }, -0x042A: { n:"BrtBeginPCD14", f:parsenoop }, -0x042B: { n:"BrtEndPCD14", f:parsenoop }, -0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, -0x042D: { n:"BrtEndExtConn14", f:parsenoop }, -0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, -0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, -0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, -0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, -0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, -0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, -0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, -0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, -0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, -0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, -0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, -0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, -0x043B: { n:"BrtBeginSlicer", f:parsenoop }, -0x043C: { n:"BrtEndSlicer", f:parsenoop }, -0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, -0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, -0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, -0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, -0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, -0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, -0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, -0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, -0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, -0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, -0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, -0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, -0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, -0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, -0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, -0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, -0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, -0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, -0x044F: { n:"BrtRangeProtection14", f:parsenoop }, -0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, -0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, -0x0457: { n:"BrtList14", f:parsenoop }, -0x0458: { n:"BrtCFIcon", f:parsenoop }, -0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, -0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, -0x045B: { n:"BrtBeginSlicers", f:parsenoop }, -0x045C: { n:"BrtEndSlicers", f:parsenoop }, -0x045D: { n:"BrtWbProp14", f:parsenoop }, -0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, -0x045F: { n:"BrtEndSXEdit", f:parsenoop }, -0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, -0x0461: { n:"BrtEndSXEdits", f:parsenoop }, -0x0462: { n:"BrtBeginSXChange", f:parsenoop }, -0x0463: { n:"BrtEndSXChange", f:parsenoop }, -0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, -0x0465: { n:"BrtEndSXChanges", f:parsenoop }, -0x0466: { n:"BrtSXTupleItems", f:parsenoop }, -0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, -0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, -0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, -0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, -0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, -0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, -0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, -0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, -0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, -0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, -0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, -0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, -0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, -0x0475: { n:"BrtPCDField14", f:parsenoop }, -0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, -0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, -0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, -0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, -0x047A: { n:"BrtCFRuleExt", f:parsenoop }, -0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, -0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, -0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, -0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, -0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, -0x0481: { n:"BrtEndSortCond14", f:parsenoop }, -0x0482: { n:"BrtEndDVals14", f:parsenoop }, -0x0483: { n:"BrtEndIconSet14", f:parsenoop }, -0x0484: { n:"BrtEndDatabar14", f:parsenoop }, -0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, -0x0486: { n:"BrtEndColorScale14", f:parsenoop }, -0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, -0x0488: { n:"BrtEndSxrules14", f:parsenoop }, -0x0489: { n:"BrtBeginPRule14", f:parsenoop }, -0x048A: { n:"BrtEndPRule14", f:parsenoop }, -0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, -0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, -0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, -0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, -0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, -0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, -0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, -0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, -0x0493: { n:"BrtDxf14", f:parsenoop }, -0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, -0x0495: { n:"BrtEndDxf14s", f:parsenoop }, -0x0499: { n:"BrtFilter14", f:parsenoop }, -0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, -0x049C: { n:"BrtCustomFilter14", f:parsenoop }, -0x049D: { n:"BrtIconFilter14", f:parsenoop }, -0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, -0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, -0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, -0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, -0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, -0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, -0x0805: { n:"BrtPivotTableRef", f:parsenoop }, -0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, -0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, -0x0808: { n:"BrtEndSxvcells", f:parsenoop }, -0x0809: { n:"BrtBeginSxRow", f:parsenoop }, -0x080A: { n:"BrtEndSxRow", f:parsenoop }, -0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, -0x0813: { n:"BrtQsi15", f:parsenoop }, -0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, -0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, -0x0816: { n:"BrtWebExtension", f:parsenoop }, -0x0817: { n:"BrtAbsPath15", f:parsenoop }, -0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, -0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, -0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, -0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, -0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, -0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, -0x081F: { n:"BrtSxFilter15", f:parsenoop }, -0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, -0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, -0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, -0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, -0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, -0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, -0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, -0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, -0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, -0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, -0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, -0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, -0x082C: { n:"BrtPCDH15", f:parsenoop }, -0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, -0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, -0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, -0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, -0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, -0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, -0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, -0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, -0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, -0x0836: { n:"BrtDxf15", f:parsenoop }, -0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, -0x0838: { n:"brtEndDxfs15", f:parsenoop }, -0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, -0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, -0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, -0x083C: { n:"BrtItemUniqueName", f:parsenoop }, -0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, -0x083E: { n:"BrtEndExtConn15", f:parsenoop }, -0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, -0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, -0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, -0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, -0x0843: { n:"BrtTextPr15", f:parsenoop }, -0x0844: { n:"BrtRangePr15", f:parsenoop }, -0x0845: { n:"BrtDbCommand15", f:parsenoop }, -0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, -0x0847: { n:"BrtEndDbTables15", f:parsenoop }, -0x0848: { n:"BrtDbTable15", f:parsenoop }, -0x0849: { n:"BrtBeginDataModel", f:parsenoop }, -0x084A: { n:"BrtEndDataModel", f:parsenoop }, -0x084B: { n:"BrtBeginModelTables", f:parsenoop }, -0x084C: { n:"BrtEndModelTables", f:parsenoop }, -0x084D: { n:"BrtModelTable", f:parsenoop }, -0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, -0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, -0x0850: { n:"BrtModelRelationship", f:parsenoop }, -0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, -0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, -0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, -0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, -0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, -0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, -0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, -0x0858: { n:"BrtSXDI15", f:parsenoop }, -0xFFFF: { n:"", f:parsenoop } + 0x0000: { n:"BrtRowHdr", f:parse_BrtRowHdr }, + 0x0001: { n:"BrtCellBlank", f:parse_BrtCellBlank }, + 0x0002: { n:"BrtCellRk", f:parse_BrtCellRk }, + 0x0003: { n:"BrtCellError", f:parse_BrtCellError }, + 0x0004: { n:"BrtCellBool", f:parse_BrtCellBool }, + 0x0005: { n:"BrtCellReal", f:parse_BrtCellReal }, + 0x0006: { n:"BrtCellSt", f:parse_BrtCellSt }, + 0x0007: { n:"BrtCellIsst", f:parse_BrtCellIsst }, + 0x0008: { n:"BrtFmlaString", f:parse_BrtFmlaString }, + 0x0009: { n:"BrtFmlaNum", f:parse_BrtFmlaNum }, + 0x000A: { n:"BrtFmlaBool", f:parse_BrtFmlaBool }, + 0x000B: { n:"BrtFmlaError", f:parse_BrtFmlaError }, + 0x0010: { n:"BrtFRTArchID$", f:parse_BrtFRTArchID$ }, + 0x0013: { n:"BrtSSTItem", f:parse_RichStr }, + 0x0014: { n:"BrtPCDIMissing", f:parsenoop }, + 0x0015: { n:"BrtPCDINumber", f:parsenoop }, + 0x0016: { n:"BrtPCDIBoolean", f:parsenoop }, + 0x0017: { n:"BrtPCDIError", f:parsenoop }, + 0x0018: { n:"BrtPCDIString", f:parsenoop }, + 0x0019: { n:"BrtPCDIDatetime", f:parsenoop }, + 0x001A: { n:"BrtPCDIIndex", f:parsenoop }, + 0x001B: { n:"BrtPCDIAMissing", f:parsenoop }, + 0x001C: { n:"BrtPCDIANumber", f:parsenoop }, + 0x001D: { n:"BrtPCDIABoolean", f:parsenoop }, + 0x001E: { n:"BrtPCDIAError", f:parsenoop }, + 0x001F: { n:"BrtPCDIAString", f:parsenoop }, + 0x0020: { n:"BrtPCDIADatetime", f:parsenoop }, + 0x0021: { n:"BrtPCRRecord", f:parsenoop }, + 0x0022: { n:"BrtPCRRecordDt", f:parsenoop }, + 0x0023: { n:"BrtFRTBegin", f:parsenoop }, + 0x0024: { n:"BrtFRTEnd", f:parsenoop }, + 0x0025: { n:"BrtACBegin", f:parsenoop }, + 0x0026: { n:"BrtACEnd", f:parsenoop }, + 0x0027: { n:"BrtName", f:parsenoop }, + 0x0028: { n:"BrtIndexRowBlock", f:parsenoop }, + 0x002A: { n:"BrtIndexBlock", f:parsenoop }, + 0x002B: { n:"BrtFont", f:parse_BrtFont }, + 0x002C: { n:"BrtFmt", f:parse_BrtFmt }, + 0x002D: { n:"BrtFill", f:parsenoop }, + 0x002E: { n:"BrtBorder", f:parsenoop }, + 0x002F: { n:"BrtXF", f:parse_BrtXF }, + 0x0030: { n:"BrtStyle", f:parsenoop }, + 0x0031: { n:"BrtCellMeta", f:parsenoop }, + 0x0032: { n:"BrtValueMeta", f:parsenoop }, + 0x0033: { n:"BrtMdb", f:parsenoop }, + 0x0034: { n:"BrtBeginFmd", f:parsenoop }, + 0x0035: { n:"BrtEndFmd", f:parsenoop }, + 0x0036: { n:"BrtBeginMdx", f:parsenoop }, + 0x0037: { n:"BrtEndMdx", f:parsenoop }, + 0x0038: { n:"BrtBeginMdxTuple", f:parsenoop }, + 0x0039: { n:"BrtEndMdxTuple", f:parsenoop }, + 0x003A: { n:"BrtMdxMbrIstr", f:parsenoop }, + 0x003B: { n:"BrtStr", f:parsenoop }, + 0x003C: { n:"BrtColInfo", f:parsenoop }, + 0x003E: { n:"BrtCellRString", f:parsenoop }, + 0x003F: { n:"BrtCalcChainItem$", f:parse_BrtCalcChainItem$ }, + 0x0040: { n:"BrtDVal", f:parsenoop }, + 0x0041: { n:"BrtSxvcellNum", f:parsenoop }, + 0x0042: { n:"BrtSxvcellStr", f:parsenoop }, + 0x0043: { n:"BrtSxvcellBool", f:parsenoop }, + 0x0044: { n:"BrtSxvcellErr", f:parsenoop }, + 0x0045: { n:"BrtSxvcellDate", f:parsenoop }, + 0x0046: { n:"BrtSxvcellNil", f:parsenoop }, + 0x0080: { n:"BrtFileVersion", f:parsenoop }, + 0x0081: { n:"BrtBeginSheet", f:parsenoop }, + 0x0082: { n:"BrtEndSheet", f:parsenoop }, + 0x0083: { n:"BrtBeginBook", f:parsenoop, p:0 }, + 0x0084: { n:"BrtEndBook", f:parsenoop }, + 0x0085: { n:"BrtBeginWsViews", f:parsenoop }, + 0x0086: { n:"BrtEndWsViews", f:parsenoop }, + 0x0087: { n:"BrtBeginBookViews", f:parsenoop }, + 0x0088: { n:"BrtEndBookViews", f:parsenoop }, + 0x0089: { n:"BrtBeginWsView", f:parsenoop }, + 0x008A: { n:"BrtEndWsView", f:parsenoop }, + 0x008B: { n:"BrtBeginCsViews", f:parsenoop }, + 0x008C: { n:"BrtEndCsViews", f:parsenoop }, + 0x008D: { n:"BrtBeginCsView", f:parsenoop }, + 0x008E: { n:"BrtEndCsView", f:parsenoop }, + 0x008F: { n:"BrtBeginBundleShs", f:parsenoop }, + 0x0090: { n:"BrtEndBundleShs", f:parsenoop }, + 0x0091: { n:"BrtBeginSheetData", f:parsenoop }, + 0x0092: { n:"BrtEndSheetData", f:parsenoop }, + 0x0093: { n:"BrtWsProp", f:parse_BrtWsProp }, + 0x0094: { n:"BrtWsDim", f:parse_BrtWsDim, p:16 }, + 0x0097: { n:"BrtPane", f:parsenoop }, + 0x0098: { n:"BrtSel", f:parsenoop }, + 0x0099: { n:"BrtWbProp", f:parse_BrtWbProp }, + 0x009A: { n:"BrtWbFactoid", f:parsenoop }, + 0x009B: { n:"BrtFileRecover", f:parsenoop }, + 0x009C: { n:"BrtBundleSh", f:parse_BrtBundleSh }, + 0x009D: { n:"BrtCalcProp", f:parsenoop }, + 0x009E: { n:"BrtBookView", f:parsenoop }, + 0x009F: { n:"BrtBeginSst", f:parse_BrtBeginSst }, + 0x00A0: { n:"BrtEndSst", f:parsenoop }, + 0x00A1: { n:"BrtBeginAFilter", f:parsenoop }, + 0x00A2: { n:"BrtEndAFilter", f:parsenoop }, + 0x00A3: { n:"BrtBeginFilterColumn", f:parsenoop }, + 0x00A4: { n:"BrtEndFilterColumn", f:parsenoop }, + 0x00A5: { n:"BrtBeginFilters", f:parsenoop }, + 0x00A6: { n:"BrtEndFilters", f:parsenoop }, + 0x00A7: { n:"BrtFilter", f:parsenoop }, + 0x00A8: { n:"BrtColorFilter", f:parsenoop }, + 0x00A9: { n:"BrtIconFilter", f:parsenoop }, + 0x00AA: { n:"BrtTop10Filter", f:parsenoop }, + 0x00AB: { n:"BrtDynamicFilter", f:parsenoop }, + 0x00AC: { n:"BrtBeginCustomFilters", f:parsenoop }, + 0x00AD: { n:"BrtEndCustomFilters", f:parsenoop }, + 0x00AE: { n:"BrtCustomFilter", f:parsenoop }, + 0x00AF: { n:"BrtAFilterDateGroupItem", f:parsenoop }, + 0x00B0: { n:"BrtMergeCell", f:parse_BrtMergeCell }, + 0x00B1: { n:"BrtBeginMergeCells", f:parsenoop }, + 0x00B2: { n:"BrtEndMergeCells", f:parsenoop }, + 0x00B3: { n:"BrtBeginPivotCacheDef", f:parsenoop }, + 0x00B4: { n:"BrtEndPivotCacheDef", f:parsenoop }, + 0x00B5: { n:"BrtBeginPCDFields", f:parsenoop }, + 0x00B6: { n:"BrtEndPCDFields", f:parsenoop }, + 0x00B7: { n:"BrtBeginPCDField", f:parsenoop }, + 0x00B8: { n:"BrtEndPCDField", f:parsenoop }, + 0x00B9: { n:"BrtBeginPCDSource", f:parsenoop }, + 0x00BA: { n:"BrtEndPCDSource", f:parsenoop }, + 0x00BB: { n:"BrtBeginPCDSRange", f:parsenoop }, + 0x00BC: { n:"BrtEndPCDSRange", f:parsenoop }, + 0x00BD: { n:"BrtBeginPCDFAtbl", f:parsenoop }, + 0x00BE: { n:"BrtEndPCDFAtbl", f:parsenoop }, + 0x00BF: { n:"BrtBeginPCDIRun", f:parsenoop }, + 0x00C0: { n:"BrtEndPCDIRun", f:parsenoop }, + 0x00C1: { n:"BrtBeginPivotCacheRecords", f:parsenoop }, + 0x00C2: { n:"BrtEndPivotCacheRecords", f:parsenoop }, + 0x00C3: { n:"BrtBeginPCDHierarchies", f:parsenoop }, + 0x00C4: { n:"BrtEndPCDHierarchies", f:parsenoop }, + 0x00C5: { n:"BrtBeginPCDHierarchy", f:parsenoop }, + 0x00C6: { n:"BrtEndPCDHierarchy", f:parsenoop }, + 0x00C7: { n:"BrtBeginPCDHFieldsUsage", f:parsenoop }, + 0x00C8: { n:"BrtEndPCDHFieldsUsage", f:parsenoop }, + 0x00C9: { n:"BrtBeginExtConnection", f:parsenoop }, + 0x00CA: { n:"BrtEndExtConnection", f:parsenoop }, + 0x00CB: { n:"BrtBeginECDbProps", f:parsenoop }, + 0x00CC: { n:"BrtEndECDbProps", f:parsenoop }, + 0x00CD: { n:"BrtBeginECOlapProps", f:parsenoop }, + 0x00CE: { n:"BrtEndECOlapProps", f:parsenoop }, + 0x00CF: { n:"BrtBeginPCDSConsol", f:parsenoop }, + 0x00D0: { n:"BrtEndPCDSConsol", f:parsenoop }, + 0x00D1: { n:"BrtBeginPCDSCPages", f:parsenoop }, + 0x00D2: { n:"BrtEndPCDSCPages", f:parsenoop }, + 0x00D3: { n:"BrtBeginPCDSCPage", f:parsenoop }, + 0x00D4: { n:"BrtEndPCDSCPage", f:parsenoop }, + 0x00D5: { n:"BrtBeginPCDSCPItem", f:parsenoop }, + 0x00D6: { n:"BrtEndPCDSCPItem", f:parsenoop }, + 0x00D7: { n:"BrtBeginPCDSCSets", f:parsenoop }, + 0x00D8: { n:"BrtEndPCDSCSets", f:parsenoop }, + 0x00D9: { n:"BrtBeginPCDSCSet", f:parsenoop }, + 0x00DA: { n:"BrtEndPCDSCSet", f:parsenoop }, + 0x00DB: { n:"BrtBeginPCDFGroup", f:parsenoop }, + 0x00DC: { n:"BrtEndPCDFGroup", f:parsenoop }, + 0x00DD: { n:"BrtBeginPCDFGItems", f:parsenoop }, + 0x00DE: { n:"BrtEndPCDFGItems", f:parsenoop }, + 0x00DF: { n:"BrtBeginPCDFGRange", f:parsenoop }, + 0x00E0: { n:"BrtEndPCDFGRange", f:parsenoop }, + 0x00E1: { n:"BrtBeginPCDFGDiscrete", f:parsenoop }, + 0x00E2: { n:"BrtEndPCDFGDiscrete", f:parsenoop }, + 0x00E3: { n:"BrtBeginPCDSDTupleCache", f:parsenoop }, + 0x00E4: { n:"BrtEndPCDSDTupleCache", f:parsenoop }, + 0x00E5: { n:"BrtBeginPCDSDTCEntries", f:parsenoop }, + 0x00E6: { n:"BrtEndPCDSDTCEntries", f:parsenoop }, + 0x00E7: { n:"BrtBeginPCDSDTCEMembers", f:parsenoop }, + 0x00E8: { n:"BrtEndPCDSDTCEMembers", f:parsenoop }, + 0x00E9: { n:"BrtBeginPCDSDTCEMember", f:parsenoop }, + 0x00EA: { n:"BrtEndPCDSDTCEMember", f:parsenoop }, + 0x00EB: { n:"BrtBeginPCDSDTCQueries", f:parsenoop }, + 0x00EC: { n:"BrtEndPCDSDTCQueries", f:parsenoop }, + 0x00ED: { n:"BrtBeginPCDSDTCQuery", f:parsenoop }, + 0x00EE: { n:"BrtEndPCDSDTCQuery", f:parsenoop }, + 0x00EF: { n:"BrtBeginPCDSDTCSets", f:parsenoop }, + 0x00F0: { n:"BrtEndPCDSDTCSets", f:parsenoop }, + 0x00F1: { n:"BrtBeginPCDSDTCSet", f:parsenoop }, + 0x00F2: { n:"BrtEndPCDSDTCSet", f:parsenoop }, + 0x00F3: { n:"BrtBeginPCDCalcItems", f:parsenoop }, + 0x00F4: { n:"BrtEndPCDCalcItems", f:parsenoop }, + 0x00F5: { n:"BrtBeginPCDCalcItem", f:parsenoop }, + 0x00F6: { n:"BrtEndPCDCalcItem", f:parsenoop }, + 0x00F7: { n:"BrtBeginPRule", f:parsenoop }, + 0x00F8: { n:"BrtEndPRule", f:parsenoop }, + 0x00F9: { n:"BrtBeginPRFilters", f:parsenoop }, + 0x00FA: { n:"BrtEndPRFilters", f:parsenoop }, + 0x00FB: { n:"BrtBeginPRFilter", f:parsenoop }, + 0x00FC: { n:"BrtEndPRFilter", f:parsenoop }, + 0x00FD: { n:"BrtBeginPNames", f:parsenoop }, + 0x00FE: { n:"BrtEndPNames", f:parsenoop }, + 0x00FF: { n:"BrtBeginPName", f:parsenoop }, + 0x0100: { n:"BrtEndPName", f:parsenoop }, + 0x0101: { n:"BrtBeginPNPairs", f:parsenoop }, + 0x0102: { n:"BrtEndPNPairs", f:parsenoop }, + 0x0103: { n:"BrtBeginPNPair", f:parsenoop }, + 0x0104: { n:"BrtEndPNPair", f:parsenoop }, + 0x0105: { n:"BrtBeginECWebProps", f:parsenoop }, + 0x0106: { n:"BrtEndECWebProps", f:parsenoop }, + 0x0107: { n:"BrtBeginEcWpTables", f:parsenoop }, + 0x0108: { n:"BrtEndECWPTables", f:parsenoop }, + 0x0109: { n:"BrtBeginECParams", f:parsenoop }, + 0x010A: { n:"BrtEndECParams", f:parsenoop }, + 0x010B: { n:"BrtBeginECParam", f:parsenoop }, + 0x010C: { n:"BrtEndECParam", f:parsenoop }, + 0x010D: { n:"BrtBeginPCDKPIs", f:parsenoop }, + 0x010E: { n:"BrtEndPCDKPIs", f:parsenoop }, + 0x010F: { n:"BrtBeginPCDKPI", f:parsenoop }, + 0x0110: { n:"BrtEndPCDKPI", f:parsenoop }, + 0x0111: { n:"BrtBeginDims", f:parsenoop }, + 0x0112: { n:"BrtEndDims", f:parsenoop }, + 0x0113: { n:"BrtBeginDim", f:parsenoop }, + 0x0114: { n:"BrtEndDim", f:parsenoop }, + 0x0115: { n:"BrtIndexPartEnd", f:parsenoop }, + 0x0116: { n:"BrtBeginStyleSheet", f:parsenoop }, + 0x0117: { n:"BrtEndStyleSheet", f:parsenoop }, + 0x0118: { n:"BrtBeginSXView", f:parsenoop }, + 0x0119: { n:"BrtEndSXVI", f:parsenoop }, + 0x011A: { n:"BrtBeginSXVI", f:parsenoop }, + 0x011B: { n:"BrtBeginSXVIs", f:parsenoop }, + 0x011C: { n:"BrtEndSXVIs", f:parsenoop }, + 0x011D: { n:"BrtBeginSXVD", f:parsenoop }, + 0x011E: { n:"BrtEndSXVD", f:parsenoop }, + 0x011F: { n:"BrtBeginSXVDs", f:parsenoop }, + 0x0120: { n:"BrtEndSXVDs", f:parsenoop }, + 0x0121: { n:"BrtBeginSXPI", f:parsenoop }, + 0x0122: { n:"BrtEndSXPI", f:parsenoop }, + 0x0123: { n:"BrtBeginSXPIs", f:parsenoop }, + 0x0124: { n:"BrtEndSXPIs", f:parsenoop }, + 0x0125: { n:"BrtBeginSXDI", f:parsenoop }, + 0x0126: { n:"BrtEndSXDI", f:parsenoop }, + 0x0127: { n:"BrtBeginSXDIs", f:parsenoop }, + 0x0128: { n:"BrtEndSXDIs", f:parsenoop }, + 0x0129: { n:"BrtBeginSXLI", f:parsenoop }, + 0x012A: { n:"BrtEndSXLI", f:parsenoop }, + 0x012B: { n:"BrtBeginSXLIRws", f:parsenoop }, + 0x012C: { n:"BrtEndSXLIRws", f:parsenoop }, + 0x012D: { n:"BrtBeginSXLICols", f:parsenoop }, + 0x012E: { n:"BrtEndSXLICols", f:parsenoop }, + 0x012F: { n:"BrtBeginSXFormat", f:parsenoop }, + 0x0130: { n:"BrtEndSXFormat", f:parsenoop }, + 0x0131: { n:"BrtBeginSXFormats", f:parsenoop }, + 0x0132: { n:"BrtEndSxFormats", f:parsenoop }, + 0x0133: { n:"BrtBeginSxSelect", f:parsenoop }, + 0x0134: { n:"BrtEndSxSelect", f:parsenoop }, + 0x0135: { n:"BrtBeginISXVDRws", f:parsenoop }, + 0x0136: { n:"BrtEndISXVDRws", f:parsenoop }, + 0x0137: { n:"BrtBeginISXVDCols", f:parsenoop }, + 0x0138: { n:"BrtEndISXVDCols", f:parsenoop }, + 0x0139: { n:"BrtEndSXLocation", f:parsenoop }, + 0x013A: { n:"BrtBeginSXLocation", f:parsenoop }, + 0x013B: { n:"BrtEndSXView", f:parsenoop }, + 0x013C: { n:"BrtBeginSXTHs", f:parsenoop }, + 0x013D: { n:"BrtEndSXTHs", f:parsenoop }, + 0x013E: { n:"BrtBeginSXTH", f:parsenoop }, + 0x013F: { n:"BrtEndSXTH", f:parsenoop }, + 0x0140: { n:"BrtBeginISXTHRws", f:parsenoop }, + 0x0141: { n:"BrtEndISXTHRws", f:parsenoop }, + 0x0142: { n:"BrtBeginISXTHCols", f:parsenoop }, + 0x0143: { n:"BrtEndISXTHCols", f:parsenoop }, + 0x0144: { n:"BrtBeginSXTDMPS", f:parsenoop }, + 0x0145: { n:"BrtEndSXTDMPs", f:parsenoop }, + 0x0146: { n:"BrtBeginSXTDMP", f:parsenoop }, + 0x0147: { n:"BrtEndSXTDMP", f:parsenoop }, + 0x0148: { n:"BrtBeginSXTHItems", f:parsenoop }, + 0x0149: { n:"BrtEndSXTHItems", f:parsenoop }, + 0x014A: { n:"BrtBeginSXTHItem", f:parsenoop }, + 0x014B: { n:"BrtEndSXTHItem", f:parsenoop }, + 0x014C: { n:"BrtBeginMetadata", f:parsenoop }, + 0x014D: { n:"BrtEndMetadata", f:parsenoop }, + 0x014E: { n:"BrtBeginEsmdtinfo", f:parsenoop }, + 0x014F: { n:"BrtMdtinfo", f:parsenoop }, + 0x0150: { n:"BrtEndEsmdtinfo", f:parsenoop }, + 0x0151: { n:"BrtBeginEsmdb", f:parsenoop }, + 0x0152: { n:"BrtEndEsmdb", f:parsenoop }, + 0x0153: { n:"BrtBeginEsfmd", f:parsenoop }, + 0x0154: { n:"BrtEndEsfmd", f:parsenoop }, + 0x0155: { n:"BrtBeginSingleCells", f:parsenoop }, + 0x0156: { n:"BrtEndSingleCells", f:parsenoop }, + 0x0157: { n:"BrtBeginList", f:parsenoop }, + 0x0158: { n:"BrtEndList", f:parsenoop }, + 0x0159: { n:"BrtBeginListCols", f:parsenoop }, + 0x015A: { n:"BrtEndListCols", f:parsenoop }, + 0x015B: { n:"BrtBeginListCol", f:parsenoop }, + 0x015C: { n:"BrtEndListCol", f:parsenoop }, + 0x015D: { n:"BrtBeginListXmlCPr", f:parsenoop }, + 0x015E: { n:"BrtEndListXmlCPr", f:parsenoop }, + 0x015F: { n:"BrtListCCFmla", f:parsenoop }, + 0x0160: { n:"BrtListTrFmla", f:parsenoop }, + 0x0161: { n:"BrtBeginExternals", f:parsenoop }, + 0x0162: { n:"BrtEndExternals", f:parsenoop }, + 0x0163: { n:"BrtSupBookSrc", f:parsenoop }, + 0x0165: { n:"BrtSupSelf", f:parsenoop }, + 0x0166: { n:"BrtSupSame", f:parsenoop }, + 0x0167: { n:"BrtSupTabs", f:parsenoop }, + 0x0168: { n:"BrtBeginSupBook", f:parsenoop }, + 0x0169: { n:"BrtPlaceholderName", f:parsenoop }, + 0x016A: { n:"BrtExternSheet", f:parsenoop }, + 0x016B: { n:"BrtExternTableStart", f:parsenoop }, + 0x016C: { n:"BrtExternTableEnd", f:parsenoop }, + 0x016E: { n:"BrtExternRowHdr", f:parsenoop }, + 0x016F: { n:"BrtExternCellBlank", f:parsenoop }, + 0x0170: { n:"BrtExternCellReal", f:parsenoop }, + 0x0171: { n:"BrtExternCellBool", f:parsenoop }, + 0x0172: { n:"BrtExternCellError", f:parsenoop }, + 0x0173: { n:"BrtExternCellString", f:parsenoop }, + 0x0174: { n:"BrtBeginEsmdx", f:parsenoop }, + 0x0175: { n:"BrtEndEsmdx", f:parsenoop }, + 0x0176: { n:"BrtBeginMdxSet", f:parsenoop }, + 0x0177: { n:"BrtEndMdxSet", f:parsenoop }, + 0x0178: { n:"BrtBeginMdxMbrProp", f:parsenoop }, + 0x0179: { n:"BrtEndMdxMbrProp", f:parsenoop }, + 0x017A: { n:"BrtBeginMdxKPI", f:parsenoop }, + 0x017B: { n:"BrtEndMdxKPI", f:parsenoop }, + 0x017C: { n:"BrtBeginEsstr", f:parsenoop }, + 0x017D: { n:"BrtEndEsstr", f:parsenoop }, + 0x017E: { n:"BrtBeginPRFItem", f:parsenoop }, + 0x017F: { n:"BrtEndPRFItem", f:parsenoop }, + 0x0180: { n:"BrtBeginPivotCacheIDs", f:parsenoop }, + 0x0181: { n:"BrtEndPivotCacheIDs", f:parsenoop }, + 0x0182: { n:"BrtBeginPivotCacheID", f:parsenoop }, + 0x0183: { n:"BrtEndPivotCacheID", f:parsenoop }, + 0x0184: { n:"BrtBeginISXVIs", f:parsenoop }, + 0x0185: { n:"BrtEndISXVIs", f:parsenoop }, + 0x0186: { n:"BrtBeginColInfos", f:parsenoop }, + 0x0187: { n:"BrtEndColInfos", f:parsenoop }, + 0x0188: { n:"BrtBeginRwBrk", f:parsenoop }, + 0x0189: { n:"BrtEndRwBrk", f:parsenoop }, + 0x018A: { n:"BrtBeginColBrk", f:parsenoop }, + 0x018B: { n:"BrtEndColBrk", f:parsenoop }, + 0x018C: { n:"BrtBrk", f:parsenoop }, + 0x018D: { n:"BrtUserBookView", f:parsenoop }, + 0x018E: { n:"BrtInfo", f:parsenoop }, + 0x018F: { n:"BrtCUsr", f:parsenoop }, + 0x0190: { n:"BrtUsr", f:parsenoop }, + 0x0191: { n:"BrtBeginUsers", f:parsenoop }, + 0x0193: { n:"BrtEOF", f:parsenoop }, + 0x0194: { n:"BrtUCR", f:parsenoop }, + 0x0195: { n:"BrtRRInsDel", f:parsenoop }, + 0x0196: { n:"BrtRREndInsDel", f:parsenoop }, + 0x0197: { n:"BrtRRMove", f:parsenoop }, + 0x0198: { n:"BrtRREndMove", f:parsenoop }, + 0x0199: { n:"BrtRRChgCell", f:parsenoop }, + 0x019A: { n:"BrtRREndChgCell", f:parsenoop }, + 0x019B: { n:"BrtRRHeader", f:parsenoop }, + 0x019C: { n:"BrtRRUserView", f:parsenoop }, + 0x019D: { n:"BrtRRRenSheet", f:parsenoop }, + 0x019E: { n:"BrtRRInsertSh", f:parsenoop }, + 0x019F: { n:"BrtRRDefName", f:parsenoop }, + 0x01A0: { n:"BrtRRNote", f:parsenoop }, + 0x01A1: { n:"BrtRRConflict", f:parsenoop }, + 0x01A2: { n:"BrtRRTQSIF", f:parsenoop }, + 0x01A3: { n:"BrtRRFormat", f:parsenoop }, + 0x01A4: { n:"BrtRREndFormat", f:parsenoop }, + 0x01A5: { n:"BrtRRAutoFmt", f:parsenoop }, + 0x01A6: { n:"BrtBeginUserShViews", f:parsenoop }, + 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 }, + 0x01AC: { n:"BrtTable", f:parsenoop }, + 0x01AD: { n:"BrtBeginExtConnections", f:parsenoop }, + 0x01AE: { n:"BrtEndExtConnections", f:parsenoop }, + 0x01AF: { n:"BrtBeginPCDCalcMems", f:parsenoop }, + 0x01B0: { n:"BrtEndPCDCalcMems", f:parsenoop }, + 0x01B1: { n:"BrtBeginPCDCalcMem", f:parsenoop }, + 0x01B2: { n:"BrtEndPCDCalcMem", f:parsenoop }, + 0x01B3: { n:"BrtBeginPCDHGLevels", f:parsenoop }, + 0x01B4: { n:"BrtEndPCDHGLevels", f:parsenoop }, + 0x01B5: { n:"BrtBeginPCDHGLevel", f:parsenoop }, + 0x01B6: { n:"BrtEndPCDHGLevel", f:parsenoop }, + 0x01B7: { n:"BrtBeginPCDHGLGroups", f:parsenoop }, + 0x01B8: { n:"BrtEndPCDHGLGroups", f:parsenoop }, + 0x01B9: { n:"BrtBeginPCDHGLGroup", f:parsenoop }, + 0x01BA: { n:"BrtEndPCDHGLGroup", f:parsenoop }, + 0x01BB: { n:"BrtBeginPCDHGLGMembers", f:parsenoop }, + 0x01BC: { n:"BrtEndPCDHGLGMembers", f:parsenoop }, + 0x01BD: { n:"BrtBeginPCDHGLGMember", f:parsenoop }, + 0x01BE: { n:"BrtEndPCDHGLGMember", f:parsenoop }, + 0x01BF: { n:"BrtBeginQSI", f:parsenoop }, + 0x01C0: { n:"BrtEndQSI", f:parsenoop }, + 0x01C1: { n:"BrtBeginQSIR", f:parsenoop }, + 0x01C2: { n:"BrtEndQSIR", f:parsenoop }, + 0x01C3: { n:"BrtBeginDeletedNames", f:parsenoop }, + 0x01C4: { n:"BrtEndDeletedNames", f:parsenoop }, + 0x01C5: { n:"BrtBeginDeletedName", f:parsenoop }, + 0x01C6: { n:"BrtEndDeletedName", f:parsenoop }, + 0x01C7: { n:"BrtBeginQSIFs", f:parsenoop }, + 0x01C8: { n:"BrtEndQSIFs", f:parsenoop }, + 0x01C9: { n:"BrtBeginQSIF", f:parsenoop }, + 0x01CA: { n:"BrtEndQSIF", f:parsenoop }, + 0x01CB: { n:"BrtBeginAutoSortScope", f:parsenoop }, + 0x01CC: { n:"BrtEndAutoSortScope", f:parsenoop }, + 0x01CD: { n:"BrtBeginConditionalFormatting", f:parsenoop }, + 0x01CE: { n:"BrtEndConditionalFormatting", f:parsenoop }, + 0x01CF: { n:"BrtBeginCFRule", f:parsenoop }, + 0x01D0: { n:"BrtEndCFRule", f:parsenoop }, + 0x01D1: { n:"BrtBeginIconSet", f:parsenoop }, + 0x01D2: { n:"BrtEndIconSet", f:parsenoop }, + 0x01D3: { n:"BrtBeginDatabar", f:parsenoop }, + 0x01D4: { n:"BrtEndDatabar", f:parsenoop }, + 0x01D5: { n:"BrtBeginColorScale", f:parsenoop }, + 0x01D6: { n:"BrtEndColorScale", f:parsenoop }, + 0x01D7: { n:"BrtCFVO", f:parsenoop }, + 0x01D8: { n:"BrtExternValueMeta", f:parsenoop }, + 0x01D9: { n:"BrtBeginColorPalette", f:parsenoop }, + 0x01DA: { n:"BrtEndColorPalette", f:parsenoop }, + 0x01DB: { n:"BrtIndexedColor", f:parsenoop }, + 0x01DC: { n:"BrtMargins", f:parsenoop }, + 0x01DD: { n:"BrtPrintOptions", f:parsenoop }, + 0x01DE: { n:"BrtPageSetup", f:parsenoop }, + 0x01DF: { n:"BrtBeginHeaderFooter", f:parsenoop }, + 0x01E0: { n:"BrtEndHeaderFooter", f:parsenoop }, + 0x01E1: { n:"BrtBeginSXCrtFormat", f:parsenoop }, + 0x01E2: { n:"BrtEndSXCrtFormat", f:parsenoop }, + 0x01E3: { n:"BrtBeginSXCrtFormats", f:parsenoop }, + 0x01E4: { n:"BrtEndSXCrtFormats", f:parsenoop }, + 0x01E5: { n:"BrtWsFmtInfo", f:parsenoop }, + 0x01E6: { n:"BrtBeginMgs", f:parsenoop }, + 0x01E7: { n:"BrtEndMGs", f:parsenoop }, + 0x01E8: { n:"BrtBeginMGMaps", f:parsenoop }, + 0x01E9: { n:"BrtEndMGMaps", f:parsenoop }, + 0x01EA: { n:"BrtBeginMG", f:parsenoop }, + 0x01EB: { n:"BrtEndMG", f:parsenoop }, + 0x01EC: { n:"BrtBeginMap", f:parsenoop }, + 0x01ED: { n:"BrtEndMap", f:parsenoop }, + 0x01EE: { n:"BrtHLink", f:parse_BrtHLink }, + 0x01EF: { n:"BrtBeginDCon", f:parsenoop }, + 0x01F0: { n:"BrtEndDCon", f:parsenoop }, + 0x01F1: { n:"BrtBeginDRefs", f:parsenoop }, + 0x01F2: { n:"BrtEndDRefs", f:parsenoop }, + 0x01F3: { n:"BrtDRef", f:parsenoop }, + 0x01F4: { n:"BrtBeginScenMan", f:parsenoop }, + 0x01F5: { n:"BrtEndScenMan", f:parsenoop }, + 0x01F6: { n:"BrtBeginSct", f:parsenoop }, + 0x01F7: { n:"BrtEndSct", f:parsenoop }, + 0x01F8: { n:"BrtSlc", f:parsenoop }, + 0x01F9: { n:"BrtBeginDXFs", f:parsenoop }, + 0x01FA: { n:"BrtEndDXFs", f:parsenoop }, + 0x01FB: { n:"BrtDXF", f:parsenoop }, + 0x01FC: { n:"BrtBeginTableStyles", f:parsenoop }, + 0x01FD: { n:"BrtEndTableStyles", f:parsenoop }, + 0x01FE: { n:"BrtBeginTableStyle", f:parsenoop }, + 0x01FF: { n:"BrtEndTableStyle", f:parsenoop }, + 0x0200: { n:"BrtTableStyleElement", f:parsenoop }, + 0x0201: { n:"BrtTableStyleClient", f:parsenoop }, + 0x0202: { n:"BrtBeginVolDeps", f:parsenoop }, + 0x0203: { n:"BrtEndVolDeps", f:parsenoop }, + 0x0204: { n:"BrtBeginVolType", f:parsenoop }, + 0x0205: { n:"BrtEndVolType", f:parsenoop }, + 0x0206: { n:"BrtBeginVolMain", f:parsenoop }, + 0x0207: { n:"BrtEndVolMain", f:parsenoop }, + 0x0208: { n:"BrtBeginVolTopic", f:parsenoop }, + 0x0209: { n:"BrtEndVolTopic", f:parsenoop }, + 0x020A: { n:"BrtVolSubtopic", f:parsenoop }, + 0x020B: { n:"BrtVolRef", f:parsenoop }, + 0x020C: { n:"BrtVolNum", f:parsenoop }, + 0x020D: { n:"BrtVolErr", f:parsenoop }, + 0x020E: { n:"BrtVolStr", f:parsenoop }, + 0x020F: { n:"BrtVolBool", f:parsenoop }, + 0x0210: { n:"BrtBeginCalcChain$", f:parsenoop }, + 0x0211: { n:"BrtEndCalcChain$", f:parsenoop }, + 0x0212: { n:"BrtBeginSortState", f:parsenoop }, + 0x0213: { n:"BrtEndSortState", f:parsenoop }, + 0x0214: { n:"BrtBeginSortCond", f:parsenoop }, + 0x0215: { n:"BrtEndSortCond", f:parsenoop }, + 0x0216: { n:"BrtBookProtection", f:parsenoop }, + 0x0217: { n:"BrtSheetProtection", f:parsenoop }, + 0x0218: { n:"BrtRangeProtection", f:parsenoop }, + 0x0219: { n:"BrtPhoneticInfo", f:parsenoop }, + 0x021A: { n:"BrtBeginECTxtWiz", f:parsenoop }, + 0x021B: { n:"BrtEndECTxtWiz", f:parsenoop }, + 0x021C: { n:"BrtBeginECTWFldInfoLst", f:parsenoop }, + 0x021D: { n:"BrtEndECTWFldInfoLst", f:parsenoop }, + 0x021E: { n:"BrtBeginECTwFldInfo", f:parsenoop }, + 0x0224: { n:"BrtFileSharing", f:parsenoop }, + 0x0225: { n:"BrtOleSize", f:parsenoop }, + 0x0226: { n:"BrtDrawing", f:parsenoop }, + 0x0227: { n:"BrtLegacyDrawing", f:parsenoop }, + 0x0228: { n:"BrtLegacyDrawingHF", f:parsenoop }, + 0x0229: { n:"BrtWebOpt", f:parsenoop }, + 0x022A: { n:"BrtBeginWebPubItems", f:parsenoop }, + 0x022B: { n:"BrtEndWebPubItems", f:parsenoop }, + 0x022C: { n:"BrtBeginWebPubItem", f:parsenoop }, + 0x022D: { n:"BrtEndWebPubItem", f:parsenoop }, + 0x022E: { n:"BrtBeginSXCondFmt", f:parsenoop }, + 0x022F: { n:"BrtEndSXCondFmt", f:parsenoop }, + 0x0230: { n:"BrtBeginSXCondFmts", f:parsenoop }, + 0x0231: { n:"BrtEndSXCondFmts", f:parsenoop }, + 0x0232: { n:"BrtBkHim", f:parsenoop }, + 0x0234: { n:"BrtColor", f:parsenoop }, + 0x0235: { n:"BrtBeginIndexedColors", f:parsenoop }, + 0x0236: { n:"BrtEndIndexedColors", f:parsenoop }, + 0x0239: { n:"BrtBeginMRUColors", f:parsenoop }, + 0x023A: { n:"BrtEndMRUColors", f:parsenoop }, + 0x023C: { n:"BrtMRUColor", f:parsenoop }, + 0x023D: { n:"BrtBeginDVals", f:parsenoop }, + 0x023E: { n:"BrtEndDVals", f:parsenoop }, + 0x0241: { n:"BrtSupNameStart", f:parsenoop }, + 0x0242: { n:"BrtSupNameValueStart", f:parsenoop }, + 0x0243: { n:"BrtSupNameValueEnd", f:parsenoop }, + 0x0244: { n:"BrtSupNameNum", f:parsenoop }, + 0x0245: { n:"BrtSupNameErr", f:parsenoop }, + 0x0246: { n:"BrtSupNameSt", f:parsenoop }, + 0x0247: { n:"BrtSupNameNil", f:parsenoop }, + 0x0248: { n:"BrtSupNameBool", f:parsenoop }, + 0x0249: { n:"BrtSupNameFmla", f:parsenoop }, + 0x024A: { n:"BrtSupNameBits", f:parsenoop }, + 0x024B: { n:"BrtSupNameEnd", f:parsenoop }, + 0x024C: { n:"BrtEndSupBook", f:parsenoop }, + 0x024D: { n:"BrtCellSmartTagProperty", f:parsenoop }, + 0x024E: { n:"BrtBeginCellSmartTag", f:parsenoop }, + 0x024F: { n:"BrtEndCellSmartTag", f:parsenoop }, + 0x0250: { n:"BrtBeginCellSmartTags", f:parsenoop }, + 0x0251: { n:"BrtEndCellSmartTags", f:parsenoop }, + 0x0252: { n:"BrtBeginSmartTags", f:parsenoop }, + 0x0253: { n:"BrtEndSmartTags", f:parsenoop }, + 0x0254: { n:"BrtSmartTagType", f:parsenoop }, + 0x0255: { n:"BrtBeginSmartTagTypes", f:parsenoop }, + 0x0256: { n:"BrtEndSmartTagTypes", f:parsenoop }, + 0x0257: { n:"BrtBeginSXFilters", f:parsenoop }, + 0x0258: { n:"BrtEndSXFilters", f:parsenoop }, + 0x0259: { n:"BrtBeginSXFILTER", f:parsenoop }, + 0x025A: { n:"BrtEndSXFilter", f:parsenoop }, + 0x025B: { n:"BrtBeginFills", f:parsenoop }, + 0x025C: { n:"BrtEndFills", f:parsenoop }, + 0x025D: { n:"BrtBeginCellWatches", f:parsenoop }, + 0x025E: { n:"BrtEndCellWatches", f:parsenoop }, + 0x025F: { n:"BrtCellWatch", f:parsenoop }, + 0x0260: { n:"BrtBeginCRErrs", f:parsenoop }, + 0x0261: { n:"BrtEndCRErrs", f:parsenoop }, + 0x0262: { n:"BrtCrashRecErr", f:parsenoop }, + 0x0263: { n:"BrtBeginFonts", f:parsenoop }, + 0x0264: { n:"BrtEndFonts", f:parsenoop }, + 0x0265: { n:"BrtBeginBorders", f:parsenoop }, + 0x0266: { n:"BrtEndBorders", f:parsenoop }, + 0x0267: { n:"BrtBeginFmts", f:parsenoop }, + 0x0268: { n:"BrtEndFmts", f:parsenoop }, + 0x0269: { n:"BrtBeginCellXFs", f:parsenoop }, + 0x026A: { n:"BrtEndCellXFs", f:parsenoop }, + 0x026B: { n:"BrtBeginStyles", f:parsenoop }, + 0x026C: { n:"BrtEndStyles", f:parsenoop }, + 0x0271: { n:"BrtBigName", f:parsenoop }, + 0x0272: { n:"BrtBeginCellStyleXFs", f:parsenoop }, + 0x0273: { n:"BrtEndCellStyleXFs", f:parsenoop }, + 0x0274: { n:"BrtBeginComments", f:parsenoop }, + 0x0275: { n:"BrtEndComments", f:parsenoop }, + 0x0276: { n:"BrtBeginCommentAuthors", f:parsenoop }, + 0x0277: { n:"BrtEndCommentAuthors", f:parsenoop }, + 0x0278: { n:"BrtCommentAuthor", f:parse_BrtCommentAuthor }, + 0x0279: { n:"BrtBeginCommentList", f:parsenoop }, + 0x027A: { n:"BrtEndCommentList", f:parsenoop }, + 0x027B: { n:"BrtBeginComment", f:parse_BrtBeginComment}, + 0x027C: { n:"BrtEndComment", f:parsenoop }, + 0x027D: { n:"BrtCommentText", f:parse_BrtCommentText }, + 0x027E: { n:"BrtBeginOleObjects", f:parsenoop }, + 0x027F: { n:"BrtOleObject", f:parsenoop }, + 0x0280: { n:"BrtEndOleObjects", f:parsenoop }, + 0x0281: { n:"BrtBeginSxrules", f:parsenoop }, + 0x0282: { n:"BrtEndSxRules", f:parsenoop }, + 0x0283: { n:"BrtBeginActiveXControls", f:parsenoop }, + 0x0284: { n:"BrtActiveX", f:parsenoop }, + 0x0285: { n:"BrtEndActiveXControls", f:parsenoop }, + 0x0286: { n:"BrtBeginPCDSDTCEMembersSortBy", f:parsenoop }, + 0x0288: { n:"BrtBeginCellIgnoreECs", f:parsenoop }, + 0x0289: { n:"BrtCellIgnoreEC", f:parsenoop }, + 0x028A: { n:"BrtEndCellIgnoreECs", f:parsenoop }, + 0x028B: { n:"BrtCsProp", f:parsenoop }, + 0x028C: { n:"BrtCsPageSetup", f:parsenoop }, + 0x028D: { n:"BrtBeginUserCsViews", f:parsenoop }, + 0x028E: { n:"BrtEndUserCsViews", f:parsenoop }, + 0x028F: { n:"BrtBeginUserCsView", f:parsenoop }, + 0x0290: { n:"BrtEndUserCsView", f:parsenoop }, + 0x0291: { n:"BrtBeginPcdSFCIEntries", f:parsenoop }, + 0x0292: { n:"BrtEndPCDSFCIEntries", f:parsenoop }, + 0x0293: { n:"BrtPCDSFCIEntry", f:parsenoop }, + 0x0294: { n:"BrtBeginListParts", f:parsenoop }, + 0x0295: { n:"BrtListPart", f:parsenoop }, + 0x0296: { n:"BrtEndListParts", f:parsenoop }, + 0x0297: { n:"BrtSheetCalcProp", f:parsenoop }, + 0x0298: { n:"BrtBeginFnGroup", f:parsenoop }, + 0x0299: { n:"BrtFnGroup", f:parsenoop }, + 0x029A: { n:"BrtEndFnGroup", f:parsenoop }, + 0x029B: { n:"BrtSupAddin", f:parsenoop }, + 0x029C: { n:"BrtSXTDMPOrder", f:parsenoop }, + 0x029D: { n:"BrtCsProtection", f:parsenoop }, + 0x029F: { n:"BrtBeginWsSortMap", f:parsenoop }, + 0x02A0: { n:"BrtEndWsSortMap", f:parsenoop }, + 0x02A1: { n:"BrtBeginRRSort", f:parsenoop }, + 0x02A2: { n:"BrtEndRRSort", f:parsenoop }, + 0x02A3: { n:"BrtRRSortItem", f:parsenoop }, + 0x02A4: { n:"BrtFileSharingIso", f:parsenoop }, + 0x02A5: { n:"BrtBookProtectionIso", f:parsenoop }, + 0x02A6: { n:"BrtSheetProtectionIso", f:parsenoop }, + 0x02A7: { n:"BrtCsProtectionIso", f:parsenoop }, + 0x02A8: { n:"BrtRangeProtectionIso", f:parsenoop }, + 0x0400: { n:"BrtRwDescent", f:parsenoop }, + 0x0401: { n:"BrtKnownFonts", f:parsenoop }, + 0x0402: { n:"BrtBeginSXTupleSet", f:parsenoop }, + 0x0403: { n:"BrtEndSXTupleSet", f:parsenoop }, + 0x0404: { n:"BrtBeginSXTupleSetHeader", f:parsenoop }, + 0x0405: { n:"BrtEndSXTupleSetHeader", f:parsenoop }, + 0x0406: { n:"BrtSXTupleSetHeaderItem", f:parsenoop }, + 0x0407: { n:"BrtBeginSXTupleSetData", f:parsenoop }, + 0x0408: { n:"BrtEndSXTupleSetData", f:parsenoop }, + 0x0409: { n:"BrtBeginSXTupleSetRow", f:parsenoop }, + 0x040A: { n:"BrtEndSXTupleSetRow", f:parsenoop }, + 0x040B: { n:"BrtSXTupleSetRowItem", f:parsenoop }, + 0x040C: { n:"BrtNameExt", f:parsenoop }, + 0x040D: { n:"BrtPCDH14", f:parsenoop }, + 0x040E: { n:"BrtBeginPCDCalcMem14", f:parsenoop }, + 0x040F: { n:"BrtEndPCDCalcMem14", f:parsenoop }, + 0x0410: { n:"BrtSXTH14", f:parsenoop }, + 0x0411: { n:"BrtBeginSparklineGroup", f:parsenoop }, + 0x0412: { n:"BrtEndSparklineGroup", f:parsenoop }, + 0x0413: { n:"BrtSparkline", f:parsenoop }, + 0x0414: { n:"BrtSXDI14", f:parsenoop }, + 0x0415: { n:"BrtWsFmtInfoEx14", f:parsenoop }, + 0x0416: { n:"BrtBeginConditionalFormatting14", f:parsenoop }, + 0x0417: { n:"BrtEndConditionalFormatting14", f:parsenoop }, + 0x0418: { n:"BrtBeginCFRule14", f:parsenoop }, + 0x0419: { n:"BrtEndCFRule14", f:parsenoop }, + 0x041A: { n:"BrtCFVO14", f:parsenoop }, + 0x041B: { n:"BrtBeginDatabar14", f:parsenoop }, + 0x041C: { n:"BrtBeginIconSet14", f:parsenoop }, + 0x041D: { n:"BrtDVal14", f:parsenoop }, + 0x041E: { n:"BrtBeginDVals14", f:parsenoop }, + 0x041F: { n:"BrtColor14", f:parsenoop }, + 0x0420: { n:"BrtBeginSparklines", f:parsenoop }, + 0x0421: { n:"BrtEndSparklines", f:parsenoop }, + 0x0422: { n:"BrtBeginSparklineGroups", f:parsenoop }, + 0x0423: { n:"BrtEndSparklineGroups", f:parsenoop }, + 0x0425: { n:"BrtSXVD14", f:parsenoop }, + 0x0426: { n:"BrtBeginSxview14", f:parsenoop }, + 0x0427: { n:"BrtEndSxview14", f:parsenoop }, + 0x042A: { n:"BrtBeginPCD14", f:parsenoop }, + 0x042B: { n:"BrtEndPCD14", f:parsenoop }, + 0x042C: { n:"BrtBeginExtConn14", f:parsenoop }, + 0x042D: { n:"BrtEndExtConn14", f:parsenoop }, + 0x042E: { n:"BrtBeginSlicerCacheIDs", f:parsenoop }, + 0x042F: { n:"BrtEndSlicerCacheIDs", f:parsenoop }, + 0x0430: { n:"BrtBeginSlicerCacheID", f:parsenoop }, + 0x0431: { n:"BrtEndSlicerCacheID", f:parsenoop }, + 0x0433: { n:"BrtBeginSlicerCache", f:parsenoop }, + 0x0434: { n:"BrtEndSlicerCache", f:parsenoop }, + 0x0435: { n:"BrtBeginSlicerCacheDef", f:parsenoop }, + 0x0436: { n:"BrtEndSlicerCacheDef", f:parsenoop }, + 0x0437: { n:"BrtBeginSlicersEx", f:parsenoop }, + 0x0438: { n:"BrtEndSlicersEx", f:parsenoop }, + 0x0439: { n:"BrtBeginSlicerEx", f:parsenoop }, + 0x043A: { n:"BrtEndSlicerEx", f:parsenoop }, + 0x043B: { n:"BrtBeginSlicer", f:parsenoop }, + 0x043C: { n:"BrtEndSlicer", f:parsenoop }, + 0x043D: { n:"BrtSlicerCachePivotTables", f:parsenoop }, + 0x043E: { n:"BrtBeginSlicerCacheOlapImpl", f:parsenoop }, + 0x043F: { n:"BrtEndSlicerCacheOlapImpl", f:parsenoop }, + 0x0440: { n:"BrtBeginSlicerCacheLevelsData", f:parsenoop }, + 0x0441: { n:"BrtEndSlicerCacheLevelsData", f:parsenoop }, + 0x0442: { n:"BrtBeginSlicerCacheLevelData", f:parsenoop }, + 0x0443: { n:"BrtEndSlicerCacheLevelData", f:parsenoop }, + 0x0444: { n:"BrtBeginSlicerCacheSiRanges", f:parsenoop }, + 0x0445: { n:"BrtEndSlicerCacheSiRanges", f:parsenoop }, + 0x0446: { n:"BrtBeginSlicerCacheSiRange", f:parsenoop }, + 0x0447: { n:"BrtEndSlicerCacheSiRange", f:parsenoop }, + 0x0448: { n:"BrtSlicerCacheOlapItem", f:parsenoop }, + 0x0449: { n:"BrtBeginSlicerCacheSelections", f:parsenoop }, + 0x044A: { n:"BrtSlicerCacheSelection", f:parsenoop }, + 0x044B: { n:"BrtEndSlicerCacheSelections", f:parsenoop }, + 0x044C: { n:"BrtBeginSlicerCacheNative", f:parsenoop }, + 0x044D: { n:"BrtEndSlicerCacheNative", f:parsenoop }, + 0x044E: { n:"BrtSlicerCacheNativeItem", f:parsenoop }, + 0x044F: { n:"BrtRangeProtection14", f:parsenoop }, + 0x0450: { n:"BrtRangeProtectionIso14", f:parsenoop }, + 0x0451: { n:"BrtCellIgnoreEC14", f:parsenoop }, + 0x0457: { n:"BrtList14", f:parsenoop }, + 0x0458: { n:"BrtCFIcon", f:parsenoop }, + 0x0459: { n:"BrtBeginSlicerCachesPivotCacheIDs", f:parsenoop }, + 0x045A: { n:"BrtEndSlicerCachesPivotCacheIDs", f:parsenoop }, + 0x045B: { n:"BrtBeginSlicers", f:parsenoop }, + 0x045C: { n:"BrtEndSlicers", f:parsenoop }, + 0x045D: { n:"BrtWbProp14", f:parsenoop }, + 0x045E: { n:"BrtBeginSXEdit", f:parsenoop }, + 0x045F: { n:"BrtEndSXEdit", f:parsenoop }, + 0x0460: { n:"BrtBeginSXEdits", f:parsenoop }, + 0x0461: { n:"BrtEndSXEdits", f:parsenoop }, + 0x0462: { n:"BrtBeginSXChange", f:parsenoop }, + 0x0463: { n:"BrtEndSXChange", f:parsenoop }, + 0x0464: { n:"BrtBeginSXChanges", f:parsenoop }, + 0x0465: { n:"BrtEndSXChanges", f:parsenoop }, + 0x0466: { n:"BrtSXTupleItems", f:parsenoop }, + 0x0468: { n:"BrtBeginSlicerStyle", f:parsenoop }, + 0x0469: { n:"BrtEndSlicerStyle", f:parsenoop }, + 0x046A: { n:"BrtSlicerStyleElement", f:parsenoop }, + 0x046B: { n:"BrtBeginStyleSheetExt14", f:parsenoop }, + 0x046C: { n:"BrtEndStyleSheetExt14", f:parsenoop }, + 0x046D: { n:"BrtBeginSlicerCachesPivotCacheID", f:parsenoop }, + 0x046E: { n:"BrtEndSlicerCachesPivotCacheID", f:parsenoop }, + 0x046F: { n:"BrtBeginConditionalFormattings", f:parsenoop }, + 0x0470: { n:"BrtEndConditionalFormattings", f:parsenoop }, + 0x0471: { n:"BrtBeginPCDCalcMemExt", f:parsenoop }, + 0x0472: { n:"BrtEndPCDCalcMemExt", f:parsenoop }, + 0x0473: { n:"BrtBeginPCDCalcMemsExt", f:parsenoop }, + 0x0474: { n:"BrtEndPCDCalcMemsExt", f:parsenoop }, + 0x0475: { n:"BrtPCDField14", f:parsenoop }, + 0x0476: { n:"BrtBeginSlicerStyles", f:parsenoop }, + 0x0477: { n:"BrtEndSlicerStyles", f:parsenoop }, + 0x0478: { n:"BrtBeginSlicerStyleElements", f:parsenoop }, + 0x0479: { n:"BrtEndSlicerStyleElements", f:parsenoop }, + 0x047A: { n:"BrtCFRuleExt", f:parsenoop }, + 0x047B: { n:"BrtBeginSXCondFmt14", f:parsenoop }, + 0x047C: { n:"BrtEndSXCondFmt14", f:parsenoop }, + 0x047D: { n:"BrtBeginSXCondFmts14", f:parsenoop }, + 0x047E: { n:"BrtEndSXCondFmts14", f:parsenoop }, + 0x0480: { n:"BrtBeginSortCond14", f:parsenoop }, + 0x0481: { n:"BrtEndSortCond14", f:parsenoop }, + 0x0482: { n:"BrtEndDVals14", f:parsenoop }, + 0x0483: { n:"BrtEndIconSet14", f:parsenoop }, + 0x0484: { n:"BrtEndDatabar14", f:parsenoop }, + 0x0485: { n:"BrtBeginColorScale14", f:parsenoop }, + 0x0486: { n:"BrtEndColorScale14", f:parsenoop }, + 0x0487: { n:"BrtBeginSxrules14", f:parsenoop }, + 0x0488: { n:"BrtEndSxrules14", f:parsenoop }, + 0x0489: { n:"BrtBeginPRule14", f:parsenoop }, + 0x048A: { n:"BrtEndPRule14", f:parsenoop }, + 0x048B: { n:"BrtBeginPRFilters14", f:parsenoop }, + 0x048C: { n:"BrtEndPRFilters14", f:parsenoop }, + 0x048D: { n:"BrtBeginPRFilter14", f:parsenoop }, + 0x048E: { n:"BrtEndPRFilter14", f:parsenoop }, + 0x048F: { n:"BrtBeginPRFItem14", f:parsenoop }, + 0x0490: { n:"BrtEndPRFItem14", f:parsenoop }, + 0x0491: { n:"BrtBeginCellIgnoreECs14", f:parsenoop }, + 0x0492: { n:"BrtEndCellIgnoreECs14", f:parsenoop }, + 0x0493: { n:"BrtDxf14", f:parsenoop }, + 0x0494: { n:"BrtBeginDxF14s", f:parsenoop }, + 0x0495: { n:"BrtEndDxf14s", f:parsenoop }, + 0x0499: { n:"BrtFilter14", f:parsenoop }, + 0x049A: { n:"BrtBeginCustomFilters14", f:parsenoop }, + 0x049C: { n:"BrtCustomFilter14", f:parsenoop }, + 0x049D: { n:"BrtIconFilter14", f:parsenoop }, + 0x049E: { n:"BrtPivotCacheConnectionName", f:parsenoop }, + 0x0800: { n:"BrtBeginDecoupledPivotCacheIDs", f:parsenoop }, + 0x0801: { n:"BrtEndDecoupledPivotCacheIDs", f:parsenoop }, + 0x0802: { n:"BrtDecoupledPivotCacheID", f:parsenoop }, + 0x0803: { n:"BrtBeginPivotTableRefs", f:parsenoop }, + 0x0804: { n:"BrtEndPivotTableRefs", f:parsenoop }, + 0x0805: { n:"BrtPivotTableRef", f:parsenoop }, + 0x0806: { n:"BrtSlicerCacheBookPivotTables", f:parsenoop }, + 0x0807: { n:"BrtBeginSxvcells", f:parsenoop }, + 0x0808: { n:"BrtEndSxvcells", f:parsenoop }, + 0x0809: { n:"BrtBeginSxRow", f:parsenoop }, + 0x080A: { n:"BrtEndSxRow", f:parsenoop }, + 0x080C: { n:"BrtPcdCalcMem15", f:parsenoop }, + 0x0813: { n:"BrtQsi15", f:parsenoop }, + 0x0814: { n:"BrtBeginWebExtensions", f:parsenoop }, + 0x0815: { n:"BrtEndWebExtensions", f:parsenoop }, + 0x0816: { n:"BrtWebExtension", f:parsenoop }, + 0x0817: { n:"BrtAbsPath15", f:parsenoop }, + 0x0818: { n:"BrtBeginPivotTableUISettings", f:parsenoop }, + 0x0819: { n:"BrtEndPivotTableUISettings", f:parsenoop }, + 0x081B: { n:"BrtTableSlicerCacheIDs", f:parsenoop }, + 0x081C: { n:"BrtTableSlicerCacheID", f:parsenoop }, + 0x081D: { n:"BrtBeginTableSlicerCache", f:parsenoop }, + 0x081E: { n:"BrtEndTableSlicerCache", f:parsenoop }, + 0x081F: { n:"BrtSxFilter15", f:parsenoop }, + 0x0820: { n:"BrtBeginTimelineCachePivotCacheIDs", f:parsenoop }, + 0x0821: { n:"BrtEndTimelineCachePivotCacheIDs", f:parsenoop }, + 0x0822: { n:"BrtTimelineCachePivotCacheID", f:parsenoop }, + 0x0823: { n:"BrtBeginTimelineCacheIDs", f:parsenoop }, + 0x0824: { n:"BrtEndTimelineCacheIDs", f:parsenoop }, + 0x0825: { n:"BrtBeginTimelineCacheID", f:parsenoop }, + 0x0826: { n:"BrtEndTimelineCacheID", f:parsenoop }, + 0x0827: { n:"BrtBeginTimelinesEx", f:parsenoop }, + 0x0828: { n:"BrtEndTimelinesEx", f:parsenoop }, + 0x0829: { n:"BrtBeginTimelineEx", f:parsenoop }, + 0x082A: { n:"BrtEndTimelineEx", f:parsenoop }, + 0x082B: { n:"BrtWorkBookPr15", f:parsenoop }, + 0x082C: { n:"BrtPCDH15", f:parsenoop }, + 0x082D: { n:"BrtBeginTimelineStyle", f:parsenoop }, + 0x082E: { n:"BrtEndTimelineStyle", f:parsenoop }, + 0x082F: { n:"BrtTimelineStyleElement", f:parsenoop }, + 0x0830: { n:"BrtBeginTimelineStylesheetExt15", f:parsenoop }, + 0x0831: { n:"BrtEndTimelineStylesheetExt15", f:parsenoop }, + 0x0832: { n:"BrtBeginTimelineStyles", f:parsenoop }, + 0x0833: { n:"BrtEndTimelineStyles", f:parsenoop }, + 0x0834: { n:"BrtBeginTimelineStyleElements", f:parsenoop }, + 0x0835: { n:"BrtEndTimelineStyleElements", f:parsenoop }, + 0x0836: { n:"BrtDxf15", f:parsenoop }, + 0x0837: { n:"BrtBeginDxfs15", f:parsenoop }, + 0x0838: { n:"brtEndDxfs15", f:parsenoop }, + 0x0839: { n:"BrtSlicerCacheHideItemsWithNoData", f:parsenoop }, + 0x083A: { n:"BrtBeginItemUniqueNames", f:parsenoop }, + 0x083B: { n:"BrtEndItemUniqueNames", f:parsenoop }, + 0x083C: { n:"BrtItemUniqueName", f:parsenoop }, + 0x083D: { n:"BrtBeginExtConn15", f:parsenoop }, + 0x083E: { n:"BrtEndExtConn15", f:parsenoop }, + 0x083F: { n:"BrtBeginOledbPr15", f:parsenoop }, + 0x0840: { n:"BrtEndOledbPr15", f:parsenoop }, + 0x0841: { n:"BrtBeginDataFeedPr15", f:parsenoop }, + 0x0842: { n:"BrtEndDataFeedPr15", f:parsenoop }, + 0x0843: { n:"BrtTextPr15", f:parsenoop }, + 0x0844: { n:"BrtRangePr15", f:parsenoop }, + 0x0845: { n:"BrtDbCommand15", f:parsenoop }, + 0x0846: { n:"BrtBeginDbTables15", f:parsenoop }, + 0x0847: { n:"BrtEndDbTables15", f:parsenoop }, + 0x0848: { n:"BrtDbTable15", f:parsenoop }, + 0x0849: { n:"BrtBeginDataModel", f:parsenoop }, + 0x084A: { n:"BrtEndDataModel", f:parsenoop }, + 0x084B: { n:"BrtBeginModelTables", f:parsenoop }, + 0x084C: { n:"BrtEndModelTables", f:parsenoop }, + 0x084D: { n:"BrtModelTable", f:parsenoop }, + 0x084E: { n:"BrtBeginModelRelationships", f:parsenoop }, + 0x084F: { n:"BrtEndModelRelationships", f:parsenoop }, + 0x0850: { n:"BrtModelRelationship", f:parsenoop }, + 0x0851: { n:"BrtBeginECTxtWiz15", f:parsenoop }, + 0x0852: { n:"BrtEndECTxtWiz15", f:parsenoop }, + 0x0853: { n:"BrtBeginECTWFldInfoLst15", f:parsenoop }, + 0x0854: { n:"BrtEndECTWFldInfoLst15", f:parsenoop }, + 0x0855: { n:"BrtBeginECTWFldInfo15", f:parsenoop }, + 0x0856: { n:"BrtFieldListActiveItem", f:parsenoop }, + 0x0857: { n:"BrtPivotCacheIdVersion", f:parsenoop }, + 0x0858: { n:"BrtSXDI15", f:parsenoop }, + 0xFFFF: { n:"", f:parsenoop } }; var evert_RE = evert_key(XLSBRecordEnum, 'n'); /* [MS-XLS] 2.3 Record Enumeration */ var XLSRecordEnum = { -0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, -0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, -0x0006: { n:"Formula", f:parse_Formula }, -0x0009: { n:'BOF', f:parse_BOF }, -0x000a: { n:'EOF', f:parse_EOF }, -0x000c: { n:"CalcCount", f:parse_CalcCount }, -0x000d: { n:"CalcMode", f:parse_CalcMode }, -0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, -0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, -0x0010: { n:"CalcDelta", f:parse_CalcDelta }, -0x0011: { n:"CalcIter", f:parse_CalcIter }, -0x0012: { n:"Protect", f:parse_Protect }, -0x0013: { n:"Password", f:parse_Password }, -0x0014: { n:"Header", f:parse_Header }, -0x0015: { n:"Footer", f:parse_Footer }, -0x0017: { n:"ExternSheet", f:parse_ExternSheet }, -0x0018: { n:"Lbl", f:parse_Lbl }, -0x0019: { n:"WinProtect", f:parse_WinProtect }, -0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, -0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, -0x001c: { n:"Note", f:parse_Note }, -0x001d: { n:"Selection", f:parse_Selection }, -0x0022: { n:"Date1904", f:parse_Date1904 }, -0x0023: { n:"ExternName", f:parse_ExternName }, -0x0026: { n:"LeftMargin", f:parse_LeftMargin }, -0x0027: { n:"RightMargin", f:parse_RightMargin }, -0x0028: { n:"TopMargin", f:parse_TopMargin }, -0x0029: { n:"BottomMargin", f:parse_BottomMargin }, -0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, -0x002b: { n:"PrintGrid", f:parse_PrintGrid }, -0x002f: { n:"FilePass", f:parse_FilePass }, -0x0031: { n:"Font", f:parse_Font }, -0x0033: { n:"PrintSize", f:parse_PrintSize }, -0x003c: { n:"Continue", f:parse_Continue }, -0x003d: { n:"Window1", f:parse_Window1 }, -0x0040: { n:"Backup", f:parse_Backup }, -0x0041: { n:"Pane", f:parse_Pane }, -0x0042: { n:'CodePage', f:parse_CodePage }, -0x004d: { n:"Pls", f:parse_Pls }, -0x0050: { n:"DCon", f:parse_DCon }, -0x0051: { n:"DConRef", f:parse_DConRef }, -0x0052: { n:"DConName", f:parse_DConName }, -0x0055: { n:"DefColWidth", f:parse_DefColWidth }, -0x0059: { n:"XCT", f:parse_XCT }, -0x005a: { n:"CRN", f:parse_CRN }, -0x005b: { n:"FileSharing", f:parse_FileSharing }, -0x005c: { n:'WriteAccess', f:parse_WriteAccess }, -0x005d: { n:"Obj", f:parse_Obj }, -0x005e: { n:"Uncalced", f:parse_Uncalced }, -0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, -0x0060: { n:"Template", f:parse_Template }, -0x0061: { n:"Intl", f:parse_Intl }, -0x0063: { n:"ObjProtect", f:parse_ObjProtect }, -0x007d: { n:"ColInfo", f:parse_ColInfo }, -0x0080: { n:"Guts", f:parse_Guts }, -0x0081: { n:"WsBool", f:parse_WsBool }, -0x0082: { n:"GridSet", f:parse_GridSet }, -0x0083: { n:"HCenter", f:parse_HCenter }, -0x0084: { n:"VCenter", f:parse_VCenter }, -0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, -0x0086: { n:"WriteProtect", f:parse_WriteProtect }, -0x008c: { n:"Country", f:parse_Country }, -0x008d: { n:"HideObj", f:parse_HideObj }, -0x0090: { n:"Sort", f:parse_Sort }, -0x0092: { n:"Palette", f:parse_Palette }, -0x0097: { n:"Sync", f:parse_Sync }, -0x0098: { n:"LPr", f:parse_LPr }, -0x0099: { n:"DxGCol", f:parse_DxGCol }, -0x009a: { n:"FnGroupName", f:parse_FnGroupName }, -0x009b: { n:"FilterMode", f:parse_FilterMode }, -0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, -0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, -0x009e: { n:"AutoFilter", f:parse_AutoFilter }, -0x00a0: { n:"Scl", f:parse_Scl }, -0x00a1: { n:"Setup", f:parse_Setup }, -0x00ae: { n:"ScenMan", f:parse_ScenMan }, -0x00af: { n:"SCENARIO", f:parse_SCENARIO }, -0x00b0: { n:"SxView", f:parse_SxView }, -0x00b1: { n:"Sxvd", f:parse_Sxvd }, -0x00b2: { n:"SXVI", f:parse_SXVI }, -0x00b4: { n:"SxIvd", f:parse_SxIvd }, -0x00b5: { n:"SXLI", f:parse_SXLI }, -0x00b6: { n:"SXPI", f:parse_SXPI }, -0x00b8: { n:"DocRoute", f:parse_DocRoute }, -0x00b9: { n:"RecipName", f:parse_RecipName }, -0x00bd: { n:"MulRk", f:parse_MulRk }, -0x00be: { n:"MulBlank", f:parse_MulBlank }, -0x00c1: { n:'Mms', f:parse_Mms }, -0x00c5: { n:"SXDI", f:parse_SXDI }, -0x00c6: { n:"SXDB", f:parse_SXDB }, -0x00c7: { n:"SXFDB", f:parse_SXFDB }, -0x00c8: { n:"SXDBB", f:parse_SXDBB }, -0x00c9: { n:"SXNum", f:parse_SXNum }, -0x00ca: { n:"SxBool", f:parse_SxBool }, -0x00cb: { n:"SxErr", f:parse_SxErr }, -0x00cc: { n:"SXInt", f:parse_SXInt }, -0x00cd: { n:"SXString", f:parse_SXString }, -0x00ce: { n:"SXDtr", f:parse_SXDtr }, -0x00cf: { n:"SxNil", f:parse_SxNil }, -0x00d0: { n:"SXTbl", f:parse_SXTbl }, -0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, -0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, -0x00d3: { n:"ObProj", f:parse_ObProj }, -0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, -0x00d7: { n:"DBCell", f:parse_DBCell }, -0x00d8: { n:"SXRng", f:parse_SXRng }, -0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, -0x00da: { n:"BookBool", f:parse_BookBool }, -0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, -0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, -0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, -0x00e0: { n:"XF", f:parse_XF }, -0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, -0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, -0x00e3: { n:"SXVS", f:parse_SXVS }, -0x00e5: { n:"MergeCells", f:parse_MergeCells }, -0x00e9: { n:"BkHim", f:parse_BkHim }, -0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, -0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, -0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, -0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, -0x00f0: { n:"SxRule", f:parse_SxRule }, -0x00f1: { n:"SXEx", f:parse_SXEx }, -0x00f2: { n:"SxFilt", f:parse_SxFilt }, -0x00f4: { n:"SxDXF", f:parse_SxDXF }, -0x00f5: { n:"SxItm", f:parse_SxItm }, -0x00f6: { n:"SxName", f:parse_SxName }, -0x00f7: { n:"SxSelect", f:parse_SxSelect }, -0x00f8: { n:"SXPair", f:parse_SXPair }, -0x00f9: { n:"SxFmla", f:parse_SxFmla }, -0x00fb: { n:"SxFormat", f:parse_SxFormat }, -0x00fc: { n:"SST", f:parse_SST }, -0x00fd: { n:"LabelSst", f:parse_LabelSst }, -0x00ff: { n:"ExtSST", f:parse_ExtSST }, -0x0100: { n:"SXVDEx", f:parse_SXVDEx }, -0x0103: { n:"SXFormula", f:parse_SXFormula }, -0x0122: { n:"SXDBEx", f:parse_SXDBEx }, -0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, -0x0138: { n:"RRDHead", f:parse_RRDHead }, -0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, -0x013d: { n:"RRTabId", f:parse_RRTabId }, -0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, -0x013f: { n:"RRSort", f:parse_RRSort }, -0x0140: { n:"RRDMove", f:parse_RRDMove }, -0x014a: { n:"RRFormat", f:parse_RRFormat }, -0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, -0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, -0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, -0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, -0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, -0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, -0x0152: { n:"RRDConflict", f:parse_RRDConflict }, -0x0153: { n:"RRDDefName", f:parse_RRDDefName }, -0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, -0x015f: { n:"LRng", f:parse_LRng }, -0x0160: { n:"UsesELFs", f:parse_UsesELFs }, -0x0161: { n:"DSF", f:parse_DSF }, -0x0191: { n:"CUsr", f:parse_CUsr }, -0x0192: { n:"CbUsr", f:parse_CbUsr }, -0x0193: { n:"UsrInfo", f:parse_UsrInfo }, -0x0194: { n:"UsrExcl", f:parse_UsrExcl }, -0x0195: { n:"FileLock", f:parse_FileLock }, -0x0196: { n:"RRDInfo", f:parse_RRDInfo }, -0x0197: { n:"BCUsrs", f:parse_BCUsrs }, -0x0198: { n:"UsrChk", f:parse_UsrChk }, -0x01a9: { n:"UserBView", f:parse_UserBView }, -0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, -0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, -0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, -0x01ad: { n:"Qsi", f:parse_Qsi }, -0x01ae: { n:"SupBook", f:parse_SupBook }, -0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, -0x01b0: { n:"CondFmt", f:parse_CondFmt }, -0x01b1: { n:"CF", f:parse_CF }, -0x01b2: { n:"DVal", f:parse_DVal }, -0x01b5: { n:"DConBin", f:parse_DConBin }, -0x01b6: { n:"TxO", f:parse_TxO }, -0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, -0x01b8: { n:"HLink", f:parse_HLink }, -0x01b9: { n:"Lel", f:parse_Lel }, -0x01ba: { n:"CodeName", f:parse_XLSCodeName }, -0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, -0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, -0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, -0x01be: { n:"Dv", f:parse_Dv }, -0x01c0: { n:"Excel9File", f:parse_Excel9File }, -0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, -0x01c2: { n:"EntExU2", f:parse_EntExU2 }, -0x0200: { n:"Dimensions", f:parse_Dimensions }, -0x0201: { n:"Blank", f:parse_Blank }, -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 }, -0x0221: { n:"Array", f:parse_Array }, -0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, -0x0236: { n:"Table", f:parse_Table }, -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 }, -0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, -0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, -0x0801: { n:"WebPub", f:parse_WebPub }, -0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, -0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, -0x0804: { n:"ExtString", f:parse_ExtString }, -0x0805: { n:"TxtQry", f:parse_TxtQry }, -0x0806: { n:"Qsir", f:parse_Qsir }, -0x0807: { n:"Qsif", f:parse_Qsif }, -0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, -0x0809: { n:'BOF', f:parse_BOF }, -0x080a: { n:"OleDbConn", f:parse_OleDbConn }, -0x080b: { n:"WOpt", f:parse_WOpt }, -0x080c: { n:"SXViewEx", f:parse_SXViewEx }, -0x080d: { n:"SXTH", f:parse_SXTH }, -0x080e: { n:"SXPIEx", f:parse_SXPIEx }, -0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, -0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, -0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, -0x0813: { n:"RealTimeData", f:parse_RealTimeData }, -0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, -0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, -0x0852: { n:"StartBlock", f:parse_StartBlock }, -0x0853: { n:"EndBlock", f:parse_EndBlock }, -0x0854: { n:"StartObject", f:parse_StartObject }, -0x0855: { n:"EndObject", f:parse_EndObject }, -0x0856: { n:"CatLab", f:parse_CatLab }, -0x0857: { n:"YMult", f:parse_YMult }, -0x0858: { n:"SXViewLink", f:parse_SXViewLink }, -0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, -0x085a: { n:"FrtFontList", f:parse_FrtFontList }, -0x0862: { n:"SheetExt", f:parse_SheetExt }, -0x0863: { n:"BookExt", f:parse_BookExt, r:12}, -0x0864: { n:"SXAddl", f:parse_SXAddl }, -0x0865: { n:"CrErr", f:parse_CrErr }, -0x0866: { n:"HFPicture", f:parse_HFPicture }, -0x0867: { n:'FeatHdr', f:parse_FeatHdr }, -0x0868: { n:"Feat", f:parse_Feat }, -0x086a: { n:"DataLabExt", f:parse_DataLabExt }, -0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, -0x086c: { n:"CellWatch", f:parse_CellWatch }, -0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, -0x0872: { n:"Feature11", f:parse_Feature11 }, -0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, -0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, -0x0876: { n:"DConn", f:parse_DConn }, -0x0877: { n:"List12", f:parse_List12 }, -0x0878: { n:"Feature12", f:parse_Feature12 }, -0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, -0x087a: { n:"CF12", f:parse_CF12 }, -0x087b: { n:"CFEx", f:parse_CFEx }, -0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, -0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, -0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, -0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, -0x0884: { n:"MDTInfo", f:parse_MDTInfo }, -0x0885: { n:"MDXStr", f:parse_MDXStr }, -0x0886: { n:"MDXTuple", f:parse_MDXTuple }, -0x0887: { n:"MDXSet", f:parse_MDXSet }, -0x0888: { n:"MDXProp", f:parse_MDXProp }, -0x0889: { n:"MDXKPI", f:parse_MDXKPI }, -0x088a: { n:"MDB", f:parse_MDB }, -0x088b: { n:"PLV", f:parse_PLV }, -0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, -0x088d: { n:"DXF", f:parse_DXF }, -0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, -0x088f: { n:"TableStyle", f:parse_TableStyle }, -0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, -0x0892: { n:"StyleExt", f:parse_StyleExt }, -0x0893: { n:"NamePublish", f:parse_NamePublish }, -0x0894: { n:"NameCmt", f:parse_NameCmt }, -0x0895: { n:"SortData", f:parse_SortData }, -0x0896: { n:"Theme", f:parse_Theme, r:12 }, -0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, -0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, -0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, -0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, -0x089b: { n:"CompressPictures", f:parse_CompressPictures }, -0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, -0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, -0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, -0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, -0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, -0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, -0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, -0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, -0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, -0x1001: { n:"Units", f:parse_Units }, -0x1002: { n:"Chart", f:parse_Chart }, -0x1003: { n:"Series", f:parse_Series }, -0x1006: { n:"DataFormat", f:parse_DataFormat }, -0x1007: { n:"LineFormat", f:parse_LineFormat }, -0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, -0x100a: { n:"AreaFormat", f:parse_AreaFormat }, -0x100b: { n:"PieFormat", f:parse_PieFormat }, -0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, -0x100d: { n:"SeriesText", f:parse_SeriesText }, -0x1014: { n:"ChartFormat", f:parse_ChartFormat }, -0x1015: { n:"Legend", f:parse_Legend }, -0x1016: { n:"SeriesList", f:parse_SeriesList }, -0x1017: { n:"Bar", f:parse_Bar }, -0x1018: { n:"Line", f:parse_Line }, -0x1019: { n:"Pie", f:parse_Pie }, -0x101a: { n:"Area", f:parse_Area }, -0x101b: { n:"Scatter", f:parse_Scatter }, -0x101c: { n:"CrtLine", f:parse_CrtLine }, -0x101d: { n:"Axis", f:parse_Axis }, -0x101e: { n:"Tick", f:parse_Tick }, -0x101f: { n:"ValueRange", f:parse_ValueRange }, -0x1020: { n:"CatSerRange", f:parse_CatSerRange }, -0x1021: { n:"AxisLine", f:parse_AxisLine }, -0x1022: { n:"CrtLink", f:parse_CrtLink }, -0x1024: { n:"DefaultText", f:parse_DefaultText }, -0x1025: { n:"Text", f:parse_Text }, -0x1026: { n:"FontX", f:parse_FontX }, -0x1027: { n:"ObjectLink", f:parse_ObjectLink }, -0x1032: { n:"Frame", f:parse_Frame }, -0x1033: { n:"Begin", f:parse_Begin }, -0x1034: { n:"End", f:parse_End }, -0x1035: { n:"PlotArea", f:parse_PlotArea }, -0x103a: { n:"Chart3d", f:parse_Chart3d }, -0x103c: { n:"PicF", f:parse_PicF }, -0x103d: { n:"DropBar", f:parse_DropBar }, -0x103e: { n:"Radar", f:parse_Radar }, -0x103f: { n:"Surf", f:parse_Surf }, -0x1040: { n:"RadarArea", f:parse_RadarArea }, -0x1041: { n:"AxisParent", f:parse_AxisParent }, -0x1043: { n:"LegendException", f:parse_LegendException }, -0x1044: { n:"ShtProps", f:parse_ShtProps }, -0x1045: { n:"SerToCrt", f:parse_SerToCrt }, -0x1046: { n:"AxesUsed", f:parse_AxesUsed }, -0x1048: { n:"SBaseRef", f:parse_SBaseRef }, -0x104a: { n:"SerParent", f:parse_SerParent }, -0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, -0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, -0x104f: { n:"Pos", f:parse_Pos }, -0x1050: { n:"AlRuns", f:parse_AlRuns }, -0x1051: { n:"BRAI", f:parse_BRAI }, -0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, -0x105c: { n:"ClrtClient", f:parse_ClrtClient }, -0x105d: { n:"SerFmt", f:parse_SerFmt }, -0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, -0x1060: { n:"Fbi", f:parse_Fbi }, -0x1061: { n:"BopPop", f:parse_BopPop }, -0x1062: { n:"AxcExt", f:parse_AxcExt }, -0x1063: { n:"Dat", f:parse_Dat }, -0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, -0x1065: { n:"SIIndex", f:parse_SIIndex }, -0x1066: { n:"GelFrame", f:parse_GelFrame }, -0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, -0x1068: { n:"Fbi2", f:parse_Fbi2 }, + 0x0003: { n:"BIFF2NUM", f:parse_BIFF2NUM }, + 0x0004: { n:"BIFF2STR", f:parse_BIFF2STR }, + 0x0006: { n:"Formula", f:parse_Formula }, + 0x0009: { n:'BOF', f:parse_BOF }, + 0x000a: { n:'EOF', f:parse_EOF }, + 0x000c: { n:"CalcCount", f:parse_CalcCount }, + 0x000d: { n:"CalcMode", f:parse_CalcMode }, + 0x000e: { n:"CalcPrecision", f:parse_CalcPrecision }, + 0x000f: { n:"CalcRefMode", f:parse_CalcRefMode }, + 0x0010: { n:"CalcDelta", f:parse_CalcDelta }, + 0x0011: { n:"CalcIter", f:parse_CalcIter }, + 0x0012: { n:"Protect", f:parse_Protect }, + 0x0013: { n:"Password", f:parse_Password }, + 0x0014: { n:"Header", f:parse_Header }, + 0x0015: { n:"Footer", f:parse_Footer }, + 0x0017: { n:"ExternSheet", f:parse_ExternSheet }, + 0x0018: { n:"Lbl", f:parse_Lbl }, + 0x0019: { n:"WinProtect", f:parse_WinProtect }, + 0x001a: { n:"VerticalPageBreaks", f:parse_VerticalPageBreaks }, + 0x001b: { n:"HorizontalPageBreaks", f:parse_HorizontalPageBreaks }, + 0x001c: { n:"Note", f:parse_Note }, + 0x001d: { n:"Selection", f:parse_Selection }, + 0x0022: { n:"Date1904", f:parse_Date1904 }, + 0x0023: { n:"ExternName", f:parse_ExternName }, + 0x0026: { n:"LeftMargin", f:parse_LeftMargin }, + 0x0027: { n:"RightMargin", f:parse_RightMargin }, + 0x0028: { n:"TopMargin", f:parse_TopMargin }, + 0x0029: { n:"BottomMargin", f:parse_BottomMargin }, + 0x002a: { n:"PrintRowCol", f:parse_PrintRowCol }, + 0x002b: { n:"PrintGrid", f:parse_PrintGrid }, + 0x002f: { n:"FilePass", f:parse_FilePass }, + 0x0031: { n:"Font", f:parse_Font }, + 0x0033: { n:"PrintSize", f:parse_PrintSize }, + 0x003c: { n:"Continue", f:parse_Continue }, + 0x003d: { n:"Window1", f:parse_Window1 }, + 0x0040: { n:"Backup", f:parse_Backup }, + 0x0041: { n:"Pane", f:parse_Pane }, + 0x0042: { n:'CodePage', f:parse_CodePage }, + 0x004d: { n:"Pls", f:parse_Pls }, + 0x0050: { n:"DCon", f:parse_DCon }, + 0x0051: { n:"DConRef", f:parse_DConRef }, + 0x0052: { n:"DConName", f:parse_DConName }, + 0x0055: { n:"DefColWidth", f:parse_DefColWidth }, + 0x0059: { n:"XCT", f:parse_XCT }, + 0x005a: { n:"CRN", f:parse_CRN }, + 0x005b: { n:"FileSharing", f:parse_FileSharing }, + 0x005c: { n:'WriteAccess', f:parse_WriteAccess }, + 0x005d: { n:"Obj", f:parse_Obj }, + 0x005e: { n:"Uncalced", f:parse_Uncalced }, + 0x005f: { n:"CalcSaveRecalc", f:parse_CalcSaveRecalc }, + 0x0060: { n:"Template", f:parse_Template }, + 0x0061: { n:"Intl", f:parse_Intl }, + 0x0063: { n:"ObjProtect", f:parse_ObjProtect }, + 0x007d: { n:"ColInfo", f:parse_ColInfo }, + 0x0080: { n:"Guts", f:parse_Guts }, + 0x0081: { n:"WsBool", f:parse_WsBool }, + 0x0082: { n:"GridSet", f:parse_GridSet }, + 0x0083: { n:"HCenter", f:parse_HCenter }, + 0x0084: { n:"VCenter", f:parse_VCenter }, + 0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 }, + 0x0086: { n:"WriteProtect", f:parse_WriteProtect }, + 0x008c: { n:"Country", f:parse_Country }, + 0x008d: { n:"HideObj", f:parse_HideObj }, + 0x0090: { n:"Sort", f:parse_Sort }, + 0x0092: { n:"Palette", f:parse_Palette }, + 0x0097: { n:"Sync", f:parse_Sync }, + 0x0098: { n:"LPr", f:parse_LPr }, + 0x0099: { n:"DxGCol", f:parse_DxGCol }, + 0x009a: { n:"FnGroupName", f:parse_FnGroupName }, + 0x009b: { n:"FilterMode", f:parse_FilterMode }, + 0x009c: { n:"BuiltInFnGroupCount", f:parse_BuiltInFnGroupCount }, + 0x009d: { n:"AutoFilterInfo", f:parse_AutoFilterInfo }, + 0x009e: { n:"AutoFilter", f:parse_AutoFilter }, + 0x00a0: { n:"Scl", f:parse_Scl }, + 0x00a1: { n:"Setup", f:parse_Setup }, + 0x00ae: { n:"ScenMan", f:parse_ScenMan }, + 0x00af: { n:"SCENARIO", f:parse_SCENARIO }, + 0x00b0: { n:"SxView", f:parse_SxView }, + 0x00b1: { n:"Sxvd", f:parse_Sxvd }, + 0x00b2: { n:"SXVI", f:parse_SXVI }, + 0x00b4: { n:"SxIvd", f:parse_SxIvd }, + 0x00b5: { n:"SXLI", f:parse_SXLI }, + 0x00b6: { n:"SXPI", f:parse_SXPI }, + 0x00b8: { n:"DocRoute", f:parse_DocRoute }, + 0x00b9: { n:"RecipName", f:parse_RecipName }, + 0x00bd: { n:"MulRk", f:parse_MulRk }, + 0x00be: { n:"MulBlank", f:parse_MulBlank }, + 0x00c1: { n:'Mms', f:parse_Mms }, + 0x00c5: { n:"SXDI", f:parse_SXDI }, + 0x00c6: { n:"SXDB", f:parse_SXDB }, + 0x00c7: { n:"SXFDB", f:parse_SXFDB }, + 0x00c8: { n:"SXDBB", f:parse_SXDBB }, + 0x00c9: { n:"SXNum", f:parse_SXNum }, + 0x00ca: { n:"SxBool", f:parse_SxBool }, + 0x00cb: { n:"SxErr", f:parse_SxErr }, + 0x00cc: { n:"SXInt", f:parse_SXInt }, + 0x00cd: { n:"SXString", f:parse_SXString }, + 0x00ce: { n:"SXDtr", f:parse_SXDtr }, + 0x00cf: { n:"SxNil", f:parse_SxNil }, + 0x00d0: { n:"SXTbl", f:parse_SXTbl }, + 0x00d1: { n:"SXTBRGIITM", f:parse_SXTBRGIITM }, + 0x00d2: { n:"SxTbpg", f:parse_SxTbpg }, + 0x00d3: { n:"ObProj", f:parse_ObProj }, + 0x00d5: { n:"SXStreamID", f:parse_SXStreamID }, + 0x00d7: { n:"DBCell", f:parse_DBCell }, + 0x00d8: { n:"SXRng", f:parse_SXRng }, + 0x00d9: { n:"SxIsxoper", f:parse_SxIsxoper }, + 0x00da: { n:"BookBool", f:parse_BookBool }, + 0x00dc: { n:"DbOrParamQry", f:parse_DbOrParamQry }, + 0x00dd: { n:"ScenarioProtect", f:parse_ScenarioProtect }, + 0x00de: { n:"OleObjectSize", f:parse_OleObjectSize }, + 0x00e0: { n:"XF", f:parse_XF }, + 0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr }, + 0x00e2: { n:'InterfaceEnd', f:parse_InterfaceEnd }, + 0x00e3: { n:"SXVS", f:parse_SXVS }, + 0x00e5: { n:"MergeCells", f:parse_MergeCells }, + 0x00e9: { n:"BkHim", f:parse_BkHim }, + 0x00eb: { n:"MsoDrawingGroup", f:parse_MsoDrawingGroup }, + 0x00ec: { n:"MsoDrawing", f:parse_MsoDrawing }, + 0x00ed: { n:"MsoDrawingSelection", f:parse_MsoDrawingSelection }, + 0x00ef: { n:"PhoneticInfo", f:parse_PhoneticInfo }, + 0x00f0: { n:"SxRule", f:parse_SxRule }, + 0x00f1: { n:"SXEx", f:parse_SXEx }, + 0x00f2: { n:"SxFilt", f:parse_SxFilt }, + 0x00f4: { n:"SxDXF", f:parse_SxDXF }, + 0x00f5: { n:"SxItm", f:parse_SxItm }, + 0x00f6: { n:"SxName", f:parse_SxName }, + 0x00f7: { n:"SxSelect", f:parse_SxSelect }, + 0x00f8: { n:"SXPair", f:parse_SXPair }, + 0x00f9: { n:"SxFmla", f:parse_SxFmla }, + 0x00fb: { n:"SxFormat", f:parse_SxFormat }, + 0x00fc: { n:"SST", f:parse_SST }, + 0x00fd: { n:"LabelSst", f:parse_LabelSst }, + 0x00ff: { n:"ExtSST", f:parse_ExtSST }, + 0x0100: { n:"SXVDEx", f:parse_SXVDEx }, + 0x0103: { n:"SXFormula", f:parse_SXFormula }, + 0x0122: { n:"SXDBEx", f:parse_SXDBEx }, + 0x0137: { n:"RRDInsDel", f:parse_RRDInsDel }, + 0x0138: { n:"RRDHead", f:parse_RRDHead }, + 0x013b: { n:"RRDChgCell", f:parse_RRDChgCell }, + 0x013d: { n:"RRTabId", f:parse_RRTabId }, + 0x013e: { n:"RRDRenSheet", f:parse_RRDRenSheet }, + 0x013f: { n:"RRSort", f:parse_RRSort }, + 0x0140: { n:"RRDMove", f:parse_RRDMove }, + 0x014a: { n:"RRFormat", f:parse_RRFormat }, + 0x014b: { n:"RRAutoFmt", f:parse_RRAutoFmt }, + 0x014d: { n:"RRInsertSh", f:parse_RRInsertSh }, + 0x014e: { n:"RRDMoveBegin", f:parse_RRDMoveBegin }, + 0x014f: { n:"RRDMoveEnd", f:parse_RRDMoveEnd }, + 0x0150: { n:"RRDInsDelBegin", f:parse_RRDInsDelBegin }, + 0x0151: { n:"RRDInsDelEnd", f:parse_RRDInsDelEnd }, + 0x0152: { n:"RRDConflict", f:parse_RRDConflict }, + 0x0153: { n:"RRDDefName", f:parse_RRDDefName }, + 0x0154: { n:"RRDRstEtxp", f:parse_RRDRstEtxp }, + 0x015f: { n:"LRng", f:parse_LRng }, + 0x0160: { n:"UsesELFs", f:parse_UsesELFs }, + 0x0161: { n:"DSF", f:parse_DSF }, + 0x0191: { n:"CUsr", f:parse_CUsr }, + 0x0192: { n:"CbUsr", f:parse_CbUsr }, + 0x0193: { n:"UsrInfo", f:parse_UsrInfo }, + 0x0194: { n:"UsrExcl", f:parse_UsrExcl }, + 0x0195: { n:"FileLock", f:parse_FileLock }, + 0x0196: { n:"RRDInfo", f:parse_RRDInfo }, + 0x0197: { n:"BCUsrs", f:parse_BCUsrs }, + 0x0198: { n:"UsrChk", f:parse_UsrChk }, + 0x01a9: { n:"UserBView", f:parse_UserBView }, + 0x01aa: { n:"UserSViewBegin", f:parse_UserSViewBegin }, + 0x01ab: { n:"UserSViewEnd", f:parse_UserSViewEnd }, + 0x01ac: { n:"RRDUserView", f:parse_RRDUserView }, + 0x01ad: { n:"Qsi", f:parse_Qsi }, + 0x01ae: { n:"SupBook", f:parse_SupBook }, + 0x01af: { n:"Prot4Rev", f:parse_Prot4Rev }, + 0x01b0: { n:"CondFmt", f:parse_CondFmt }, + 0x01b1: { n:"CF", f:parse_CF }, + 0x01b2: { n:"DVal", f:parse_DVal }, + 0x01b5: { n:"DConBin", f:parse_DConBin }, + 0x01b6: { n:"TxO", f:parse_TxO }, + 0x01b7: { n:"RefreshAll", f:parse_RefreshAll }, + 0x01b8: { n:"HLink", f:parse_HLink }, + 0x01b9: { n:"Lel", f:parse_Lel }, + 0x01ba: { n:"CodeName", f:parse_XLSCodeName }, + 0x01bb: { n:"SXFDBType", f:parse_SXFDBType }, + 0x01bc: { n:"Prot4RevPass", f:parse_Prot4RevPass }, + 0x01bd: { n:"ObNoMacros", f:parse_ObNoMacros }, + 0x01be: { n:"Dv", f:parse_Dv }, + 0x01c0: { n:"Excel9File", f:parse_Excel9File }, + 0x01c1: { n:"RecalcId", f:parse_RecalcId, r:2}, + 0x01c2: { n:"EntExU2", f:parse_EntExU2 }, + 0x0200: { n:"Dimensions", f:parse_Dimensions }, + 0x0201: { n:"Blank", f:parse_Blank }, + 0x0203: { n:"Number", f:parse_Number }, + 0x0204: { n:"Label", f:parse_Label }, + 0x0205: { n:"BoolErr", f:parse_BoolErr }, + 0x0207: { n:"String", f:parse_String }, + 0x0208: { n:'Row', f:parse_Row }, + 0x020b: { n:"Index", f:parse_Index }, + 0x0221: { n:"Array", f:parse_Array }, + 0x0225: { n:"DefaultRowHeight", f:parse_DefaultRowHeight }, + 0x0236: { n:"Table", f:parse_Table }, + 0x023e: { n:"Window2", f:parse_Window2 }, + 0x027e: { n:"RK", f:parse_RK }, + 0x0293: { n:"Style", f:parse_Style }, + 0x0418: { n:"BigName", f:parse_BigName }, + 0x041e: { n:"Format", f:parse_Format }, + 0x043c: { n:"ContinueBigName", f:parse_ContinueBigName }, + 0x04bc: { n:"ShrFmla", f:parse_ShrFmla }, + 0x0800: { n:"HLinkTooltip", f:parse_HLinkTooltip }, + 0x0801: { n:"WebPub", f:parse_WebPub }, + 0x0802: { n:"QsiSXTag", f:parse_QsiSXTag }, + 0x0803: { n:"DBQueryExt", f:parse_DBQueryExt }, + 0x0804: { n:"ExtString", f:parse_ExtString }, + 0x0805: { n:"TxtQry", f:parse_TxtQry }, + 0x0806: { n:"Qsir", f:parse_Qsir }, + 0x0807: { n:"Qsif", f:parse_Qsif }, + 0x0808: { n:"RRDTQSIF", f:parse_RRDTQSIF }, + 0x0809: { n:'BOF', f:parse_BOF }, + 0x080a: { n:"OleDbConn", f:parse_OleDbConn }, + 0x080b: { n:"WOpt", f:parse_WOpt }, + 0x080c: { n:"SXViewEx", f:parse_SXViewEx }, + 0x080d: { n:"SXTH", f:parse_SXTH }, + 0x080e: { n:"SXPIEx", f:parse_SXPIEx }, + 0x080f: { n:"SXVDTEx", f:parse_SXVDTEx }, + 0x0810: { n:"SXViewEx9", f:parse_SXViewEx9 }, + 0x0812: { n:"ContinueFrt", f:parse_ContinueFrt }, + 0x0813: { n:"RealTimeData", f:parse_RealTimeData }, + 0x0850: { n:"ChartFrtInfo", f:parse_ChartFrtInfo }, + 0x0851: { n:"FrtWrapper", f:parse_FrtWrapper }, + 0x0852: { n:"StartBlock", f:parse_StartBlock }, + 0x0853: { n:"EndBlock", f:parse_EndBlock }, + 0x0854: { n:"StartObject", f:parse_StartObject }, + 0x0855: { n:"EndObject", f:parse_EndObject }, + 0x0856: { n:"CatLab", f:parse_CatLab }, + 0x0857: { n:"YMult", f:parse_YMult }, + 0x0858: { n:"SXViewLink", f:parse_SXViewLink }, + 0x0859: { n:"PivotChartBits", f:parse_PivotChartBits }, + 0x085a: { n:"FrtFontList", f:parse_FrtFontList }, + 0x0862: { n:"SheetExt", f:parse_SheetExt }, + 0x0863: { n:"BookExt", f:parse_BookExt, r:12}, + 0x0864: { n:"SXAddl", f:parse_SXAddl }, + 0x0865: { n:"CrErr", f:parse_CrErr }, + 0x0866: { n:"HFPicture", f:parse_HFPicture }, + 0x0867: { n:'FeatHdr', f:parse_FeatHdr }, + 0x0868: { n:"Feat", f:parse_Feat }, + 0x086a: { n:"DataLabExt", f:parse_DataLabExt }, + 0x086b: { n:"DataLabExtContents", f:parse_DataLabExtContents }, + 0x086c: { n:"CellWatch", f:parse_CellWatch }, + 0x0871: { n:"FeatHdr11", f:parse_FeatHdr11 }, + 0x0872: { n:"Feature11", f:parse_Feature11 }, + 0x0874: { n:"DropDownObjIds", f:parse_DropDownObjIds }, + 0x0875: { n:"ContinueFrt11", f:parse_ContinueFrt11 }, + 0x0876: { n:"DConn", f:parse_DConn }, + 0x0877: { n:"List12", f:parse_List12 }, + 0x0878: { n:"Feature12", f:parse_Feature12 }, + 0x0879: { n:"CondFmt12", f:parse_CondFmt12 }, + 0x087a: { n:"CF12", f:parse_CF12 }, + 0x087b: { n:"CFEx", f:parse_CFEx }, + 0x087c: { n:"XFCRC", f:parse_XFCRC, r:12 }, + 0x087d: { n:"XFExt", f:parse_XFExt, r:12 }, + 0x087e: { n:"AutoFilter12", f:parse_AutoFilter12 }, + 0x087f: { n:"ContinueFrt12", f:parse_ContinueFrt12 }, + 0x0884: { n:"MDTInfo", f:parse_MDTInfo }, + 0x0885: { n:"MDXStr", f:parse_MDXStr }, + 0x0886: { n:"MDXTuple", f:parse_MDXTuple }, + 0x0887: { n:"MDXSet", f:parse_MDXSet }, + 0x0888: { n:"MDXProp", f:parse_MDXProp }, + 0x0889: { n:"MDXKPI", f:parse_MDXKPI }, + 0x088a: { n:"MDB", f:parse_MDB }, + 0x088b: { n:"PLV", f:parse_PLV }, + 0x088c: { n:"Compat12", f:parse_Compat12, r:12 }, + 0x088d: { n:"DXF", f:parse_DXF }, + 0x088e: { n:"TableStyles", f:parse_TableStyles, r:12 }, + 0x088f: { n:"TableStyle", f:parse_TableStyle }, + 0x0890: { n:"TableStyleElement", f:parse_TableStyleElement }, + 0x0892: { n:"StyleExt", f:parse_StyleExt }, + 0x0893: { n:"NamePublish", f:parse_NamePublish }, + 0x0894: { n:"NameCmt", f:parse_NameCmt }, + 0x0895: { n:"SortData", f:parse_SortData }, + 0x0896: { n:"Theme", f:parse_Theme, r:12 }, + 0x0897: { n:"GUIDTypeLib", f:parse_GUIDTypeLib }, + 0x0898: { n:"FnGrp12", f:parse_FnGrp12 }, + 0x0899: { n:"NameFnGrp12", f:parse_NameFnGrp12 }, + 0x089a: { n:"MTRSettings", f:parse_MTRSettings, r:12 }, + 0x089b: { n:"CompressPictures", f:parse_CompressPictures }, + 0x089c: { n:"HeaderFooter", f:parse_HeaderFooter }, + 0x089d: { n:"CrtLayout12", f:parse_CrtLayout12 }, + 0x089e: { n:"CrtMlFrt", f:parse_CrtMlFrt }, + 0x089f: { n:"CrtMlFrtContinue", f:parse_CrtMlFrtContinue }, + 0x08a3: { n:"ForceFullCalculation", f:parse_ForceFullCalculation }, + 0x08a4: { n:"ShapePropsStream", f:parse_ShapePropsStream }, + 0x08a5: { n:"TextPropsStream", f:parse_TextPropsStream }, + 0x08a6: { n:"RichTextStream", f:parse_RichTextStream }, + 0x08a7: { n:"CrtLayout12A", f:parse_CrtLayout12A }, + 0x1001: { n:"Units", f:parse_Units }, + 0x1002: { n:"Chart", f:parse_Chart }, + 0x1003: { n:"Series", f:parse_Series }, + 0x1006: { n:"DataFormat", f:parse_DataFormat }, + 0x1007: { n:"LineFormat", f:parse_LineFormat }, + 0x1009: { n:"MarkerFormat", f:parse_MarkerFormat }, + 0x100a: { n:"AreaFormat", f:parse_AreaFormat }, + 0x100b: { n:"PieFormat", f:parse_PieFormat }, + 0x100c: { n:"AttachedLabel", f:parse_AttachedLabel }, + 0x100d: { n:"SeriesText", f:parse_SeriesText }, + 0x1014: { n:"ChartFormat", f:parse_ChartFormat }, + 0x1015: { n:"Legend", f:parse_Legend }, + 0x1016: { n:"SeriesList", f:parse_SeriesList }, + 0x1017: { n:"Bar", f:parse_Bar }, + 0x1018: { n:"Line", f:parse_Line }, + 0x1019: { n:"Pie", f:parse_Pie }, + 0x101a: { n:"Area", f:parse_Area }, + 0x101b: { n:"Scatter", f:parse_Scatter }, + 0x101c: { n:"CrtLine", f:parse_CrtLine }, + 0x101d: { n:"Axis", f:parse_Axis }, + 0x101e: { n:"Tick", f:parse_Tick }, + 0x101f: { n:"ValueRange", f:parse_ValueRange }, + 0x1020: { n:"CatSerRange", f:parse_CatSerRange }, + 0x1021: { n:"AxisLine", f:parse_AxisLine }, + 0x1022: { n:"CrtLink", f:parse_CrtLink }, + 0x1024: { n:"DefaultText", f:parse_DefaultText }, + 0x1025: { n:"Text", f:parse_Text }, + 0x1026: { n:"FontX", f:parse_FontX }, + 0x1027: { n:"ObjectLink", f:parse_ObjectLink }, + 0x1032: { n:"Frame", f:parse_Frame }, + 0x1033: { n:"Begin", f:parse_Begin }, + 0x1034: { n:"End", f:parse_End }, + 0x1035: { n:"PlotArea", f:parse_PlotArea }, + 0x103a: { n:"Chart3d", f:parse_Chart3d }, + 0x103c: { n:"PicF", f:parse_PicF }, + 0x103d: { n:"DropBar", f:parse_DropBar }, + 0x103e: { n:"Radar", f:parse_Radar }, + 0x103f: { n:"Surf", f:parse_Surf }, + 0x1040: { n:"RadarArea", f:parse_RadarArea }, + 0x1041: { n:"AxisParent", f:parse_AxisParent }, + 0x1043: { n:"LegendException", f:parse_LegendException }, + 0x1044: { n:"ShtProps", f:parse_ShtProps }, + 0x1045: { n:"SerToCrt", f:parse_SerToCrt }, + 0x1046: { n:"AxesUsed", f:parse_AxesUsed }, + 0x1048: { n:"SBaseRef", f:parse_SBaseRef }, + 0x104a: { n:"SerParent", f:parse_SerParent }, + 0x104b: { n:"SerAuxTrend", f:parse_SerAuxTrend }, + 0x104e: { n:"IFmtRecord", f:parse_IFmtRecord }, + 0x104f: { n:"Pos", f:parse_Pos }, + 0x1050: { n:"AlRuns", f:parse_AlRuns }, + 0x1051: { n:"BRAI", f:parse_BRAI }, + 0x105b: { n:"SerAuxErrBar", f:parse_SerAuxErrBar }, + 0x105c: { n:"ClrtClient", f:parse_ClrtClient }, + 0x105d: { n:"SerFmt", f:parse_SerFmt }, + 0x105f: { n:"Chart3DBarShape", f:parse_Chart3DBarShape }, + 0x1060: { n:"Fbi", f:parse_Fbi }, + 0x1061: { n:"BopPop", f:parse_BopPop }, + 0x1062: { n:"AxcExt", f:parse_AxcExt }, + 0x1063: { n:"Dat", f:parse_Dat }, + 0x1064: { n:"PlotGrowth", f:parse_PlotGrowth }, + 0x1065: { n:"SIIndex", f:parse_SIIndex }, + 0x1066: { n:"GelFrame", f:parse_GelFrame }, + 0x1067: { n:"BopPopCustom", f:parse_BopPopCustom }, + 0x1068: { n:"Fbi2", f:parse_Fbi2 }, /* These are specified in an older version of the spec */ -0x0000: { n:"Dimensions", f:parse_Dimensions }, -0x0002: { n:"BIFF2INT", f:parse_BIFF2INT }, -0x0005: { n:"BoolErr", f:parse_BoolErr }, -0x0007: { n:"String", f:parse_BIFF2STRING }, -0x0008: { n:"BIFF2ROW", f:parsenoop }, -0x000b: { n:"Index", f:parse_Index }, -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 }, -0x0045: { n:"BIFF2FONTCLR", f:parsenoop }, -0x0056: { n:"BIFF4FMTCNT", f:parsenoop }, /* 16-bit cnt, similar to BIFF2 */ -0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ -0x007f: { n:"ImData", f:parsenoop }, -0x0087: { n:"Addin", f:parsenoop }, -0x0088: { n:"Edg", f:parsenoop }, -0x0089: { n:"Pub", f:parsenoop }, -0x0091: { n:"Sub", f:parsenoop }, -0x0094: { n:"LHRecord", f:parsenoop }, -0x0095: { n:"LHNGraph", f:parsenoop }, -0x0096: { n:"Sound", f:parsenoop }, -0x00a9: { n:"CoordList", f:parsenoop }, -0x00ab: { n:"GCW", f:parsenoop }, -0x00bc: { n:"ShrFmla", f:parsenoop }, /* Not necessarily same as 0x04bc */ -0x00c2: { n:"AddMenu", f:parsenoop }, -0x00c3: { n:"DelMenu", f:parsenoop }, -0x00d6: { n:"RString", f:parse_RString }, -0x00df: { n:"UDDesc", f:parsenoop }, -0x00ea: { n:"TabIdConf", f:parsenoop }, -0x0162: { n:"XL5Modify", f:parsenoop }, -0x01a5: { n:"FileSharing2", f:parsenoop }, -0x0209: { n:'BOF', f:parse_BOF }, -0x0218: { n:"Lbl", f:parse_Lbl }, -0x0223: { n:"ExternName", f:parse_ExternName }, -0x0231: { n:"Font", f:parsenoop }, -0x0409: { n:'BOF', f:parse_BOF }, -0x086d: { n:"FeatInfo", f:parsenoop }, -0x0873: { n:"FeatInfo11", f:parsenoop }, -0x0881: { n:"SXAddl12", f:parsenoop }, -0x08c0: { n:"AutoWebPub", f:parsenoop }, -0x08c1: { n:"ListObj", f:parsenoop }, -0x08c2: { n:"ListField", f:parsenoop }, -0x08c3: { n:"ListDV", f:parsenoop }, -0x08c4: { n:"ListCondFmt", f:parsenoop }, -0x08c5: { n:"ListCF", f:parsenoop }, -0x08c6: { n:"FMQry", f:parsenoop }, -0x08c7: { n:"FMSQry", f:parsenoop }, -0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ -0x08c9: { n:"LnExt", f:parsenoop }, -0x08ca: { n:"MkrExt", f:parsenoop }, -0x08cb: { n:"CrtCoopt", f:parsenoop }, + 0x0016: { n:"ExternCount", f:parsenoop }, + 0x007e: { n:"RK", f:parsenoop }, /* Not necessarily same as 0x027e */ + 0x007f: { n:"ImData", f:parsenoop }, + 0x0087: { n:"Addin", f:parsenoop }, + 0x0088: { n:"Edg", f:parsenoop }, + 0x0089: { n:"Pub", f:parsenoop }, + 0x0091: { n:"Sub", f:parsenoop }, + 0x0094: { n:"LHRecord", f:parsenoop }, + 0x0095: { n:"LHNGraph", f:parsenoop }, + 0x0096: { n:"Sound", f:parsenoop }, + 0x00a9: { n:"CoordList", f:parsenoop }, + 0x00ab: { n:"GCW", f:parsenoop }, + 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 }, + 0x00df: { n:"UDDesc", f:parsenoop }, + 0x00ea: { n:"TabIdConf", f:parsenoop }, + 0x0162: { n:"XL5Modify", f:parsenoop }, + 0x01a5: { n:"FileSharing2", f:parsenoop }, + 0x0218: { n:"Name", f:parsenoop }, + 0x0223: { n:"ExternName", f:parse_ExternName }, + 0x0231: { n:"Font", f:parsenoop }, + 0x0406: { n:"Formula", f:parse_Formula }, + 0x086d: { n:"FeatInfo", f:parsenoop }, + 0x0873: { n:"FeatInfo11", f:parsenoop }, + 0x0881: { n:"SXAddl12", f:parsenoop }, + 0x08c0: { n:"AutoWebPub", f:parsenoop }, + 0x08c1: { n:"ListObj", f:parsenoop }, + 0x08c2: { n:"ListField", f:parsenoop }, + 0x08c3: { n:"ListDV", f:parsenoop }, + 0x08c4: { n:"ListCondFmt", f:parsenoop }, + 0x08c5: { n:"ListCF", f:parsenoop }, + 0x08c6: { n:"FMQry", f:parsenoop }, + 0x08c7: { n:"FMSQry", f:parsenoop }, + 0x08c8: { n:"PLV", f:parsenoop }, /* supposedly PLV for Excel 11 */ + 0x08c9: { n:"LnExt", f:parsenoop }, + 0x08ca: { n:"MkrExt", f:parsenoop }, + 0x08cb: { n:"CrtCoopt", f:parsenoop }, -0x0043: { n:"BIFF2XF", f:parsenoop }, -0x0243: { n:"BIFF3XF", f:parsenoop }, -0x0443: { n:"BIFF4XF", f:parsenoop }, - -0x7262: {} + 0x0000: {} }; -/* BIFF2-4 single-sheet workbooks */ -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, 0x0002); // "unused" - out.write_shift(2, 0x0010); // Sheet - 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; -} - -/* TODO: codepage, large strings */ -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 < out.length ? out.slice(0, out.l) : out; -} - -function write_ws_biff_cell(ba, cell, R, C, opts) { - switch(cell.t) { - case 'n': - if((cell.v == (cell.v|0)) && (cell.v >= 0) && (cell.v < 65536)) - write_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, cell.v)); - else - write_biff_rec(ba, 0x0003, write_BIFF2NUMBER(R,C, cell.v)); - break; - case 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); break; - /* TODO: codepage, sst */ - case 's': case 'str': - write_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v)); - break; - default: write_biff_rec(ba, 0x0001, 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 cell */ - write_ws_biff_cell(ba, ws[ref], R, C, opts); - } - } -} - -/* Based on test files */ -function write_biff_buf(wb, o) { - var ba = buf_array(); - var idx = 0; - for(var i=0;i / pair"); - var rows = str.slice(i, j).split(/]*>/); - var R = 0, C = 0; - var range = {s:{r:10000000, c:10000000},e:{r:0,c:0}}; - for(i = 0; i < rows.length; ++i) { - if(rows[i].substr(0,3) != ""); - for(j = 0; j < cells.length; ++j) { - if(cells[j].substr(0,3) != "")) > -1) m = m.slice(cc+1); - while(m.indexOf(">") > -1) m = m.slice(0, m.lastIndexOf("<")); - /* TODO: generate stub cells */ - if(!m.length) continue; - if(range.s.r > R) range.s.r = R; - if(range.e.r < R) range.e.r = R; - if(range.s.c > C) range.s.c = C; - if(range.e.c < C) range.e.c = C; - var coord = encode_cell({r:R, c:C}); - /* TODO: value parsing */ - if(Number(m) == Number(m)) ws[coord] = {t:'n', v:+m}; - else ws[coord] = {t:'s', v:m}; - } - ++R; C = 0; - } - ws['!ref'] = encode_range(range); - return o; -} -var parse_content_xml = (function() { - - var parse_text_p = function(text, tag) { - return unescapexml(text.replace(//g," ").replace(/<[^>]*>/g,"")); - }; - - var number_formats = { - /* ods name: [short ssf fmt, long ssf fmt] */ - 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 opts = _opts || {}; - var str = xlml_normalize(d); - var state = [], tmp; - var tag; - var NFtag = {name:""}, NF = "", pidx = 0; - var sheetag; - var rowtag; - var Sheets = {}, SheetNames = [], ws = {}; - var Rn, q; - 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 arrayf = []; - var rept = 1, isstub = false; - var i = 0; - xlmlregex.lastIndex = 0; - while((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,""))) { - - case 'table': case '工作表': // 9.1.2 - if(Rn[1]==='/') { - if(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range); - if(merges.length) ws['!merges'] = merges; - sheetag.name = utf8read(sheetag['名称'] || 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 = 10000000; range.e.r = range.e.c = 0; - ws = {}; merges = []; - } - break; - - case 'table-row': case '行': // 9.1.3 - if(Rn[1] === '/') break; - rowtag = parsexmltag(Rn[0], false); - if(rowtag['行号']) R = rowtag['行号'] - 1; else ++R; - C = -1; break; - case 'covered-table-cell': // 9.1.5 table:covered-table-cell - ++C; break; /* stub */ - case 'table-cell': case '数据': - 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 < range.s.c) range.s.c = C; - if(R < range.s.r) range.s.r = R; - ctag = parsexmltag(Rn[0], false); - q = ({t:ctag['数据类型'] || 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 = 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; - mrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}}; - merges.push(mrange); - } - - /* 19.675.2 table:number-columns-repeated */ - if(ctag['number-columns-repeated']) rept = parseInt(ctag['number-columns-repeated'], 10); - - /* 19.385 office:value-type */ - 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(new Date(ctag['date-value'])); q.z = 'm/d/yy'; break; - case 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; break; - case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break; - default: - if(q.t === 'string' || q.t === 'text' || !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.sheetRows < R)) { - ws[encode_cell({r:R,c:C})] = q; - while(--rept > 0) ws[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; // 9.1.4 - - /* pure state */ - case 'document': // TODO: is the root for FODS - case 'document-content': case '电子表格文档': // 3.1.3.2 - case 'spreadsheet': case '主体': // 3.7 - case 'scripts': // 3.12 - case 'styles': // TODO - case 'font-face-decls': // 3.14 - 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; - - /* ignore state */ - case 'meta': case '元数据': // TODO: FODS/UOF - case 'settings': // TODO: - case 'config-item-set': // TODO: - case 'config-item-map-indexed': // TODO: - case 'config-item-map-entry': // TODO: - case 'config-item-map-named': // TODO: - case 'shapes': // 9.2.8 - case 'frame': // 10.4.2 - case 'text-box': // 10.4.3 - case 'image': // 10.4.4 - case 'data-pilot-tables': // 9.6.2 - case 'list-style': // 16.30 - case 'form': // 13.13 - case 'dde-links': // 9.8 - case 'annotation': // 14.1 - case 'event-listeners': // TODO - 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 'scientific-number': // TODO: - break; - case 'currency-symbol': // TODO: - break; - case 'currency-style': // TODO: - break; - case 'number-style': // 16.27.2 - case 'percentage-style': // 16.27.9 - case 'date-style': // 16.27.10 - case 'time-style': // 16.27.18 - 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; // 3.13 - case 'libraries': break; // TODO: - case 'automatic-styles': break; // 3.15.3 - case 'master-styles': break; // TODO: - - case 'default-style': // TODO: - case 'page-layout': break; // TODO: - case 'style': break; // 16.2 - case 'map': break; // 16.3 - case 'font-face': break; // 16.21 - - case 'paragraph-properties': break; // 17.6 - case 'table-properties': break; // 17.15 - case 'table-column-properties': break; // 17.16 - case 'table-row-properties': break; // 17.17 - case 'table-cell-properties': break; // 17.18 - - case 'number': // 16.27.3 - 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; // TODO 16.27.6 - - case 'day': // 16.27.11 - case 'month': // 16.27.12 - case 'year': // 16.27.13 - case 'era': // 16.27.14 - case 'day-of-week': // 16.27.15 - case 'week-of-year': // 16.27.16 - case 'quarter': // 16.27.17 - case 'hours': // 16.27.19 - case 'minutes': // 16.27.20 - case 'seconds': // 16.27.21 - case 'am-pm': // 16.27.22 - 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; // 16.27.23 - case 'boolean': break; // 16.27.24 - case 'text-style': break; // 16.27.25 - case 'text': // 16.27.26 - if(Rn[0].slice(-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; // 16.27.27 - case 'text-properties': break; // 16.27.27 - - case 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3 - - case 'forms': break; // 12.25.2 13.2 - case 'table-column': break; // 9.1.6 - - case 'null-date': break; // 9.4.2 TODO: date1904 - - case 'graphic-properties': break; // 17.21 - case 'calculation-settings': break; // 9.4.1 - case 'named-expressions': break; // 9.4.11 - case 'named-range': break; // 9.4.12 - case 'named-expression': break; // 9.4.13 - case 'sort': break; // 9.4.19 - case 'sort-by': break; // 9.4.20 - case 'sort-groups': break; // 9.4.22 - - case 'span': break; // - case 'line-break': break; // 6.1.5 - case 'p': case '文本串': - 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; // <*:date> - - case 'object': break; // 10.4.6.2 - case 'title': case '标题': break; // <*:title> OR - case 'desc': break; // <*:desc> - - case 'table-source': break; // 9.2.6 - - case 'iteration': break; // 9.4.3 - case 'content-validations': break; // 9.4.4 - case 'database-range': break; // 9.4.15 - case 'filter': break; // 9.5.2 - case 'filter-and': break; // 9.5.3 - case 'filter-or': break; // 9.5.4 - case 'filter-condition': break; // 9.5.5 - - case 'list-level-style-bullet': break; // 16.31 - case 'page-count': break; // TODO - case 'time': break; // TODO - - /* 9.6 Data Pilot Tables - case 'property': break; // 13.8 - - case 'a': break; // 6.1.8 hyperlink - - /* non-standard */ - case 'table-protection': break; - case 'data-pilot-grand-total': break; // \n'); - var R=0,C=0, range = decode_range(ws['!ref']); - for(R = 0; R < range.s.r; ++R) o.push(' \n'); - for(; R <= range.e.r; ++R) { - o.push(' \n'); - for(C=0; C < range.s.c; ++C) o.push(null_cell_xml); - for(; C <= range.e.c; ++C) { - var ref = encode_cell({r:R, c:C}), cell = ws[ref]; - if(cell) switch(cell.t) { - case 'b': o.push(' ' + (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; - //case 'd': // TODO - //case 'e': - 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]; - /* 3.1.3.2 */ - if(opts.bookType == "fods") o.push(''); - else o.push('\n'); // TODO - 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'); - if(opts.bookType == "fods") o.push(''); - else o.push(''); - return o.join(""); - }; -})(); -/* actual implementation in utils, wrappers are for read/write */ -function write_csv_str(wb, o) { - var idx = 0; - for(var i=0;i 0) 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(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets; + if(typeof sheets !== 'undefined') out.SheetNames = sheets; if(opts.bookSheets ? out.SheetNames : opts.bookProps) return out; } sheets = {}; @@ -12992,7 +11214,7 @@ function parse_zip(zip, opts) { if(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, dir.calcchain.replace(/^\//,'')),dir.calcchain,opts); var i=0; - var sheetRels = ({}); + var sheetRels = {}; var path, relsPath; if(!props.Worksheets) { var wbsheets = wb.Sheets; @@ -13005,23 +11227,23 @@ function parse_zip(zip, opts) { var wbext = xlsb ? "bin" : "xml"; var wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels'; - var wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile); + var wbrels = parse_rels(getzipdata(zip, wbrelsfile, true), wbrelsfile); if(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets); /* Numbers iOS hack */ 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\//, ""); + if(wbrels) 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); + safe_parse_ws(zip, path, relsPath, props.SheetNames[i], sheetRels, sheets, opts); } if(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts); - out = ({ + out = { Directory: dir, Workbook: wb, Props: props, @@ -13033,14 +11255,14 @@ function parse_zip(zip, opts) { 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); + else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); } return out; } @@ -13056,14 +11278,11 @@ function add_rels(rels, rId, f, type, 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) { - // $FlowIgnore make_ssf(SSF); SSF.load_table(wb.SSF); - // $FlowIgnore opts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0; } opts.rels = {}; opts.wbrels = {}; @@ -13073,20 +11292,19 @@ function write_zip(wb, opts) { coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], TODO:[], rels:[], xmlns: "" }; fix_write_opts(opts = opts || {}); -var zip = new jszip(); + 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"; + f = "docProps/app.xml"; + if(!wb.Props) wb.Props = {}; wb.Props.SheetNames = wb.SheetNames; wb.Props.Worksheets = wb.SheetNames.length; zip.file(f, write_ext_props(wb.Props, opts)); @@ -13144,115 +11362,76 @@ function firstbyte(f,o) { 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")); + default: throw new Error("Unrecognized type " + o.type); } } function read_zip(data, opts) { -var zip, d = data; + 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; + case "file": zip=new jszip(d=_fs.readFileSync(data)); 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 zip, d = data, isfile = false, n; 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); } + if(o.type == "file") { isfile = true; o.type = "buffer"; d = _fs.readFileSync(data); } switch((n = firstbyte(d, o))) { - case 0xD0: return parse_xlscfb(CFB.read(d, o), o); - case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(d) : d), o); + case 0xD0: + if(isfile) o.type = "file"; + return parse_xlscfb(CFB.read(data, o), o); + case 0x09: return parse_xlscfb(s2a(o.type === 'base64' ? Base64.decode(data) : data), o); case 0x3C: return parse_xlml(d, o); - case 0x50: return read_zip(d, o); - case 0xEF: return parse_xlml(d, o); + case 0x50: + if(isfile) o.type = "file"; + return read_zip(data, opts); default: throw new Error("Unsupported file " + n); } } -function readFileSync(filename, opts) { +function readFileSync(data, opts) { var o = opts||{}; o.type = 'file'; - return readSync(filename, o); + return readSync(data, 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; + case "base64": return z.generate({type:"base64"}); + case "binary": return z.generate({type:"string"}); + case "buffer": return z.generate({type:"nodebuffer"}); + case "file": return _fs.writeFileSync(o.file, z.generate({type:"nodebuffer"})); default: throw new Error("Unrecognized type " + o.type); } - if(o.type === "file") return _fs.writeFileSync(o.file, z.generate(oopts)); - return z.generate(oopts); -} - -/* TODO: test consistency */ -function write_string_type(out, opts) { - switch(opts.type) { - case "base64": return Base64.encode(out); - case "binary": return out; - case "file": return _fs.writeFileSync(opts.file, out, 'utf8'); - case "buffer": { - if(has_buf) return new Buffer(out, 'utf8'); - else return out.split("").map(function(c) { return c.charCodeAt(0); }); - } - } - throw new Error("Unrecognized type " + opts.type); -} - -/* TODO: test consistency */ -function write_binary_type(out, opts) { - switch(opts.type) { - case "base64": - case "binary": - var bstr = ""; - for(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]); - return opts.type == 'base64' ? Base64.encode(bstr) : bstr; - case "file": return _fs.writeFileSync(opts.file, out); - case "buffer": return out; - default: throw new Error("Unrecognized type " + opts.type); - } } function writeSync(wb, opts) { - check_wb(wb); var o = opts||{}; - switch(o.bookType || 'xlsx') { - case 'xml': return write_string_type(write_xlml(wb, o), o); - case 'csv': return write_string_type(write_csv_str(wb, o), o); - case 'fods': return write_string_type(write_ods(wb, o), o); - case 'biff2': return write_binary_type(write_biff_buf(wb, o), o); - case 'xlsx': - case 'xlsm': - case 'xlsb': - case 'ods': return write_zip_type(wb, o); - default: throw new Error ("Unrecognized bookType |" + o.bookType + "|"); + switch(o.bookType) { + case 'xml': return write_xlml(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.slice(-5).toLowerCase()) { + switch(o.file.substr(-5).toLowerCase()) { case '.xlsx': o.bookType = 'xlsx'; break; case '.xlsm': o.bookType = 'xlsm'; break; case '.xlsb': o.bookType = 'xlsb'; break; - case '.fods': o.bookType = 'fods'; break; - default: switch(o.file.slice(-4).toLowerCase()) { - case '.xls': o.bookType = 'biff2'; break; + default: switch(o.file.substr(-4).toLowerCase()) { + case '.xls': o.bookType = 'xls'; break; case '.xml': o.bookType = 'xml'; break; - case '.ods': o.bookType = 'ods'; break; - case '.csv': o.bookType = 'csv'; break; }} return writeSync(wb, o); } @@ -13274,12 +11453,9 @@ 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(typeof 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; + 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) { @@ -13328,7 +11504,7 @@ function format_cell(cell, v) { } function sheet_to_json(sheet, opts){ - var val, row, range, header = 0, offset = 1, r, hdr = [], isempty, R, C, v, vv; + 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 []; @@ -13355,10 +11531,7 @@ function sheet_to_json(sheet, opts){ case 3: hdr[C] = o.header[C - r.s.c]; break; default: if(val === undefined) continue; - vv = v = format_cell(val); - var counter = 0; - for(var CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + "_" + (++counter); - hdr[C] = vv; + hdr[C] = format_cell(val); } } @@ -13422,10 +11595,10 @@ function sheet_to_csv(sheet, opts) { var make_csv = sheet_to_csv; function sheet_to_formulae(sheet) { - var y = "", x, val=""; - if(sheet == null || sheet["!ref"] == null) return []; + var cmds, 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)); + 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) { @@ -13435,18 +11608,9 @@ 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; } @@ -13476,9 +11640,6 @@ var utils = { sheet_to_row_object_array: sheet_to_row_object_array }; XLSX.parse_xlscfb = parse_xlscfb; -XLSX.parse_ods = parse_ods; -XLSX.parse_fods = parse_fods; -XLSX.write_ods = write_ods; XLSX.parse_zip = parse_zip; XLSX.read = readSync; //xlsread XLSX.readFile = readFileSync; //readFile @@ -13490,7 +11651,4 @@ XLSX.utils = utils; XLSX.CFB = CFB; XLSX.SSF = SSF; })(typeof exports !== 'undefined' ? exports : XLSX); -/*exported XLS */ var XLS = XLSX; -/*exported ODS */ -var ODS = XLSX; diff --git a/dist/xlsx.min.js b/dist/xlsx.min.js index 1a60819..48944ee 100644 --- a/dist/xlsx.min.js +++ b/dist/xlsx.min.js @@ -1,12 +1,10 @@ /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -var XLSX={};(function make_xlsx(XLSX){XLSX.version="0.9.2";var current_codepage=1200,current_cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("./dist/cpexcel.js");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){i=i||0;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.charAt(0)+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o.charAt(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.charAt(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],10),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;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))return write_num_f1(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0r(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){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(\.?)$/))return sign+commaify(pad0r(aval,0));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){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/))return write_num_flt(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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))return write_num_f2(r,aval,sign);if(fmt.match(/^#+0+$/))return sign+pad0(aval,fmt.length-fmt.indexOf("0"));if(r=fmt.match(dec1)){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*)\.(#*)$/)){return sign+(""+aval).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#,##0(\.?)$/))return sign+commaify(""+aval);if(r=fmt.match(/^#,##0\.([#0]*0)$/)){return val<0?"-"+write_num_int(type,fmt,-val):commaify(""+val)+"."+fill("0",r[1].length)}if(r=fmt.match(/^#,#*,#0/))return write_num_int(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)(\\?-([0#]+))+$/)){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]={v:"",t:";"};++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 new Error("cannot find right format for |"+fmt.join("|")+"|");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.11.0";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;if(!sector)return;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;if(!sectors[addr])break;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;if(!sectors[addr])break;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){var epoch=v.getTime();if(date1904)epoch+=1462*24*60*60*1e3;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}function cc2str(arr){var o="";for(var i=0;i!=arr.length;++i)o+=String.fromCharCode(arr[i]);return o}function str2cc(str){var o=[];for(var i=0;i!=str.length;++i)o.push(str.charCodeAt(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 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){if(q.indexOf("_")>0)q=q.substr(0,q.indexOf("_"));z[q]=v}else{var k=(j===5&&q.substr(0,5)==="xmlns"?"xmlns":"")+q.substr(j+1);if(z[k]&&q.substr(j-3,3)=="ext")continue;z[k]=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]{4})_/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)).slice(-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])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":if(typeof cptable!=="undefined")o=cptable.utils.decode(current_codepage,this.slice(this.l,this.l+2*size));else return ReadShift.call(this,size,"dbcs");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;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=0,i=0;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,opts){var out=dup(cell);out.s=shift_cell_xls(out.s,range.s,opts);out.e=shift_cell_xls(out.e,range.s,opts);return out}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,opts){if(r.s.r==0&&!r.s.rRel){if(r.e.r==opts.biff>=12?1048575:65535&&!r.e.rRel){return(r.s.cRel?"":"$")+encode_col(r.s.c)+":"+(r.e.cRel?"":"$")+encode_col(r.e.c)}}if(r.s.c==0&&!r.s.cRel){if(r.e.c==opts.biff>=12?65535:255&&!r.e.cRel){return(r.s.rRel?"":"$")+encode_row(r.s.r)+":"+(r.e.rRel?"":"$")+encode_row(r.e.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("crypto")}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;var 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 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 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""+escapexml(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"":case"":break;case"":case"":break;case"":case"":font.strike=1;break;case"":break;case"":case"":font.u=1;break;case"":break;case"":case"":font.b=1;break;case"":break;case"":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>/;var sirphregex=/<(?:\w+:)?rPh.*?>(.*?)<\/(?:\w+:)?rPh>/g;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.replace(sirphregex,"").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(2,2),16),parseInt(o.substr(4,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"":if(y.patternType)fill.patternType=y.patternType;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;case"":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])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"":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(wb.SSF&&(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 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break}})}function 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)}}();var crefregex=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g;function shift_formula_str(f,delta){return f.replace(crefregex,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,opts){var r=blob.read_shift(length==12?4:2),R=blob.read_shift(length==12?4: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,opts){var type=(blob[blob.l++]&96)>>5;blob.l+=opts&&opts.biff>8?12: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,opts){var type=(blob[blob.l++]&96)>>5;var area=parse_RgceAreaRel(blob,opts&&opts.biff>8?12:8,opts);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]}function parse_PtgRefErr3d(blob,length,opts){var type=(blob[blob.l++]&96)>>5;var ixti=blob.read_shift(2);var w=4;if(opts)switch(opts.biff){case 5:throw new Error("PtgRefErr3d -- 5");case 12:w=6;break}blob.l+=w;return[type,ixti]}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_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){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,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]}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){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=0,nameidx=0,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 PtgAttrSpaceType "+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"PtgAreaN":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));break;case"PtgArea":type=f[1][0];r=shift_range_xls(f[1][1],_range,opts);stack.push(encode_range_xls(r,opts));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**"+String(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])+rp;break;case 5:rp=fill("\r",formula[0][last_sp][1][1])+rp;break;default:if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+formula[0][last_sp][1][0])}last_sp=-1}stack.push(lp+stack.pop()+rp);break;case"PtgRefErr":stack.push("#REF!");break;case"PtgRefErr3d":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":stack.push("#REF!");break;case"PtgMemFunc":break;default:throw new Error("Unrecognized Formula Token: "+String(f))}var PtgNonDisp=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(last_sp>=0&&PtgNonDisp.indexOf(formula[0][ff][0])==-1){f=formula[0][last_sp];var _left=true;switch(f[1][0]){case 4:_left=false;case 0:sp=fill(" ",f[1][1]);break;case 5:_left=false;case 1:sp=fill("\r",f[1][1]);break;default:sp="";if(opts.WTF)throw new Error("Unexpected PtgAttrSpaceType "+f[1][0])}stack.push((_left?sp:"")+stack.pop()+(_left?"":sp));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:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"};var 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,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};var 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"};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 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(new Date(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];o[2]=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];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};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")}function check_wb(wb){if(!wb||!wb.SheetNames||!wb.Sheets)throw new Error("Invalid Workbook");for(var i=0;i":break;case"":case"
":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":break;case"":case"":break;case"":break;case"":case"":break;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"":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 new Error("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){if(!wb.Workbook)return"false";if(!wb.Workbook.WBProps)return"false";return parsexmlbool(wb.Workbook.WBProps.date1904)?"true":"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:escapexml(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.slice(-4)===".bin")return parse_wb_bin(data,opts);return parse_wb_xml(data,opts)}function parse_ws(data,name,opts,rels,wb){if(name.slice(-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.slice(-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.slice(-4)===".bin")return parse_sst_bin(data,opts);return parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){if(name.slice(-4)===".bin")return parse_comments_bin(data,opts);return parse_comments_xml(data,opts)}function parse_cc(data,name,opts){if(name.slice(-4)===".bin")return parse_cc_bin(data,opts);return parse_cc_xml(data,opts)}function write_wb(wb,name,opts){return(name.slice(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.slice(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.slice(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.slice(-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){var oval=val;switch((cp[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":oval=parsexmlbool(val);break;case"i2":case"int":oval=parseInt(val,10);break;case"r4":case"float":oval=parseFloat(val);break;case"date":case"dateTime.tz":oval=new Date(val);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+cp[0])}Custprops[unescapexml(Rn[3])]=oval}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=[];var i=0;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=/<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/gm;function parse_xlml_xml(d,opts){var str=debom(xlml_normalize(d));if(opts&&opts.type=="binary"&&typeof cptable!=="undefined")str=cptable.utils.decode(65001,char_codes(str));if(str.substr(0,1e3).indexOf("=0)return parse_html(str,opts);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;str=str.replace(//gm,"");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].slice(-2)==="/>")++c;comments=[]}break;case"Row":if(Rn[1]==="/"||Rn[0].slice(-2)==="/>"){if(rrefguess.e.r)refguess.e.r=r;if(Rn[0].slice(-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 new Error("Bad state: "+tmp.join("|"));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=unescapexml(tmp.Name);cursheet={};mergecells=[]}break;case"Table":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"))}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].slice(-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].slice(-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 new Error("Bad state: "+tmp.join("|"))}else state.push([Rn[3],false]);break;case"Comment":if(Rn[1]==="/"){if((tmp=state.pop())[0]!==Rn[3])throw new Error("Bad state: "+tmp.join("|"));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 new Error("Bad state: "+tmp.join("|"))}else if(Rn[0].charAt(Rn[0].length-2)!=="/")state.push([Rn[3],true]);break;default:if(state.length==0&&Rn[3]=="document")return parse_fods(str,opts);if(state.length==0&&Rn[3]=="UOF")return parse_fods(str,opts);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].slice(-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(RecordType===9)opts.biff=2;else if(RecordType===521)opts.biff=3;else if(RecordType===1033)opts.biff=4;else if(val.BIFFVer===1280)opts.biff=5;else if(val.BIFFVer===1536)opts.biff=8;else if(val.BIFFVer===2)opts.biff=2;else if(val.BIFFVer===7)opts.biff=2;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]){if(!last_formula)break;if(!last_cell||!out[last_cell])break;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){if(!last_formula)break;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;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;i / pair");var rows=str.slice(i,j).split(/]*>/);var R=0,C=0;var range={s:{r:1e7,c:1e7},e:{r:0,c:0}};for(i=0;i");for(j=0;j"))>-1)m=m.slice(cc+1);while(m.indexOf(">")>-1)m=m.slice(0,m.lastIndexOf("<"));if(!m.length)continue;if(range.s.r>R)range.s.r=R;if(range.e.rC)range.s.c=C;if(range.e.c/g," ").replace(/<[^>]*>/g,""))};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 opts=_opts||{};var str=xlml_normalize(d);var state=[],tmp;var tag;var NFtag={name:""},NF="",pidx=0;var sheetag;var rowtag;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]=Rn[3].replace(/_.*$/,"")){case"table":case"工作表":if(Rn[1]==="/"){if(range.e.c>=range.s.c&&range.e.r>=range.s.r)ws["!ref"]=encode_range(range);if(merges.length)ws["!merges"]=merges;sheetag.name=utf8read(sheetag["名称"]||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":case"行":if(Rn[1]==="/")break;rowtag=parsexmltag(Rn[0],false);if(rowtag["行号"])R=rowtag["行号"]-1;else++R;C=-1;break;case"covered-table-cell":++C;break;case"table-cell":case"数据":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(new Date(ctag["date-value"]));q.z="m/d/yy";break;case"time":q.t="n";q.v=parse_isodur(ctag["time-value"])/86400;break;case"number":q.t="n";q.v=parseFloat(ctag["数据数值"]);break;default:if(q.t==="string"||q.t==="text"||!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[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":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":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"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"annotation":case"event-listeners":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"scientific-number":break;case"currency-symbol":break;case"currency-style":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"libraries":break;case"automatic-styles":break;case"master-styles":break;case"default-style":case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(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].slice(-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":case"电子表格":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":case"文本串":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":case"标题":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"event-listener":case"initial-creator":case"creator":case"creation-date":case"generator":case"document-statistic":case"user-defined":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":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]==="style:")break;if(Rn[2]==="calcext:")break;if(Rn[2]==="loext:")break;if(Rn[2]==="uof:")break;if(Rn[2]==="表:")break;if(Rn[2]==="字:")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=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];if(opts.bookType=="fods")o.push('');else 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");if(opts.bookType=="fods")o.push("");else o.push("");return o.join("")}}();function write_csv_str(wb,o){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(opts.bookSheets&&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);case 239:return parse_xlml(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 write_string_type(out,opts){switch(opts.type){case"base64":return Base64.encode(out);case"binary":return out;case"file":return _fs.writeFileSync(opts.file,out,"utf8");case"buffer":{if(has_buf)return new Buffer(out,"utf8");else return out.split("").map(function(c){return c.charCodeAt(0)})}}throw new Error("Unrecognized type "+opts.type)}function write_binary_type(out,opts){switch(opts.type){case"base64":case"binary":var bstr="";for(var i=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,vv;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;vv=v=format_cell(val);var counter=0;for(var CC=0;CC>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 getdata(data){if(!data)return null;if(data.name.substr(-4)===".bin"){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())}else{if(data.data)return data.name.substr(-4)!==".bin"?debom_xml(data.data):char_codes(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 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(has_buf&&typeof jszip==="undefined")jszip=require("js"+"zip");if(typeof jszip==="undefined")jszip=require("./js"+"zip").JSZip;_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}}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 readIEEE754(buf,idx,isLE,nl,ml){if(isLE===undefined)isLE=true;if(!nl)nl=8;if(!ml&&nl===8)ml=52;var e,m,el=nl*8-ml-1,eMax=(1<>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}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 readIEEE754(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(s,e){return this.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}function WriteShift(t,val,f){var size,i;if(f==="dbcs"){for(i=0;i!=val.length;++i)this.writeUInt16LE(val.charCodeAt(i),this.l+2*i);size=2*val.length}else switch(t){case 1:size=1;this[this.l]=val&255;break;case 3:size=3;this[this.l+2]=val&255;val>>>=8;this[this.l+1]=val&255;val>>>=8;this[this.l]=val&255;break;case 4:size=4;this.writeUInt32LE(val,this.l);break;case 8:size=8;if(f==="f"){this.writeDoubleLE(val,this.l);break}case 16:break;case-4:size=4;this.writeInt32LE(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){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.l0)bufs.push(curbuf);curbuf=null};var next=function ba_next(sz){if(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};if(crypto){O.md5=function(hex){return crypto.createHash("md5").update(hex).digest("hex")}}else{O.md5=function(hex){throw"unimplemented"}}};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===undefined?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 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,"f",data)}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 ctext={};if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],rels:[],xmlns:""};(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(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;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"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,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&&opts.biff!==2)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.l":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}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"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}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());write_record(ba,"BrtWbProp",write_BrtWbProp());write_BOOKVIEWS(ba,wb,opts);write_BUNDLESHS(ba,wb,opts);write_record(ba,"BrtCalcProp",write_BrtCalcProp());write_record(ba,"BrtFileRecover",write_BrtFileRecover());write_record(ba,"BrtEndBook");return ba.end()}function parse_wb(data,name,opts){return(name.substr(-4)===".bin"?parse_wb_bin:parse_wb_xml)(data,opts)}function parse_ws(data,name,opts,rels){return(name.substr(-4)===".bin"?parse_ws_bin:parse_ws_xml)(data,opts,rels)}function parse_sty(data,name,opts){return(name.substr(-4)===".bin"?parse_sty_bin:parse_sty_xml)(data,opts)}function parse_theme(data,name,opts){return parse_theme_xml(data,opts)}function parse_sst(data,name,opts){return(name.substr(-4)===".bin"?parse_sst_bin:parse_sst_xml)(data,opts)}function parse_cmnt(data,name,opts){return(name.substr(-4)===".bin"?parse_comments_bin:parse_comments_xml)(data,opts)}function parse_cc(data,name,opts){return(name.substr(-4)===".bin"?parse_cc_bin:parse_cc_xml)(data,opts)}function write_wb(wb,name,opts){return(name.substr(-4)===".bin"?write_wb_bin:write_wb_xml)(wb,opts)}function write_ws(data,name,opts,wb){return(name.substr(-4)===".bin"?write_ws_bin:write_ws_xml)(data,opts,wb)}function write_sty(data,name,opts){return(name.substr(-4)===".bin"?write_sty_bin:write_sty_xml)(data,opts)}function write_sst(data,name,opts){return(name.substr(-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"badf"}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={},dtag,didx;var c=0,r=0;var refguess={s:{r:1e6,c:1e6},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:1e6,c:1e6},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){}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"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;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;if(file_depth++)break;cell_valid=true;out={};if(opts.biff===2){if(cur_sheet==="")cur_sheet="Sheet1";range={s:{r:0,c:0},e:{r:0,c:0}}}else cur_sheet=(Directory[s]||{name:""}).name;mergecells=[];objects=[]}break;case"Number":case"BIFF2NUM":{temp_val={ixfe:val.ixfe,XF:XFs[val.ixfe],v:val.val,t:"n"};if(temp_val.XF)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};if(temp_val.XF)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"};if(temp_val.XF)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"};if(temp_val.XF)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);if(temp_val.XF)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);if(temp_val.XF)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;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];if(temp_val.XF)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];if(temp_val.XF)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"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;case"ExternCount":break;case"RString":break;case"TabIdConf":case"Radar":case"RadarArea":case"DropBar":case"Intl":case"CoordList":case"SerAuxErrBar":break;default:switch(R.n){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=opts.biff===2?["Sheet1"]: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.find){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.find)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},22:{n:"ExternCount",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},536:{n:"Name",f:parsenoop},547:{n:"ExternName",f:parse_ExternName},561:{n:"Font",f:parsenoop},1030:{n:"Formula",f:parse_Formula},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},0:{}};function parse_ods(zip,opts){if(typeof module!=="undefined"&&typeof require!=="undefined"&&typeof ODS==="undefined")ODS=require("./od"+"s");if(typeof ODS==="undefined"||!ODS.parse_ods)throw new Error("Unsupported ODS");return ODS.parse_ods(zip,opts)}function fix_opts_func(defaults){return function fix_opts(opts){for(var i=0;i!=defaults.length;++i){var d=defaults[i];if(opts[d[0]]===undefined)opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])}}}var fix_read_opts=fix_opts_func([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var fix_write_opts=fix_opts_func([["cellDates",false],["bookSST",false],["bookType","xlsx"],["WTF",false]]);function safe_parse_wbrels(wbrels,sheets){if(!wbrels)return 0;try{wbrels=sheets.map(function pwbr(w){return[w.name,wbrels["!id"][w.id].Target]})}catch(e){return null}return!wbrels||wbrels.length===0?null:wbrels}function safe_parse_ws(zip,path,relsPath,sheet,sheetRels,sheets,opts){try{sheetRels[sheet]=parse_rels(getzipdata(zip,relsPath,true),path);sheets[sheet]=parse_ws(getzipdata(zip,path),path,opts,sheetRels[sheet])}catch(e){if(opts.WTF)throw e}}var nodirs=function nodirs(x){return x.substr(-1)!="/"};function parse_zip(zip,opts){make_ssf(SSF);opts=opts||{};fix_read_opts(opts);reset_cp();if(safegetzipfile(zip,"META-INF/manifest.xml"))return parse_ods(zip,opts);var entries=keys(zip.files).filter(nodirs).sort();var dir=parse_ct(getzipdata(zip,"[Content_Types].xml"),opts);var xlsb=false;var sheets,binname;if(dir.workbooks.length===0){binname="xl/workbook.xml";if(getzipdata(zip,binname,true))dir.workbooks.push(binname)}if(dir.workbooks.length===0){binname="xl/workbook.bin";if(!getzipfile(zip,binname,true))throw new Error("Could not find workbook");dir.workbooks.push(binname);xlsb=true}if(dir.workbooks[0].substr(-3)=="bin")xlsb=true;if(xlsb)set_cp(1200);if(!opts.bookSheets&&!opts.bookProps){strs=[];if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts);themes={};if(opts.cellStyles&&dir.themes.length)themes=parse_theme(getzipdata(zip,dir.themes[0].replace(/^\//,""),true),dir.themes[0],opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";if(dir.coreprops.length!==0){propdata=getzipdata(zip,dir.coreprops[0].replace(/^\//,""),true);if(propdata)props=parse_core_props(propdata);if(dir.extprops.length!==0){propdata=getzipdata(zip,dir.extprops[0].replace(/^\//,""),true);if(propdata)parse_ext_props(propdata,props)}}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parse_cust_props(propdata,opts)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)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(getzipdata(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)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.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(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}});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";if(!wb.Props)wb.Props={};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.type)}}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;case"file":zip=new jszip(d=_fs.readFileSync(data));break;default:throw new Error("Unrecognized type "+o.type)}return parse_zip(zip,o)}function readSync(data,opts){var zip,d=data,isfile=false,n;var o=opts||{};if(!o.type)o.type=has_buf&&Buffer.isBuffer(data)?"buffer":"base64";if(o.type=="file"){isfile=true;o.type="buffer";d=_fs.readFileSync(data)}switch(n=firstbyte(d,o)){case 208:if(isfile)o.type="file";return parse_xlscfb(CFB.read(data,o),o);case 9:return parse_xlscfb(s2a(o.type==="base64"?Base64.decode(data):data),o);case 60:return parse_xlml(d,o);case 80:if(isfile)o.type="file";return read_zip(data,opts);default:throw new Error("Unsupported file "+n)}}function readFileSync(data,opts){var o=opts||{};o.type="file";return readSync(data,o)}function write_zip_type(wb,opts){var o=opts||{};var z=write_zip(wb,o);switch(o.type){case"base64":return z.generate({type:"base64"});case"binary":return z.generate({type:"string"});case"buffer":return z.generate({type:"nodebuffer"});case"file":return _fs.writeFileSync(o.file,z.generate({type:"nodebuffer"}));default:throw new Error("Unrecognized type "+o.type)}}function writeSync(wb,opts){var o=opts||{};switch(o.bookType){case"xml":return write_xlml(wb,o);default:return write_zip_type(wb,o)}}function writeFileSync(wb,filename,opts){var o=opts||{};o.type="file";o.file=filename;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="xls";break;case".xml":o.bookType="xml";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; diff --git a/dist/xlsx.min.map b/dist/xlsx.min.map index 9fed4be..bf56e3e 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","c1","c2","substr","_getchar","_gc1","x","String","fromCharCode","utils","decode","_gc2","Base64","make_b64","map","encode","input","utf8","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","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","join","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","getTime","parse_isodur","sec","cc2str","arr","str2cc","dup","JSON","stringify","hasOwnProperty","getdatastr","asNodeBuffer","toString","asBinary","_data","getContent","prototype","call","getdatabin","getdata","safegetzipfile","zip","g","n","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","RegExp","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","h","matches","baseType","res","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","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","oo","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","encode_col","encode_row","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","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","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","CT_ODS","parse_manifest","xlml_normalize","Rn","FEtag","xlmlregex","exec","WTF","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","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","console","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","sirphregex","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","fstr","crefregex","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_PtgRefErr3d","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_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","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","_left","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","724","479","483","484","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.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","ods_to_csf_formula","_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","check_wb","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","oval","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","parse_xlml_xml","parse_html","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","Format","Span","Author","parse_fods","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","error","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","Sheet1","lastIndexOf","coord","parse_content_xml","parse_text_p","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","number_format_map","mrange","mR","mC","rept","isstub","cellStubs","write_content_xml","null_cell_xml","wcx","write_csv_str","sheet_to_csv","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","writeFileSync","generate","write_string_type","write_binary_type","bstr","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","counter","CC","defineProperty","enumerable","__rowNum__","sheet_to_row_object_array","txt","qreg","FS","RS","make_csv","sheet_to_formulae","cmds","get_formulae","make_json","make_formulae","readFile","write","writeFile","XLS","ODS"],"mappings":"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","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","getdata","asNodeBuffer","_data","getContent","prototype","call","toString","asBinary","safegetzipfile","zip","getzipfile","getzipdata","safe","e","_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","readIEEE754","isLE","nl","ml","el","eMax","eBias","bits","NaN","Infinity","___toBuffer","toBuffer_","___utf16le","utf16le_","b","__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","this","double_","readDoubleLE","is_buf_b","__readInt16LE","___unhexlify","__unhexlify","oI","oR","loc","lens","WriteShift","writeUInt16LE","writeUInt32LE","writeDoubleLE","writeInt32LE","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","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","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","ctext","calcchains","themes","coreprops","extprops","custprops","comments","vba","TODO","rels","xmlns","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_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","lastobj","controlInfo","cchText","cbRuns","ifntEmpty","texts","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","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","trim","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","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","parse_BrtCellBool","fBool","parse_BrtCellError","parse_BrtCellIsst","parse_BrtCellReal","parse_BrtCellRk","parse_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_BrtHLink","relId","tooltip","display","parse_ws_bin","!id","ws_parse","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","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","TxO","noteobj","sheetnamesraw","sort","Number","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","parse_ods","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","isfile","write_zip_type","generate","writeFileSync","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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","file":"dist/xlsx.min.js"} \ No newline at end of file diff --git a/formats.dot b/formats.dot deleted file mode 100644 index 5e772b3..0000000 --- a/formats.dot +++ /dev/null @@ -1,51 +0,0 @@ -digraph G { - graph [mindist=0.1]; - csf [shape=doublecircle,label="Common\nSpreadsheet\nFormat\n(JS Object)"]; - subgraph XL { - node [style=filled,color=green]; - xlsx [label="XLSX\nXLSM"]; - xlsb [label="XLSB\nBIFF12"]; - xlml [label="SSML\n(2003/4)"]; - xls2 [label="XLS\nBIFF2"]; - xls3 [label="XLS\nBIFF3"]; - xls4 [label="XLS\nBIFF4"]; - xls5 [label="XLS\nBIFF5"]; - xls8 [label="XLS\nBIFF8"]; - } - - subgraph OD { - node [style=filled,color=yellow]; - ods [label="ODS"]; - fods [label="Flat\nODS"]; - uos [label="UOS\n标文通"]; - } - - subgraph OLD { - node [style=filled,color=cyan]; - html [label="HTML\nTable"]; - csv [label="CSV"]; - } - - subgraph JSXLSX { - edge [color=blue]; - csf -> xlsx - xlsx -> csf - csf -> xlsb - xlsb -> csf - csf -> xlml - xlml -> csf - xls2 -> csf - csf -> xls2 - xls3 -> csf - xls4 -> csf - xls5 -> csf - xls8 -> csf - csf -> csv - ods -> csf - csf -> ods - fods -> csf - csf -> fods - uos -> csf - html -> csf - } -} diff --git a/formats.png b/formats.png deleted file mode 100644 index 67b9514..0000000 Binary files a/formats.png and /dev/null differ diff --git a/index.html b/index.html index f3f5cdf..c48c376 100644 --- a/index.html +++ b/index.html @@ -21,15 +21,18 @@ -JS-XLSX Live Demo
+JS-XLSX (XLSX/XLSB/XLSM/XLS/XML) Live Demo
Output Format:
+ -
Drop a spreadsheet file here to see sheet data
+
Drop an XLSX / XLSM / XLSB / ODS / XLS / XML file here to see sheet data

... or click here to select a file


@@ -40,13 +43,13 @@ Use readAsBinaryString: (when available)
- + + +