@loaders.gl/excel 4.0.0-beta.2 → 4.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/{dist.min.js → dist.dev.js} +1132 -170
  2. package/dist/{esm/excel-loader.js → excel-loader.js} +1 -1
  3. package/dist/excel-loader.js.map +1 -0
  4. package/dist/excel-worker.js +1099 -106
  5. package/dist/index.cjs +86 -0
  6. package/dist/{esm/index.js → index.js} +2 -2
  7. package/dist/index.js.map +1 -0
  8. package/dist/lib/encode-excel.js.map +1 -0
  9. package/dist/lib/parse-excel.js.map +1 -0
  10. package/dist/{esm/workers → workers}/excel-worker.js +1 -1
  11. package/dist/workers/excel-worker.js.map +1 -0
  12. package/package.json +16 -8
  13. package/dist/bundle.d.ts +0 -2
  14. package/dist/bundle.d.ts.map +0 -1
  15. package/dist/es5/bundle.js +0 -6
  16. package/dist/es5/bundle.js.map +0 -1
  17. package/dist/es5/excel-loader.js +0 -27
  18. package/dist/es5/excel-loader.js.map +0 -1
  19. package/dist/es5/index.js +0 -42
  20. package/dist/es5/index.js.map +0 -1
  21. package/dist/es5/lib/encode-excel.js +0 -2
  22. package/dist/es5/lib/encode-excel.js.map +0 -1
  23. package/dist/es5/lib/parse-excel.js +0 -31
  24. package/dist/es5/lib/parse-excel.js.map +0 -1
  25. package/dist/es5/workers/excel-worker.js +0 -6
  26. package/dist/es5/workers/excel-worker.js.map +0 -1
  27. package/dist/esm/bundle.js +0 -4
  28. package/dist/esm/bundle.js.map +0 -1
  29. package/dist/esm/excel-loader.js.map +0 -1
  30. package/dist/esm/index.js.map +0 -1
  31. package/dist/esm/lib/encode-excel.js.map +0 -1
  32. package/dist/esm/lib/parse-excel.js.map +0 -1
  33. package/dist/esm/workers/excel-worker.js.map +0 -1
  34. package/src/bundle.ts +0 -4
  35. /package/dist/{esm/lib → lib}/encode-excel.js +0 -0
  36. /package/dist/{esm/lib → lib}/parse-excel.js +0 -0
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  (() => {
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
@@ -5,7 +6,6 @@
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __getProtoOf = Object.getPrototypeOf;
7
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
9
9
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
10
10
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
11
11
  }) : x)(function(x) {
@@ -14,26 +14,31 @@
14
14
  throw new Error('Dynamic require of "' + x + '" is not supported');
15
15
  });
16
16
  var __commonJS = (cb, mod) => function __require2() {
17
- return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
18
  };
19
- var __reExport = (target, module, desc) => {
20
- if (module && typeof module === "object" || typeof module === "function") {
21
- for (let key of __getOwnPropNames(module))
22
- if (!__hasOwnProp.call(target, key) && key !== "default")
23
- __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") {
21
+ for (let key of __getOwnPropNames(from))
22
+ if (!__hasOwnProp.call(to, key) && key !== except)
23
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
24
  }
25
- return target;
26
- };
27
- var __toModule = (module) => {
28
- return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
25
+ return to;
29
26
  };
27
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
+ // If the importer is in node compatibility mode or this is not an ESM
29
+ // file that has been converted to a CommonJS file using a Babel-
30
+ // compatible transform (i.e. "__esModule" has not been set), then set
31
+ // "default" to the CommonJS "module.exports" for node compatibility.
32
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
+ mod
34
+ ));
30
35
 
31
36
  // ../../node_modules/xlsx/dist/cpexcel.js
32
37
  var require_cpexcel = __commonJS({
33
38
  "../../node_modules/xlsx/dist/cpexcel.js"(exports, module) {
34
39
  var cptable2 = { version: "1.15.0" };
35
40
  cptable2[437] = function() {
36
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
41
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
37
42
  for (var i = 0; i != d.length; ++i) {
38
43
  if (d.charCodeAt(i) !== 65533)
39
44
  e[d.charAt(i)] = i;
@@ -42,7 +47,7 @@
42
47
  return { "enc": e, "dec": D };
43
48
  }();
44
49
  cptable2[620] = function() {
45
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\u0105\xE7\xEA\xEB\xE8\xEF\xEE\u0107\xC4\u0104\u0118\u0119\u0142\xF4\xF6\u0106\xFB\xF9\u015A\xD6\xDC\xA2\u0141\xA5\u015B\u0192\u0179\u017B\xF3\xD3\u0144\u0143\u017A\u017C\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
50
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\u0105\xE7\xEA\xEB\xE8\xEF\xEE\u0107\xC4\u0104\u0118\u0119\u0142\xF4\xF6\u0106\xFB\xF9\u015A\xD6\xDC\xA2\u0141\xA5\u015B\u0192\u0179\u017B\xF3\xD3\u0144\u0143\u017A\u017C\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
46
51
  for (var i = 0; i != d.length; ++i) {
47
52
  if (d.charCodeAt(i) !== 65533)
48
53
  e[d.charAt(i)] = i;
@@ -51,7 +56,7 @@
51
56
  return { "enc": e, "dec": D };
52
57
  }();
53
58
  cptable2[737] = function() {
54
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
59
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
55
60
  for (var i = 0; i != d.length; ++i) {
56
61
  if (d.charCodeAt(i) !== 65533)
57
62
  e[d.charAt(i)] = i;
@@ -60,7 +65,7 @@
60
65
  return { "enc": e, "dec": D };
61
66
  }();
62
67
  cptable2[850] = function() {
63
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
68
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
64
69
  for (var i = 0; i != d.length; ++i) {
65
70
  if (d.charCodeAt(i) !== 65533)
66
71
  e[d.charAt(i)] = i;
@@ -69,7 +74,7 @@
69
74
  return { "enc": e, "dec": D };
70
75
  }();
71
76
  cptable2[852] = function() {
72
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0", D = [], e = {};
77
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0", D = [], e = {};
73
78
  for (var i = 0; i != d.length; ++i) {
74
79
  if (d.charCodeAt(i) !== 65533)
75
80
  e[d.charAt(i)] = i;
@@ -78,7 +83,7 @@
78
83
  return { "enc": e, "dec": D };
79
84
  }();
80
85
  cptable2[857] = function() {
81
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
86
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
82
87
  for (var i = 0; i != d.length; ++i) {
83
88
  if (d.charCodeAt(i) !== 65533)
84
89
  e[d.charAt(i)] = i;
@@ -87,7 +92,7 @@
87
92
  return { "enc": e, "dec": D };
88
93
  }();
89
94
  cptable2[861] = function() {
90
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
95
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
91
96
  for (var i = 0; i != d.length; ++i) {
92
97
  if (d.charCodeAt(i) !== 65533)
93
98
  e[d.charAt(i)] = i;
@@ -96,7 +101,7 @@
96
101
  return { "enc": e, "dec": D };
97
102
  }();
98
103
  cptable2[865] = function() {
99
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
104
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
100
105
  for (var i = 0; i != d.length; ++i) {
101
106
  if (d.charCodeAt(i) !== 65533)
102
107
  e[d.charAt(i)] = i;
@@ -105,7 +110,7 @@
105
110
  return { "enc": e, "dec": D };
106
111
  }();
107
112
  cptable2[866] = function() {
108
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0", D = [], e = {};
113
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0", D = [], e = {};
109
114
  for (var i = 0; i != d.length; ++i) {
110
115
  if (d.charCodeAt(i) !== 65533)
111
116
  e[d.charAt(i)] = i;
@@ -114,7 +119,7 @@
114
119
  return { "enc": e, "dec": D };
115
120
  }();
116
121
  cptable2[874] = function() {
117
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD", D = [], e = {};
122
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD", D = [], e = {};
118
123
  for (var i = 0; i != d.length; ++i) {
119
124
  if (d.charCodeAt(i) !== 65533)
120
125
  e[d.charAt(i)] = i;
@@ -123,7 +128,7 @@
123
128
  return { "enc": e, "dec": D };
124
129
  }();
125
130
  cptable2[895] = function() {
126
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u010C\xFC\xE9\u010F\xE4\u010E\u0164\u010D\u011B\u011A\u0139\xCD\u013E\u01EA\xC4\xC1\xC9\u017E\u017D\xF4\xF6\xD3\u016F\xDA\xFD\xD6\xDC\u0160\u013D\xDD\u0158\u0165\xE1\xED\xF3\xFA\u0148\u0147\u016E\xD4\u0161\u0159\u0155\u0154\xBC\xA7\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
131
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u010C\xFC\xE9\u010F\xE4\u010E\u0164\u010D\u011B\u011A\u0139\xCD\u013E\u01EA\xC4\xC1\xC9\u017E\u017D\xF4\xF6\xD3\u016F\xDA\xFD\xD6\xDC\u0160\u013D\xDD\u0158\u0165\xE1\xED\xF3\xFA\u0148\u0147\u016E\xD4\u0161\u0159\u0155\u0154\xBC\xA7\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
127
132
  for (var i = 0; i != d.length; ++i) {
128
133
  if (d.charCodeAt(i) !== 65533)
129
134
  e[d.charAt(i)] = i;
@@ -133,7 +138,7 @@
133
138
  }();
134
139
  cptable2[932] = function() {
135
140
  var d = [], e = {}, D = [], j;
136
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF61\uFF62\uFF63\uFF64\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFF9E\uFF9F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
141
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF61\uFF62\uFF63\uFF64\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFF9E\uFF9F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
137
142
  for (j = 0; j != D[0].length; ++j)
138
143
  if (D[0][j].charCodeAt(0) !== 65533) {
139
144
  e[D[0][j]] = 0 + j;
@@ -413,7 +418,7 @@
413
418
  }();
414
419
  cptable2[936] = function() {
415
420
  var d = [], e = {}, D = [], j;
416
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
421
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
417
422
  for (j = 0; j != D[0].length; ++j)
418
423
  if (D[0][j].charCodeAt(0) !== 65533) {
419
424
  e[D[0][j]] = 0 + j;
@@ -1179,7 +1184,7 @@
1179
1184
  }();
1180
1185
  cptable2[949] = function() {
1181
1186
  var d = [], e = {}, D = [], j;
1182
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1187
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1183
1188
  for (j = 0; j != D[0].length; ++j)
1184
1189
  if (D[0][j].charCodeAt(0) !== 65533) {
1185
1190
  e[D[0][j]] = 0 + j;
@@ -1933,7 +1938,7 @@
1933
1938
  }();
1934
1939
  cptable2[950] = function() {
1935
1940
  var d = [], e = {}, D = [], j;
1936
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1941
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1937
1942
  for (j = 0; j != D[0].length; ++j)
1938
1943
  if (D[0][j].charCodeAt(0) !== 65533) {
1939
1944
  e[D[0][j]] = 0 + j;
@@ -2464,7 +2469,7 @@
2464
2469
  return { "enc": e, "dec": d };
2465
2470
  }();
2466
2471
  cptable2[1250] = function() {
2467
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9", D = [], e = {};
2472
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9", D = [], e = {};
2468
2473
  for (var i = 0; i != d.length; ++i) {
2469
2474
  if (d.charCodeAt(i) !== 65533)
2470
2475
  e[d.charAt(i)] = i;
@@ -2473,7 +2478,7 @@
2473
2478
  return { "enc": e, "dec": D };
2474
2479
  }();
2475
2480
  cptable2[1251] = function() {
2476
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F", D = [], e = {};
2481
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F", D = [], e = {};
2477
2482
  for (var i = 0; i != d.length; ++i) {
2478
2483
  if (d.charCodeAt(i) !== 65533)
2479
2484
  e[d.charAt(i)] = i;
@@ -2482,7 +2487,7 @@
2482
2487
  return { "enc": e, "dec": D };
2483
2488
  }();
2484
2489
  cptable2[1252] = function() {
2485
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
2490
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
2486
2491
  for (var i = 0; i != d.length; ++i) {
2487
2492
  if (d.charCodeAt(i) !== 65533)
2488
2493
  e[d.charAt(i)] = i;
@@ -2491,7 +2496,7 @@
2491
2496
  return { "enc": e, "dec": D };
2492
2497
  }();
2493
2498
  cptable2[1253] = function() {
2494
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD", D = [], e = {};
2499
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD", D = [], e = {};
2495
2500
  for (var i = 0; i != d.length; ++i) {
2496
2501
  if (d.charCodeAt(i) !== 65533)
2497
2502
  e[d.charAt(i)] = i;
@@ -2500,7 +2505,7 @@
2500
2505
  return { "enc": e, "dec": D };
2501
2506
  }();
2502
2507
  cptable2[1254] = function() {
2503
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF", D = [], e = {};
2508
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF", D = [], e = {};
2504
2509
  for (var i = 0; i != d.length; ++i) {
2505
2510
  if (d.charCodeAt(i) !== 65533)
2506
2511
  e[d.charAt(i)] = i;
@@ -2509,7 +2514,7 @@
2509
2514
  return { "enc": e, "dec": D };
2510
2515
  }();
2511
2516
  cptable2[1255] = function() {
2512
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\uFFFD\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD", D = [], e = {};
2517
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\uFFFD\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD", D = [], e = {};
2513
2518
  for (var i = 0; i != d.length; ++i) {
2514
2519
  if (d.charCodeAt(i) !== 65533)
2515
2520
  e[d.charAt(i)] = i;
@@ -2518,7 +2523,7 @@
2518
2523
  return { "enc": e, "dec": D };
2519
2524
  }();
2520
2525
  cptable2[1256] = function() {
2521
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2", D = [], e = {};
2526
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2", D = [], e = {};
2522
2527
  for (var i = 0; i != d.length; ++i) {
2523
2528
  if (d.charCodeAt(i) !== 65533)
2524
2529
  e[d.charAt(i)] = i;
@@ -2527,7 +2532,7 @@
2527
2532
  return { "enc": e, "dec": D };
2528
2533
  }();
2529
2534
  cptable2[1257] = function() {
2530
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9", D = [], e = {};
2535
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9", D = [], e = {};
2531
2536
  for (var i = 0; i != d.length; ++i) {
2532
2537
  if (d.charCodeAt(i) !== 65533)
2533
2538
  e[d.charAt(i)] = i;
@@ -2536,7 +2541,7 @@
2536
2541
  return { "enc": e, "dec": D };
2537
2542
  }();
2538
2543
  cptable2[1258] = function() {
2539
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF", D = [], e = {};
2544
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF", D = [], e = {};
2540
2545
  for (var i = 0; i != d.length; ++i) {
2541
2546
  if (d.charCodeAt(i) !== 65533)
2542
2547
  e[d.charAt(i)] = i;
@@ -2545,7 +2550,7 @@
2545
2550
  return { "enc": e, "dec": D };
2546
2551
  }();
2547
2552
  cptable2[1e4] = function() {
2548
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
2553
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
2549
2554
  for (var i = 0; i != d.length; ++i) {
2550
2555
  if (d.charCodeAt(i) !== 65533)
2551
2556
  e[d.charAt(i)] = i;
@@ -2554,7 +2559,7 @@
2554
2559
  return { "enc": e, "dec": D };
2555
2560
  }();
2556
2561
  cptable2[10006] = function() {
2557
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD", D = [], e = {};
2562
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD", D = [], e = {};
2558
2563
  for (var i = 0; i != d.length; ++i) {
2559
2564
  if (d.charCodeAt(i) !== 65533)
2560
2565
  e[d.charAt(i)] = i;
@@ -2563,7 +2568,7 @@
2563
2568
  return { "enc": e, "dec": D };
2564
2569
  }();
2565
2570
  cptable2[10007] = function() {
2566
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4", D = [], e = {};
2571
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4", D = [], e = {};
2567
2572
  for (var i = 0; i != d.length; ++i) {
2568
2573
  if (d.charCodeAt(i) !== 65533)
2569
2574
  e[d.charAt(i)] = i;
@@ -2573,7 +2578,7 @@
2573
2578
  }();
2574
2579
  cptable2[10008] = function() {
2575
2580
  var d = [], e = {}, D = [], j;
2576
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\uF8D8\uF8D9\uF8DA\uF8DB\uF8DC\uF8DD\uF8DE\uF8DF\uF8E0\uF8E1\uF8E2\uF8E3\uF8E4\uF8E5\uF8E6\uF8E7\uF8E8\uF8E9\uF8EA\uF8EB\uF8EC\uF8ED\uF8EE\uF8EF\uF8F0\uF8F1\uF8F2\uF8F3\uF8F4\uF8F5\uF8F6\uF8F7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uF8F8\uF8F9\uF8FA\uF8FB\uF8FC\uF8FD\uF8FE\uF8FF".split("");
2581
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\uF8D8\uF8D9\uF8DA\uF8DB\uF8DC\uF8DD\uF8DE\uF8DF\uF8E0\uF8E1\uF8E2\uF8E3\uF8E4\uF8E5\uF8E6\uF8E7\uF8E8\uF8E9\uF8EA\uF8EB\uF8EC\uF8ED\uF8EE\uF8EF\uF8F0\uF8F1\uF8F2\uF8F3\uF8F4\uF8F5\uF8F6\uF8F7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uF8F8\uF8F9\uF8FA\uF8FB\uF8FC\uF8FD\uF8FE\uF8FF".split("");
2577
2582
  for (j = 0; j != D[0].length; ++j)
2578
2583
  if (D[0][j].charCodeAt(0) !== 65533) {
2579
2584
  e[D[0][j]] = 0 + j;
@@ -3068,7 +3073,7 @@
3068
3073
  return { "enc": e, "dec": d };
3069
3074
  }();
3070
3075
  cptable2[10029] = function() {
3071
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7", D = [], e = {};
3076
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7", D = [], e = {};
3072
3077
  for (var i = 0; i != d.length; ++i) {
3073
3078
  if (d.charCodeAt(i) !== 65533)
3074
3079
  e[d.charAt(i)] = i;
@@ -3077,7 +3082,7 @@
3077
3082
  return { "enc": e, "dec": D };
3078
3083
  }();
3079
3084
  cptable2[10079] = function() {
3080
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3085
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3081
3086
  for (var i = 0; i != d.length; ++i) {
3082
3087
  if (d.charCodeAt(i) !== 65533)
3083
3088
  e[d.charAt(i)] = i;
@@ -3086,7 +3091,7 @@
3086
3091
  return { "enc": e, "dec": D };
3087
3092
  }();
3088
3093
  cptable2[10081] = function() {
3089
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3094
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3090
3095
  for (var i = 0; i != d.length; ++i) {
3091
3096
  if (d.charCodeAt(i) !== 65533)
3092
3097
  e[d.charAt(i)] = i;
@@ -3095,7 +3100,7 @@
3095
3100
  return { "enc": e, "dec": D };
3096
3101
  }();
3097
3102
  cptable2[28591] = function() {
3098
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
3103
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
3099
3104
  for (var i = 0; i != d.length; ++i) {
3100
3105
  if (d.charCodeAt(i) !== 65533)
3101
3106
  e[d.charAt(i)] = i;
@@ -3495,7 +3500,6 @@
3495
3500
  }
3496
3501
  };
3497
3502
  var null_enc = function(data, ofmt) {
3498
- void 0;
3499
3503
  return "";
3500
3504
  };
3501
3505
  var cp_decache = function cp_decache2(cp) {
@@ -3862,14 +3866,14 @@
3862
3866
  var require_jszip = __commonJS({
3863
3867
  "../../node_modules/xlsx/jszip.js"(exports, module) {
3864
3868
  (function(e) {
3865
- if (typeof exports == "object" && typeof module != "undefined" && typeof DO_NOT_EXPORT_JSZIP == "undefined")
3869
+ if ("object" == typeof exports && "undefined" != typeof module && "undefined" == typeof DO_NOT_EXPORT_JSZIP)
3866
3870
  module.exports = e();
3867
- else if (typeof define == "function" && define.amd && typeof DO_NOT_EXPORT_JSZIP == "undefined") {
3871
+ else if ("function" == typeof define && define.amd && "undefined" == typeof DO_NOT_EXPORT_JSZIP) {
3868
3872
  JSZipSync = e();
3869
3873
  define("j", [], e);
3870
3874
  } else {
3871
3875
  var f;
3872
- typeof globalThis != "undefined" ? f = globalThis : typeof window != "undefined" ? f = window : typeof global != "undefined" ? f = global : typeof $ != "undefined" && $.global ? f = $.global : typeof self != "undefined" && (f = self), f.JSZipSync = e();
3876
+ "undefined" != typeof globalThis ? f = globalThis : "undefined" != typeof window ? f = window : "undefined" != typeof global ? f = global : "undefined" != typeof $ && $.global ? f = $.global : "undefined" != typeof self && (f = self), f.JSZipSync = e();
3873
3877
  }
3874
3878
  })(function() {
3875
3879
  var define2, module2, exports2;
@@ -3954,9 +3958,19 @@
3954
3958
  this.compressedContent = null;
3955
3959
  }
3956
3960
  CompressedObject.prototype = {
3961
+ /**
3962
+ * Return the decompressed content in an unspecified format.
3963
+ * The format will depend on the decompressor.
3964
+ * @return {Object} the decompressed content.
3965
+ */
3957
3966
  getContent: function() {
3958
3967
  return null;
3959
3968
  },
3969
+ /**
3970
+ * Return the compressed content in an unspecified format.
3971
+ * The format will depend on the compressed conten source.
3972
+ * @return {Object} the compressed content.
3973
+ */
3960
3974
  getCompressedContent: function() {
3961
3975
  return null;
3962
3976
  }
@@ -4266,23 +4280,53 @@
4266
4280
  this.index = 0;
4267
4281
  }
4268
4282
  DataReader.prototype = {
4283
+ /**
4284
+ * Check that the offset will not go too far.
4285
+ * @param {string} offset the additional offset to check.
4286
+ * @throws {Error} an Error if the offset is out of bounds.
4287
+ */
4269
4288
  checkOffset: function(offset) {
4270
4289
  this.checkIndex(this.index + offset);
4271
4290
  },
4291
+ /**
4292
+ * Check that the specifed index will not be too far.
4293
+ * @param {string} newIndex the index to check.
4294
+ * @throws {Error} an Error if the index is out of bounds.
4295
+ */
4272
4296
  checkIndex: function(newIndex) {
4273
4297
  if (this.length < newIndex || newIndex < 0) {
4274
4298
  throw new Error("End of data reached (data length = " + this.length + ", asked index = " + newIndex + "). Corrupted zip ?");
4275
4299
  }
4276
4300
  },
4301
+ /**
4302
+ * Change the index.
4303
+ * @param {number} newIndex The new index.
4304
+ * @throws {Error} if the new index is out of the data.
4305
+ */
4277
4306
  setIndex: function(newIndex) {
4278
4307
  this.checkIndex(newIndex);
4279
4308
  this.index = newIndex;
4280
4309
  },
4310
+ /**
4311
+ * Skip the next n bytes.
4312
+ * @param {number} n the number of bytes to skip.
4313
+ * @throws {Error} if the new index is out of the data.
4314
+ */
4281
4315
  skip: function(n) {
4282
4316
  this.setIndex(this.index + n);
4283
4317
  },
4318
+ /**
4319
+ * Get the byte at the specified index.
4320
+ * @param {number} i the index to use.
4321
+ * @return {number} a byte.
4322
+ */
4284
4323
  byteAt: function(i) {
4285
4324
  },
4325
+ /**
4326
+ * Get the next number with a given byte size.
4327
+ * @param {number} size the number of bytes to read.
4328
+ * @return {number} the corresponding number.
4329
+ */
4286
4330
  readInt: function(size) {
4287
4331
  var result = 0, i;
4288
4332
  this.checkOffset(size);
@@ -4292,16 +4336,47 @@
4292
4336
  this.index += size;
4293
4337
  return result;
4294
4338
  },
4339
+ /**
4340
+ * Get the next string with a given byte size.
4341
+ * @param {number} size the number of bytes to read.
4342
+ * @return {string} the corresponding string.
4343
+ */
4295
4344
  readString: function(size) {
4296
4345
  return utils2.transformTo("string", this.readData(size));
4297
4346
  },
4347
+ /**
4348
+ * Get raw data without conversion, <size> bytes.
4349
+ * @param {number} size the number of bytes to read.
4350
+ * @return {Object} the raw data, implementation specific.
4351
+ */
4298
4352
  readData: function(size) {
4299
4353
  },
4354
+ /**
4355
+ * Find the last occurrence of a zip signature (4 bytes).
4356
+ * @param {string} sig the signature to find.
4357
+ * @return {number} the index of the last occurrence, -1 if not found.
4358
+ */
4300
4359
  lastIndexOfSignature: function(sig) {
4301
4360
  },
4361
+ /**
4362
+ * Get the next date.
4363
+ * @return {Date} the date.
4364
+ */
4302
4365
  readDate: function() {
4303
4366
  var dostime = this.readInt(4);
4304
- return new Date((dostime >> 25 & 127) + 1980, (dostime >> 21 & 15) - 1, dostime >> 16 & 31, dostime >> 11 & 31, dostime >> 5 & 63, (dostime & 31) << 1);
4367
+ return new Date(
4368
+ (dostime >> 25 & 127) + 1980,
4369
+ // year
4370
+ (dostime >> 21 & 15) - 1,
4371
+ // month
4372
+ dostime >> 16 & 31,
4373
+ // day
4374
+ dostime >> 11 & 31,
4375
+ // hour
4376
+ dostime >> 5 & 63,
4377
+ // minute
4378
+ (dostime & 31) << 1
4379
+ );
4305
4380
  }
4306
4381
  };
4307
4382
  module3.exports = DataReader;
@@ -4394,9 +4469,17 @@
4394
4469
  JSZipSync2.defaults = _dereq_("./defaults");
4395
4470
  JSZipSync2.utils = _dereq_("./deprecatedPublicUtils");
4396
4471
  JSZipSync2.base64 = {
4472
+ /**
4473
+ * @deprecated
4474
+ * This method will be removed in a future version without replacement.
4475
+ */
4397
4476
  encode: function(input) {
4398
4477
  return base64.encode(input);
4399
4478
  },
4479
+ /**
4480
+ * @deprecated
4481
+ * This method will be removed in a future version without replacement.
4482
+ */
4400
4483
  decode: function(input) {
4401
4484
  return base64.decode(input);
4402
4485
  }
@@ -4434,8 +4517,11 @@
4434
4517
  }, { "./base64": 1, "./zipEntries": 22 }], 11: [function(_dereq_, module3, exports3) {
4435
4518
  (function(Buffer2) {
4436
4519
  "use strict";
4437
- var Buffer_from = function() {
4438
- };
4520
+ var Buffer_from = (
4521
+ /*::(*/
4522
+ function() {
4523
+ }
4524
+ );
4439
4525
  if (typeof Buffer2 !== "undefined") {
4440
4526
  var nbfs = !Buffer2.from;
4441
4527
  if (!nbfs)
@@ -4547,20 +4633,40 @@
4547
4633
  };
4548
4634
  };
4549
4635
  ZipObject.prototype = {
4636
+ /**
4637
+ * Return the content as UTF8 string.
4638
+ * @return {string} the UTF8 string.
4639
+ */
4550
4640
  asText: function() {
4551
4641
  return dataToString.call(this, true);
4552
4642
  },
4643
+ /**
4644
+ * Returns the binary content.
4645
+ * @return {string} the content as binary.
4646
+ */
4553
4647
  asBinary: function() {
4554
4648
  return dataToString.call(this, false);
4555
4649
  },
4650
+ /**
4651
+ * Returns the content as a nodejs Buffer.
4652
+ * @return {Buffer} the content as a Buffer.
4653
+ */
4556
4654
  asNodeBuffer: function() {
4557
4655
  var result = getBinaryData(this);
4558
4656
  return utils2.transformTo("nodebuffer", result);
4559
4657
  },
4658
+ /**
4659
+ * Returns the content as an Uint8Array.
4660
+ * @return {Uint8Array} the content as an Uint8Array.
4661
+ */
4560
4662
  asUint8Array: function() {
4561
4663
  var result = getBinaryData(this);
4562
4664
  return utils2.transformTo("uint8array", result);
4563
4665
  },
4666
+ /**
4667
+ * Returns the content as an ArrayBuffer.
4668
+ * @return {ArrayBuffer} the content as an ArrayBufer.
4669
+ */
4564
4670
  asArrayBuffer: function() {
4565
4671
  return this.asUint8Array().buffer;
4566
4672
  }
@@ -4697,12 +4803,24 @@
4697
4803
  dosDate = dosDate << 5;
4698
4804
  dosDate = dosDate | date.getDate();
4699
4805
  if (useUTF8ForFileName) {
4700
- unicodePathExtraField = decToHex(1, 1) + decToHex(crc32(utfEncodedFileName), 4) + utfEncodedFileName;
4701
- extraFields += "up" + decToHex(unicodePathExtraField.length, 2) + unicodePathExtraField;
4806
+ unicodePathExtraField = // Version
4807
+ decToHex(1, 1) + // NameCRC32
4808
+ decToHex(crc32(utfEncodedFileName), 4) + // UnicodeName
4809
+ utfEncodedFileName;
4810
+ extraFields += // Info-ZIP Unicode Path Extra Field
4811
+ "up" + // size
4812
+ decToHex(unicodePathExtraField.length, 2) + // content
4813
+ unicodePathExtraField;
4702
4814
  }
4703
4815
  if (useUTF8ForComment) {
4704
- unicodeCommentExtraField = decToHex(1, 1) + decToHex(this.crc32(utfEncodedComment), 4) + utfEncodedComment;
4705
- extraFields += "uc" + decToHex(unicodeCommentExtraField.length, 2) + unicodeCommentExtraField;
4816
+ unicodeCommentExtraField = // Version
4817
+ decToHex(1, 1) + // CommentCRC32
4818
+ decToHex(this.crc32(utfEncodedComment), 4) + // UnicodeName
4819
+ utfEncodedComment;
4820
+ extraFields += // Info-ZIP Unicode Path Extra Field
4821
+ "uc" + // size
4822
+ decToHex(unicodeCommentExtraField.length, 2) + // content
4823
+ unicodeCommentExtraField;
4706
4824
  }
4707
4825
  var header = "";
4708
4826
  header += "\n\0";
@@ -4716,7 +4834,16 @@
4716
4834
  header += decToHex(utfEncodedFileName.length, 2);
4717
4835
  header += decToHex(extraFields.length, 2);
4718
4836
  var fileRecord = signature.LOCAL_FILE_HEADER + header + utfEncodedFileName + extraFields;
4719
- 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;
4837
+ var dirRecord = signature.CENTRAL_FILE_HEADER + // version made by (00: DOS)
4838
+ "\0" + // file header (common to file and central directory)
4839
+ header + // file comment length
4840
+ decToHex(utfEncodedComment.length, 2) + // disk number start
4841
+ "\0\0\0\0" + // external file attributes
4842
+ (dir === true ? "\0\0\0" : "\0\0\0\0") + // relative offset of local header
4843
+ decToHex(offset, 4) + // file name
4844
+ utfEncodedFileName + // extra field
4845
+ extraFields + // file comment
4846
+ utfEncodedComment;
4720
4847
  return {
4721
4848
  fileRecord,
4722
4849
  dirRecord,
@@ -4724,9 +4851,24 @@
4724
4851
  };
4725
4852
  };
4726
4853
  var out = {
4854
+ /**
4855
+ * Read an existing zip and merge the data in the current JSZip object.
4856
+ * The implementation is in jszip-load.js, don't forget to include it.
4857
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} stream The stream to load
4858
+ * @param {Object} options Options for loading the stream.
4859
+ * options.base64 : is the stream in base64 ? default : false
4860
+ * @return {JSZip} the current JSZip object
4861
+ */
4727
4862
  load: function(stream, options) {
4728
4863
  throw new Error("Load method is not defined. Is the file jszip-load.js included ?");
4729
4864
  },
4865
+ /**
4866
+ * Filter nested files/folders with the specified function.
4867
+ * @param {Function} search the predicate to use :
4868
+ * function (relativePath, file) {...}
4869
+ * It takes 2 arguments : the relative path and the file.
4870
+ * @return {Array} An array of matching elements.
4871
+ */
4730
4872
  filter: function(search) {
4731
4873
  var result = [], filename, relativePath, file, fileClone;
4732
4874
  for (filename in this.files) {
@@ -4736,12 +4878,22 @@
4736
4878
  file = this.files[filename];
4737
4879
  fileClone = new ZipObject(file.name, file._data, extend(file.options));
4738
4880
  relativePath = filename.slice(this.root.length, filename.length);
4739
- if (filename.slice(0, this.root.length) === this.root && search(relativePath, fileClone)) {
4881
+ if (filename.slice(0, this.root.length) === this.root && // the file is in the current root
4882
+ search(relativePath, fileClone)) {
4740
4883
  result.push(fileClone);
4741
4884
  }
4742
4885
  }
4743
4886
  return result;
4744
4887
  },
4888
+ /**
4889
+ * Add a file to the zip file, or search a file.
4890
+ * @param {string|RegExp} name The name of the file to add (if data is defined),
4891
+ * the name of the file to find (if no data) or a regex to match files.
4892
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded
4893
+ * @param {Object} o File options
4894
+ * @return {JSZip|Object|Array} this JSZip object (when adding a file),
4895
+ * a file (when searching by string) or an array of files (when searching by regex).
4896
+ */
4745
4897
  file: function(name, data, o) {
4746
4898
  if (arguments.length === 1) {
4747
4899
  if (utils2.isRegExp(name)) {
@@ -4760,6 +4912,11 @@
4760
4912
  }
4761
4913
  return this;
4762
4914
  },
4915
+ /**
4916
+ * Add a directory to the zip file, or search.
4917
+ * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.
4918
+ * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.
4919
+ */
4763
4920
  folder: function(arg) {
4764
4921
  if (!arg) {
4765
4922
  return this;
@@ -4775,6 +4932,11 @@
4775
4932
  ret.root = newFolder.name;
4776
4933
  return ret;
4777
4934
  },
4935
+ /**
4936
+ * Delete a file, or a directory and all sub-files, from the zip
4937
+ * @param {string} name the name of the file to delete
4938
+ * @return {JSZip} this JSZip object
4939
+ */
4778
4940
  remove: function(name) {
4779
4941
  name = this.root + name;
4780
4942
  var file = this.files[name];
@@ -4796,6 +4958,14 @@
4796
4958
  }
4797
4959
  return this;
4798
4960
  },
4961
+ /**
4962
+ * Generate the complete zip file
4963
+ * @param {Object} options the options to generate the zip file :
4964
+ * - base64, (deprecated, use type instead) true to generate base64.
4965
+ * - compression, "STORE" by default.
4966
+ * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob.
4967
+ * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file
4968
+ */
4799
4969
  generate: function(options) {
4800
4970
  options = extend(options || {}, {
4801
4971
  base64: true,
@@ -4822,7 +4992,14 @@
4822
4992
  zipData.push(zipPart);
4823
4993
  }
4824
4994
  var dirEnd = "";
4825
- dirEnd = signature.CENTRAL_DIRECTORY_END + "\0\0\0\0" + decToHex(zipData.length, 2) + decToHex(zipData.length, 2) + decToHex(centralDirLength, 4) + decToHex(localDirLength, 4) + decToHex(utfEncodedComment.length, 2) + utfEncodedComment;
4995
+ dirEnd = signature.CENTRAL_DIRECTORY_END + // number of this disk
4996
+ "\0\0\0\0" + // total number of entries in the central directory on this disk
4997
+ decToHex(zipData.length, 2) + // total number of entries in the central directory
4998
+ decToHex(zipData.length, 2) + // size of the central directory 4 bytes
4999
+ decToHex(centralDirLength, 4) + // offset of start of central directory with respect to the starting disk number
5000
+ decToHex(localDirLength, 4) + // .ZIP file comment length
5001
+ decToHex(utfEncodedComment.length, 2) + // .ZIP file comment
5002
+ utfEncodedComment;
4826
5003
  var typeName = options.type.toLowerCase();
4827
5004
  if (typeName === "uint8array" || typeName === "arraybuffer" || typeName === "blob" || typeName === "nodebuffer") {
4828
5005
  writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length);
@@ -4851,12 +5028,24 @@
4851
5028
  return zip;
4852
5029
  }
4853
5030
  },
5031
+ /**
5032
+ * @deprecated
5033
+ * This method will be removed in a future version without replacement.
5034
+ */
4854
5035
  crc32: function(input, crc) {
4855
5036
  return crc32(input, crc);
4856
5037
  },
5038
+ /**
5039
+ * @deprecated
5040
+ * This method will be removed in a future version without replacement.
5041
+ */
4857
5042
  utf8encode: function(string) {
4858
5043
  return utils2.transformTo("string", utf8.utf8encode(string));
4859
5044
  },
5045
+ /**
5046
+ * @deprecated
5047
+ * This method will be removed in a future version without replacement.
5048
+ */
4860
5049
  utf8decode: function(input) {
4861
5050
  return utf8.utf8decode(input);
4862
5051
  }
@@ -4903,10 +5092,18 @@
4903
5092
  this.data = [];
4904
5093
  };
4905
5094
  StringWriter.prototype = {
5095
+ /**
5096
+ * Append any content to the current string.
5097
+ * @param {Object} input the content to add.
5098
+ */
4906
5099
  append: function(input) {
4907
5100
  input = utils2.transformTo("string", input);
4908
5101
  this.data.push(input);
4909
5102
  },
5103
+ /**
5104
+ * Finalize the construction an return the result.
5105
+ * @return {string} the generated string.
5106
+ */
4910
5107
  finalize: function() {
4911
5108
  return this.data.join("");
4912
5109
  }
@@ -4982,6 +5179,10 @@
4982
5179
  this.index = 0;
4983
5180
  };
4984
5181
  Uint8ArrayWriter.prototype = {
5182
+ /**
5183
+ * Append any content to the current array.
5184
+ * @param {Object} input the content to add.
5185
+ */
4985
5186
  append: function(input) {
4986
5187
  if (input.length !== 0) {
4987
5188
  input = utils2.transformTo("uint8array", input);
@@ -4989,6 +5190,10 @@
4989
5190
  this.index += input.length;
4990
5191
  }
4991
5192
  },
5193
+ /**
5194
+ * Finalize the construction an return the result.
5195
+ * @return {Uint8Array} the generated array.
5196
+ */
4992
5197
  finalize: function() {
4993
5198
  return this.data;
4994
5199
  }
@@ -5360,12 +5565,20 @@
5360
5565
  }
5361
5566
  }
5362
5567
  ZipEntries.prototype = {
5568
+ /**
5569
+ * Check that the reader is on the speficied signature.
5570
+ * @param {string} expectedSignature the expected signature.
5571
+ * @throws {Error} if it is an other signature.
5572
+ */
5363
5573
  checkSignature: function(expectedSignature) {
5364
5574
  var signature = this.reader.readString(4);
5365
5575
  if (signature !== expectedSignature) {
5366
5576
  throw new Error("Corrupted zip or bug : unexpected signature (" + utils2.pretty(signature) + ", expected " + utils2.pretty(expectedSignature) + ")");
5367
5577
  }
5368
5578
  },
5579
+ /**
5580
+ * Read the end of the central directory.
5581
+ */
5369
5582
  readBlockEndOfCentral: function() {
5370
5583
  this.diskNumber = this.reader.readInt(2);
5371
5584
  this.diskWithCentralDirStart = this.reader.readInt(2);
@@ -5377,6 +5590,12 @@
5377
5590
  this.zipComment = this.reader.readString(this.zipCommentLength);
5378
5591
  this.zipComment = jszipProto.utf8decode(this.zipComment);
5379
5592
  },
5593
+ /**
5594
+ * Read the end of the Zip 64 central directory.
5595
+ * Not merged with the method readEndOfCentral :
5596
+ * The end of central can coexist with its Zip64 brother,
5597
+ * I don't want to read the wrong number of bytes !
5598
+ */
5380
5599
  readBlockZip64EndOfCentral: function() {
5381
5600
  this.zip64EndOfCentralSize = this.reader.readInt(8);
5382
5601
  this.versionMadeBy = this.reader.readString(2);
@@ -5400,6 +5619,9 @@
5400
5619
  };
5401
5620
  }
5402
5621
  },
5622
+ /**
5623
+ * Read the end of the Zip 64 central directory locator.
5624
+ */
5403
5625
  readBlockZip64EndOfCentralLocator: function() {
5404
5626
  this.diskWithZip64CentralDirStart = this.reader.readInt(4);
5405
5627
  this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);
@@ -5408,6 +5630,9 @@
5408
5630
  throw new Error("Multi-volumes zip are not supported");
5409
5631
  }
5410
5632
  },
5633
+ /**
5634
+ * Read the local files, based on the offset read in the central part.
5635
+ */
5411
5636
  readLocalFiles: function() {
5412
5637
  var i, file;
5413
5638
  for (i = 0; i < this.files.length; i++) {
@@ -5418,6 +5643,9 @@
5418
5643
  file.handleUTF8();
5419
5644
  }
5420
5645
  },
5646
+ /**
5647
+ * Read the central directory.
5648
+ */
5421
5649
  readCentralDir: function() {
5422
5650
  var file;
5423
5651
  this.reader.setIndex(this.centralDirOffset);
@@ -5429,6 +5657,9 @@
5429
5657
  this.files.push(file);
5430
5658
  }
5431
5659
  },
5660
+ /**
5661
+ * Read the end of central directory.
5662
+ */
5432
5663
  readEndOfCentral: function() {
5433
5664
  var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);
5434
5665
  if (offset === -1) {
@@ -5461,6 +5692,10 @@
5461
5692
  this.reader = new Uint8ArrayReader(utils2.transformTo("uint8array", data));
5462
5693
  }
5463
5694
  },
5695
+ /**
5696
+ * Read a zip file and create ZipEntries.
5697
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.
5698
+ */
5464
5699
  load: function(data) {
5465
5700
  this.prepareReader(data);
5466
5701
  this.readEndOfCentral();
@@ -5480,12 +5715,27 @@
5480
5715
  this.loadOptions = loadOptions;
5481
5716
  }
5482
5717
  ZipEntry.prototype = {
5718
+ /**
5719
+ * say if the file is encrypted.
5720
+ * @return {boolean} true if the file is encrypted, false otherwise.
5721
+ */
5483
5722
  isEncrypted: function() {
5484
5723
  return (this.bitFlag & 1) === 1;
5485
5724
  },
5725
+ /**
5726
+ * say if the file has utf-8 filename/comment.
5727
+ * @return {boolean} true if the filename/comment is in utf-8, false otherwise.
5728
+ */
5486
5729
  useUTF8: function() {
5487
5730
  return (this.bitFlag & 2048) === 2048;
5488
5731
  },
5732
+ /**
5733
+ * Prepare the function used to generate the compressed content from this ZipFile.
5734
+ * @param {DataReader} reader the reader to use.
5735
+ * @param {number} from the offset from where we should read the data.
5736
+ * @param {number} length the length of the data to read.
5737
+ * @return {Function} the callback to get the compressed content (the type depends of the DataReader class).
5738
+ */
5489
5739
  prepareCompressedContent: function(reader, from, length) {
5490
5740
  return function() {
5491
5741
  var previousIndex = reader.index;
@@ -5495,6 +5745,15 @@
5495
5745
  return compressedFileData;
5496
5746
  };
5497
5747
  },
5748
+ /**
5749
+ * Prepare the function used to generate the uncompressed content from this ZipFile.
5750
+ * @param {DataReader} reader the reader to use.
5751
+ * @param {number} from the offset from where we should read the data.
5752
+ * @param {number} length the length of the data to read.
5753
+ * @param {JSZip.compression} compression the compression used on this file.
5754
+ * @param {number} uncompressedSize the uncompressed size to expect.
5755
+ * @return {Function} the callback to get the uncompressed content (the type depends of the DataReader class).
5756
+ */
5498
5757
  prepareContent: function(reader, from, length, compression, uncompressedSize) {
5499
5758
  return function() {
5500
5759
  var compressedFileData = utils2.transformTo(compression.uncompressInputType, this.getCompressedContent());
@@ -5505,6 +5764,10 @@
5505
5764
  return uncompressedFileData;
5506
5765
  };
5507
5766
  },
5767
+ /**
5768
+ * Read the local part of a zip file and add the info in this object.
5769
+ * @param {DataReader} reader the reader to use.
5770
+ */
5508
5771
  readLocalPart: function(reader) {
5509
5772
  var compression, localExtraFieldsLength;
5510
5773
  reader.skip(22);
@@ -5533,6 +5796,10 @@
5533
5796
  }
5534
5797
  }
5535
5798
  },
5799
+ /**
5800
+ * Read the central part of a zip file and add the info in this object.
5801
+ * @param {DataReader} reader the reader to use.
5802
+ */
5536
5803
  readCentralPart: function(reader) {
5537
5804
  this.versionMadeBy = reader.readString(2);
5538
5805
  this.versionNeeded = reader.readInt(2);
@@ -5558,6 +5825,10 @@
5558
5825
  this.fileComment = reader.readString(this.fileCommentLength);
5559
5826
  this.dir = this.externalFileAttributes & 16 ? true : false;
5560
5827
  },
5828
+ /**
5829
+ * Parse the ZIP64 extra field and merge the info in the current ZipEntry.
5830
+ * @param {DataReader} reader the reader to use.
5831
+ */
5561
5832
  parseZIP64ExtraField: function(reader) {
5562
5833
  if (!this.extraFields[1]) {
5563
5834
  return;
@@ -5576,6 +5847,10 @@
5576
5847
  this.diskNumberStart = extraReader.readInt(4);
5577
5848
  }
5578
5849
  },
5850
+ /**
5851
+ * Read the central part of a zip file and add the info in this object.
5852
+ * @param {DataReader} reader the reader to use.
5853
+ */
5579
5854
  readExtraFields: function(reader) {
5580
5855
  var start = reader.index, extraFieldId, extraFieldLength, extraFieldValue;
5581
5856
  this.extraFields = this.extraFields || {};
@@ -5590,6 +5865,9 @@
5590
5865
  };
5591
5866
  }
5592
5867
  },
5868
+ /**
5869
+ * Apply an UTF8 transformation if needed.
5870
+ */
5593
5871
  handleUTF8: function() {
5594
5872
  if (this.useUTF8()) {
5595
5873
  this.fileName = jszipProto.utf8decode(this.fileName);
@@ -5605,6 +5883,10 @@
5605
5883
  }
5606
5884
  }
5607
5885
  },
5886
+ /**
5887
+ * Find the unicode path declared in the extra field, if any.
5888
+ * @return {String} the unicode path, null otherwise.
5889
+ */
5608
5890
  findExtraFieldUnicodePath: function() {
5609
5891
  var upathField = this.extraFields[28789];
5610
5892
  if (upathField) {
@@ -5619,6 +5901,10 @@
5619
5901
  }
5620
5902
  return null;
5621
5903
  },
5904
+ /**
5905
+ * Find the unicode comment declared in the extra field, if any.
5906
+ * @return {String} the unicode comment, null otherwise.
5907
+ */
5622
5908
  findExtraFieldUnicodeComment: function() {
5623
5909
  var ucommentField = this.extraFields[25461];
5624
5910
  if (ucommentField) {
@@ -5680,7 +5966,14 @@
5680
5966
  this.chunks = [];
5681
5967
  this.strm = new zstream();
5682
5968
  this.strm.avail_out = 0;
5683
- var status = zlib_deflate.deflateInit2(this.strm, opt.level, opt.method, opt.windowBits, opt.memLevel, opt.strategy);
5969
+ var status = zlib_deflate.deflateInit2(
5970
+ this.strm,
5971
+ opt.level,
5972
+ opt.method,
5973
+ opt.windowBits,
5974
+ opt.memLevel,
5975
+ opt.strategy
5976
+ );
5684
5977
  if (status !== Z_OK) {
5685
5978
  throw new Error(msg[status]);
5686
5979
  }
@@ -5804,7 +6097,10 @@
5804
6097
  this.chunks = [];
5805
6098
  this.strm = new zstream();
5806
6099
  this.strm.avail_out = 0;
5807
- var status = zlib_inflate.inflateInit2(this.strm, opt.windowBits);
6100
+ var status = zlib_inflate.inflateInit2(
6101
+ this.strm,
6102
+ opt.windowBits
6103
+ );
5808
6104
  if (status !== c.Z_OK) {
5809
6105
  throw new Error(msg[status]);
5810
6106
  }
@@ -5941,6 +6237,7 @@
5941
6237
  dest[dest_offs + i] = src[src_offs + i];
5942
6238
  }
5943
6239
  },
6240
+ // Join array of chunks to single array.
5944
6241
  flattenChunks: function(chunks) {
5945
6242
  var i, l, len, pos, chunk, result;
5946
6243
  len = 0;
@@ -5963,6 +6260,7 @@
5963
6260
  dest[dest_offs + i] = src[src_offs + i];
5964
6261
  }
5965
6262
  },
6263
+ // Join array of chunks to single array.
5966
6264
  flattenChunks: function(chunks) {
5967
6265
  return [].concat.apply([], chunks);
5968
6266
  }
@@ -6136,6 +6434,7 @@
6136
6434
  module3.exports = adler32;
6137
6435
  }, {}], 30: [function(_dereq_, module3, exports3) {
6138
6436
  module3.exports = {
6437
+ /* Allowed flush values; see deflate() and inflate() below for details */
6139
6438
  Z_NO_FLUSH: 0,
6140
6439
  Z_PARTIAL_FLUSH: 1,
6141
6440
  Z_SYNC_FLUSH: 2,
@@ -6143,13 +6442,19 @@
6143
6442
  Z_FINISH: 4,
6144
6443
  Z_BLOCK: 5,
6145
6444
  Z_TREES: 6,
6445
+ /* Return codes for the compression/decompression functions. Negative values
6446
+ * are errors, positive values are used for special but normal events.
6447
+ */
6146
6448
  Z_OK: 0,
6147
6449
  Z_STREAM_END: 1,
6148
6450
  Z_NEED_DICT: 2,
6149
6451
  Z_ERRNO: -1,
6150
6452
  Z_STREAM_ERROR: -2,
6151
6453
  Z_DATA_ERROR: -3,
6454
+ //Z_MEM_ERROR: -4,
6152
6455
  Z_BUF_ERROR: -5,
6456
+ //Z_VERSION_ERROR: -6,
6457
+ /* compression levels */
6153
6458
  Z_NO_COMPRESSION: 0,
6154
6459
  Z_BEST_SPEED: 1,
6155
6460
  Z_BEST_COMPRESSION: 9,
@@ -6159,10 +6464,14 @@
6159
6464
  Z_RLE: 3,
6160
6465
  Z_FIXED: 4,
6161
6466
  Z_DEFAULT_STRATEGY: 0,
6467
+ /* Possible values of the data_type field (though see inflate()) */
6162
6468
  Z_BINARY: 0,
6163
6469
  Z_TEXT: 1,
6470
+ //Z_ASCII: 1, // = Z_TEXT (deprecated)
6164
6471
  Z_UNKNOWN: 2,
6472
+ /* The deflate compression method */
6165
6473
  Z_DEFLATED: 8
6474
+ //Z_NULL: null // Use -1 or null inline, depending on var type
6166
6475
  };
6167
6476
  }, {}], 31: [function(_dereq_, module3, exports3) {
6168
6477
  "use strict";
@@ -6706,16 +7015,27 @@
6706
7015
  };
6707
7016
  var configuration_table;
6708
7017
  configuration_table = [
7018
+ /* good lazy nice chain */
6709
7019
  new Config(0, 0, 0, 0, deflate_stored),
7020
+ /* 0 store only */
6710
7021
  new Config(4, 4, 8, 4, deflate_fast),
7022
+ /* 1 max speed, no lazy matches */
6711
7023
  new Config(4, 5, 16, 8, deflate_fast),
7024
+ /* 2 */
6712
7025
  new Config(4, 6, 32, 32, deflate_fast),
7026
+ /* 3 */
6713
7027
  new Config(4, 4, 16, 16, deflate_slow),
7028
+ /* 4 lazy matches */
6714
7029
  new Config(8, 16, 32, 32, deflate_slow),
7030
+ /* 5 */
6715
7031
  new Config(8, 16, 128, 128, deflate_slow),
7032
+ /* 6 */
6716
7033
  new Config(8, 32, 128, 256, deflate_slow),
7034
+ /* 7 */
6717
7035
  new Config(32, 128, 258, 1024, deflate_slow),
7036
+ /* 8 */
6718
7037
  new Config(32, 258, 258, 4096, deflate_slow)
7038
+ /* 9 max compression */
6719
7039
  ];
6720
7040
  function lm_init(s) {
6721
7041
  s.window_size = 2 * s.w_size;
@@ -6911,7 +7231,10 @@
6911
7231
  put_byte(s, OS_CODE);
6912
7232
  s.status = BUSY_STATE;
6913
7233
  } else {
6914
- 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));
7234
+ put_byte(
7235
+ s,
7236
+ (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)
7237
+ );
6915
7238
  put_byte(s, s.gzhead.time & 255);
6916
7239
  put_byte(s, s.gzhead.time >> 8 & 255);
6917
7240
  put_byte(s, s.gzhead.time >> 16 & 255);
@@ -7655,7 +7978,10 @@
7655
7978
  var hbuf = new utils2.Buf8(4);
7656
7979
  var opts;
7657
7980
  var n;
7658
- var order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
7981
+ var order = (
7982
+ /* permutation of code lengths */
7983
+ [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]
7984
+ );
7659
7985
  if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) {
7660
7986
  return Z_STREAM_ERROR;
7661
7987
  }
@@ -7704,7 +8030,8 @@
7704
8030
  if (state.head) {
7705
8031
  state.head.done = false;
7706
8032
  }
7707
- if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {
8033
+ if (!(state.wrap & 1) || /* check if zlib header allowed */
8034
+ (((hold & 255) << 8) + (hold >> 8)) % 31) {
7708
8035
  strm.msg = "incorrect header check";
7709
8036
  state.mode = BAD;
7710
8037
  break;
@@ -7841,7 +8168,16 @@
7841
8168
  if (!state.head.extra) {
7842
8169
  state.head.extra = new Array(state.head.extra_len);
7843
8170
  }
7844
- utils2.arraySet(state.head.extra, input, next, copy, len);
8171
+ utils2.arraySet(
8172
+ state.head.extra,
8173
+ input,
8174
+ next,
8175
+ // extra field is limited to 65536 bytes
8176
+ // - no need for additional size check
8177
+ copy,
8178
+ /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
8179
+ len
8180
+ );
7845
8181
  }
7846
8182
  if (state.flags & 512) {
7847
8183
  state.check = crc32(state.check, input, copy, next);
@@ -8454,7 +8790,8 @@
8454
8790
  strm.total_out += _out;
8455
8791
  state.total += _out;
8456
8792
  if (_out) {
8457
- strm.adler = state.check = state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);
8793
+ strm.adler = state.check = /*UPDATE(state.check, put - _out, _out);*/
8794
+ state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);
8458
8795
  }
8459
8796
  _out = left;
8460
8797
  if ((state.flags ? hold : ZSWAP32(hold)) !== state.check) {
@@ -8516,7 +8853,8 @@
8516
8853
  strm.total_out += _out;
8517
8854
  state.total += _out;
8518
8855
  if (state.wrap && _out) {
8519
- strm.adler = state.check = state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);
8856
+ strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/
8857
+ state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);
8520
8858
  }
8521
8859
  strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
8522
8860
  if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) {
@@ -8567,6 +8905,7 @@
8567
8905
  var LENS = 1;
8568
8906
  var DISTS = 2;
8569
8907
  var lbase = [
8908
+ /* Length codes 257..285 base */
8570
8909
  3,
8571
8910
  4,
8572
8911
  5,
@@ -8600,6 +8939,7 @@
8600
8939
  0
8601
8940
  ];
8602
8941
  var lext = [
8942
+ /* Length codes 257..285 extra */
8603
8943
  16,
8604
8944
  16,
8605
8945
  16,
@@ -8633,6 +8973,7 @@
8633
8973
  78
8634
8974
  ];
8635
8975
  var dbase = [
8976
+ /* Distance codes 0..29 base */
8636
8977
  1,
8637
8978
  2,
8638
8979
  3,
@@ -8667,6 +9008,7 @@
8667
9008
  0
8668
9009
  ];
8669
9010
  var dext = [
9011
+ /* Distance codes 0..29 extra */
8670
9012
  16,
8671
9013
  16,
8672
9014
  16,
@@ -8870,14 +9212,23 @@
8870
9212
  "use strict";
8871
9213
  module3.exports = {
8872
9214
  "2": "need dictionary",
9215
+ /* Z_NEED_DICT 2 */
8873
9216
  "1": "stream end",
9217
+ /* Z_STREAM_END 1 */
8874
9218
  "0": "",
9219
+ /* Z_OK 0 */
8875
9220
  "-1": "file error",
9221
+ /* Z_ERRNO (-1) */
8876
9222
  "-2": "stream error",
9223
+ /* Z_STREAM_ERROR (-2) */
8877
9224
  "-3": "data error",
9225
+ /* Z_DATA_ERROR (-3) */
8878
9226
  "-4": "insufficient memory",
9227
+ /* Z_MEM_ERROR (-4) */
8879
9228
  "-5": "buffer error",
9229
+ /* Z_BUF_ERROR (-5) */
8880
9230
  "-6": "incompatible version"
9231
+ /* Z_VERSION_ERROR (-6) */
8881
9232
  };
8882
9233
  }, {}], 38: [function(_dereq_, module3, exports3) {
8883
9234
  "use strict";
@@ -8910,9 +9261,18 @@
8910
9261
  var REP_3_6 = 16;
8911
9262
  var REPZ_3_10 = 17;
8912
9263
  var REPZ_11_138 = 18;
8913
- 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];
8914
- 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];
8915
- var extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7];
9264
+ var extra_lbits = (
9265
+ /* extra bits for each length code */
9266
+ [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]
9267
+ );
9268
+ var extra_dbits = (
9269
+ /* extra bits for each distance code */
9270
+ [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]
9271
+ );
9272
+ var extra_blbits = (
9273
+ /* extra bits for each bit length code */
9274
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]
9275
+ );
8916
9276
  var bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
8917
9277
  var DIST_CODE_LEN = 512;
8918
9278
  var static_ltree = new Array((L_CODES + 2) * 2);
@@ -8962,7 +9322,12 @@
8962
9322
  }
8963
9323
  }
8964
9324
  function send_code(s, c, tree) {
8965
- send_bits(s, tree[c * 2], tree[c * 2 + 1]);
9325
+ send_bits(
9326
+ s,
9327
+ tree[c * 2],
9328
+ tree[c * 2 + 1]
9329
+ /*.Len*/
9330
+ );
8966
9331
  }
8967
9332
  function bi_reverse(code, len) {
8968
9333
  var res = 0;
@@ -9251,19 +9616,44 @@
9251
9616
  }
9252
9617
  node = elems;
9253
9618
  do {
9254
- n = s.heap[1];
9255
- s.heap[1] = s.heap[s.heap_len--];
9256
- pqdownheap(s, tree, 1);
9257
- m = s.heap[1];
9619
+ n = s.heap[
9620
+ 1
9621
+ /*SMALLEST*/
9622
+ ];
9623
+ s.heap[
9624
+ 1
9625
+ /*SMALLEST*/
9626
+ ] = s.heap[s.heap_len--];
9627
+ pqdownheap(
9628
+ s,
9629
+ tree,
9630
+ 1
9631
+ /*SMALLEST*/
9632
+ );
9633
+ m = s.heap[
9634
+ 1
9635
+ /*SMALLEST*/
9636
+ ];
9258
9637
  s.heap[--s.heap_max] = n;
9259
9638
  s.heap[--s.heap_max] = m;
9260
9639
  tree[node * 2] = tree[n * 2] + tree[m * 2];
9261
9640
  s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;
9262
9641
  tree[n * 2 + 1] = tree[m * 2 + 1] = node;
9263
- s.heap[1] = node++;
9264
- pqdownheap(s, tree, 1);
9642
+ s.heap[
9643
+ 1
9644
+ /*SMALLEST*/
9645
+ ] = node++;
9646
+ pqdownheap(
9647
+ s,
9648
+ tree,
9649
+ 1
9650
+ /*SMALLEST*/
9651
+ );
9265
9652
  } while (s.heap_len >= 2);
9266
- s.heap[--s.heap_max] = s.heap[1];
9653
+ s.heap[--s.heap_max] = s.heap[
9654
+ 1
9655
+ /*SMALLEST*/
9656
+ ];
9267
9657
  gen_bitlen(s, desc);
9268
9658
  gen_codes(tree, max_code, s.bl_count);
9269
9659
  }
@@ -9531,25 +9921,45 @@
9531
9921
  VALID_ANSI.push(1250 + i);
9532
9922
  var CS2CP = {
9533
9923
  0: 1252,
9924
+ /* ANSI */
9534
9925
  1: 65001,
9926
+ /* DEFAULT */
9535
9927
  2: 65001,
9928
+ /* SYMBOL */
9536
9929
  77: 1e4,
9930
+ /* MAC */
9537
9931
  128: 932,
9932
+ /* SHIFTJIS */
9538
9933
  129: 949,
9934
+ /* HANGUL */
9539
9935
  130: 1361,
9936
+ /* JOHAB */
9540
9937
  134: 936,
9938
+ /* GB2312 */
9541
9939
  136: 950,
9940
+ /* CHINESEBIG5 */
9542
9941
  161: 1253,
9942
+ /* GREEK */
9543
9943
  162: 1254,
9944
+ /* TURKISH */
9544
9945
  163: 1258,
9946
+ /* VIETNAMESE */
9545
9947
  177: 1255,
9948
+ /* HEBREW */
9546
9949
  178: 1256,
9950
+ /* ARABIC */
9547
9951
  186: 1257,
9952
+ /* BALTIC */
9548
9953
  204: 1251,
9954
+ /* RUSSIAN */
9549
9955
  222: 874,
9956
+ /* THAI */
9550
9957
  238: 1250,
9958
+ /* EASTEUROPE */
9551
9959
  255: 1252,
9960
+ /* OEM */
9552
9961
  69: 6969
9962
+ /* MISC */
9553
9963
  };
9554
9964
  var set_ansi = function(cp) {
9555
9965
  if (VALID_ANSI.indexOf(cp) == -1)
@@ -10541,7 +10951,10 @@
10541
10951
  var out = [];
10542
10952
  var in_str = false;
10543
10953
  for (var i2 = 0, j = 0; i2 < fmt.length; ++i2)
10544
- switch (fmt.charCodeAt(i2)) {
10954
+ switch (
10955
+ /*cc=*/
10956
+ fmt.charCodeAt(i2)
10957
+ ) {
10545
10958
  case 34:
10546
10959
  in_str = !in_str;
10547
10960
  break;
@@ -10571,7 +10984,11 @@
10571
10984
  i2++;
10572
10985
  break;
10573
10986
  case '"':
10574
- for (; fmt.charCodeAt(++i2) !== 34 && i2 < fmt.length; ) {
10987
+ for (
10988
+ ;
10989
+ /*cc=*/
10990
+ fmt.charCodeAt(++i2) !== 34 && i2 < fmt.length;
10991
+ ) {
10575
10992
  }
10576
10993
  ++i2;
10577
10994
  break;
@@ -11519,7 +11936,11 @@
11519
11936
  }
11520
11937
  if (ssz !== 512) {
11521
11938
  blob = file.slice(0, ssz);
11522
- prep_blob(blob, 28);
11939
+ prep_blob(
11940
+ blob,
11941
+ 28
11942
+ /* blob.l */
11943
+ );
11523
11944
  }
11524
11945
  var header = file.slice(0, ssz);
11525
11946
  check_shifts(blob, mver);
@@ -11641,7 +12062,7 @@
11641
12062
  do {
11642
12063
  j = dad[j];
11643
12064
  FP[i3] = FP[j] + "/" + FP[i3];
11644
- } while (j !== 0 && dad[j] !== -1 && j != dad[j]);
12065
+ } while (j !== 0 && -1 !== dad[j] && j != dad[j]);
11645
12066
  dad[i3] = -1;
11646
12067
  }
11647
12068
  FP[0] += "/";
@@ -12132,16 +12553,19 @@
12132
12553
  var HEADER_SIG = [208, 207, 17, 224, 161, 177, 26, 225];
12133
12554
  var HEADER_CLSID = "00000000000000000000000000000000";
12134
12555
  var consts = {
12556
+ /* 2.1 Compund File Sector Numbers and Types */
12135
12557
  MAXREGSECT: -6,
12136
12558
  DIFSECT: -4,
12137
12559
  FATSECT: -3,
12138
12560
  ENDOFCHAIN,
12139
12561
  FREESECT: -1,
12562
+ /* 2.2 Compound File Header */
12140
12563
  HEADER_SIGNATURE,
12141
12564
  HEADER_MINOR_VERSION: "3e00",
12142
12565
  MAXREGSID: -6,
12143
12566
  NOSTREAM: -1,
12144
12567
  HEADER_CLSID,
12568
+ /* 2.6.1 Compound File Directory Entry */
12145
12569
  EntryTypes: ["unknown", "storage", "stream", "lockbytes", "property", "root"]
12146
12570
  };
12147
12571
  function write_file(cfb, filename2, options) {
@@ -14781,6 +15205,7 @@
14781
15205
  28: { n: "Language", t: VT_STRING },
14782
15206
  29: { n: "Version", t: VT_STRING },
14783
15207
  255: {},
15208
+ /* [MS-OLEPS] 2.18 */
14784
15209
  2147483648: { n: "Locale", t: VT_UI4 },
14785
15210
  2147483651: { n: "Behavior", t: VT_UI4 },
14786
15211
  1919054434: {}
@@ -14806,6 +15231,7 @@
14806
15231
  18: { n: "Application", t: VT_STRING },
14807
15232
  19: { n: "DocSecurity", t: VT_I4 },
14808
15233
  255: {},
15234
+ /* [MS-OLEPS] 2.18 */
14809
15235
  2147483648: { n: "Locale", t: VT_UI4 },
14810
15236
  2147483651: { n: "Behavior", t: VT_UI4 },
14811
15237
  1919054434: {}
@@ -14814,55 +15240,105 @@
14814
15240
  var SummaryRE = evert_key(SummaryPIDSI, "n");
14815
15241
  var CountryEnum = {
14816
15242
  1: "US",
15243
+ // United States
14817
15244
  2: "CA",
15245
+ // Canada
14818
15246
  3: "",
15247
+ // Latin America (except Brazil)
14819
15248
  7: "RU",
15249
+ // Russia
14820
15250
  20: "EG",
15251
+ // Egypt
14821
15252
  30: "GR",
15253
+ // Greece
14822
15254
  31: "NL",
15255
+ // Netherlands
14823
15256
  32: "BE",
15257
+ // Belgium
14824
15258
  33: "FR",
15259
+ // France
14825
15260
  34: "ES",
15261
+ // Spain
14826
15262
  36: "HU",
15263
+ // Hungary
14827
15264
  39: "IT",
15265
+ // Italy
14828
15266
  41: "CH",
15267
+ // Switzerland
14829
15268
  43: "AT",
15269
+ // Austria
14830
15270
  44: "GB",
15271
+ // United Kingdom
14831
15272
  45: "DK",
15273
+ // Denmark
14832
15274
  46: "SE",
15275
+ // Sweden
14833
15276
  47: "NO",
15277
+ // Norway
14834
15278
  48: "PL",
15279
+ // Poland
14835
15280
  49: "DE",
15281
+ // Germany
14836
15282
  52: "MX",
15283
+ // Mexico
14837
15284
  55: "BR",
15285
+ // Brazil
14838
15286
  61: "AU",
15287
+ // Australia
14839
15288
  64: "NZ",
15289
+ // New Zealand
14840
15290
  66: "TH",
15291
+ // Thailand
14841
15292
  81: "JP",
15293
+ // Japan
14842
15294
  82: "KR",
15295
+ // Korea
14843
15296
  84: "VN",
15297
+ // Viet Nam
14844
15298
  86: "CN",
15299
+ // China
14845
15300
  90: "TR",
15301
+ // Turkey
14846
15302
  105: "JS",
15303
+ // Ramastan
14847
15304
  213: "DZ",
15305
+ // Algeria
14848
15306
  216: "MA",
15307
+ // Morocco
14849
15308
  218: "LY",
15309
+ // Libya
14850
15310
  351: "PT",
15311
+ // Portugal
14851
15312
  354: "IS",
15313
+ // Iceland
14852
15314
  358: "FI",
15315
+ // Finland
14853
15316
  420: "CZ",
15317
+ // Czech Republic
14854
15318
  886: "TW",
15319
+ // Taiwan
14855
15320
  961: "LB",
15321
+ // Lebanon
14856
15322
  962: "JO",
15323
+ // Jordan
14857
15324
  963: "SY",
15325
+ // Syria
14858
15326
  964: "IQ",
15327
+ // Iraq
14859
15328
  965: "KW",
15329
+ // Kuwait
14860
15330
  966: "SA",
15331
+ // Saudi Arabia
14861
15332
  971: "AE",
15333
+ // United Arab Emirates
14862
15334
  972: "IL",
15335
+ // Israel
14863
15336
  974: "QA",
15337
+ // Qatar
14864
15338
  981: "IR",
15339
+ // Iran
14865
15340
  65535: "US"
15341
+ // United States
14866
15342
  };
14867
15343
  var XLSFillPattern = [
14868
15344
  null,
@@ -14891,6 +15367,7 @@
14891
15367
  });
14892
15368
  }
14893
15369
  var _XLSIcv = rgbify([
15370
+ /* Color Constants */
14894
15371
  0,
14895
15372
  16777215,
14896
15373
  16711680,
@@ -14899,6 +15376,7 @@
14899
15376
  16776960,
14900
15377
  16711935,
14901
15378
  65535,
15379
+ /* Overridable Defaults */
14902
15380
  0,
14903
15381
  16777215,
14904
15382
  16711680,
@@ -14955,24 +15433,43 @@
14955
15433
  10040166,
14956
15434
  3355545,
14957
15435
  3355443,
15436
+ /* Other entries to appease BIFF8/12 */
14958
15437
  16777215,
15438
+ /* 0x40 icvForeground ?? */
14959
15439
  0,
15440
+ /* 0x41 icvBackground ?? */
14960
15441
  0,
15442
+ /* 0x42 icvFrame ?? */
14961
15443
  0,
15444
+ /* 0x43 icv3D ?? */
14962
15445
  0,
15446
+ /* 0x44 icv3DText ?? */
14963
15447
  0,
15448
+ /* 0x45 icv3DHilite ?? */
14964
15449
  0,
15450
+ /* 0x46 icv3DShadow ?? */
14965
15451
  0,
15452
+ /* 0x47 icvHilite ?? */
14966
15453
  0,
15454
+ /* 0x48 icvCtlText ?? */
14967
15455
  0,
15456
+ /* 0x49 icvCtlScrl ?? */
14968
15457
  0,
15458
+ /* 0x4A icvCtlInv ?? */
14969
15459
  0,
15460
+ /* 0x4B icvCtlBody ?? */
14970
15461
  0,
15462
+ /* 0x4C icvCtlFrame ?? */
14971
15463
  0,
15464
+ /* 0x4D icvCtlFore ?? */
14972
15465
  0,
15466
+ /* 0x4E icvCtlBack ?? */
14973
15467
  0,
15468
+ /* 0x4F icvCtlNeutral */
14974
15469
  0,
15470
+ /* 0x50 icvInfoBk ?? */
14975
15471
  0
15472
+ /* 0x51 icvInfoText ?? */
14976
15473
  ]);
14977
15474
  var XLSIcv = dup(_XLSIcv);
14978
15475
  var BErr = {
@@ -14988,74 +15485,113 @@
14988
15485
  };
14989
15486
  var RBErr = evert_num(BErr);
14990
15487
  var ct2type = {
15488
+ /* Workbook */
14991
15489
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks",
15490
+ /* Worksheet */
14992
15491
  "application/vnd.ms-excel.binIndexWs": "TODO",
15492
+ /* Binary Index */
15493
+ /* Macrosheet */
14993
15494
  "application/vnd.ms-excel.intlmacrosheet": "TODO",
14994
15495
  "application/vnd.ms-excel.binIndexMs": "TODO",
15496
+ /* Binary Index */
15497
+ /* File Properties */
14995
15498
  "application/vnd.openxmlformats-package.core-properties+xml": "coreprops",
14996
15499
  "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops",
14997
15500
  "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops",
15501
+ /* Custom Data Properties */
14998
15502
  "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO",
14999
15503
  "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO",
15504
+ /* PivotTable */
15000
15505
  "application/vnd.ms-excel.pivotTable": "TODO",
15001
15506
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO",
15507
+ /* Chart Objects */
15002
15508
  "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO",
15509
+ /* Chart Colors */
15003
15510
  "application/vnd.ms-office.chartcolorstyle+xml": "TODO",
15511
+ /* Chart Style */
15004
15512
  "application/vnd.ms-office.chartstyle+xml": "TODO",
15513
+ /* Chart Advanced */
15005
15514
  "application/vnd.ms-office.chartex+xml": "TODO",
15515
+ /* Calculation Chain */
15006
15516
  "application/vnd.ms-excel.calcChain": "calcchains",
15007
15517
  "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains",
15518
+ /* Printer Settings */
15008
15519
  "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO",
15520
+ /* ActiveX */
15009
15521
  "application/vnd.ms-office.activeX": "TODO",
15010
15522
  "application/vnd.ms-office.activeX+xml": "TODO",
15523
+ /* Custom Toolbars */
15011
15524
  "application/vnd.ms-excel.attachedToolbars": "TODO",
15525
+ /* External Data Connections */
15012
15526
  "application/vnd.ms-excel.connections": "TODO",
15013
15527
  "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO",
15528
+ /* External Links */
15014
15529
  "application/vnd.ms-excel.externalLink": "links",
15015
15530
  "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links",
15531
+ /* Metadata */
15016
15532
  "application/vnd.ms-excel.sheetMetadata": "TODO",
15017
15533
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "TODO",
15534
+ /* PivotCache */
15018
15535
  "application/vnd.ms-excel.pivotCacheDefinition": "TODO",
15019
15536
  "application/vnd.ms-excel.pivotCacheRecords": "TODO",
15020
15537
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO",
15021
15538
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO",
15539
+ /* Query Table */
15022
15540
  "application/vnd.ms-excel.queryTable": "TODO",
15023
15541
  "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO",
15542
+ /* Shared Workbook */
15024
15543
  "application/vnd.ms-excel.userNames": "TODO",
15025
15544
  "application/vnd.ms-excel.revisionHeaders": "TODO",
15026
15545
  "application/vnd.ms-excel.revisionLog": "TODO",
15027
15546
  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO",
15028
15547
  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO",
15029
15548
  "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO",
15549
+ /* Single Cell Table */
15030
15550
  "application/vnd.ms-excel.tableSingleCells": "TODO",
15031
15551
  "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO",
15552
+ /* Slicer */
15032
15553
  "application/vnd.ms-excel.slicer": "TODO",
15033
15554
  "application/vnd.ms-excel.slicerCache": "TODO",
15034
15555
  "application/vnd.ms-excel.slicer+xml": "TODO",
15035
15556
  "application/vnd.ms-excel.slicerCache+xml": "TODO",
15557
+ /* Sort Map */
15036
15558
  "application/vnd.ms-excel.wsSortMap": "TODO",
15559
+ /* Table */
15037
15560
  "application/vnd.ms-excel.table": "TODO",
15038
15561
  "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO",
15562
+ /* Themes */
15039
15563
  "application/vnd.openxmlformats-officedocument.theme+xml": "themes",
15564
+ /* Theme Override */
15040
15565
  "application/vnd.openxmlformats-officedocument.themeOverride+xml": "TODO",
15566
+ /* Timeline */
15041
15567
  "application/vnd.ms-excel.Timeline+xml": "TODO",
15568
+ /* verify */
15042
15569
  "application/vnd.ms-excel.TimelineCache+xml": "TODO",
15570
+ /* verify */
15571
+ /* VBA */
15043
15572
  "application/vnd.ms-office.vbaProject": "vba",
15044
15573
  "application/vnd.ms-office.vbaProjectSignature": "vba",
15574
+ /* Volatile Dependencies */
15045
15575
  "application/vnd.ms-office.volatileDependencies": "TODO",
15046
15576
  "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO",
15577
+ /* Control Properties */
15047
15578
  "application/vnd.ms-excel.controlproperties+xml": "TODO",
15579
+ /* Data Model */
15048
15580
  "application/vnd.openxmlformats-officedocument.model+data": "TODO",
15581
+ /* Survey */
15049
15582
  "application/vnd.ms-excel.Survey+xml": "TODO",
15583
+ /* Drawing */
15050
15584
  "application/vnd.openxmlformats-officedocument.drawing+xml": "drawings",
15051
15585
  "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO",
15052
15586
  "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO",
15053
15587
  "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO",
15054
15588
  "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO",
15055
15589
  "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO",
15590
+ /* VML */
15056
15591
  "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO",
15057
15592
  "application/vnd.openxmlformats-package.relationships+xml": "rels",
15058
15593
  "application/vnd.openxmlformats-officedocument.oleObject": "TODO",
15594
+ /* Image */
15059
15595
  "image/png": "TODO",
15060
15596
  "sheet": "js"
15061
15597
  };
@@ -15069,30 +15605,37 @@
15069
15605
  xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"
15070
15606
  },
15071
15607
  strs: {
15608
+ /* Shared Strings */
15072
15609
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",
15073
15610
  xlsb: "application/vnd.ms-excel.sharedStrings"
15074
15611
  },
15075
15612
  comments: {
15613
+ /* Comments */
15076
15614
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",
15077
15615
  xlsb: "application/vnd.ms-excel.comments"
15078
15616
  },
15079
15617
  sheets: {
15618
+ /* Worksheet */
15080
15619
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",
15081
15620
  xlsb: "application/vnd.ms-excel.worksheet"
15082
15621
  },
15083
15622
  charts: {
15623
+ /* Chartsheet */
15084
15624
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",
15085
15625
  xlsb: "application/vnd.ms-excel.chartsheet"
15086
15626
  },
15087
15627
  dialogs: {
15628
+ /* Dialogsheet */
15088
15629
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",
15089
15630
  xlsb: "application/vnd.ms-excel.dialogsheet"
15090
15631
  },
15091
15632
  macros: {
15633
+ /* Macrosheet (Excel 4.0 Macros) */
15092
15634
  xlsx: "application/vnd.ms-excel.macrosheet+xml",
15093
15635
  xlsb: "application/vnd.ms-excel.macrosheet"
15094
15636
  },
15095
15637
  styles: {
15638
+ /* Styles */
15096
15639
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",
15097
15640
  xlsb: "application/vnd.ms-excel.styles"
15098
15641
  }
@@ -15176,6 +15719,7 @@
15176
15719
  ["bin", "application/vnd.ms-excel.sheet.binary.macroEnabled.main"],
15177
15720
  ["vml", "application/vnd.openxmlformats-officedocument.vmlDrawing"],
15178
15721
  ["data", "application/vnd.openxmlformats-officedocument.model+data"],
15722
+ /* from test files */
15179
15723
  ["bmp", "image/bmp"],
15180
15724
  ["png", "image/png"],
15181
15725
  ["gif", "image/gif"],
@@ -15278,6 +15822,7 @@
15278
15822
  }
15279
15823
  XMLNS.RELS = "http://schemas.openxmlformats.org/package/2006/relationships";
15280
15824
  var RELS_ROOT = writextag("Relationships", null, {
15825
+ //'xmlns:ns0': XMLNS.RELS,
15281
15826
  "xmlns": XMLNS.RELS
15282
15827
  });
15283
15828
  function write_rels(rels) {
@@ -15418,6 +15963,7 @@
15418
15963
  return p;
15419
15964
  }
15420
15965
  var CORE_PROPS_XML_ROOT = writextag("cp:coreProperties", null, {
15966
+ //'xmlns': XMLNS.CORE_PROPS,
15421
15967
  "xmlns:cp": XMLNS.CORE_PROPS,
15422
15968
  "xmlns:dc": XMLNS.dc,
15423
15969
  "xmlns:dcterms": XMLNS.dcterms,
@@ -15696,16 +16242,30 @@
15696
16242
  LastAuthor: "LastAuthor",
15697
16243
  RevNumber: "Revision",
15698
16244
  Application: "AppName",
16245
+ /* TotalTime: 'TotalTime', */
15699
16246
  LastPrinted: "LastPrinted",
15700
16247
  CreatedDate: "Created",
15701
16248
  ModifiedDate: "LastSaved",
16249
+ /* Pages */
16250
+ /* Words */
16251
+ /* Characters */
15702
16252
  Category: "Category",
16253
+ /* PresentationFormat */
15703
16254
  Manager: "Manager",
15704
16255
  Company: "Company",
16256
+ /* Guid */
16257
+ /* HyperlinkBase */
16258
+ /* Bytes */
16259
+ /* Lines */
16260
+ /* Paragraphs */
16261
+ /* CharactersWithSpaces */
15705
16262
  AppVersion: "Version",
15706
16263
  ContentStatus: "ContentStatus",
16264
+ /* NOTE: missing from schema */
15707
16265
  Identifier: "Identifier",
16266
+ /* NOTE: missing from schema */
15708
16267
  Language: "Language"
16268
+ /* NOTE: missing from schema */
15709
16269
  };
15710
16270
  var evert_XLMLDPM = evert(XLMLDocPropsMap);
15711
16271
  function xlml_set_prop(Props, tag, val) {
@@ -15935,7 +16495,11 @@
15935
16495
  case 80:
15936
16496
  return parse_VtString(blob, t, !opts.raw).replace(chr0, "");
15937
16497
  case 81:
15938
- return parse_VtUnalignedString(blob, t).replace(chr0, "");
16498
+ return parse_VtUnalignedString(
16499
+ blob,
16500
+ t
16501
+ /*, 4*/
16502
+ ).replace(chr0, "");
15939
16503
  case 4108:
15940
16504
  return parse_VtVecHeadingPairValue(blob);
15941
16505
  case 4126:
@@ -16506,7 +17070,10 @@
16506
17070
  if (flags & 32)
16507
17071
  guid = blob.read_shift(16);
16508
17072
  if (flags & 64)
16509
- fileTime = parse_FILETIME(blob);
17073
+ fileTime = parse_FILETIME(
17074
+ blob
17075
+ /*, 8*/
17076
+ );
16510
17077
  blob.l = end;
16511
17078
  var target = targetFrameName || moniker || oleMoniker || "";
16512
17079
  if (target && Loc)
@@ -16683,23 +17250,41 @@
16683
17250
  }
16684
17251
  var FtTab = {
16685
17252
  0: parse_FtSkip,
17253
+ /* FtEnd */
16686
17254
  4: parse_FtSkip,
17255
+ /* FtMacro */
16687
17256
  5: parse_FtSkip,
17257
+ /* FtButton */
16688
17258
  6: parse_FtSkip,
17259
+ /* FtGmo */
16689
17260
  7: parse_FtCf,
17261
+ /* FtCf */
16690
17262
  8: parse_FtSkip,
17263
+ /* FtPioGrbit */
16691
17264
  9: parse_FtSkip,
17265
+ /* FtPictFmla */
16692
17266
  10: parse_FtSkip,
17267
+ /* FtCbls */
16693
17268
  11: parse_FtSkip,
17269
+ /* FtRbo */
16694
17270
  12: parse_FtSkip,
17271
+ /* FtSbs */
16695
17272
  13: parse_FtNts,
17273
+ /* FtNts */
16696
17274
  14: parse_FtSkip,
17275
+ /* FtSbsFmla */
16697
17276
  15: parse_FtSkip,
17277
+ /* FtGboData */
16698
17278
  16: parse_FtSkip,
17279
+ /* FtEdoData */
16699
17280
  17: parse_FtSkip,
17281
+ /* FtRboData */
16700
17282
  18: parse_FtSkip,
17283
+ /* FtCblsData */
16701
17284
  19: parse_FtSkip,
17285
+ /* FtLbsData */
16702
17286
  20: parse_FtSkip,
17287
+ /* FtCblsFmla */
16703
17288
  21: parse_FtCmo
16704
17289
  };
16705
17290
  function parse_FtArray(blob, length) {
@@ -17676,6 +18261,7 @@
17676
18261
  }
17677
18262
  var DBF = function() {
17678
18263
  var dbf_codepage_map = {
18264
+ /* Code Pages Supported by Visual FoxPro */
17679
18265
  1: 437,
17680
18266
  2: 850,
17681
18267
  3: 1252,
@@ -17702,6 +18288,7 @@
17702
18288
  201: 1251,
17703
18289
  202: 1254,
17704
18290
  203: 1253,
18291
+ /* shapefile DBF extension */
17705
18292
  0: 20127,
17706
18293
  8: 865,
17707
18294
  9: 437,
@@ -18231,7 +18818,7 @@
18231
18818
  "?": 191,
18232
18819
  "{": 223
18233
18820
  };
18234
- var sylk_char_regex = new RegExp("N(" + keys(sylk_escapes).join("|").replace(/\|\|\|/, "|\\||").replace(/([?()+])/g, "\\$1") + "|\\|)", "gm");
18821
+ var sylk_char_regex = new RegExp("\x1BN(" + keys(sylk_escapes).join("|").replace(/\|\|\|/, "|\\||").replace(/([?()+])/g, "\\$1") + "|\\|)", "gm");
18235
18822
  var sylk_char_fn = function(_, $1) {
18236
18823
  var o = sylk_escapes[$1];
18237
18824
  return typeof o == "number" ? _getansi(o) : o;
@@ -20268,7 +20855,10 @@
20268
20855
  z.r = utf8read(x);
20269
20856
  if (html)
20270
20857
  z.h = escapehtml(z.t);
20271
- } else if (x.match(sirregex)) {
20858
+ } else if (
20859
+ /*y = */
20860
+ x.match(sirregex)
20861
+ ) {
20272
20862
  z.r = utf8read(x);
20273
20863
  z.t = unescapexml(utf8read((x.replace(sirphregex, "").match(sitregex) || []).join("").replace(tagregex, "")));
20274
20864
  if (html)
@@ -21362,7 +21952,12 @@
21362
21952
  }
21363
21953
  function write_numFmts(NF) {
21364
21954
  var o = ["<numFmts>"];
21365
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
21955
+ [[5, 8], [23, 26], [41, 44], [
21956
+ /*63*/
21957
+ 50,
21958
+ /*66],[164,*/
21959
+ 392
21960
+ ]].forEach(function(r) {
21366
21961
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
21367
21962
  if (NF[i2] != null)
21368
21963
  o[o.length] = writextag("numFmt", null, { numFmtId: i2, formatCode: escapexml(NF[i2]) });
@@ -21784,7 +22379,12 @@
21784
22379
  if (!NF)
21785
22380
  return;
21786
22381
  var cnt = 0;
21787
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
22382
+ [[5, 8], [23, 26], [41, 44], [
22383
+ /*63*/
22384
+ 50,
22385
+ /*66],[164,*/
22386
+ 392
22387
+ ]].forEach(function(r) {
21788
22388
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
21789
22389
  if (NF[i2] != null)
21790
22390
  ++cnt;
@@ -21792,7 +22392,12 @@
21792
22392
  if (cnt == 0)
21793
22393
  return;
21794
22394
  write_record(ba, "BrtBeginFmts", write_UInt32LE(cnt));
21795
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
22395
+ [[5, 8], [23, 26], [41, 44], [
22396
+ /*63*/
22397
+ 50,
22398
+ /*66],[164,*/
22399
+ 392
22400
+ ]].forEach(function(r) {
21796
22401
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
21797
22402
  if (NF[i2] != null)
21798
22403
  write_record(ba, "BrtFmt", write_BrtFmt(i2, NF[i2]));
@@ -21965,8 +22570,11 @@
21965
22570
  themes.themeElements = {};
21966
22571
  var t;
21967
22572
  [
22573
+ /* clrScheme CT_ColorScheme */
21968
22574
  ["clrScheme", clrsregex, parse_clrScheme],
22575
+ /* fontScheme CT_FontScheme */
21969
22576
  ["fontScheme", fntsregex, parse_fontScheme],
22577
+ /* fmtScheme CT_StyleMatrix */
21970
22578
  ["fmtScheme", fmtsregex, parse_fmtScheme]
21971
22579
  ].forEach(function(m) {
21972
22580
  if (!(t = data.match(m[1])))
@@ -22426,6 +23034,7 @@
22426
23034
  '<x:ClientData ObjectType="Note">',
22427
23035
  "<x:MoveWithCells/>",
22428
23036
  "<x:SizeWithCells/>",
23037
+ /* Part 4 19.4.2.3 Anchor (Anchor) */
22429
23038
  writetag("x:Anchor", [c.c + 1, 0, c.r + 1, 0, c.c + 3, 20, c.r + 5, 20].join(",")),
22430
23039
  writetag("x:AutoFill", "False"),
22431
23040
  writetag("x:Row", String(c.r)),
@@ -23491,7 +24100,10 @@
23491
24100
  }
23492
24101
  function stringify_formula(formula, range, cell, supbooks, opts) {
23493
24102
  var biff = opts && opts.biff || 8;
23494
- var _range = { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } };
24103
+ var _range = (
24104
+ /*range != null ? range :*/
24105
+ { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } }
24106
+ );
23495
24107
  var stack = [], e1, e2, c, ixti = 0, nameidx = 0, r, sname = "";
23496
24108
  if (!formula[0] || !formula[0][0])
23497
24109
  return "";
@@ -24799,256 +25411,507 @@
24799
25411
  };
24800
25412
  var FtabArgc = {
24801
25413
  2: 1,
25414
+ /* ISNA */
24802
25415
  3: 1,
25416
+ /* ISERROR */
24803
25417
  10: 0,
25418
+ /* NA */
24804
25419
  15: 1,
25420
+ /* SIN */
24805
25421
  16: 1,
25422
+ /* COS */
24806
25423
  17: 1,
25424
+ /* TAN */
24807
25425
  18: 1,
25426
+ /* ATAN */
24808
25427
  19: 0,
25428
+ /* PI */
24809
25429
  20: 1,
25430
+ /* SQRT */
24810
25431
  21: 1,
25432
+ /* EXP */
24811
25433
  22: 1,
25434
+ /* LN */
24812
25435
  23: 1,
25436
+ /* LOG10 */
24813
25437
  24: 1,
25438
+ /* ABS */
24814
25439
  25: 1,
25440
+ /* INT */
24815
25441
  26: 1,
25442
+ /* SIGN */
24816
25443
  27: 2,
25444
+ /* ROUND */
24817
25445
  30: 2,
25446
+ /* REPT */
24818
25447
  31: 3,
25448
+ /* MID */
24819
25449
  32: 1,
25450
+ /* LEN */
24820
25451
  33: 1,
25452
+ /* VALUE */
24821
25453
  34: 0,
25454
+ /* TRUE */
24822
25455
  35: 0,
25456
+ /* FALSE */
24823
25457
  38: 1,
25458
+ /* NOT */
24824
25459
  39: 2,
25460
+ /* MOD */
24825
25461
  40: 3,
25462
+ /* DCOUNT */
24826
25463
  41: 3,
25464
+ /* DSUM */
24827
25465
  42: 3,
25466
+ /* DAVERAGE */
24828
25467
  43: 3,
25468
+ /* DMIN */
24829
25469
  44: 3,
25470
+ /* DMAX */
24830
25471
  45: 3,
25472
+ /* DSTDEV */
24831
25473
  47: 3,
25474
+ /* DVAR */
24832
25475
  48: 2,
25476
+ /* TEXT */
24833
25477
  53: 1,
25478
+ /* GOTO */
24834
25479
  61: 3,
25480
+ /* MIRR */
24835
25481
  63: 0,
25482
+ /* RAND */
24836
25483
  65: 3,
25484
+ /* DATE */
24837
25485
  66: 3,
25486
+ /* TIME */
24838
25487
  67: 1,
25488
+ /* DAY */
24839
25489
  68: 1,
25490
+ /* MONTH */
24840
25491
  69: 1,
25492
+ /* YEAR */
24841
25493
  70: 1,
25494
+ /* WEEKDAY */
24842
25495
  71: 1,
25496
+ /* HOUR */
24843
25497
  72: 1,
25498
+ /* MINUTE */
24844
25499
  73: 1,
25500
+ /* SECOND */
24845
25501
  74: 0,
25502
+ /* NOW */
24846
25503
  75: 1,
25504
+ /* AREAS */
24847
25505
  76: 1,
25506
+ /* ROWS */
24848
25507
  77: 1,
25508
+ /* COLUMNS */
24849
25509
  79: 2,
25510
+ /* ABSREF */
24850
25511
  80: 2,
25512
+ /* RELREF */
24851
25513
  83: 1,
25514
+ /* TRANSPOSE */
24852
25515
  85: 0,
25516
+ /* STEP */
24853
25517
  86: 1,
25518
+ /* TYPE */
24854
25519
  89: 0,
25520
+ /* CALLER */
24855
25521
  90: 1,
25522
+ /* DEREF */
24856
25523
  94: 0,
25524
+ /* ACTIVE.CELL */
24857
25525
  95: 0,
25526
+ /* SELECTION */
24858
25527
  97: 2,
25528
+ /* ATAN2 */
24859
25529
  98: 1,
25530
+ /* ASIN */
24860
25531
  99: 1,
25532
+ /* ACOS */
24861
25533
  101: 3,
25534
+ /* HLOOKUP */
24862
25535
  102: 3,
25536
+ /* VLOOKUP */
24863
25537
  105: 1,
25538
+ /* ISREF */
24864
25539
  106: 1,
25540
+ /* GET.FORMULA */
24865
25541
  108: 2,
25542
+ /* SET.VALUE */
24866
25543
  111: 1,
25544
+ /* CHAR */
24867
25545
  112: 1,
25546
+ /* LOWER */
24868
25547
  113: 1,
25548
+ /* UPPER */
24869
25549
  114: 1,
25550
+ /* PROPER */
24870
25551
  117: 2,
25552
+ /* EXACT */
24871
25553
  118: 1,
25554
+ /* TRIM */
24872
25555
  119: 4,
25556
+ /* REPLACE */
24873
25557
  121: 1,
25558
+ /* CODE */
24874
25559
  126: 1,
25560
+ /* ISERR */
24875
25561
  127: 1,
25562
+ /* ISTEXT */
24876
25563
  128: 1,
25564
+ /* ISNUMBER */
24877
25565
  129: 1,
25566
+ /* ISBLANK */
24878
25567
  130: 1,
25568
+ /* T */
24879
25569
  131: 1,
25570
+ /* N */
24880
25571
  133: 1,
25572
+ /* FCLOSE */
24881
25573
  134: 1,
25574
+ /* FSIZE */
24882
25575
  135: 1,
25576
+ /* FREADLN */
24883
25577
  136: 2,
25578
+ /* FREAD */
24884
25579
  137: 2,
25580
+ /* FWRITELN */
24885
25581
  138: 2,
25582
+ /* FWRITE */
24886
25583
  140: 1,
25584
+ /* DATEVALUE */
24887
25585
  141: 1,
25586
+ /* TIMEVALUE */
24888
25587
  142: 3,
25588
+ /* SLN */
24889
25589
  143: 4,
25590
+ /* SYD */
24890
25591
  144: 4,
25592
+ /* DDB */
24891
25593
  161: 1,
25594
+ /* DIALOG.BOX */
24892
25595
  162: 1,
25596
+ /* CLEAN */
24893
25597
  163: 1,
25598
+ /* MDETERM */
24894
25599
  164: 1,
25600
+ /* MINVERSE */
24895
25601
  165: 2,
25602
+ /* MMULT */
24896
25603
  172: 1,
25604
+ /* WHILE */
24897
25605
  175: 2,
25606
+ /* INITIATE */
24898
25607
  176: 2,
25608
+ /* REQUEST */
24899
25609
  177: 3,
25610
+ /* POKE */
24900
25611
  178: 2,
25612
+ /* EXECUTE */
24901
25613
  179: 1,
25614
+ /* TERMINATE */
24902
25615
  184: 1,
25616
+ /* FACT */
24903
25617
  186: 1,
25618
+ /* GET.WORKSPACE */
24904
25619
  189: 3,
25620
+ /* DPRODUCT */
24905
25621
  190: 1,
25622
+ /* ISNONTEXT */
24906
25623
  195: 3,
25624
+ /* DSTDEVP */
24907
25625
  196: 3,
25626
+ /* DVARP */
24908
25627
  197: 1,
25628
+ /* TRUNC */
24909
25629
  198: 1,
25630
+ /* ISLOGICAL */
24910
25631
  199: 3,
25632
+ /* DCOUNTA */
24911
25633
  201: 1,
25634
+ /* UNREGISTER */
24912
25635
  207: 4,
25636
+ /* REPLACEB */
24913
25637
  210: 3,
25638
+ /* MIDB */
24914
25639
  211: 1,
25640
+ /* LENB */
24915
25641
  212: 2,
25642
+ /* ROUNDUP */
24916
25643
  213: 2,
25644
+ /* ROUNDDOWN */
24917
25645
  214: 1,
25646
+ /* ASC */
24918
25647
  215: 1,
25648
+ /* DBCS */
24919
25649
  225: 0,
25650
+ /* END.IF */
24920
25651
  229: 1,
25652
+ /* SINH */
24921
25653
  230: 1,
25654
+ /* COSH */
24922
25655
  231: 1,
25656
+ /* TANH */
24923
25657
  232: 1,
25658
+ /* ASINH */
24924
25659
  233: 1,
25660
+ /* ACOSH */
24925
25661
  234: 1,
25662
+ /* ATANH */
24926
25663
  235: 3,
25664
+ /* DGET */
24927
25665
  244: 1,
25666
+ /* INFO */
24928
25667
  247: 4,
25668
+ /* DB */
24929
25669
  252: 2,
25670
+ /* FREQUENCY */
24930
25671
  257: 1,
25672
+ /* EVALUATE */
24931
25673
  261: 1,
25674
+ /* ERROR.TYPE */
24932
25675
  271: 1,
25676
+ /* GAMMALN */
24933
25677
  273: 4,
25678
+ /* BINOMDIST */
24934
25679
  274: 2,
25680
+ /* CHIDIST */
24935
25681
  275: 2,
25682
+ /* CHIINV */
24936
25683
  276: 2,
25684
+ /* COMBIN */
24937
25685
  277: 3,
25686
+ /* CONFIDENCE */
24938
25687
  278: 3,
25688
+ /* CRITBINOM */
24939
25689
  279: 1,
25690
+ /* EVEN */
24940
25691
  280: 3,
25692
+ /* EXPONDIST */
24941
25693
  281: 3,
25694
+ /* FDIST */
24942
25695
  282: 3,
25696
+ /* FINV */
24943
25697
  283: 1,
25698
+ /* FISHER */
24944
25699
  284: 1,
25700
+ /* FISHERINV */
24945
25701
  285: 2,
25702
+ /* FLOOR */
24946
25703
  286: 4,
25704
+ /* GAMMADIST */
24947
25705
  287: 3,
25706
+ /* GAMMAINV */
24948
25707
  288: 2,
25708
+ /* CEILING */
24949
25709
  289: 4,
25710
+ /* HYPGEOMDIST */
24950
25711
  290: 3,
25712
+ /* LOGNORMDIST */
24951
25713
  291: 3,
25714
+ /* LOGINV */
24952
25715
  292: 3,
25716
+ /* NEGBINOMDIST */
24953
25717
  293: 4,
25718
+ /* NORMDIST */
24954
25719
  294: 1,
25720
+ /* NORMSDIST */
24955
25721
  295: 3,
25722
+ /* NORMINV */
24956
25723
  296: 1,
25724
+ /* NORMSINV */
24957
25725
  297: 3,
25726
+ /* STANDARDIZE */
24958
25727
  298: 1,
25728
+ /* ODD */
24959
25729
  299: 2,
25730
+ /* PERMUT */
24960
25731
  300: 3,
25732
+ /* POISSON */
24961
25733
  301: 3,
25734
+ /* TDIST */
24962
25735
  302: 4,
25736
+ /* WEIBULL */
24963
25737
  303: 2,
25738
+ /* SUMXMY2 */
24964
25739
  304: 2,
25740
+ /* SUMX2MY2 */
24965
25741
  305: 2,
25742
+ /* SUMX2PY2 */
24966
25743
  306: 2,
25744
+ /* CHITEST */
24967
25745
  307: 2,
25746
+ /* CORREL */
24968
25747
  308: 2,
25748
+ /* COVAR */
24969
25749
  309: 3,
25750
+ /* FORECAST */
24970
25751
  310: 2,
25752
+ /* FTEST */
24971
25753
  311: 2,
25754
+ /* INTERCEPT */
24972
25755
  312: 2,
25756
+ /* PEARSON */
24973
25757
  313: 2,
25758
+ /* RSQ */
24974
25759
  314: 2,
25760
+ /* STEYX */
24975
25761
  315: 2,
25762
+ /* SLOPE */
24976
25763
  316: 4,
25764
+ /* TTEST */
24977
25765
  325: 2,
25766
+ /* LARGE */
24978
25767
  326: 2,
25768
+ /* SMALL */
24979
25769
  327: 2,
25770
+ /* QUARTILE */
24980
25771
  328: 2,
25772
+ /* PERCENTILE */
24981
25773
  331: 2,
25774
+ /* TRIMMEAN */
24982
25775
  332: 2,
25776
+ /* TINV */
24983
25777
  337: 2,
25778
+ /* POWER */
24984
25779
  342: 1,
25780
+ /* RADIANS */
24985
25781
  343: 1,
25782
+ /* DEGREES */
24986
25783
  346: 2,
25784
+ /* COUNTIF */
24987
25785
  347: 1,
25786
+ /* COUNTBLANK */
24988
25787
  350: 4,
25788
+ /* ISPMT */
24989
25789
  351: 3,
25790
+ /* DATEDIF */
24990
25791
  352: 1,
25792
+ /* DATESTRING */
24991
25793
  353: 2,
25794
+ /* NUMBERSTRING */
24992
25795
  360: 1,
25796
+ /* PHONETIC */
24993
25797
  368: 1,
25798
+ /* BAHTTEXT */
24994
25799
  369: 1,
25800
+ /* THAIDAYOFWEEK */
24995
25801
  370: 1,
25802
+ /* THAIDIGIT */
24996
25803
  371: 1,
25804
+ /* THAIMONTHOFYEAR */
24997
25805
  372: 1,
25806
+ /* THAINUMSOUND */
24998
25807
  373: 1,
25808
+ /* THAINUMSTRING */
24999
25809
  374: 1,
25810
+ /* THAISTRINGLENGTH */
25000
25811
  375: 1,
25812
+ /* ISTHAIDIGIT */
25001
25813
  376: 1,
25814
+ /* ROUNDBAHTDOWN */
25002
25815
  377: 1,
25816
+ /* ROUNDBAHTUP */
25003
25817
  378: 1,
25818
+ /* THAIYEAR */
25004
25819
  382: 3,
25820
+ /* CUBEMEMBERPROPERTY */
25005
25821
  385: 1,
25822
+ /* HEX2DEC */
25006
25823
  392: 1,
25824
+ /* OCT2DEC */
25007
25825
  393: 1,
25826
+ /* BIN2DEC */
25008
25827
  396: 2,
25828
+ /* IMSUB */
25009
25829
  397: 2,
25830
+ /* IMDIV */
25010
25831
  398: 2,
25832
+ /* IMPOWER */
25011
25833
  399: 1,
25834
+ /* IMABS */
25012
25835
  400: 1,
25836
+ /* IMSQRT */
25013
25837
  401: 1,
25838
+ /* IMLN */
25014
25839
  402: 1,
25840
+ /* IMLOG2 */
25015
25841
  403: 1,
25842
+ /* IMLOG10 */
25016
25843
  404: 1,
25844
+ /* IMSIN */
25017
25845
  405: 1,
25846
+ /* IMCOS */
25018
25847
  406: 1,
25848
+ /* IMEXP */
25019
25849
  407: 1,
25850
+ /* IMARGUMENT */
25020
25851
  408: 1,
25852
+ /* IMCONJUGATE */
25021
25853
  409: 1,
25854
+ /* IMAGINARY */
25022
25855
  410: 1,
25856
+ /* IMREAL */
25023
25857
  414: 4,
25858
+ /* SERIESSUM */
25024
25859
  415: 1,
25860
+ /* FACTDOUBLE */
25025
25861
  416: 1,
25862
+ /* SQRTPI */
25026
25863
  417: 2,
25864
+ /* QUOTIENT */
25027
25865
  420: 1,
25866
+ /* ISEVEN */
25028
25867
  421: 1,
25868
+ /* ISODD */
25029
25869
  422: 2,
25870
+ /* MROUND */
25030
25871
  424: 1,
25872
+ /* ERFC */
25031
25873
  425: 2,
25874
+ /* BESSELJ */
25032
25875
  426: 2,
25876
+ /* BESSELK */
25033
25877
  427: 2,
25878
+ /* BESSELY */
25034
25879
  428: 2,
25880
+ /* BESSELI */
25035
25881
  430: 3,
25882
+ /* XNPV */
25036
25883
  438: 3,
25884
+ /* TBILLEQ */
25037
25885
  439: 3,
25886
+ /* TBILLPRICE */
25038
25887
  440: 3,
25888
+ /* TBILLYIELD */
25039
25889
  443: 2,
25890
+ /* DOLLARDE */
25040
25891
  444: 2,
25892
+ /* DOLLARFR */
25041
25893
  445: 2,
25894
+ /* NOMINAL */
25042
25895
  446: 2,
25896
+ /* EFFECT */
25043
25897
  447: 6,
25898
+ /* CUMPRINC */
25044
25899
  448: 6,
25900
+ /* CUMIPMT */
25045
25901
  449: 2,
25902
+ /* EDATE */
25046
25903
  450: 2,
25904
+ /* EOMONTH */
25047
25905
  464: 2,
25906
+ /* RANDBETWEEN */
25048
25907
  468: 3,
25908
+ /* CONVERT */
25049
25909
  476: 2,
25910
+ /* FVSCHEDULE */
25050
25911
  479: 1,
25912
+ /* CUBESETCOUNT */
25051
25913
  480: 2,
25914
+ /* IFERROR */
25052
25915
  65535: 0
25053
25916
  };
25054
25917
  var XLSXFutureFunctions = {
@@ -25781,9 +26644,15 @@
25781
26644
  var rstarti = 0;
25782
26645
  outa:
25783
26646
  for (ri = 0; ri < xlen; ++ri)
25784
- switch (x[ri]) {
26647
+ switch (
26648
+ /*x.charCodeAt(ri)*/
26649
+ x[ri]
26650
+ ) {
25785
26651
  case ">":
25786
- if (x[ri - 1] != "/") {
26652
+ if (
26653
+ /*x.charCodeAt(ri-1) != 47*/
26654
+ x[ri - 1] != "/"
26655
+ ) {
25787
26656
  ++ri;
25788
26657
  break outa;
25789
26658
  }
@@ -26555,7 +27424,11 @@
26555
27424
  o.write_shift(-4, C);
26556
27425
  o.write_shift(-4, C);
26557
27426
  o.write_shift(4, (p.width || 10) * 256);
26558
- o.write_shift(4, 0);
27427
+ o.write_shift(
27428
+ 4,
27429
+ 0
27430
+ /*ixfe*/
27431
+ );
26559
27432
  var flags = 0;
26560
27433
  if (col.hidden)
26561
27434
  flags |= 1;
@@ -26622,20 +27495,35 @@
26622
27495
  o.write_shift(4, 1);
26623
27496
  [
26624
27497
  ["objects", false],
27498
+ // fObjects
26625
27499
  ["scenarios", false],
27500
+ // fScenarios
26626
27501
  ["formatCells", true],
27502
+ // fFormatCells
26627
27503
  ["formatColumns", true],
27504
+ // fFormatColumns
26628
27505
  ["formatRows", true],
27506
+ // fFormatRows
26629
27507
  ["insertColumns", true],
27508
+ // fInsertColumns
26630
27509
  ["insertRows", true],
27510
+ // fInsertRows
26631
27511
  ["insertHyperlinks", true],
27512
+ // fInsertHyperlinks
26632
27513
  ["deleteColumns", true],
27514
+ // fDeleteColumns
26633
27515
  ["deleteRows", true],
27516
+ // fDeleteRows
26634
27517
  ["selectLockedCells", false],
27518
+ // fSelLockedCells
26635
27519
  ["sort", true],
27520
+ // fSort
26636
27521
  ["autoFilter", true],
27522
+ // fAutoFilter
26637
27523
  ["pivotTables", true],
27524
+ // fPivotTables
26638
27525
  ["selectUnlockedCells", false]
27526
+ // fSelUnlockedCells
26639
27527
  ].forEach(function(n) {
26640
27528
  if (n[1])
26641
27529
  o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);
@@ -27384,8 +28272,11 @@
27384
28272
  ["showVerticalScroll", true, "bool"],
27385
28273
  ["tabRatio", 600, "int"],
27386
28274
  ["visibility", "visible"]
28275
+ //window{Height,Width}, {x,y}Window
28276
+ ];
28277
+ var SheetDef = [
28278
+ //['state', 'visible']
27387
28279
  ];
27388
- var SheetDef = [];
27389
28280
  var CalcPrDef = [
27390
28281
  ["calcCompleted", "true"],
27391
28282
  ["calcMode", "auto"],
@@ -27701,6 +28592,8 @@
27701
28592
  }
27702
28593
  var WB_XML_ROOT = writextag("workbook", null, {
27703
28594
  "xmlns": XMLNS.main[0],
28595
+ //'xmlns:mx': XMLNS.mx,
28596
+ //'xmlns:s': XMLNS.main[0],
27704
28597
  "xmlns:r": XMLNS.r
27705
28598
  });
27706
28599
  function write_wb_xml(wb) {
@@ -28392,7 +29285,8 @@
28392
29285
  if (state[state.length - 1][1])
28393
29286
  break;
28394
29287
  if (Rn[1] === "/")
28395
- parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length - 1][0] == "comment" ? comment : cell, { c, r }, styles, cstys[c], row, arrayf, opts);
29288
+ parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length - 1][0] == /*"Comment"*/
29289
+ "comment" ? comment : cell, { c, r }, styles, cstys[c], row, arrayf, opts);
28396
29290
  else {
28397
29291
  ss = "";
28398
29292
  dtag = xlml_parsexmltag(Rn[0]);
@@ -28555,7 +29449,8 @@
28555
29449
  }
28556
29450
  break;
28557
29451
  case "column":
28558
- if (state[state.length - 1][0] !== "table")
29452
+ if (state[state.length - 1][0] !== /*'Table'*/
29453
+ "table")
28559
29454
  break;
28560
29455
  csty = xlml_parsexmltag(Rn[0]);
28561
29456
  if (csty.Hidden) {
@@ -29441,7 +30336,8 @@
29441
30336
  break;
29442
30337
  if (!state[state.length - 1][1])
29443
30338
  throw "Unrecognized tag: " + Rn[3] + "|" + state.join("|");
29444
- if (state[state.length - 1][0] === "customdocumentproperties") {
30339
+ if (state[state.length - 1][0] === /*'CustomDocumentProperties'*/
30340
+ "customdocumentproperties") {
29445
30341
  if (Rn[0].slice(-2) === "/>")
29446
30342
  break;
29447
30343
  else if (Rn[1] === "/")
@@ -29976,15 +30872,25 @@
29976
30872
  };
29977
30873
  var opts = {
29978
30874
  enc: false,
30875
+ // encrypted
29979
30876
  sbcch: 0,
30877
+ // cch in the preceding SupBook
29980
30878
  snames: [],
30879
+ // sheetnames
29981
30880
  sharedf,
30881
+ // shared formulae by address
29982
30882
  arrayf,
30883
+ // array formulae array
29983
30884
  rrtabid: [],
30885
+ // RRTabId
29984
30886
  lastuser: "",
30887
+ // Last User from WriteAccess
29985
30888
  biff: 8,
30889
+ // BIFF version
29986
30890
  codepage: 0,
30891
+ // CP from CodePage record
29987
30892
  winlocked: 0,
30893
+ // fLockWn from WinProtect
29988
30894
  cellStyles: !!options && !!options.cellStyles,
29989
30895
  WTF: !!options && !!options.wtf
29990
30896
  };
@@ -32046,6 +32952,7 @@
32046
32952
  var XLSBRE = evert_key(XLSBRecordEnum, "n");
32047
32953
  XLSBRE["BrtFRTArchID$"] = 16;
32048
32954
  var XLSRecordEnum = {
32955
+ /* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */
32049
32956
  6: { n: "Formula", f: parse_Formula },
32050
32957
  10: { n: "EOF", f: parsenoop2 },
32051
32958
  12: { n: "CalcCount", f: parseuint16 },
@@ -32412,29 +33319,64 @@
32412
33319
  22: { n: "ExternCount", f: parseuint16 },
32413
33320
  30: { n: "BIFF2FORMAT", f: parse_BIFF2Format },
32414
33321
  31: { n: "BIFF2FMTCNT" },
33322
+ /* 16-bit cnt of BIFF2FORMAT records */
32415
33323
  32: { n: "BIFF2COLINFO" },
32416
33324
  33: { n: "Array", f: parse_Array },
32417
33325
  36: { n: "COLWIDTH" },
32418
33326
  37: { n: "DefaultRowHeight", f: parse_DefaultRowHeight },
33327
+ // 0x2c ??
33328
+ // 0x2d ??
33329
+ // 0x2e ??
33330
+ // 0x30 FONTCOUNT: number of fonts
32419
33331
  50: { n: "BIFF2FONTXTRA", f: parse_BIFF2FONTXTRA },
33332
+ // 0x35: INFOOPTS
33333
+ // 0x36: TABLE (BIFF2 only)
33334
+ // 0x37: TABLE2 (BIFF2 only)
33335
+ // 0x38: WNDESK
33336
+ // 0x39 ??
33337
+ // 0x3a: BEGINPREF
33338
+ // 0x3b: ENDPREF
32420
33339
  62: { n: "BIFF2WINDOW2" },
33340
+ // 0x3f ??
33341
+ // 0x46: SHOWSCROLL
33342
+ // 0x47: SHOWFORMULA
33343
+ // 0x48: STATUSBAR
33344
+ // 0x49: SHORTMENUS
33345
+ // 0x4A:
33346
+ // 0x4B:
33347
+ // 0x4C:
33348
+ // 0x4E:
33349
+ // 0x4F:
33350
+ // 0x58: TOOLBAR (BIFF3)
33351
+ /* - - - */
32421
33352
  52: { n: "DDEObjName" },
32422
33353
  67: { n: "BIFF2XF" },
32423
33354
  68: { n: "BIFF2XFINDEX", f: parseuint16 },
32424
33355
  69: { n: "BIFF2FONTCLR" },
32425
33356
  86: { n: "BIFF4FMTCNT" },
33357
+ /* 16-bit cnt, similar to BIFF2 */
32426
33358
  126: { n: "RK" },
33359
+ /* Not necessarily same as 0x027e */
32427
33360
  127: { n: "ImData", f: parse_ImData },
32428
33361
  135: { n: "Addin" },
32429
33362
  136: { n: "Edg" },
32430
33363
  137: { n: "Pub" },
33364
+ // 0x8A
33365
+ // 0x8B LH: alternate menu key flag (BIFF3/4)
33366
+ // 0x8E
33367
+ // 0x8F
32431
33368
  145: { n: "Sub" },
33369
+ // 0x93 STYLE
32432
33370
  148: { n: "LHRecord" },
32433
33371
  149: { n: "LHNGraph" },
32434
33372
  150: { n: "Sound" },
33373
+ // 0xA2 FNPROTO: function prototypes (BIFF4)
33374
+ // 0xA3
33375
+ // 0xA8
32435
33376
  169: { n: "CoordList" },
32436
33377
  171: { n: "GCW" },
32437
33378
  188: { n: "ShrFmla" },
33379
+ /* Not necessarily same as 0x04bc */
32438
33380
  191: { n: "ToolbarHdr" },
32439
33381
  192: { n: "ToolbarEnd" },
32440
33382
  194: { n: "AddMenu" },
@@ -32609,7 +33551,12 @@
32609
33551
  function write_FMTS_biff8(ba, NF, opts) {
32610
33552
  if (!NF)
32611
33553
  return;
32612
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
33554
+ [[5, 8], [23, 26], [41, 44], [
33555
+ /*63*/
33556
+ 50,
33557
+ /*66],[164,*/
33558
+ 392
33559
+ ]].forEach(function(r) {
32613
33560
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
32614
33561
  if (NF[i2] != null)
32615
33562
  write_biff_rec(ba, "Format", write_Format(i2, NF[i2], opts));
@@ -33203,6 +34150,7 @@
33203
34150
  return [v];
33204
34151
  };
33205
34152
  var number_formats = {
34153
+ /* ods name: [short ssf fmt, long ssf fmt] */
33206
34154
  day: ["d", "dd"],
33207
34155
  month: ["m", "mm"],
33208
34156
  year: ["y", "yy"],
@@ -33212,6 +34160,7 @@
33212
34160
  "am-pm": ["A/P", "AM/PM"],
33213
34161
  "day-of-week": ["ddd", "dddd"],
33214
34162
  era: ["e", "ee"],
34163
+ /* there is no native representation of LO "Q" format */
33215
34164
  quarter: ["\\Qm", 'm\\"th quarter"']
33216
34165
  };
33217
34166
  return function pcx(d, _opts) {
@@ -34183,10 +35132,16 @@
34183
35132
  manifest.push([f, "text/xml"]);
34184
35133
  rdf.push([f, "MetadataFile"]);
34185
35134
  f = "manifest.rdf";
34186
- zip_add_file(zip, f, write_rdf(rdf));
35135
+ zip_add_file(zip, f, write_rdf(
35136
+ rdf
35137
+ /*, opts*/
35138
+ ));
34187
35139
  manifest.push([f, "application/rdf+xml"]);
34188
35140
  f = "META-INF/manifest.xml";
34189
- zip_add_file(zip, f, write_manifest(manifest));
35141
+ zip_add_file(zip, f, write_manifest(
35142
+ manifest
35143
+ /*, opts*/
35144
+ ));
34190
35145
  return zip;
34191
35146
  }
34192
35147
  function write_sheet_index(wb, sheet) {
@@ -34227,28 +35182,48 @@
34227
35182
  var fix_read_opts = function(opts) {
34228
35183
  fix_opts_func([
34229
35184
  ["cellNF", false],
35185
+ /* emit cell number format string as .z */
34230
35186
  ["cellHTML", true],
35187
+ /* emit html string as .h */
34231
35188
  ["cellFormula", true],
35189
+ /* emit formulae as .f */
34232
35190
  ["cellStyles", false],
35191
+ /* emits style/theme as .s */
34233
35192
  ["cellText", true],
35193
+ /* emit formatted text as .w */
34234
35194
  ["cellDates", false],
35195
+ /* emit date cells with type `d` */
34235
35196
  ["sheetStubs", false],
35197
+ /* emit empty cells */
34236
35198
  ["sheetRows", 0, "n"],
35199
+ /* read n rows (0 = read all rows) */
34237
35200
  ["bookDeps", false],
35201
+ /* parse calculation chains */
34238
35202
  ["bookSheets", false],
35203
+ /* only try to get sheet names (no Sheets) */
34239
35204
  ["bookProps", false],
35205
+ /* only try to get properties (no Sheets) */
34240
35206
  ["bookFiles", false],
35207
+ /* include raw file structure (keys, files, cfb) */
34241
35208
  ["bookVBA", false],
35209
+ /* include vba raw data (vbaraw) */
34242
35210
  ["password", ""],
35211
+ /* password */
34243
35212
  ["WTF", false]
35213
+ /* WTF mode (throws errors) */
34244
35214
  ])(opts);
34245
35215
  };
34246
35216
  var fix_write_opts = fix_opts_func([
34247
35217
  ["cellDates", false],
35218
+ /* write date cells with type `d` */
34248
35219
  ["bookSST", false],
35220
+ /* Generate Shared String Table */
34249
35221
  ["bookType", "xlsx"],
35222
+ /* Type of workbook (xlsx/m/b) */
34250
35223
  ["compression", false],
35224
+ /* Use file compression */
34251
35225
  ["WTF", false]
35226
+ /* WTF mode (throws errors) */
34252
35227
  ]);
34253
35228
  function get_sheet_type(n) {
34254
35229
  if (RELS.WS.indexOf(n) > -1)
@@ -34583,7 +35558,7 @@
34583
35558
  opts.Strings.Count = 0;
34584
35559
  opts.Strings.Unique = 0;
34585
35560
  if (browser_has_Map)
34586
- opts.revStrings = new Map();
35561
+ opts.revStrings = /* @__PURE__ */ new Map();
34587
35562
  else {
34588
35563
  opts.revStrings = {};
34589
35564
  opts.revStrings.foo = [];
@@ -35771,7 +36746,7 @@
35771
36746
 
35772
36747
  // ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
35773
36748
  function getTransferList(object, recursive = true, transfers) {
35774
- const transfersSet = transfers || new Set();
36749
+ const transfersSet = transfers || /* @__PURE__ */ new Set();
35775
36750
  if (!object) {
35776
36751
  } else if (isTransferable(object)) {
35777
36752
  transfersSet.add(object);
@@ -35814,11 +36789,15 @@
35814
36789
  }
35815
36790
  return parentPort;
35816
36791
  }
35817
- var onMessageWrapperMap = new Map();
36792
+ var onMessageWrapperMap = /* @__PURE__ */ new Map();
35818
36793
  var WorkerBody = class {
36794
+ /** Check that we are actually in a worker thread */
35819
36795
  static inWorkerThread() {
35820
36796
  return typeof self !== "undefined" || Boolean(getParentPort());
35821
36797
  }
36798
+ /*
36799
+ * (type: WorkerMessageType, payload: WorkerMessagePayload) => any
36800
+ */
35822
36801
  static set onmessage(onMessage) {
35823
36802
  function handleMessage(message) {
35824
36803
  const parentPort3 = getParentPort();
@@ -35862,6 +36841,11 @@
35862
36841
  globalThis.removeEventListener("message", onMessageWrapper);
35863
36842
  }
35864
36843
  }
36844
+ /**
36845
+ * Send a message from a worker to creating thread (main thread)
36846
+ * @param type
36847
+ * @param payload
36848
+ */
35865
36849
  static postMessage(type, payload) {
35866
36850
  const data = { source: "loaders.gl", type, payload };
35867
36851
  const transferList = getTransferList(payload);
@@ -35893,6 +36877,7 @@
35893
36877
  loader,
35894
36878
  arrayBuffer: input,
35895
36879
  options,
36880
+ // @ts-expect-error fetch missing
35896
36881
  context: {
35897
36882
  ...context,
35898
36883
  _parse: parseOnMainThread
@@ -35959,11 +36944,12 @@
35959
36944
  }
35960
36945
 
35961
36946
  // src/excel-loader.ts
35962
- var VERSION = true ? "4.0.0-beta.2" : "latest";
36947
+ var VERSION = true ? "4.0.0-beta.4" : "latest";
35963
36948
  var DEFAULT_EXCEL_LOADER_OPTIONS = {
35964
36949
  excel: {
35965
36950
  shape: "object-row-table",
35966
36951
  sheet: void 0
36952
+ // Load default Sheet
35967
36953
  }
35968
36954
  };
35969
36955
  var ExcelLoader = {
@@ -35983,12 +36969,13 @@
35983
36969
  };
35984
36970
 
35985
36971
  // src/lib/parse-excel.ts
35986
- var import_xlsx = __toModule(require_xlsx());
36972
+ var import_xlsx = __toESM(require_xlsx(), 1);
35987
36973
  var dataTableNamesMap = {};
35988
36974
  function parseExcel(arrayBuffer, options) {
35989
36975
  const dataUrl = "dummy";
35990
36976
  const workbook = (0, import_xlsx.read)(arrayBuffer, {
35991
36977
  type: "array"
36978
+ // cellDates: true
35992
36979
  });
35993
36980
  let dataRows = [];
35994
36981
  dataTableNamesMap[dataUrl] = [];
@@ -36018,6 +37005,12 @@
36018
37005
  // src/workers/excel-worker.ts
36019
37006
  createLoaderWorker(ExcelLoader2);
36020
37007
  })();
36021
- /*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */
36022
- /*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */
36023
- /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
37008
+ /*! Bundled license information:
37009
+
37010
+ xlsx/dist/cpexcel.js:
37011
+ (*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com *)
37012
+ (*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com *)
37013
+
37014
+ xlsx/xlsx.js:
37015
+ (*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com *)
37016
+ */