UNPKG

sheetxl

Version:

SheetXL - Command line tool

13,465 lines 708 kB
/**
 * @license sheetxl - SheetXL - Command line tool - v0.6.0
 *
 * (C) 2025-present SheetXL Inc. & Michael T. Ford
 * License: The license can be found at https://www.sheetxl.com/license.
 */
var e, t = { version: "0.20.3" }, r = 1200, a = 1252, n = [874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1e4], s = { 0: 1252, 1: 65001, 2: 65001, 77: 1e4, 128: 932, 129: 949, 130: 1361, 134: 936, 136: 950, 161: 1253, 162: 1254, 163: 1258, 177: 1255, 178: 1256, 186: 1257, 204: 1251, 222: 874, 238: 1250, 255: 1252, 69: 6969 }, i = function(e2) {
  -1 != n.indexOf(e2) && (a = s[0] = e2);
};
var o = function(e2) {
  r = e2, i(e2);
};
function c() {
  o(1200), i(1252);
}
function l(e2) {
  for (var t2 = [], r2 = 0, a2 = e2.length; r2 < a2; ++r2) t2[r2] = e2.charCodeAt(r2);
  return t2;
}
function f(e2) {
  for (var t2 = [], r2 = 0; r2 < e2.length >> 1; ++r2) t2[r2] = String.fromCharCode(e2.charCodeAt(2 * r2) + (e2.charCodeAt(2 * r2 + 1) << 8));
  return t2.join("");
}
function h(e2) {
  for (var t2 = [], r2 = 0; r2 < e2.length >> 1; ++r2) t2[r2] = String.fromCharCode(e2.charCodeAt(2 * r2 + 1) + (e2.charCodeAt(2 * r2) << 8));
  return t2.join("");
}
var u = function(e2) {
  var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1);
  return 255 == t2 && 254 == r2 ? f(e2.slice(2)) : 254 == t2 && 255 == r2 ? h(e2.slice(2)) : 65279 == t2 ? e2.slice(1) : e2;
}, d = function(e2) {
  return String.fromCharCode(e2);
}, p = function(e2) {
  return String.fromCharCode(e2);
};
function m(t2) {
  e = t2, o = function(e2) {
    r = e2, i(e2);
  }, u = function(t3) {
    return 255 === t3.charCodeAt(0) && 254 === t3.charCodeAt(1) ? e.utils.decode(1200, l(t3.slice(2))) : t3;
  }, d = function(t3) {
    return 1200 === r ? String.fromCharCode(t3) : e.utils.decode(r, [255 & t3, t3 >> 8])[0];
  }, p = function(t3) {
    return e.utils.decode(a, [t3])[0];
  }, Kr();
}
var v = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function g(e2) {
  for (var t2 = "", r2 = 0, a2 = 0, n2 = 0, s2 = 0, i2 = 0, o2 = 0, c2 = 0, l2 = 0; l2 < e2.length; ) s2 = (r2 = e2.charCodeAt(l2++)) >> 2, i2 = (3 & r2) << 4 | (a2 = e2.charCodeAt(l2++)) >> 4, o2 = (15 & a2) << 2 | (n2 = e2.charCodeAt(l2++)) >> 6, c2 = 63 & n2, isNaN(a2) ? o2 = c2 = 64 : isNaN(n2) && (c2 = 64), t2 += v.charAt(s2) + v.charAt(i2) + v.charAt(o2) + v.charAt(c2);
  return t2;
}
function b(e2) {
  var t2 = "", r2 = 0, a2 = 0, n2 = 0, s2 = 0, i2 = 0, o2 = 0;
  "data:" == e2.slice(0, 5) && ((c2 = e2.slice(0, 1024).indexOf(";base64,")) > -1 && (e2 = e2.slice(c2 + 8)));
  e2 = e2.replace(/[^\w\+\/\=]/g, "");
  for (var c2 = 0; c2 < e2.length; ) r2 = v.indexOf(e2.charAt(c2++)) << 2 | (s2 = v.indexOf(e2.charAt(c2++))) >> 4, t2 += String.fromCharCode(r2), a2 = (15 & s2) << 4 | (i2 = v.indexOf(e2.charAt(c2++))) >> 2, 64 !== i2 && (t2 += String.fromCharCode(a2)), n2 = (3 & i2) << 6 | (o2 = v.indexOf(e2.charAt(c2++))), 64 !== o2 && (t2 += String.fromCharCode(n2));
  return t2;
}
var w = function() {
  return "undefined" != typeof Buffer && "undefined" != typeof process && void 0 !== process.versions && !!process.versions.node;
}(), T = function() {
  if ("undefined" != typeof Buffer) {
    var e2 = !Buffer.from;
    if (!e2) try {
      Buffer.from("foo", "utf8");
    } catch (t2) {
      e2 = true;
    }
    return e2 ? function(e3, t2) {
      return t2 ? new Buffer(e3, t2) : new Buffer(e3);
    } : Buffer.from.bind(Buffer);
  }
  return function() {
  };
}(), y = function() {
  if ("undefined" == typeof Buffer) return false;
  var e2 = T([65, 0]);
  return !!e2 && 1 == e2.toString("utf16le").length;
}();
function E(e2) {
  return w ? Buffer.alloc ? Buffer.alloc(e2) : new Buffer(e2) : "undefined" != typeof Uint8Array ? new Uint8Array(e2) : new Array(e2);
}
function k(e2) {
  return w ? Buffer.allocUnsafe ? Buffer.allocUnsafe(e2) : new Buffer(e2) : "undefined" != typeof Uint8Array ? new Uint8Array(e2) : new Array(e2);
}
var _ = function(e2) {
  return w ? T(e2, "binary") : e2.split("").map(function(e3) {
    return 255 & e3.charCodeAt(0);
  });
};
function S(e2) {
  if ("undefined" == typeof ArrayBuffer) return _(e2);
  for (var t2 = new ArrayBuffer(e2.length), r2 = new Uint8Array(t2), a2 = 0; a2 != e2.length; ++a2) r2[a2] = 255 & e2.charCodeAt(a2);
  return t2;
}
function x(e2) {
  if (Array.isArray(e2)) return e2.map(function(e3) {
    return String.fromCharCode(e3);
  }).join("");
  for (var t2 = [], r2 = 0; r2 < e2.length; ++r2) t2[r2] = String.fromCharCode(e2[r2]);
  return t2.join("");
}
function A(e2) {
  if ("undefined" == typeof ArrayBuffer) throw new Error("Unsupported");
  if (e2 instanceof ArrayBuffer) return A(new Uint8Array(e2));
  for (var t2 = new Array(e2.length), r2 = 0; r2 < e2.length; ++r2) t2[r2] = e2[r2];
  return t2;
}
var C = w ? function(e2) {
  return Buffer.concat(e2.map(function(e3) {
    return Buffer.isBuffer(e3) ? e3 : T(e3);
  }));
} : function(e2) {
  if ("undefined" != typeof Uint8Array) {
    var t2 = 0, r2 = 0;
    for (t2 = 0; t2 < e2.length; ++t2) r2 += e2[t2].length;
    var a2 = new Uint8Array(r2), n2 = 0;
    for (t2 = 0, r2 = 0; t2 < e2.length; r2 += n2, ++t2) n2 = e2[t2].length, e2[t2] instanceof Uint8Array ? a2.set(e2[t2], r2) : "string" == typeof e2[t2] ? a2.set(new Uint8Array(_(e2[t2])), r2) : a2.set(new Uint8Array(e2[t2]), r2);
    return a2;
  }
  return [].concat.apply([], e2.map(function(e3) {
    return Array.isArray(e3) ? e3 : [].slice.call(e3);
  }));
};
var I = /\u0000/g, O = /[\u0001-\u0006]/g;
function R(e2) {
  for (var t2 = "", r2 = e2.length - 1; r2 >= 0; ) t2 += e2.charAt(r2--);
  return t2;
}
function N(e2, t2) {
  var r2 = "" + e2;
  return r2.length >= t2 ? r2 : Xe("0", t2 - r2.length) + r2;
}
function F(e2, t2) {
  var r2 = "" + e2;
  return r2.length >= t2 ? r2 : Xe(" ", t2 - r2.length) + r2;
}
function D(e2, t2) {
  var r2 = "" + e2;
  return r2.length >= t2 ? r2 : r2 + Xe(" ", t2 - r2.length);
}
var P = Math.pow(2, 32);
function M(e2, t2) {
  return e2 > P || e2 < -P ? function(e3, t3) {
    var r2 = "" + Math.round(e3);
    return r2.length >= t3 ? r2 : Xe("0", t3 - r2.length) + r2;
  }(e2, t2) : function(e3, t3) {
    var r2 = "" + e3;
    return r2.length >= t3 ? r2 : Xe("0", t3 - r2.length) + r2;
  }(Math.round(e2), t2);
}
function L(e2, t2) {
  return t2 = t2 || 0, e2.length >= 7 + t2 && 103 == (32 | e2.charCodeAt(t2)) && 101 == (32 | e2.charCodeAt(t2 + 1)) && 110 == (32 | e2.charCodeAt(t2 + 2)) && 101 == (32 | e2.charCodeAt(t2 + 3)) && 114 == (32 | e2.charCodeAt(t2 + 4)) && 97 == (32 | e2.charCodeAt(t2 + 5)) && 108 == (32 | e2.charCodeAt(t2 + 6));
}
var U = [["Sun", "Sunday"], ["Mon", "Monday"], ["Tue", "Tuesday"], ["Wed", "Wednesday"], ["Thu", "Thursday"], ["Fri", "Friday"], ["Sat", "Saturday"]], B = [["J", "Jan", "January"], ["F", "Feb", "February"], ["M", "Mar", "March"], ["A", "Apr", "April"], ["M", "May", "May"], ["J", "Jun", "June"], ["J", "Jul", "July"], ["A", "Aug", "August"], ["S", "Sep", "September"], ["O", "Oct", "October"], ["N", "Nov", "November"], ["D", "Dec", "December"]];
var W = { 0: "General", 1: "0", 2: "0.00", 3: "#,##0", 4: "#,##0.00", 9: "0%", 10: "0.00%", 11: "0.00E+00", 12: "# ?/?", 13: "# ??/??", 14: "m/d/yy", 15: "d-mmm-yy", 16: "d-mmm", 17: "mmm-yy", 18: "h:mm AM/PM", 19: "h:mm:ss AM/PM", 20: "h:mm", 21: "h:mm:ss", 22: "m/d/yy h:mm", 37: "#,##0 ;(#,##0)", 38: "#,##0 ;[Red](#,##0)", 39: "#,##0.00;(#,##0.00)", 40: "#,##0.00;[Red](#,##0.00)", 45: "mm:ss", 46: "[h]:mm:ss", 47: "mmss.0", 48: "##0.0E+0", 49: "@", 56: '"上午/下午 "hh"時"mm"分"ss"秒 "' }, z = { 5: 37, 6: 38, 7: 39, 8: 40, 23: 0, 24: 0, 25: 0, 26: 0, 27: 14, 28: 14, 29: 14, 30: 14, 31: 14, 50: 14, 51: 14, 52: 14, 53: 14, 54: 14, 55: 14, 56: 14, 57: 14, 58: 14, 59: 1, 60: 2, 61: 3, 62: 4, 67: 9, 68: 10, 69: 12, 70: 13, 71: 14, 72: 14, 73: 15, 74: 16, 75: 17, 76: 20, 77: 21, 78: 22, 79: 45, 80: 46, 81: 47, 82: 0 }, H = { 5: '"$"#,##0_);\\("$"#,##0\\)', 63: '"$"#,##0_);\\("$"#,##0\\)', 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)' };
function V(e2, t2, r2) {
  for (var a2 = e2 < 0 ? -1 : 1, n2 = e2 * a2, s2 = 0, i2 = 1, o2 = 0, c2 = 1, l2 = 0, f2 = 0, h2 = Math.floor(n2); l2 < t2 && (o2 = (h2 = Math.floor(n2)) * i2 + s2, f2 = h2 * l2 + c2, !(n2 - h2 < 5e-8)); ) n2 = 1 / (n2 - h2), s2 = i2, i2 = o2, c2 = l2, l2 = f2;
  if (f2 > t2 && (l2 > t2 ? (f2 = c2, o2 = s2) : (f2 = l2, o2 = i2)), !r2) return [0, a2 * o2, f2];
  var u2 = Math.floor(a2 * o2 / f2);
  return [u2, a2 * o2 - u2 * f2, f2];
}
function G(e2, t2, r2) {
  if (e2 > 2958465 || e2 < 0) return null;
  var a2 = 0 | (e2 = function(e3) {
    var t3 = e3.toPrecision(16);
    if (t3.indexOf("e") > -1) {
      var r3 = t3.slice(0, t3.indexOf("e"));
      return (r3 = r3.indexOf(".") > -1 ? r3.slice(0, "0." == r3.slice(0, 2) ? 17 : 16) : r3.slice(0, 15) + Xe("0", r3.length - 15)) + t3.slice(t3.indexOf("e"));
    }
    var a3 = t3.indexOf(".") > -1 ? t3.slice(0, "0." == t3.slice(0, 2) ? 17 : 16) : t3.slice(0, 15) + Xe("0", t3.length - 15);
    return Number(a3);
  }(e2)), n2 = Math.floor(86400 * (e2 - a2)), s2 = 0, i2 = [], o2 = { D: a2, T: n2, u: 86400 * (e2 - a2) - n2, y: 0, m: 0, d: 0, H: 0, M: 0, S: 0, q: 0 };
  if (Math.abs(o2.u) < 1e-6 && (o2.u = 0), t2 && t2.date1904 && (a2 += 1462), o2.u > 0.9999 && (o2.u = 0, 86400 == ++n2 && (o2.T = n2 = 0, ++a2, ++o2.D)), 60 === a2) i2 = r2 ? [1317, 10, 29] : [1900, 2, 29], s2 = 3;
  else if (0 === a2) i2 = r2 ? [1317, 8, 29] : [1900, 1, 0], s2 = 6;
  else {
    a2 > 60 && --a2;
    var c2 = new Date(1900, 0, 1);
    c2.setDate(c2.getDate() + a2 - 1), i2 = [c2.getFullYear(), c2.getMonth() + 1, c2.getDate()], s2 = c2.getDay(), a2 < 60 && (s2 = (s2 + 6) % 7), r2 && (s2 = function(e3, t3) {
      t3[0] -= 581;
      var r3 = e3.getDay();
      e3 < 60 && (r3 = (r3 + 6) % 7);
      return r3;
    }(c2, i2));
  }
  return o2.y = i2[0], o2.m = i2[1], o2.d = i2[2], o2.S = n2 % 60, n2 = Math.floor(n2 / 60), o2.M = n2 % 60, n2 = Math.floor(n2 / 60), o2.H = n2, o2.q = s2, o2;
}
function X(e2) {
  return -1 == e2.indexOf(".") ? e2 : e2.replace(/(?:\.0*|(\.\d*[1-9])0+)$/, "$1");
}
function j(e2) {
  if (!isFinite(e2)) return isNaN(e2) ? "#NUM!" : "#DIV/0!";
  var t2, r2 = Math.floor(Math.log(Math.abs(e2)) * Math.LOG10E);
  return t2 = r2 >= -4 && r2 <= -1 ? e2.toPrecision(10 + r2) : Math.abs(r2) <= 9 ? function(e3) {
    var t3 = e3 < 0 ? 12 : 11, r3 = X(e3.toFixed(12));
    return r3.length <= t3 || (r3 = e3.toPrecision(10)).length <= t3 ? r3 : e3.toExponential(5);
  }(e2) : 10 === r2 ? e2.toFixed(10).substr(0, 12) : function(e3) {
    var t3 = X(e3.toFixed(11));
    return t3.length > (e3 < 0 ? 12 : 11) || "0" === t3 || "-0" === t3 ? e3.toPrecision(6) : t3;
  }(e2), X(function(e3) {
    return -1 == e3.indexOf("E") ? e3 : e3.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/, "$1E").replace(/(E[+-])(\d)$/, "$10$2");
  }(t2.toUpperCase()));
}
function K(e2, t2) {
  switch (typeof e2) {
    case "string":
      return e2;
    case "boolean":
      return e2 ? "TRUE" : "FALSE";
    case "number":
      return (0 | e2) === e2 ? e2.toString(10) : j(e2);
    case "undefined":
      return "";
    case "object":
      if (null == e2) return "";
      if (e2 instanceof Date) return me(14, Le(e2, t2 && t2.date1904), t2);
  }
  throw new Error("unsupported value in General format: " + e2);
}
function Y(e2, t2, r2, a2) {
  var n2, s2 = "", i2 = 0, o2 = 0, c2 = r2.y, l2 = 0;
  switch (e2) {
    case 98:
      c2 = r2.y + 543;
    case 121:
      switch (t2.length) {
        case 1:
        case 2:
          n2 = c2 % 100, l2 = 2;
          break;
        default:
          n2 = c2 % 1e4, l2 = 4;
      }
      break;
    case 109:
      switch (t2.length) {
        case 1:
        case 2:
          n2 = r2.m, l2 = t2.length;
          break;
        case 3:
          return B[r2.m - 1][1];
        case 5:
          return B[r2.m - 1][0];
        default:
          return B[r2.m - 1][2];
      }
      break;
    case 100:
      switch (t2.length) {
        case 1:
        case 2:
          n2 = r2.d, l2 = t2.length;
          break;
        case 3:
          return U[r2.q][0];
        default:
          return U[r2.q][1];
      }
      break;
    case 104:
      switch (t2.length) {
        case 1:
        case 2:
          n2 = 1 + (r2.H + 11) % 12, l2 = t2.length;
          break;
        default:
          throw "bad hour format: " + t2;
      }
      break;
    case 72:
      switch (t2.length) {
        case 1:
        case 2:
          n2 = r2.H, l2 = t2.length;
          break;
        default:
          throw "bad hour format: " + t2;
      }
      break;
    case 77:
      switch (t2.length) {
        case 1:
        case 2:
          n2 = r2.M, l2 = t2.length;
          break;
        default:
          throw "bad minute format: " + t2;
      }
      break;
    case 115:
      if ("s" != t2 && "ss" != t2 && ".0" != t2 && ".00" != t2 && ".000" != t2) throw "bad second format: " + t2;
      return 0 !== r2.u || "s" != t2 && "ss" != t2 ? (o2 = a2 >= 2 ? 3 === a2 ? 1e3 : 100 : 1 === a2 ? 10 : 1, (i2 = Math.round(o2 * (r2.S + r2.u))) >= 60 * o2 && (i2 = 0), "s" === t2 ? 0 === i2 ? "0" : "" + i2 / o2 : (s2 = N(i2, 2 + a2), "ss" === t2 ? s2.substr(0, 2) : "." + s2.substr(2, t2.length - 1))) : N(r2.S, t2.length);
    case 90:
      switch (t2) {
        case "[h]":
        case "[hh]":
          n2 = 24 * r2.D + r2.H;
          break;
        case "[m]":
        case "[mm]":
          n2 = 60 * (24 * r2.D + r2.H) + r2.M;
          break;
        case "[s]":
        case "[ss]":
          n2 = 60 * (60 * (24 * r2.D + r2.H) + r2.M) + (0 == a2 ? Math.round(r2.S + r2.u) : r2.S);
          break;
        default:
          throw "bad abstime format: " + t2;
      }
      l2 = 3 === t2.length ? 1 : 2;
      break;
    case 101:
      n2 = c2, l2 = 1;
  }
  return l2 > 0 ? N(n2, l2) : "";
}
function Z(e2) {
  if (e2.length <= 3) return e2;
  for (var t2 = e2.length % 3, r2 = e2.substr(0, t2); t2 != e2.length; t2 += 3) r2 += (r2.length > 0 ? "," : "") + e2.substr(t2, 3);
  return r2;
}
var J = /%/g;
function q(e2, t2) {
  var r2, a2 = e2.indexOf("E") - e2.indexOf(".") - 1;
  if (e2.match(/^#+0.0E\+0$/)) {
    if (0 == t2) return "0.0E+0";
    if (t2 < 0) return "-" + q(e2, -t2);
    var n2 = e2.indexOf(".");
    -1 === n2 && (n2 = e2.indexOf("E"));
    var s2 = Math.floor(Math.log(t2) * Math.LOG10E) % n2;
    if (s2 < 0 && (s2 += n2), -1 === (r2 = (t2 / Math.pow(10, s2)).toPrecision(a2 + 1 + (n2 + s2) % n2)).indexOf("e")) {
      var i2 = Math.floor(Math.log(t2) * Math.LOG10E);
      for (-1 === r2.indexOf(".") ? r2 = r2.charAt(0) + "." + r2.substr(1) + "E+" + (i2 - r2.length + s2) : r2 += "E+" + (i2 - s2); "0." === r2.substr(0, 2); ) r2 = (r2 = r2.charAt(0) + r2.substr(2, n2) + "." + r2.substr(2 + n2)).replace(/^0+([1-9])/, "$1").replace(/^0+\./, "0.");
      r2 = r2.replace(/\+-/, "-");
    }
    r2 = r2.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(e3, t3, r3, a3) {
      return t3 + r3 + a3.substr(0, (n2 + s2) % n2) + "." + a3.substr(s2) + "E";
    });
  } else r2 = t2.toExponential(a2);
  return e2.match(/E\+00$/) && r2.match(/e[+-]\d$/) && (r2 = r2.substr(0, r2.length - 1) + "0" + r2.charAt(r2.length - 1)), e2.match(/E\-/) && r2.match(/e\+/) && (r2 = r2.replace(/e\+/, "e")), r2.replace("e", "E");
}
var Q = /# (\?+)( ?)\/( ?)(\d+)/;
var ee = /^#*0*\.([0#]+)/, te = /\)[^)]*[0#]/, re = /\(###\) ###\\?-####/;
function ae(e2) {
  for (var t2, r2 = "", a2 = 0; a2 != e2.length; ++a2) switch (t2 = e2.charCodeAt(a2)) {
    case 35:
      break;
    case 63:
      r2 += " ";
      break;
    case 48:
      r2 += "0";
      break;
    default:
      r2 += String.fromCharCode(t2);
  }
  return r2;
}
function ne(e2, t2) {
  var r2 = Math.pow(10, t2);
  return "" + Math.round(e2 * r2) / r2;
}
function se(e2, t2) {
  var r2 = e2 - Math.floor(e2), a2 = Math.pow(10, t2);
  return t2 < ("" + Math.round(r2 * a2)).length ? 0 : Math.round(r2 * a2);
}
function ie(e2, t2, r2) {
  if (40 === e2.charCodeAt(0) && !t2.match(te)) {
    var a2 = t2.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
    return r2 >= 0 ? ie("n", a2, r2) : "(" + ie("n", a2, -r2) + ")";
  }
  if (44 === t2.charCodeAt(t2.length - 1)) return function(e3, t3, r3) {
    for (var a3 = t3.length - 1; 44 === t3.charCodeAt(a3 - 1); ) --a3;
    return le(e3, t3.substr(0, a3), r3 / Math.pow(10, 3 * (t3.length - a3)));
  }(e2, t2, r2);
  if (-1 !== t2.indexOf("%")) return function(e3, t3, r3) {
    var a3 = t3.replace(J, ""), n3 = t3.length - a3.length;
    return le(e3, a3, r3 * Math.pow(10, 2 * n3)) + Xe("%", n3);
  }(e2, t2, r2);
  if (-1 !== t2.indexOf("E")) return q(t2, r2);
  if (36 === t2.charCodeAt(0)) return "$" + ie(e2, t2.substr(" " == t2.charAt(1) ? 2 : 1), r2);
  var n2, s2, i2, o2, c2 = Math.abs(r2), l2 = r2 < 0 ? "-" : "";
  if (t2.match(/^00+$/)) return l2 + M(c2, t2.length);
  if (t2.match(/^[#?]+$/)) return "0" === (n2 = M(r2, 0)) && (n2 = ""), n2.length > t2.length ? n2 : ae(t2.substr(0, t2.length - n2.length)) + n2;
  if (s2 = t2.match(Q)) return function(e3, t3, r3) {
    var a3 = parseInt(e3[4], 10), n3 = Math.round(t3 * a3), s3 = Math.floor(n3 / a3), i3 = n3 - s3 * a3, o3 = a3;
    return r3 + (0 === s3 ? "" : "" + s3) + " " + (0 === i3 ? Xe(" ", e3[1].length + 1 + e3[4].length) : F(i3, e3[1].length) + e3[2] + "/" + e3[3] + N(o3, e3[4].length));
  }(s2, c2, l2);
  if (t2.match(/^#+0+$/)) return l2 + M(c2, t2.length - t2.indexOf("0"));
  if (s2 = t2.match(ee)) return n2 = ne(r2, s2[1].length).replace(/^([^\.]+)$/, "$1." + ae(s2[1])).replace(/\.$/, "." + ae(s2[1])).replace(/\.(\d*)$/, function(e3, t3) {
    return "." + t3 + Xe("0", ae(s2[1]).length - t3.length);
  }), -1 !== t2.indexOf("0.") ? n2 : n2.replace(/^0\./, ".");
  if (t2 = t2.replace(/^#+([0.])/, "$1"), s2 = t2.match(/^(0*)\.(#*)$/)) return l2 + ne(c2, s2[2].length).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, s2[1].length ? "0." : ".");
  if (s2 = t2.match(/^#{1,3},##0(\.?)$/)) return l2 + Z(M(c2, 0));
  if (s2 = t2.match(/^#,##0\.([#0]*0)$/)) return r2 < 0 ? "-" + ie(e2, t2, -r2) : Z("" + (Math.floor(r2) + function(e3, t3) {
    return t3 < ("" + Math.round((e3 - Math.floor(e3)) * Math.pow(10, t3))).length ? 1 : 0;
  }(r2, s2[1].length))) + "." + N(se(r2, s2[1].length), s2[1].length);
  if (s2 = t2.match(/^#,#*,#0/)) return ie(e2, t2.replace(/^#,#*,/, ""), r2);
  if (s2 = t2.match(/^([0#]+)(\\?-([0#]+))+$/)) return n2 = R(ie(e2, t2.replace(/[\\-]/g, ""), r2)), i2 = 0, R(R(t2.replace(/\\/g, "")).replace(/[0#]/g, function(e3) {
    return i2 < n2.length ? n2.charAt(i2++) : "0" === e3 ? "0" : "";
  }));
  if (t2.match(re)) return "(" + (n2 = ie(e2, "##########", r2)).substr(0, 3) + ") " + n2.substr(3, 3) + "-" + n2.substr(6);
  var f2 = "";
  if (s2 = t2.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)) return i2 = Math.min(s2[4].length, 7), o2 = V(c2, Math.pow(10, i2) - 1, false), n2 = "" + l2, " " == (f2 = le("n", s2[1], o2[1])).charAt(f2.length - 1) && (f2 = f2.substr(0, f2.length - 1) + "0"), n2 += f2 + s2[2] + "/" + s2[3], (f2 = D(o2[2], i2)).length < s2[4].length && (f2 = ae(s2[4].substr(s2[4].length - f2.length)) + f2), n2 += f2;
  if (s2 = t2.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/)) return i2 = Math.min(Math.max(s2[1].length, s2[4].length), 7), l2 + ((o2 = V(c2, Math.pow(10, i2) - 1, true))[0] || (o2[1] ? "" : "0")) + " " + (o2[1] ? F(o2[1], i2) + s2[2] + "/" + s2[3] + D(o2[2], i2) : Xe(" ", 2 * i2 + 1 + s2[2].length + s2[3].length));
  if (s2 = t2.match(/^[#0?]+$/)) return n2 = M(r2, 0), t2.length <= n2.length ? n2 : ae(t2.substr(0, t2.length - n2.length)) + n2;
  if (s2 = t2.match(/^([#0?]+)\.([#0]+)$/)) {
    n2 = "" + r2.toFixed(Math.min(s2[2].length, 10)).replace(/([^0])0+$/, "$1"), i2 = n2.indexOf(".");
    var h2 = t2.indexOf(".") - i2, u2 = t2.length - n2.length - h2;
    return ae(t2.substr(0, h2) + n2 + t2.substr(t2.length - u2));
  }
  if (s2 = t2.match(/^00,000\.([#0]*0)$/)) return i2 = se(r2, s2[1].length), r2 < 0 ? "-" + ie(e2, t2, -r2) : Z(function(e3) {
    return e3 < 2147483647 && e3 > -2147483648 ? "" + (e3 >= 0 ? 0 | e3 : e3 - 1 | 0) : "" + Math.floor(e3);
  }(r2)).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(e3) {
    return "00," + (e3.length < 3 ? N(0, 3 - e3.length) : "") + e3;
  }) + "." + N(i2, s2[1].length);
  switch (t2) {
    case "###,##0.00":
      return ie(e2, "#,##0.00", r2);
    case "###,###":
    case "##,###":
    case "#,###":
      var d2 = Z(M(c2, 0));
      return "0" !== d2 ? l2 + d2 : "";
    case "###,###.00":
      return ie(e2, "###,##0.00", r2).replace(/^0\./, ".");
    case "#,###.00":
      return ie(e2, "#,##0.00", r2).replace(/^0\./, ".");
  }
  throw new Error("unsupported format |" + t2 + "|");
}
function oe(e2, t2) {
  var r2, a2 = e2.indexOf("E") - e2.indexOf(".") - 1;
  if (e2.match(/^#+0.0E\+0$/)) {
    if (0 == t2) return "0.0E+0";
    if (t2 < 0) return "-" + oe(e2, -t2);
    var n2 = e2.indexOf(".");
    -1 === n2 && (n2 = e2.indexOf("E"));
    var s2 = Math.floor(Math.log(t2) * Math.LOG10E) % n2;
    if (s2 < 0 && (s2 += n2), !(r2 = (t2 / Math.pow(10, s2)).toPrecision(a2 + 1 + (n2 + s2) % n2)).match(/[Ee]/)) {
      var i2 = Math.floor(Math.log(t2) * Math.LOG10E);
      -1 === r2.indexOf(".") ? r2 = r2.charAt(0) + "." + r2.substr(1) + "E+" + (i2 - r2.length + s2) : r2 += "E+" + (i2 - s2), r2 = r2.replace(/\+-/, "-");
    }
    r2 = r2.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(e3, t3, r3, a3) {
      return t3 + r3 + a3.substr(0, (n2 + s2) % n2) + "." + a3.substr(s2) + "E";
    });
  } else r2 = t2.toExponential(a2);
  return e2.match(/E\+00$/) && r2.match(/e[+-]\d$/) && (r2 = r2.substr(0, r2.length - 1) + "0" + r2.charAt(r2.length - 1)), e2.match(/E\-/) && r2.match(/e\+/) && (r2 = r2.replace(/e\+/, "e")), r2.replace("e", "E");
}
function ce(e2, t2, r2) {
  if (40 === e2.charCodeAt(0) && !t2.match(te)) {
    var a2 = t2.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
    return r2 >= 0 ? ce("n", a2, r2) : "(" + ce("n", a2, -r2) + ")";
  }
  if (44 === t2.charCodeAt(t2.length - 1)) return function(e3, t3, r3) {
    for (var a3 = t3.length - 1; 44 === t3.charCodeAt(a3 - 1); ) --a3;
    return le(e3, t3.substr(0, a3), r3 / Math.pow(10, 3 * (t3.length - a3)));
  }(e2, t2, r2);
  if (-1 !== t2.indexOf("%")) return function(e3, t3, r3) {
    var a3 = t3.replace(J, ""), n3 = t3.length - a3.length;
    return le(e3, a3, r3 * Math.pow(10, 2 * n3)) + Xe("%", n3);
  }(e2, t2, r2);
  if (-1 !== t2.indexOf("E")) return oe(t2, r2);
  if (36 === t2.charCodeAt(0)) return "$" + ce(e2, t2.substr(" " == t2.charAt(1) ? 2 : 1), r2);
  var n2, s2, i2, o2, c2 = Math.abs(r2), l2 = r2 < 0 ? "-" : "";
  if (t2.match(/^00+$/)) return l2 + N(c2, t2.length);
  if (t2.match(/^[#?]+$/)) return n2 = "" + r2, 0 === r2 && (n2 = ""), n2.length > t2.length ? n2 : ae(t2.substr(0, t2.length - n2.length)) + n2;
  if (s2 = t2.match(Q)) return function(e3, t3, r3) {
    return r3 + (0 === t3 ? "" : "" + t3) + Xe(" ", e3[1].length + 2 + e3[4].length);
  }(s2, c2, l2);
  if (t2.match(/^#+0+$/)) return l2 + N(c2, t2.length - t2.indexOf("0"));
  if (s2 = t2.match(ee)) return n2 = (n2 = ("" + r2).replace(/^([^\.]+)$/, "$1." + ae(s2[1])).replace(/\.$/, "." + ae(s2[1]))).replace(/\.(\d*)$/, function(e3, t3) {
    return "." + t3 + Xe("0", ae(s2[1]).length - t3.length);
  }), -1 !== t2.indexOf("0.") ? n2 : n2.replace(/^0\./, ".");
  if (t2 = t2.replace(/^#+([0.])/, "$1"), s2 = t2.match(/^(0*)\.(#*)$/)) return l2 + ("" + c2).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, s2[1].length ? "0." : ".");
  if (s2 = t2.match(/^#{1,3},##0(\.?)$/)) return l2 + Z("" + c2);
  if (s2 = t2.match(/^#,##0\.([#0]*0)$/)) return r2 < 0 ? "-" + ce(e2, t2, -r2) : Z("" + r2) + "." + Xe("0", s2[1].length);
  if (s2 = t2.match(/^#,#*,#0/)) return ce(e2, t2.replace(/^#,#*,/, ""), r2);
  if (s2 = t2.match(/^([0#]+)(\\?-([0#]+))+$/)) return n2 = R(ce(e2, t2.replace(/[\\-]/g, ""), r2)), i2 = 0, R(R(t2.replace(/\\/g, "")).replace(/[0#]/g, function(e3) {
    return i2 < n2.length ? n2.charAt(i2++) : "0" === e3 ? "0" : "";
  }));
  if (t2.match(re)) return "(" + (n2 = ce(e2, "##########", r2)).substr(0, 3) + ") " + n2.substr(3, 3) + "-" + n2.substr(6);
  var f2 = "";
  if (s2 = t2.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/)) return i2 = Math.min(s2[4].length, 7), o2 = V(c2, Math.pow(10, i2) - 1, false), n2 = "" + l2, " " == (f2 = le("n", s2[1], o2[1])).charAt(f2.length - 1) && (f2 = f2.substr(0, f2.length - 1) + "0"), n2 += f2 + s2[2] + "/" + s2[3], (f2 = D(o2[2], i2)).length < s2[4].length && (f2 = ae(s2[4].substr(s2[4].length - f2.length)) + f2), n2 += f2;
  if (s2 = t2.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/)) return i2 = Math.min(Math.max(s2[1].length, s2[4].length), 7), l2 + ((o2 = V(c2, Math.pow(10, i2) - 1, true))[0] || (o2[1] ? "" : "0")) + " " + (o2[1] ? F(o2[1], i2) + s2[2] + "/" + s2[3] + D(o2[2], i2) : Xe(" ", 2 * i2 + 1 + s2[2].length + s2[3].length));
  if (s2 = t2.match(/^[#0?]+$/)) return n2 = "" + r2, t2.length <= n2.length ? n2 : ae(t2.substr(0, t2.length - n2.length)) + n2;
  if (s2 = t2.match(/^([#0]+)\.([#0]+)$/)) {
    n2 = "" + r2.toFixed(Math.min(s2[2].length, 10)).replace(/([^0])0+$/, "$1"), i2 = n2.indexOf(".");
    var h2 = t2.indexOf(".") - i2, u2 = t2.length - n2.length - h2;
    return ae(t2.substr(0, h2) + n2 + t2.substr(t2.length - u2));
  }
  if (s2 = t2.match(/^00,000\.([#0]*0)$/)) return r2 < 0 ? "-" + ce(e2, t2, -r2) : Z("" + r2).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(e3) {
    return "00," + (e3.length < 3 ? N(0, 3 - e3.length) : "") + e3;
  }) + "." + N(0, s2[1].length);
  switch (t2) {
    case "###,###":
    case "##,###":
    case "#,###":
      var d2 = Z("" + c2);
      return "0" !== d2 ? l2 + d2 : "";
    default:
      if (t2.match(/\.[0#?]*$/)) return ce(e2, t2.slice(0, t2.lastIndexOf(".")), r2) + ae(t2.slice(t2.lastIndexOf(".")));
  }
  throw new Error("unsupported format |" + t2 + "|");
}
function le(e2, t2, r2) {
  return (0 | r2) === r2 ? ce(e2, t2, r2) : ie(e2, t2, r2);
}
var fe = /\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;
function he(e2) {
  for (var t2 = 0, r2 = "", a2 = ""; t2 < e2.length; ) switch (r2 = e2.charAt(t2)) {
    case "G":
      L(e2, t2) && (t2 += 6), t2++;
      break;
    case '"':
      for (; 34 !== e2.charCodeAt(++t2) && t2 < e2.length; ) ;
      ++t2;
      break;
    case "\\":
    case "_":
      t2 += 2;
      break;
    case "@":
      ++t2;
      break;
    case "B":
    case "b":
      if ("1" === e2.charAt(t2 + 1) || "2" === e2.charAt(t2 + 1)) return true;
    case "M":
    case "D":
    case "Y":
    case "H":
    case "S":
    case "E":
    case "m":
    case "d":
    case "y":
    case "h":
    case "s":
    case "e":
    case "g":
      return true;
    case "A":
    case "a":
    case "上":
      if ("A/P" === e2.substr(t2, 3).toUpperCase()) return true;
      if ("AM/PM" === e2.substr(t2, 5).toUpperCase()) return true;
      if ("上午/下午" === e2.substr(t2, 5).toUpperCase()) return true;
      ++t2;
      break;
    case "[":
      for (a2 = r2; "]" !== e2.charAt(t2++) && t2 < e2.length; ) a2 += e2.charAt(t2);
      if (a2.match(fe)) return true;
      break;
    case ".":
    case "0":
    case "#":
      for (; t2 < e2.length && ("0#?.,E+-%".indexOf(r2 = e2.charAt(++t2)) > -1 || "\\" == r2 && "-" == e2.charAt(t2 + 1) && "0#".indexOf(e2.charAt(t2 + 2)) > -1); ) ;
      break;
    case "?":
      for (; e2.charAt(++t2) === r2; ) ;
      break;
    case "*":
      ++t2, " " != e2.charAt(t2) && "*" != e2.charAt(t2) || ++t2;
      break;
    case "(":
    case ")":
      ++t2;
      break;
    case "1":
    case "2":
    case "3":
    case "4":
    case "5":
    case "6":
    case "7":
    case "8":
    case "9":
      for (; t2 < e2.length && "0123456789".indexOf(e2.charAt(++t2)) > -1; ) ;
      break;
    default:
      ++t2;
  }
  return false;
}
var ue = /\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;
function de(e2, t2) {
  if (null == t2) return false;
  var r2 = parseFloat(t2[2]);
  switch (t2[1]) {
    case "=":
      if (e2 == r2) return true;
      break;
    case ">":
      if (e2 > r2) return true;
      break;
    case "<":
      if (e2 < r2) return true;
      break;
    case "<>":
      if (e2 != r2) return true;
      break;
    case ">=":
      if (e2 >= r2) return true;
      break;
    case "<=":
      if (e2 <= r2) return true;
  }
  return false;
}
function pe(e2, t2) {
  var r2 = function(e3) {
    for (var t3 = [], r3 = false, a3 = 0, n3 = 0; a3 < e3.length; ++a3) switch (e3.charCodeAt(a3)) {
      case 34:
        r3 = !r3;
        break;
      case 95:
      case 42:
      case 92:
        ++a3;
        break;
      case 59:
        t3[t3.length] = e3.substr(n3, a3 - n3), n3 = a3 + 1;
    }
    if (t3[t3.length] = e3.substr(n3), true === r3) throw new Error("Format |" + e3 + "| unterminated string ");
    return t3;
  }(e2), a2 = r2.length, n2 = r2[a2 - 1].indexOf("@");
  if (a2 < 4 && n2 > -1 && --a2, r2.length > 4) throw new Error("cannot find right format for |" + r2.join("|") + "|");
  if ("number" != typeof t2) return [4, 4 === r2.length || n2 > -1 ? r2[r2.length - 1] : "@"];
  switch ("number" != typeof t2 || isFinite(t2) || (t2 = 0), r2.length) {
    case 1:
      r2 = n2 > -1 ? ["General", "General", "General", r2[0]] : [r2[0], r2[0], r2[0], "@"];
      break;
    case 2:
      r2 = n2 > -1 ? [r2[0], r2[0], r2[0], r2[1]] : [r2[0], r2[1], r2[0], "@"];
      break;
    case 3:
      r2 = n2 > -1 ? [r2[0], r2[1], r2[0], r2[2]] : [r2[0], r2[1], r2[2], "@"];
  }
  var s2 = t2 > 0 ? r2[0] : t2 < 0 ? r2[1] : r2[2];
  if (-1 === r2[0].indexOf("[") && -1 === r2[1].indexOf("[")) return [a2, s2];
  if (null != r2[0].match(/\[[=<>]/) || null != r2[1].match(/\[[=<>]/)) {
    var i2 = r2[0].match(ue), o2 = r2[1].match(ue);
    return de(t2, i2) ? [a2, r2[0]] : de(t2, o2) ? [a2, r2[1]] : [a2, r2[null != i2 && null != o2 ? 2 : 1]];
  }
  return [a2, s2];
}
function me(e2, t2, r2) {
  null == r2 && (r2 = {});
  var a2 = "";
  switch (typeof e2) {
    case "string":
      a2 = "m/d/yy" == e2 && r2.dateNF ? r2.dateNF : e2;
      break;
    case "number":
      null == (a2 = 14 == e2 && r2.dateNF ? r2.dateNF : (null != r2.table ? r2.table : W)[e2]) && (a2 = r2.table && r2.table[z[e2]] || W[z[e2]]), null == a2 && (a2 = H[e2] || "General");
  }
  if (L(a2, 0)) return K(t2, r2);
  t2 instanceof Date && (t2 = Le(t2, r2.date1904));
  var n2 = pe(a2, t2);
  if (L(n2[1])) return K(t2, r2);
  if (true === t2) t2 = "TRUE";
  else if (false === t2) t2 = "FALSE";
  else {
    if ("" === t2 || null == t2) return "";
    if (isNaN(t2) && n2[1].indexOf("0") > -1) return "#NUM!";
    if (!isFinite(t2) && n2[1].indexOf("0") > -1) return "#DIV/0!";
  }
  return function(e3, t3, r3, a3) {
    for (var n3, s2, i2, o2 = [], c2 = "", l2 = 0, f2 = "", h2 = "t", u2 = "H"; l2 < e3.length; ) switch (f2 = e3.charAt(l2)) {
      case "G":
        if (!L(e3, l2)) throw new Error("unrecognized character " + f2 + " in " + e3);
        o2[o2.length] = { t: "G", v: "General" }, l2 += 7;
        break;
      case '"':
        for (c2 = ""; 34 !== (i2 = e3.charCodeAt(++l2)) && l2 < e3.length; ) c2 += String.fromCharCode(i2);
        o2[o2.length] = { t: "t", v: c2 }, ++l2;
        break;
      case "\\":
        var d2 = e3.charAt(++l2), p2 = "(" === d2 || ")" === d2 ? d2 : "t";
        o2[o2.length] = { t: p2, v: d2 }, ++l2;
        break;
      case "_":
        o2[o2.length] = { t: "t", v: " " }, l2 += 2;
        break;
      case "@":
        o2[o2.length] = { t: "T", v: t3 }, ++l2;
        break;
      case "B":
      case "b":
        if ("1" === e3.charAt(l2 + 1) || "2" === e3.charAt(l2 + 1)) {
          if (null == n3 && null == (n3 = G(t3, r3, "2" === e3.charAt(l2 + 1)))) return "";
          o2[o2.length] = { t: "X", v: e3.substr(l2, 2) }, h2 = f2, l2 += 2;
          break;
        }
      case "M":
      case "D":
      case "Y":
      case "H":
      case "S":
      case "E":
        f2 = f2.toLowerCase();
      case "m":
      case "d":
      case "y":
      case "h":
      case "s":
      case "e":
      case "g":
        if (t3 < 0) return "";
        if (null == n3 && null == (n3 = G(t3, r3))) return "";
        for (c2 = f2; ++l2 < e3.length && e3.charAt(l2).toLowerCase() === f2; ) c2 += f2;
        "m" === f2 && "h" === h2.toLowerCase() && (f2 = "M"), "h" === f2 && (f2 = u2), o2[o2.length] = { t: f2, v: c2 }, h2 = f2;
        break;
      case "A":
      case "a":
      case "上":
        var m2 = { t: f2, v: f2 };
        if (null == n3 && (n3 = G(t3, r3)), "A/P" === e3.substr(l2, 3).toUpperCase() ? (null != n3 && (m2.v = n3.H >= 12 ? e3.charAt(l2 + 2) : f2), m2.t = "T", u2 = "h", l2 += 3) : "AM/PM" === e3.substr(l2, 5).toUpperCase() ? (null != n3 && (m2.v = n3.H >= 12 ? "PM" : "AM"), m2.t = "T", l2 += 5, u2 = "h") : "上午/下午" === e3.substr(l2, 5).toUpperCase() ? (null != n3 && (m2.v = n3.H >= 12 ? "下午" : "上午"), m2.t = "T", l2 += 5, u2 = "h") : (m2.t = "t", ++l2), null == n3 && "T" === m2.t) return "";
        o2[o2.length] = m2, h2 = f2;
        break;
      case "[":
        for (c2 = f2; "]" !== e3.charAt(l2++) && l2 < e3.length; ) c2 += e3.charAt(l2);
        if ("]" !== c2.slice(-1)) throw 'unterminated "[" block: |' + c2 + "|";
        if (c2.match(fe)) {
          if (null == n3 && null == (n3 = G(t3, r3))) return "";
          o2[o2.length] = { t: "Z", v: c2.toLowerCase() }, h2 = c2.charAt(1);
        } else c2.indexOf("$") > -1 && (c2 = (c2.match(/\$([^-\[\]]*)/) || [])[1] || "$", he(e3) || (o2[o2.length] = { t: "t", v: c2 }));
        break;
      case ".":
        if (null != n3) {
          for (c2 = f2; ++l2 < e3.length && "0" === (f2 = e3.charAt(l2)); ) c2 += f2;
          o2[o2.length] = { t: "s", v: c2 };
          break;
        }
      case "0":
      case "#":
        for (c2 = f2; ++l2 < e3.length && "0#?.,E+-%".indexOf(f2 = e3.charAt(l2)) > -1; ) c2 += f2;
        o2[o2.length] = { t: "n", v: c2 };
        break;
      case "?":
        for (c2 = f2; e3.charAt(++l2) === f2; ) c2 += f2;
        o2[o2.length] = { t: f2, v: c2 }, h2 = f2;
        break;
      case "*":
        ++l2, " " != e3.charAt(l2) && "*" != e3.charAt(l2) || ++l2;
        break;
      case "(":
      case ")":
        o2[o2.length] = { t: 1 === a3 ? "t" : f2, v: f2 }, ++l2;
        break;
      case "1":
      case "2":
      case "3":
      case "4":
      case "5":
      case "6":
      case "7":
      case "8":
      case "9":
        for (c2 = f2; l2 < e3.length && "0123456789".indexOf(e3.charAt(++l2)) > -1; ) c2 += e3.charAt(l2);
        o2[o2.length] = { t: "D", v: c2 };
        break;
      case " ":
        o2[o2.length] = { t: f2, v: f2 }, ++l2;
        break;
      case "$":
        o2[o2.length] = { t: "t", v: "$" }, ++l2;
        break;
      default:
        if (-1 === ",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f2)) throw new Error("unrecognized character " + f2 + " in " + e3);
        o2[o2.length] = { t: "t", v: f2 }, ++l2;
    }
    var v2, g2, b2 = 0, w2 = 0;
    for (l2 = o2.length - 1, h2 = "t"; l2 >= 0; --l2) switch (o2[l2].t) {
      case "h":
      case "H":
        o2[l2].t = u2, h2 = "h", b2 < 1 && (b2 = 1);
        break;
      case "s":
        (v2 = o2[l2].v.match(/\.0+$/)) && (w2 = Math.max(w2, v2[0].length - 1), b2 = 4), b2 < 3 && (b2 = 3);
      case "d":
      case "y":
      case "e":
        h2 = o2[l2].t;
        break;
      case "M":
        h2 = o2[l2].t, b2 < 2 && (b2 = 2);
        break;
      case "m":
        "s" === h2 && (o2[l2].t = "M", b2 < 2 && (b2 = 2));
        break;
      case "X":
        break;
      case "Z":
        b2 < 1 && o2[l2].v.match(/[Hh]/) && (b2 = 1), b2 < 2 && o2[l2].v.match(/[Mm]/) && (b2 = 2), b2 < 3 && o2[l2].v.match(/[Ss]/) && (b2 = 3);
    }
    switch (b2) {
      case 0:
        break;
      case 1:
      case 2:
      case 3:
        n3.u >= 0.5 && (n3.u = 0, ++n3.S), n3.S >= 60 && (n3.S = 0, ++n3.M), n3.M >= 60 && (n3.M = 0, ++n3.H), n3.H >= 24 && (n3.H = 0, ++n3.D, (g2 = G(n3.D)).u = n3.u, g2.S = n3.S, g2.M = n3.M, g2.H = n3.H, n3 = g2);
        break;
      case 4:
        switch (w2) {
          case 1:
            n3.u = Math.round(10 * n3.u) / 10;
            break;
          case 2:
            n3.u = Math.round(100 * n3.u) / 100;
            break;
          case 3:
            n3.u = Math.round(1e3 * n3.u) / 1e3;
        }
        n3.u >= 1 && (n3.u = 0, ++n3.S), n3.S >= 60 && (n3.S = 0, ++n3.M), n3.M >= 60 && (n3.M = 0, ++n3.H), n3.H >= 24 && (n3.H = 0, ++n3.D, (g2 = G(n3.D)).u = n3.u, g2.S = n3.S, g2.M = n3.M, g2.H = n3.H, n3 = g2);
    }
    var T2, y2 = "";
    for (l2 = 0; l2 < o2.length; ++l2) switch (o2[l2].t) {
      case "t":
      case "T":
      case " ":
      case "D":
        break;
      case "X":
        o2[l2].v = "", o2[l2].t = ";";
        break;
      case "d":
      case "m":
      case "y":
      case "h":
      case "H":
      case "M":
      case "s":
      case "e":
      case "b":
      case "Z":
        o2[l2].v = Y(o2[l2].t.charCodeAt(0), o2[l2].v, n3, w2), o2[l2].t = "t";
        break;
      case "n":
      case "?":
        for (T2 = l2 + 1; null != o2[T2] && ("?" === (f2 = o2[T2].t) || "D" === f2 || (" " === f2 || "t" === f2) && null != o2[T2 + 1] && ("?" === o2[T2 + 1].t || "t" === o2[T2 + 1].t && "/" === o2[T2 + 1].v) || "(" === o2[l2].t && (" " === f2 || "n" === f2 || ")" === f2) || "t" === f2 && ("/" === o2[T2].v || " " === o2[T2].v && null != o2[T2 + 1] && "?" == o2[T2 + 1].t)); ) o2[l2].v += o2[T2].v, o2[T2] = { v: "", t: ";" }, ++T2;
        y2 += o2[l2].v, l2 = T2 - 1;
        break;
      case "G":
        o2[l2].t = "t", o2[l2].v = K(t3, r3);
    }
    var E2, k2, _2 = "";
    if (y2.length > 0) {
      40 == y2.charCodeAt(0) ? (E2 = t3 < 0 && 45 === y2.charCodeAt(0) ? -t3 : t3, k2 = le("n", y2, E2)) : (k2 = le("n", y2, E2 = t3 < 0 && a3 > 1 ? -t3 : t3), E2 < 0 && o2[0] && "t" == o2[0].t && (k2 = k2.substr(1), o2[0].v = "-" + o2[0].v)), T2 = k2.length - 1;
      var S2 = o2.length;
      for (l2 = 0; l2 < o2.length; ++l2) if (null != o2[l2] && "t" != o2[l2].t && o2[l2].v.indexOf(".") > -1) {
        S2 = l2;
        break;
      }
      var x2 = o2.length;
      if (S2 === o2.length && -1 === k2.indexOf("E")) {
        for (l2 = o2.length - 1; l2 >= 0; --l2) null != o2[l2] && -1 !== "n?".indexOf(o2[l2].t) && (T2 >= o2[l2].v.length - 1 ? (T2 -= o2[l2].v.length, o2[l2].v = k2.substr(T2 + 1, o2[l2].v.length)) : T2 < 0 ? o2[l2].v = "" : (o2[l2].v = k2.substr(0, T2 + 1), T2 = -1), o2[l2].t = "t", x2 = l2);
        T2 >= 0 && x2 < o2.length && (o2[x2].v = k2.substr(0, T2 + 1) + o2[x2].v);
      } else if (S2 !== o2.length && -1 === k2.indexOf("E")) {
        for (T2 = k2.indexOf(".") - 1, l2 = S2; l2 >= 0; --l2) if (null != o2[l2] && -1 !== "n?".indexOf(o2[l2].t)) {
          for (s2 = o2[l2].v.indexOf(".") > -1 && l2 === S2 ? o2[l2].v.indexOf(".") - 1 : o2[l2].v.length - 1, _2 = o2[l2].v.substr(s2 + 1); s2 >= 0; --s2) T2 >= 0 && ("0" === o2[l2].v.charAt(s2) || "#" === o2[l2].v.charAt(s2)) && (_2 = k2.charAt(T2--) + _2);
          o2[l2].v = _2, o2[l2].t = "t", x2 = l2;
        }
        for (T2 >= 0 && x2 < o2.length && (o2[x2].v = k2.substr(0, T2 + 1) + o2[x2].v), T2 = k2.indexOf(".") + 1, l2 = S2; l2 < o2.length; ++l2) if (null != o2[l2] && (-1 !== "n?(".indexOf(o2[l2].t) || l2 === S2)) {
          for (s2 = o2[l2].v.indexOf(".") > -1 && l2 === S2 ? o2[l2].v.indexOf(".") + 1 : 0, _2 = o2[l2].v.substr(0, s2); s2 < o2[l2].v.length; ++s2) T2 < k2.length && (_2 += k2.charAt(T2++));
          o2[l2].v = _2, o2[l2].t = "t", x2 = l2;
        }
      }
    }
    for (l2 = 0; l2 < o2.length; ++l2) null != o2[l2] && "n?".indexOf(o2[l2].t) > -1 && (E2 = a3 > 1 && t3 < 0 && l2 > 0 && "-" === o2[l2 - 1].v ? -t3 : t3, o2[l2].v = le(o2[l2].t, o2[l2].v, E2), o2[l2].t = "t");
    var A2 = "";
    for (l2 = 0; l2 !== o2.length; ++l2) null != o2[l2] && (A2 += o2[l2].v);
    return A2;
  }(n2[1], t2, r2, n2[0]);
}
function ve(e2, t2) {
  if ("number" != typeof t2) {
    t2 = +t2 || -1;
    for (var r2 = 0; r2 < 392; ++r2) if (null != W[r2]) {
      if (W[r2] == e2) {
        t2 = r2;
        break;
      }
    } else t2 < 0 && (t2 = r2);
    t2 < 0 && (t2 = 391);
  }
  return W[t2] = e2, t2;
}
function ge(e2) {
  for (var t2 = 0; 392 != t2; ++t2) void 0 !== e2[t2] && ve(e2[t2], t2);
}
function be() {
  var e2;
  e2 || (e2 = {}), e2[0] = "General", e2[1] = "0", e2[2] = "0.00", e2[3] = "#,##0", e2[4] = "#,##0.00", e2[9] = "0%", e2[10] = "0.00%", e2[11] = "0.00E+00", e2[12] = "# ?/?", e2[13] = "# ??/??", e2[14] = "m/d/yy", e2[15] = "d-mmm-yy", e2[16] = "d-mmm", e2[17] = "mmm-yy", e2[18] = "h:mm AM/PM", e2[19] = "h:mm:ss AM/PM", e2[20] = "h:mm", e2[21] = "h:mm:ss", e2[22] = "m/d/yy h:mm", e2[37] = "#,##0 ;(#,##0)", e2[38] = "#,##0 ;[Red](#,##0)", e2[39] = "#,##0.00;(#,##0.00)", e2[40] = "#,##0.00;[Red](#,##0.00)", e2[45] = "mm:ss", e2[46] = "[h]:mm:ss", e2[47] = "mmss.0", e2[48] = "##0.0E+0", e2[49] = "@", e2[56] = '"上午/下午 "hh"時"mm"分"ss"秒 "', W = e2;
}
var we = { format: me, load: ve, _table: W, load_table: ge, parse_date_code: G, is_date: he, get_table: function() {
  return we._table = W;
} }, Te = { 5: '"$"#,##0_);\\("$"#,##0\\)', 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 23: "General", 24: "General", 25: "General", 26: "General", 27: "m/d/yy", 28: "m/d/yy", 29: "m/d/yy", 30: "m/d/yy", 31: "m/d/yy", 32: "h:mm:ss", 33: "h:mm:ss", 34: "h:mm:ss", 35: "h:mm:ss", 36: "m/d/yy", 41: '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)', 42: '_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)', 43: '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)', 44: '_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)', 50: "m/d/yy", 51: "m/d/yy", 52: "m/d/yy", 53: "m/d/yy", 54: "m/d/yy", 55: "m/d/yy", 56: "m/d/yy", 57: "m/d/yy", 58: "m/d/yy", 59: "0", 60: "0.00", 61: "#,##0", 62: "#,##0.00", 63: '"$"#,##0_);\\("$"#,##0\\)', 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 67: "0%", 68: "0.00%", 69: "# ?/?", 70: "# ??/??", 71: "m/d/yy", 72: "m/d/yy", 73: "d-mmm-yy", 74: "d-mmm", 75: "mmm-yy", 76: "h:mm", 77: "h:mm:ss", 78: "m/d/yy h:mm", 79: "mm:ss", 80: "[h]:mm:ss", 81: "mmss.0" }, ye = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;
var Ee = { "d.m": "d\\.m" };
function ke(e2, t2) {
  return ve(Ee[e2] || e2, t2);
}
var _e, Se = function() {
  var e2 = {};
  e2.version = "1.2.0";
  var t2 = function() {
    for (var e3 = 0, t3 = new Array(256), r3 = 0; 256 != r3; ++r3) e3 = 1 & (e3 = 1 & (e3 = 1 & (e3 = 1 & (e3 = 1 & (e3 = 1 & (e3 = 1 & (e3 = 1 & (e3 = r3) ? -306674912 ^ e3 >>> 1 : e3 >>> 1) ? -306674912 ^ e3 >>> 1 : e3 >>> 1) ? -306674912 ^ e3 >>> 1 : e3 >>> 1) ? -306674912 ^ e3 >>> 1 : e3 >>> 1) ? -306674912 ^ e3 >>> 1 : e3 >>> 1) ? -306674912 ^ e3 >>> 1 : e3 >>> 1) ? -306674912 ^ e3 >>> 1 : e3 >>> 1) ? -306674912 ^ e3 >>> 1 : e3 >>> 1, t3[r3] = e3;
    return "undefined" != typeof Int32Array ? new Int32Array(t3) : t3;
  }();
  var r2 = function(e3) {
    var t3 = 0, r3 = 0, a3 = 0, n3 = "undefined" != typeof Int32Array ? new Int32Array(4096) : new Array(4096);
    for (a3 = 0; 256 != a3; ++a3) n3[a3] = e3[a3];
    for (a3 = 0; 256 != a3; ++a3) for (r3 = e3[a3], t3 = 256 + a3; t3 < 4096; t3 += 256) r3 = n3[t3] = r3 >>> 8 ^ e3[255 & r3];
    var s3 = [];
    for (a3 = 1; 16 != a3; ++a3) s3[a3 - 1] = "undefined" != typeof Int32Array && "function" == typeof n3.subarray ? n3.subarray(256 * a3, 256 * a3 + 256) : n3.slice(256 * a3, 256 * a3 + 256);
    return s3;
  }(t2), a2 = r2[0], n2 = r2[1], s2 = r2[2], i2 = r2[3], o2 = r2[4], c2 = r2[5], l2 = r2[6], f2 = r2[7], h2 = r2[8], u2 = r2[9], d2 = r2[10], p2 = r2[11], m2 = r2[12], v2 = r2[13], g2 = r2[14];
  return e2.table = t2, e2.bstr = function(e3, r3) {
    for (var a3 = -1 ^ r3, n3 = 0, s3 = e3.length; n3 < s3; ) a3 = a3 >>> 8 ^ t2[255 & (a3 ^ e3.charCodeAt(n3++))];
    return ~a3;
  }, e2.buf = function(e3, r3) {
    for (var b2 = -1 ^ r3, w2 = e3.length - 15, T2 = 0; T2 < w2; ) b2 = g2[e3[T2++] ^ 255 & b2] ^ v2[e3[T2++] ^ b2 >> 8 & 255] ^ m2[e3[T2++] ^ b2 >> 16 & 255] ^ p2[e3[T2++] ^ b2 >>> 24] ^ d2[e3[T2++]] ^ u2[e3[T2++]] ^ h2[e3[T2++]] ^ f2[e3[T2++]] ^ l2[e3[T2++]] ^ c2[e3[T2++]] ^ o2[e3[T2++]] ^ i2[e3[T2++]] ^ s2[e3[T2++]] ^ n2[e3[T2++]] ^ a2[e3[T2++]] ^ t2[e3[T2++]];
    for (w2 += 15; T2 < w2; ) b2 = b2 >>> 8 ^ t2[255 & (b2 ^ e3[T2++])];
    return ~b2;
  }, e2.str = function(e3, r3) {
    for (var a3 = -1 ^ r3, n3 = 0, s3 = e3.length, i3 = 0, o3 = 0; n3 < s3; ) (i3 = e3.charCodeAt(n3++)) < 128 ? a3 = a3 >>> 8 ^ t2[255 & (a3 ^ i3)] : i3 < 2048 ? a3 = (a3 = a3 >>> 8 ^ t2[255 & (a3 ^ (192 | i3 >> 6 & 31))]) >>> 8 ^ t2[255 & (a3 ^ (128 | 63 & i3))] : i3 >= 55296 && i3 < 57344 ? (i3 = 64 + (1023 & i3), o3 = 1023 & e3.charCodeAt(n3++), a3 = (a3 = (a3 = (a3 = a3 >>> 8 ^ t2[255 & (a3 ^ (240 | i3 >> 8 & 7))]) >>> 8 ^ t2[255 & (a3 ^ (128 | i3 >> 2 & 63))]) >>> 8 ^ t2[255 & (a3 ^ (128 | o3 >> 6 & 15 | (3 & i3) << 4))]) >>> 8 ^ t2[255 & (a3 ^ (128 | 63 & o3))]) : a3 = (a3 = (a3 = a3 >>> 8 ^ t2[255 & (a3 ^ (224 | i3 >> 12 & 15))]) >>> 8 ^ t2[255 & (a3 ^ (128 | i3 >> 6 & 63))]) >>> 8 ^ t2[255 & (a3 ^ (128 | 63 & i3))];
    return ~a3;
  }, e2;
}(), xe = function() {
  var e2, t2 = {};
  function r2(e3) {
    if ("/" == e3.charAt(e3.length - 1)) return -1 === e3.slice(0, -1).indexOf("/") ? e3 : r2(e3.slice(0, -1));
    var t3 = e3.lastIndexOf("/");
    return -1 === t3 ? e3 : e3.slice(0, t3 + 1);
  }
  function a2(e3) {
    if ("/" == e3.charAt(e3.length - 1)) return a2(e3.slice(0, -1));
    var t3 = e3.lastIndexOf("/");
    return -1 === t3 ? e3 : e3.slice(t3 + 1);
  }
  function n2(e3, t3) {
    "string" == typeof t3 && (t3 = new Date(t3));
    var r3 = t3.getHours();
    r3 = (r3 = r3 << 6 | t3.getMinutes()) << 5 | t3.getSeconds() >>> 1, e3.write_shift(2, r3);
    var a3 = t3.getFullYear() - 1980;
    a3 = (a3 = a3 << 4 | t3.getMonth() + 1) << 5 | t3.getDate(), e3.write_shift(2, a3);
  }
  function s2(e3) {
    oa(e3, 0);
    for (var t3 = {}, r3 = 0; e3.l <= e3.length - 4; ) {
      var a3 = e3.read_shift(2), n3 = e3.read_shift(2), s3 = e3.l + n3, i3 = {};
      switch (a3) {
        case 21589:
          1 & (r3 = e3.read_shift(1)) && (i3.mtime = e3.read_shift(4)), n3 > 5 && (2 & r3 && (i3.atime = e3.read_shift(4)), 4 & r3 && (i3.ctime = e3.read_shift(4))), i3.mtime && (i3.mt = new Date(1e3 * i3.mtime));
          break;
        case 1:
          var o3 = e3.read_shift(4), c3 = e3.read_shift(4);
          i3.usz = c3 * Math.pow(2, 32) + o3, o3 = e3.read_shift(4), c3 = e3.read_shift(4), i3.csz = c3 * Math.pow(2, 32) + o3;
      }
      e3.l = s3, t3[a3] = i3;
    }
    return t3;
  }
  function i2() {
    return e2 || (e2 = _e);
  }
  function o2(e3, t3) {
    if (80 == e3[0] && 75 == e3[1]) return de2(e3, t3);
    if (109 == (32 | e3[0]) && 105 == (32 | e3[1])) return function(e4, t4) {
      if ("mime-version:" != N2(e4.slice(0, 13)).toLowerCase()) throw new Error("Unsupported MAD header");
      var r4 = t4 && t4.root || "", a4 = (w && Buffer.isBuffer(e4) ? e4.toString("binary") : N2(e4)).split("\r\n"), n4 = 0, s4 = "";
      for (n4 = 0; n4 < a4.length; ++n4) if (s4 = a4[n4], /^Content-Location:/i.test(s4) && (s4 = s4.slice(s4.indexOf("file")), r4 || (r4 = s4.slice(0, s4.lastIndexOf("/") + 1)), s4.slice(0, r4.length) != r4)) for (; r4.length > 0 && (r4 = (r4 = r4.slice(0, r4.length - 1)).slice(0, r4.lastIndexOf("/") + 1), s4.slice(0, r4.length) != r4); ) ;
      var i4 = (a4[1] || "").match(/boundary="(.*?)"/);
      if (!i4) throw new Error("MAD cannot find boundary");
      var o4 = "--" + (i4[1] || ""), c3 = [], l3 = [], f3 = { FileIndex: c3, FullPaths: l3 };
      u2(f3);
      var h3, d4 = 0;
      for (n4 = 0; n4 < a4.length; ++n4) {
        var p4 = a4[n4];
        p4 !== o4 && p4 !== o4 + "--" || (d4++ && we2(f3, a4.slice(h3, n4), r4), h3 = n4);
      }
      return f3;
    }(e3, t3);
    if (e3.length < 512) throw new Error("CFB file size " + e3.length + " < 512");
    var r3, a3, n3, s3, i3, o3, d3 = 512, p3 = [], m3 = e3.slice(0, 512);
    oa(m3, 0);
    var v3 = function(e4) {
      if (80 == e4[e4.l] && 75 == e4[e4.l + 1]) return [0, 0];
      e4.chk(S2, "Header Signature: "), e4.l += 16;
      var t4 = e4.read_shift(2, "u");
      return [e4.read_shift(2, "u"), t4];
    }(m3);
    switch (r3 = v3[0]) {
      case 3:
        d3 = 512;
        break;
      case 4:
        d3 = 4096;
        break;
      case 0:
        if (0 == v3[1]) return de2(e3, t3);
      default:
        throw new Error("Major Version: Expected 3 or 4 saw " + r3);
    }
    512 !== d3 && oa(m3 = e3.slice(0, d3), 28);
    var g2 = e3.slice(0, d3);
    !function(e4, t4) {
      var r4 = 9;
      switch (e4.l += 2, r4 = e4.read_shift(2)) {
        case 9:
          if (3 != t4) throw new Error("Sector Shift: Expected 9 saw " + r4);
          break;
        case 12:
          if (4 != t4) throw new Error("Sector Shift: Expected 12 saw " + r4);
          break;
        default:
          throw new Error("Sector Shift: Expected 9 or 12 saw " + r4);
      }
      e4.chk("0600", "Mini Sector Shift: "), e4.chk("000000000000", "Reserved: ");
    }(m3, r3);
    var b2 = m3.read_shift(4, "i");
    if (3 === r3 && 0 !== b2) throw new Error("# Directory Sectors: Expected 0 saw " + b2);
    m3.l += 4, s3 = m3.read_shift(4, "i"), m3.l += 4, m3.chk("00100000", "Mini Stream Cutoff Size: "), i3 = m3.read_shift(4, "i"), a3 = m3.read_shift(4, "i"), o3 = m3.read_shift(4, "i"), n3 = m3.read_shift(4, "i");
    for (var T2 = -1, E2 = 0; E2 < 109 && !((T2 = m3.read_shift(4, "i")) < 0); ++E2) p3[E2] = T2;
    var k2 = function(e4, t4) {
      for (var r4 = Math.ceil(e4.length / t4) - 1, a4 = [], n4 = 1; n4 < r4; ++n4) a4[n4 - 1] = e4.slice(n4 * t4, (n4 + 1) * t4);
      return a4[r4 - 1] = e4.slice(r4 * t4), a4;
    }(e3, d3);
    l2(o3, n3, k2, d3, p3);
    var _2 = function(e4, t4, r4, a4) {
      var n4 = e4.length, s4 = [], i4 = [], o4 = [], c3 = [], l3 = a4 - 1, f3 = 0, h3 = 0, u3 = 0, d4 = 0;
      for (f3 = 0; f3 < n4; ++f3) if (o4 = [], (u3 = f3 + t4) >= n4 && (u3 -= n4), !i4[u3]) {
        c3 = [];
        var p4 = [];
        for (h3 = u3; h3 >= 0; ) {
          p4[h3] = true, i4[h3] = true, o4[o4.length] = h3, c3.push(e4[h3]);
          var m4 = r4[Math.floor(4 * h3 / a4)];
          if (a4 < 4 + (d4 = 4 * h3 & l3)) throw new Error("FAT boundary crossed: " + h3 + " 4 " + a4);
          if (!e4[m4]) break;
          if (p4[h3 = Qr(e4[m4], d4)]) break;
        }
        s4[u3] = { nodes: o4, data: Cr([c3]) };
      }
      return s4;
    }(k2, s3, p3, d3);
    s3 < _2.length && (_2[s3].name = "!Directory"), a3 > 0 && i3 !== y2 && (_2[i3].name = "!MiniFAT"), _2[p3[0]].name = "!FAT", _2.fat_addrs = p3, _2.ssz = d3;
    var x3 = [], A3 = [], C2 = [];
    !function(e4, t4, r4, a4, n4, s4, i4, o4) {
      for (var l3, u3 = 0, d4 = a4.length ? 2 : 0, p4 = t4[e4].data, m4 = 0, v4 = 0; m4 < p4.length; m4 += 128) {
        var g3 = p4.slice(m4, m4 + 128);
        oa(g3, 64), v4 = g3.read_shift(2), l3 = Or(g3, 0, v4 - d4), a4.push(l3);
        var b3 = { name: l3, type: g3.read_shift(1), color: g3.read_shift(1), L: g3.read_shift(4, "i"), R: g3.read_shift(4, "i"), C: g3.read_shift(4, "i"), clsid: g3.read_shift(16), state: g3.read_shift(4, "i"), start: 0, size: 0 };
        0 !== g3.read_shift(2) + g3.read_shift(2) + g3.read_shift(2) + g3.read_shift(2) && (b3.ct = h2(g3, g3.l - 8)), 0 !== g3.read_shift(2) + g3.read_shift(2) + g3.read_shift(2) + g3.read_shift(2) && (b3.mt = h2(g3, g3.l - 8)), b3.start = g3.read_shift(4, "i"), b3.size = g3.read_shift(4, "i"), b3.size < 0 && b3.start < 0 && (b3.size = b3.type = 0, b3.start = y2, b3.name = ""), 5 === b3.type ? (u3 = b3.start, n4 > 0 && u3 !== y2 && (t4[u3].name = "!StreamData")) : b3.size >= 4096 ? (b3.storage = "fat", void 0 === t4[b3.start] && (t4[b3.start] = f2(r4, b3.start, t4.fat_addrs, t4.ssz)), t4[b3.start].name = b3.name, b3.content = t4[b3.start].data.slice(0, b3.size)) : (b3.storage = "minifat", b3.size < 0 ? b3.size = 0 : u3 !== y2 && b3.start !== y2 && t4[u3] && (b3.content = c2(b3, t4[u3].data, (t4[o4] || {}).data))), b3.content && oa(b3.content, 0), s4[l3] = b3, i4.push(b3);
      }
    }(s3, _2, k2, x3, a3, {}, A3, i3), function(e4, t4, r4) {
      for (var a4 = 0, n4 = 0, s4 = 0, i4 = 0, o4 = 0, c3 = r4.length, l3 = [], f3 = []; a4 < c3; ++a4) l3[a4] = f3[a4] = a4, t4[a4] = r4[a4];
      for (; o4 < f3.length; ++o4) n4 = e4[a4 = f3[o4]].L, s4 = e4[a4].R, i4 = e4[a4].C, l3[a4] === a4 && (-1 !== n4 && l3[n4] !== n4 && (l3[a4] = l3[n4]), -1 !== s4 && l3[s4] !== s4 && (l3[a4] = l3[s4])), -1 !== i4 && (l3[i4] = a4), -1 !== n4 && a4 != l3[a4] && (l3[n4] = l3[a4], f3.lastIndexOf(n4) < o4 && f3.push(n4)), -1 !== s4 && a4 != l3[a4] && (l3[s4] = l3[a4], f3.lastIndexOf(s4) < o4 && f3.push(s4));
      for (a4 = 1; a4 < c3; ++a4) l3[a4] === a4 && (-1 !== s4 && l3[s4] !== s4 ? l3[a4] = l3[s4] : -1 !== n4 && l3[n4] !== n4 && (l3[a4] = l3[n4]));
      for (a4 = 1; a4 < c3; ++a4) if (0 !== e4[a4].type) {
        if ((o4 = a4) != l3[o4]) do {
          o4 = l3[o4], t4[a4] = t4[o4] + "/" + t4[a4];
        } while (0 !== o4 && -1 !== l3[o4] && o4 != l3[o4]);
        l3[a4] = -1;
      }
      for (t4[0] += "/", a4 = 1; a4 < c3; ++a4) 2 !== e4[a4].type && (t4[a4] += "/");
    }(A3, C2, x3), x3.shift();
    var I2 = { FileIndex: A3, FullPaths: C2 };
    return t3 && t3.raw && (I2.raw = { header: g2, sectors: k2 }), I2;
  }
  function c2(e3, t3, r3) {
    for (var a3 = e3.start, n3 = e3.size, s3 = [], i3 = a3; r3 && n3 > 0 && i3 >= 0; ) s3.push(t3.slice(i3 * v2, i3 * v2 + v2)), n3 -= v2, i3 = Qr(r3, 4 * i3);
    return 0 === s3.length ? la(0) : C(s3).slice(0, e3.size);
  }
  function l2(e3, t3, r3, a3, n3) {
    var s3 = y2;
    if (e3 === y2) {
      if (0 !== t3) throw new Error("DIFAT chain shorter than expected");
    } else if (-1 !== e3) {
      var i3 = r3[e3], o3 = (a3 >>> 2) - 1;
      if (!i3) return;
      for (var c3 = 0; c3 < o3 && (s3 = Qr(i3, 4 * c3)) !== y2; ++c3) n3.push(s3);
      t3 >= 1 && l2(Qr(i3, a3 - 4), t3 - 1, r3, a3, n3);
    }
  }
  function f2(e3, t3, r3, a3, n3) {
    var s3 = [], i3 = [];
    n3 || (n3 = []);
    var o3 = a3 - 1, c3 = 0, l3 = 0;
    for (c3 = t3; c3 >= 0; ) {
      n3[c3] = true, s3[s3.length] = c3, i3.push(e3[c3]);
      var f3 = r3[Math.floor(4 * c3 / a3)];
      if (a3 < 4 + (l3 = 4 * c3 & o3)) throw new Error("FAT boundary crossed: " + c3 + " 4 " + a3);
      if (!e3[f3]) break;
      c3 = Qr(e3[f3], l3);
    }
    return { nodes: s3, data: Cr([i3]) };
  }
  function h2(e3, t3) {
    return new Date(1e3 * (qr(e3, t3 + 4) / 1e7 * Math.pow(2, 32) + qr(e3, t3) / 1e7 - 11644473600));
  }
  function u2(e3, t3) {
    var r3 = t3 || {}, a3 = r3.root || "Root Entry";
    if (e3.FullPaths || (e3.FullPaths = []), e3.FileIndex || (e3.FileIndex = []), e3.FullPaths.length !== e3.FileIndex.length) throw new Error("inconsistent CFB structure");
    0 === e3.FullPaths.length && (e3.FullPaths[0] = a3 + "/", e3.FileIndex[0] = { name: a3, type: 5 }), r3.CLSID && (e3.FileIndex[0].clsid = r3.CLSID), function(e4) {
      var t4 = "Sh33tJ5";
      if (xe.find(e4, "/" + t4)) return;
      var r4 = la(4);
      r4[0] = 55, r4[1] = r4[3] = 50, r4[2] = 54, e4.FileIndex.push({ name: t4, type: 2, content: r4, size: 4, L: 69, R: 69, C: 69 }), e4.FullPaths.push(e4.FullPaths[0] + t4), d2(e4);
    }(e3);
  }
  function d2(e3, t3) {
    u2(e3);
    for (var n3 = false, s3 = false, i3 = e3.FullPaths.length - 1; i3 >= 0; --i3) {
      var o3 = e3.FileIndex[i3];
      switch (o3.type) {
        case 0:
          s3 ? n3 = true : (e3.FileIndex.pop(), e3.FullPaths.pop());
          break;
        case 1:
        case 2:
        case 5:
          s3 = true, isNaN(o3.R * o3.L * o3.C) && (n3 = true), o3.R > -1 && o3.L > -1 && o3.R == o3.L && (n3 = true);
          break;
        default:
          n3 = true;
      }
    }
    if (n3 || t3) {
      var c3 = new Date(1987, 1, 19), l3 = 0, f3 = Object.create ? /* @__PURE__ */ Object.create(null) : {}, h3 = [];
      for (i3 = 0; i3 < e3.FullPaths.length; ++i3) f3[e3.FullPaths[i3]] = true, 0 !== e3.FileIndex[i3].type && h3.push([e3.FullPaths[i3], e3.FileIndex[i3]]);
      for (i3 = 0; i3 < h3.length; ++i3) {
        var d3 = r2(h3[i3][0]);
        for (s3 = f3[d3]; !s3; ) {
          for (; r2(d3) && !f3[r2(d3)]; ) d3 = r2(d3);
          h3.push([d3, { name: a2(d3).replace("/", ""), type: 1, clsid: A2, ct: c3, mt: c3, content: null }]), f3[d3] = true, s3 = f3[d3 = r2(h3[i3][0])];
        }
      }
      for (h3.sort(function(e4, t4) {
        return function(e5, t5) {
          for (var r3 = e5.split("/"), a3 = t5.split("/"), n4 = 0, s4 = 0, i4 = Math.min(r3.length, a3.length); n4 < i4; ++n4) {
            if (s4 = r3[n4].length - a3[n4].length) return s4;
            if (r3[n4] != a3[n4]) return r3[n4] < a3[n4] ? -1 : 1;
          }
          return r3.length - a3.length;
        }(e4[0], t4[0]);
      }), e3.FullPaths = [], e3.FileIndex = [], i3 = 0; i3 < h3.length; ++i3) e3.FullPaths[i3] = h3[i3][0], e3.FileIndex[i3] = h3[i3][1];
      for (i3 = 0; i3 < h3.length; ++i3) {
        var p3 = e3.FileIndex[i3], m3 = e3.FullPaths[i3];
        if (p3.name = a2(m3).replace("/", ""), p3.L = p3.R = p3.C = -(p3.color = 1), p3.size = p3.content ? p3.content.length : 0, p3.start = 0, p3.clsid = p3.clsid || A2, 0 === i3) p3.C = h3.length > 1 ? 1 : -1, p3.size = 0, p3.type = 5;
        else if ("/" == m3.slice(-1)) {
          for (l3 = i3 + 1; l3 < h3.length && r2(e3.FullPaths[l3]) != m3; ++l3) ;
          for (p3.C = l3 >= h3.length ? -1 : l3, l3 = i3 + 1; l3 < h3.length && r2(e3.FullPaths[l3]) != r2(m3); ++l3) ;
          p3.R = l3 >= h3.length ? -1 : l3, p3.type = 1;
        } else r2(e3.FullPaths[i3 + 1] || "") == r2(m3) && (p3.R = i3 + 1), p3.type = 2;
      }
    }
  }
  function p2(e3, t3) {
    var r3 = t3 || {};
    if ("mad" == r3.fileType) return function(e4, t4) {
      for (var r4 = t4 || {}, a4 = r4.boundary || "SheetJS", n3 = ["MIME-Version: 1.0", 'Content-Type: multipart/related; boundary="' + (a4 = "------=" + a4).slice(2) + '"', "", "", ""], s4 = e4.FullPaths[0], i4 = s4, o4 = e4.FileIndex[0], c4 = 1; c4 < e4.FullPaths.length; ++c4) if (i4 = e4.FullPaths[c4].slice(s4.length), (o4 = e4.FileIndex[c4]).size && o4.content && "Sh33tJ5" != i4) {
        i4 = i4.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7E-\xFF]/g, function(e5) {
          return "_x" + e5.charCodeAt(0).toString(16) + "_";
        }).replace(/[\u0080-\uFFFF]/g, function(e5) {
          return "_u" + e5.charCodeAt(0).toString(16) + "_";
        });
        for (var l4 = o4.content, f4 = w && Buffer.isBuffer(l4) ? l4.toString("binary") : N2(l4), h4 = 0, u4 = Math.min(1024, f4.length), d3 = 0, p4 = 0; p4 <= u4; ++p4) (d3 = f4.charCodeAt(p4)) >= 32 && d3 < 128 && ++h4;
        var m3 = h4 >= 4 * u4 / 5;
        n3.push(a4), n3.push("Content-Location: " + (r4.root || "file:///C:/SheetJS/") + i4), n3.push("Content-Transfer-Encoding: " + (m3 ? "quoted-printable" : "base64")), n3.push("Content-Type: " + ve2(o4, i4)), n3.push(""), n3.push(m3 ? be2(f4) : ge2(f4));
      }
      return n3.push(a4 + "--\r\n"), n3.join("\r\n");
    }(e3, r3);
    if (d2(e3), "zip" === r3.fileType) return function(e4, t4) {
      var r4 = t4 || {}, a4 = [], s4 = [], i4 = la(1), o4 = r4.compression ? 8 : 0, c4 = 0, l4 = 0, f4 = 0, h4 = 0, u4 = 0, d3 = e4.FullPaths[0], p4 = d3, m3 = e4.FileIndex[0], v3 = [], g2 = 0;
      for (l4 = 1; l4 < e4.FullPaths.length; ++l4) if (p4 = e4.FullPaths[l4].slice(d3.length), (m3 = e4.FileIndex[l4]).size && m3.content && (!Array.isArray(m3.content) || 0 != m3.content.length) && "Sh33tJ5" != p4) {
        var b2 = h4, w2 = la(p4.length);
        for (f4 = 0; f4 < p4.length; ++f4) w2.write_shift(1, 127 & p4.charCodeAt(f4));
        w2 = w2.slice(0, w2.l), v3[u4] = "string" == typeof m3.content ? Se.bstr(m3.content, 0) : Se.buf(m3.content, 0);
        var T2 = "string" == typeof m3.content ? _(m3.content) : m3.content;
        8 == o4 && (T2 = F2(T2)), (i4 = la(30)).write_shift(4, 67324752), i4.write_shift(2, 20), i4.write_shift(2, c4), i4.write_shift(2, o4), m3.mt ? n2(i4, m3.mt) : i4.write_shift(4, 0), i4.write_shift(-4, v3[u4]), i4.write_shift(4, T2.length), i4.write_shift(4, m3.content.length), i4.write_shift(2, w2.length), i4.write_shift(2, 0), h4 += i4.length, a4.push(i4), h4 += w2.length, a4.push(w2), h4 += T2.length, a4.push(T2), (i4 = la(46)).write_shift(4, 33639248), i4.write_shift(2, 0), i4.write_shift(2, 20), i4.write_shift(2, c4), i4.write_shift(2, o4), i4.write_shift(4, 0), i4.write_shift(-4, v3[u4]), i4.write_shift(4, T2.length), i4.write_shift(4, m3.content.length), i4.write_shift(2, w2.length), i4.write_shift(2, 0), i4.write_shift(2, 0), i4.write_shift(2, 0), i4.write_shift(2, 0), i4.write_shift(4, 0), i4.write_shift(4, b2), g2 += i4.l, s4.push(i4), g2 += w2.length, s4.push(w2), ++u4;
      }
      return i4 = la(22), i4.write_shift(4, 101010256), i4.write_shift(2, 0), i4.write_shift(2, 0), i4.write_shift(2, u4), i4.write_shift(2, u4), i4.write_shift(4, g2), i4.write_shift(4, h4), i4.write_shift(2, 0), C([C(a4), C(s4), i4]);
    }(e3, r3);
    var a3 = function(e4) {
      for (var t4 = 0, r4 = 0, a4 = 0; a4 < e4.FileIndex.length; ++a4) {
        var n3 = e4.FileIndex[a4];
        if (n3.content) {
          var s4 = n3.content.length;
          s4 > 0 && (s4 < 4096 ? t4 += s4 + 63 >> 6 : r4 += s4 + 511 >> 9);
        }
      }
      for (var i4 = e4.FullPaths.length + 3 >> 2, o4 = t4 + 127 >> 7, c4 = (t4 + 7 >> 3) + r4 + i4 + o4, l4 = c4 + 127 >> 7, f4 = l4 <= 109 ? 0 : Math.ceil((l4 - 109) / 127); c4 + l4 + f4 + 127 >> 7 > l4; ) f4 = ++l4 <= 109 ? 0 : Math.ceil((l4 - 109) / 127);
      var h4 = [1, f4, l4, o4, i4, r4, t4, 0];
      return e4.FileIndex[0].size = t4 << 6, h4[7] = (e4.FileIndex[0].start = h4[0] + h4[1] + h4[2] + h4[3] + h4[4] + h4[5]) + (h4[6] + 7 >> 3), h4;
    }(e3), s3 = la(a3[7] << 9), i3 = 0, o3 = 0;
    for (i3 = 0; i3 < 8; ++i3) s3.write_shift(1, x2[i3]);
    for (i3 = 0; i3 < 8; ++i3) s3.write_shift(2, 0);
    for (s3.write_shift(2, 62), s3.write_shift(2, 3), s3.write_shift(2, 65534), s3.write_shift(2, 9), s3.write_shift(2, 6), i3 = 0; i3 < 3; ++i3) s3.write_shift(2, 0);
    for (s3.write_shift(4, 0), s3.write_shift(4, a3[2]), s3.write_shift(4, a3[0] + a3[1] + a3[2] + a3[3] - 1), s3.write_shift(4, 0), s3.write_shift(4, 4096), s3.write_shift(4, a3[3] ? a3[0] + a3[1] + a3[2] - 1 : y2), s3.write_shift(4, a3[3]), s3.write_shift(-4, a3[1] ? a3[0] - 1 : y2), s3.write_shift(4, a3[1]), i3 = 0; i3 < 109; ++i3) s3.write_shift(-4, i3 < a3[2] ? a3[1] + i3 : -1);
    if (a3[1]) for (o3 = 0; o3 < a3[1]; ++o3) {
      for (; i3 < 236 + 127 * o3; ++i3) s3.write_shift(-4, i3 < a3[2] ? a3[1] + i3 : -1);
      s3.write_shift(-4, o3 === a3[1] - 1 ? y2 : o3 + 1);
    }
    var c3 = function(e4) {
      for (o3 += e4; i3 < o3 - 1; ++i3) s3.write_shift(-4, i3 + 1);
      e4 && (++i3, s3.write_shift(-4, y2));
    };
    for (o3 = i3 = 0, o3 += a3[1]; i3 < o3; ++i3) s3.write_shift(-4, R2.DIFSECT);
    for (o3 += a3[2]; i3 < o3; ++i3) s3.write_shift(-4, R2.FATSECT);
    c3(a3[3]), c3(a3[4]);
    for (var l3 = 0, f3 = 0, h3 = e3.FileIndex[0]; l3 < e3.FileIndex.length; ++l3) (h3 = e3.FileIndex[l3]).content && ((f3 = h3.content.length) < 4096 || (h3.start = o3, c3(f3 + 511 >> 9)));
    for (c3(a3[6] + 7 >> 3); 511 & s3.l; ) s3.write_shift(-4, R2.ENDOFCHAIN);
    for (o3 = i3 = 0, l3 = 0; l3 < e3.FileIndex.length; ++l3) (h3 = e3.FileIndex[l3]).content && (!(f3 = h3.content.length) || f3 >= 4096 || (h3.start = o3, c3(f3 + 63 >> 6)));
    for (; 511 & s3.l; ) s3.write_shift(-4, R2.ENDOFCHAIN);
    for (i3 = 0; i3 < a3[4] << 2; ++i3) {
      var u3 = e3.FullPaths[i3];
      if (u3 && 0 !== u3.length) {
        h3 = e3.FileIndex[i3], 0 === i3 && (h3.start = h3.size ? h3.start - 1 : y2);
        var p3 = 0 === i3 && r3.root || h3.name;
        if (p3.length > 31 && (console.error("Name " + p3 + " will be truncated to " + p3.slice(0, 31)), p3 = p3.slice(0, 31)), f3 = 2 * (p3.length + 1), s3.write_shift(64, p3, "utf16le"), s3.write_shift(2, f3), s3.write_shift(1, h3.type), s3.write_shift(1, h3.color), s3.write_shift(-4, h3.L), s3.write_shift(-4, h3.R), s3.write_shift(-4, h3.C), h3.clsid) s3.write_shift(16, h3.clsid, "hex");
        else for (l3 = 0; l3 < 4; ++l3) s3.write_shift(4, 0);
        s3.write_shift(4, h3.state || 0), s3.write_shift(4, 0), s3.write_shift(4, 0), s3.write_shift(4, 0), s3.write_shift(4, 0), s3.write_shift(4, h3.start), s3.write_shift(4, h3.size), s3.write_shift(4, 0);
      } else {
        for (l3 = 0; l3 < 17; ++l3) s3.write_shift(4, 0);
        for (l3 = 0; l3 < 3; ++l3) s3.write_shift(4, -1);
        for (l3 = 0; l3 < 12; ++l3) s3.write_shift(4, 0);
      }
    }
    for (i3 = 1; i3 < e3.FileIndex.length; ++i3) if ((h3 = e3.FileIndex[i3]).size >= 4096) if (s3.l = h3.start + 1 << 9, w && Buffer.isBuffer(h3.content)) h3.content.copy(s3, s3.l, 0, h3.size), s3.l += h3.size + 511 & -512;
    else {
      for (l3 = 0; l3 < h3.size; ++l3) s3.write_shift(1, h3.content[l3]);
      for (; 511 & l3; ++l3) s3.write_shift(1, 0);
    }
    for (i3 = 1; i3 < e3.FileIndex.length; ++i3) if ((h3 = e3.FileIndex[i3]).size > 0 && h3.size < 4096) if (w && Buffer.isBuffer(h3.content)) h3.content.copy(s3, s3.l, 0, h3.size), s3.l += h3.size + 63 & -64;
    else {
      for (l3 = 0; l3 < h3.size; ++l3) s3.write_shift(1, h3.content[l3]);
      for (; 63 & l3; ++l3) s3.write_shift(1, 0);
    }
    if (w) s3.l = s3.length;
    else for (; s3.l < s3.length; ) s3.write_shift(1, 0);
    return s3;
  }
  t2.version = "1.2.2";
  var m2, v2 = 64, y2 = -2, S2 = "d0cf11e0a1b11ae1", x2 = [208, 207, 17, 224, 161, 177, 26, 225], A2 = "00000000000000000000000000000000", R2 = { MAXREGSECT: -6, DIFSECT: -4, FATSECT: -3, ENDOFCHAIN: y2, FREESECT: -1, HEADER_SIGNATURE: S2, HEADER_MINOR_VERSION: "3e00", MAXREGSID: -6, NOSTREAM: -1, HEADER_CLSID: A2, EntryTypes: ["unknown", "storage", "stream", "lockbytes", "property", "root"] };
  function N2(e3) {
    for (var t3 = new Array(e3.length), r3 = 0; r3 < e3.length; ++r3) t3[r3] = String.fromCharCode(e3[r3]);
    return t3.join("");
  }
  function F2(e3) {
    return m2 ? m2.deflateRawSync(e3) : ne2(e3);
  }
  var D2 = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], P2 = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258], M2 = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577];
  function L2(e3) {
    var t3 = 139536 & (e3 << 1 | e3 << 11) | 558144 & (e3 << 5 | e3 << 15);
    return 255 & (t3 >> 16 | t3 >> 8 | t3);
  }
  for (var U2 = "undefined" != typeof Uint8Array, B2 = U2 ? new Uint8Array(256) : [], W2 = 0; W2 < 256; ++W2) B2[W2] = L2(W2);
  function z2(e3, t3) {
    var r3 = B2[255 & e3];
    return t3 <= 8 ? r3 >>> 8 - t3 : (r3 = r3 << 8 | B2[e3 >> 8 & 255], t3 <= 16 ? r3 >>> 16 - t3 : (r3 = r3 << 8 | B2[e3 >> 16 & 255]) >>> 24 - t3);
  }
  function H2(e3, t3) {
    var r3 = 7 & t3, a3 = t3 >>> 3;
    return (e3[a3] | (r3 <= 6 ? 0 : e3[a3 + 1] << 8)) >>> r3 & 3;
  }
  function V2(e3, t3) {
    var r3 = 7 & t3, a3 = t3 >>> 3;
    return (e3[a3] | (r3 <= 5 ? 0 : e3[a3 + 1] << 8)) >>> r3 & 7;
  }
  function $2(e3, t3) {
    var r3 = 7 & t3, a3 = t3 >>> 3;
    return (e3[a3] | (r3 <= 3 ? 0 : e3[a3 + 1] << 8)) >>> r3 & 31;
  }
  function G2(e3, t3) {
    var r3 = 7 & t3, a3 = t3 >>> 3;
    return (e3[a3] | (r3 <= 1 ? 0 : e3[a3 + 1] << 8)) >>> r3 & 127;
  }
  function X2(e3, t3, r3) {
    var a3 = 7 & t3, n3 = t3 >>> 3, s3 = (1 << r3) - 1, i3 = e3[n3] >>> a3;
    return r3 < 8 - a3 ? i3 & s3 : (i3 |= e3[n3 + 1] << 8 - a3, r3 < 16 - a3 ? i3 & s3 : (i3 |= e3[n3 + 2] << 16 - a3, r3 < 24 - a3 ? i3 & s3 : (i3 |= e3[n3 + 3] << 24 - a3) & s3));
  }
  function j2(e3, t3, r3) {
    var a3 = 7 & t3, n3 = t3 >>> 3;
    return a3 <= 5 ? e3[n3] |= (7 & r3) << a3 : (e3[n3] |= r3 << a3 & 255, e3[n3 + 1] = (7 & r3) >> 8 - a3), t3 + 3;
  }
  function K2(e3, t3, r3) {
    return r3 = (1 & r3) << (7 & t3), e3[t3 >>> 3] |= r3, t3 + 1;
  }
  function Y2(e3, t3, r3) {
    var a3 = t3 >>> 3;
    return r3 <<= 7 & t3, e3[a3] |= 255 & r3, r3 >>>= 8, e3[a3 + 1] = r3, t3 + 8;
  }
  function Z2(e3, t3, r3) {
    var a3 = t3 >>> 3;
    return r3 <<= 7 & t3, e3[a3] |= 255 & r3, r3 >>>= 8, e3[a3 + 1] = 255 & r3, e3[a3 + 2] = r3 >>> 8, t3 + 16;
  }
  function J2(e3, t3) {
    var r3 = e3.length, a3 = 2 * r3 > t3 ? 2 * r3 : t3 + 5, n3 = 0;
    if (r3 >= t3) return e3;
    if (w) {
      var s3 = k(a3);
      if (e3.copy) e3.copy(s3);
      else for (; n3 < e3.length; ++n3) s3[n3] = e3[n3];
      return s3;
    }
    if (U2) {
      var i3 = new Uint8Array(a3);
      if (i3.set) i3.set(e3);
      else for (; n3 < r3; ++n3) i3[n3] = e3[n3];
      return i3;
    }
    return e3.length = a3, e3;
  }
  function q2(e3) {
    for (var t3 = new Array(e3), r3 = 0; r3 < e3; ++r3) t3[r3] = 0;
    return t3;
  }
  function Q2(e3, t3, r3) {
    var a3 = 1, n3 = 0, s3 = 0, i3 = 0, o3 = 0, c3 = e3.length, l3 = U2 ? new Uint16Array(32) : q2(32);
    for (s3 = 0; s3 < 32; ++s3) l3[s3] = 0;
    for (s3 = c3; s3 < r3; ++s3) e3[s3] = 0;
    c3 = e3.length;
    var f3 = U2 ? new Uint16Array(c3) : q2(c3);
    for (s3 = 0; s3 < c3; ++s3) l3[n3 = e3[s3]]++, a3 < n3 && (a3 = n3), f3[s3] = 0;
    for (l3[0] = 0, s3 = 1; s3 <= a3; ++s3) l3[s3 + 16] = o3 = o3 + l3[s3 - 1] << 1;
    for (s3 = 0; s3 < c3; ++s3) 0 != (o3 = e3[s3]) && (f3[s3] = l3[o3 + 16]++);
    var h3 = 0;
    for (s3 = 0; s3 < c3; ++s3) if (0 != (h3 = e3[s3])) for (o3 = z2(f3[s3], a3) >> a3 - h3, i3 = (1 << a3 + 4 - h3) - 1; i3 >= 0; --i3) t3[o3 | i3 << h3] = 15 & h3 | s3 << 4;
    return a3;
  }
  var ee2 = U2 ? new Uint16Array(512) : q2(512), te2 = U2 ? new Uint16Array(32) : q2(32);
  if (!U2) {
    for (var re2 = 0; re2 < 512; ++re2) ee2[re2] = 0;
    for (re2 = 0; re2 < 32; ++re2) te2[re2] = 0;
  }
  !function() {
    for (var e3 = [], t3 = 0; t3 < 32; t3++) e3.push(5);
    Q2(e3, te2, 32);
    var r3 = [];
    for (t3 = 0; t3 <= 143; t3++) r3.push(8);
    for (; t3 <= 255; t3++) r3.push(9);
    for (; t3 <= 279; t3++) r3.push(7);
    for (; t3 <= 287; t3++) r3.push(8);
    Q2(r3, ee2, 288);
  }();
  var ae2 = function() {
    for (var e3 = U2 ? new Uint8Array(32768) : [], t3 = 0, r3 = 0; t3 < M2.length - 1; ++t3) for (; r3 < M2[t3 + 1]; ++r3) e3[r3] = t3;
    for (; r3 < 32768; ++r3) e3[r3] = 29;
    var a3 = U2 ? new Uint8Array(259) : [];
    for (t3 = 0, r3 = 0; t3 < P2.length - 1; ++t3) for (; r3 < P2[t3 + 1]; ++r3) a3[r3] = t3;
    return function(t4, r4) {
      return t4.length < 8 ? function(e4, t5) {
        for (var r5 = 0; r5 < e4.length; ) {
          var a4 = Math.min(65535, e4.length - r5), n3 = r5 + a4 == e4.length;
          for (t5.write_shift(1, +n3), t5.write_shift(2, a4), t5.write_shift(2, 65535 & ~a4); a4-- > 0; ) t5[t5.l++] = e4[r5++];
        }
        return t5.l;
      }(t4, r4) : function(t5, r5) {
        for (var n3 = 0, s3 = 0, i3 = U2 ? new Uint16Array(32768) : []; s3 < t5.length; ) {
          var o3 = Math.min(65535, t5.length - s3);
          if (o3 < 10) {
            for (7 & (n3 = j2(r5, n3, +!(s3 + o3 != t5.length))) && (n3 += 8 - (7 & n3)), r5.l = n3 / 8 | 0, r5.write_shift(2, o3), r5.write_shift(2, 65535 & ~o3); o3-- > 0; ) r5[r5.l++] = t5[s3++];
            n3 = 8 * r5.l;
          } else {
            n3 = j2(r5, n3, +!(s3 + o3 != t5.length) + 2);
            for (var c3 = 0; o3-- > 0; ) {
              var l3 = t5[s3], f3 = -1, h3 = 0;
              if ((f3 = i3[c3 = 32767 & (c3 << 5 ^ l3)]) && ((f3 |= -32768 & s3) > s3 && (f3 -= 32768), f3 < s3)) for (; t5[f3 + h3] == t5[s3 + h3] && h3 < 250; ) ++h3;
              if (h3 > 2) {
                (l3 = a3[h3]) <= 22 ? n3 = Y2(r5, n3, B2[l3 + 1] >> 1) - 1 : (Y2(r5, n3, 3), Y2(r5, n3 += 5, B2[l3 - 23] >> 5), n3 += 3);
                var u3 = l3 < 8 ? 0 : l3 - 4 >> 2;
                u3 > 0 && (Z2(r5, n3, h3 - P2[l3]), n3 += u3), l3 = e3[s3 - f3], n3 = Y2(r5, n3, B2[l3] >> 3), n3 -= 3;
                var d3 = l3 < 4 ? 0 : l3 - 2 >> 1;
                d3 > 0 && (Z2(r5, n3, s3 - f3 - M2[l3]), n3 += d3);
                for (var p3 = 0; p3 < h3; ++p3) i3[c3] = 32767 & s3, c3 = 32767 & (c3 << 5 ^ t5[s3]), ++s3;
                o3 -= h3 - 1;
              } else l3 <= 143 ? l3 += 48 : n3 = K2(r5, n3, 1), n3 = Y2(r5, n3, B2[l3]), i3[c3] = 32767 & s3, ++s3;
            }
            n3 = Y2(r5, n3, 0) - 1;
          }
        }
        return r5.l = (n3 + 7) / 8 | 0, r5.l;
      }(t4, r4);
    };
  }();
  function ne2(e3) {
    var t3 = la(50 + Math.floor(1.1 * e3.length)), r3 = ae2(e3, t3);
    return t3.slice(0, r3);
  }
  var se2 = U2 ? new Uint16Array(32768) : q2(32768), ie2 = U2 ? new Uint16Array(32768) : q2(32768), oe2 = U2 ? new Uint16Array(128) : q2(128), ce2 = 1, le2 = 1;
  function fe2(e3, t3) {
    var r3 = $2(e3, t3) + 257, a3 = $2(e3, t3 += 5) + 1, n3 = function(e4, t4) {
      var r4 = 7 & t4, a4 = t4 >>> 3;
      return (e4[a4] | (r4 <= 4 ? 0 : e4[a4 + 1] << 8)) >>> r4 & 15;
    }(e3, t3 += 5) + 4;
    t3 += 4;
    for (var s3 = 0, i3 = U2 ? new Uint8Array(19) : q2(19), o3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], c3 = 1, l3 = U2 ? new Uint8Array(8) : q2(8), f3 = U2 ? new Uint8Array(8) : q2(8), h3 = i3.length, u3 = 0; u3 < n3; ++u3) i3[D2[u3]] = s3 = V2(e3, t3), c3 < s3 && (c3 = s3), l3[s3]++, t3 += 3;
    var d3 = 0;
    for (l3[0] = 0, u3 = 1; u3 <= c3; ++u3) f3[u3] = d3 = d3 + l3[u3 - 1] << 1;
    for (u3 = 0; u3 < h3; ++u3) 0 != (d3 = i3[u3]) && (o3[u3] = f3[d3]++);
    var p3 = 0;
    for (u3 = 0; u3 < h3; ++u3) if (0 != (p3 = i3[u3])) {
      d3 = B2[o3[u3]] >> 8 - p3;
      for (var m3 = (1 << 7 - p3) - 1; m3 >= 0; --m3) oe2[d3 | m3 << p3] = 7 & p3 | u3 << 3;
    }
    var v3 = [];
    for (c3 = 1; v3.length < r3 + a3; ) switch (t3 += 7 & (d3 = oe2[G2(e3, t3)]), d3 >>>= 3) {
      case 16:
        for (s3 = 3 + H2(e3, t3), t3 += 2, d3 = v3[v3.length - 1]; s3-- > 0; ) v3.push(d3);
        break;
      case 17:
        for (s3 = 3 + V2(e3, t3), t3 += 3; s3-- > 0; ) v3.push(0);
        break;
      case 18:
        for (s3 = 11 + G2(e3, t3), t3 += 7; s3-- > 0; ) v3.push(0);
        break;
      default:
        v3.push(d3), c3 < d3 && (c3 = d3);
    }
    var g2 = v3.slice(0, r3), b2 = v3.slice(r3);
    for (u3 = r3; u3 < 286; ++u3) g2[u3] = 0;
    for (u3 = a3; u3 < 30; ++u3) b2[u3] = 0;
    return ce2 = Q2(g2, se2, 286), le2 = Q2(b2, ie2, 30), t3;
  }
  function he2(e3, t3) {
    var r3 = function(e4, t4) {
      if (3 == e4[0] && !(3 & e4[1])) return [E(t4), 2];
      for (var r4 = 0, a3 = 0, n3 = k(t4 || 1 << 18), s3 = 0, i3 = n3.length >>> 0, o3 = 0, c3 = 0; !(1 & a3); ) if (a3 = V2(e4, r4), r4 += 3, a3 >>> 1 != 0) for (a3 >> 1 == 1 ? (o3 = 9, c3 = 5) : (r4 = fe2(e4, r4), o3 = ce2, c3 = le2); ; ) {
        !t4 && i3 < s3 + 32767 && (i3 = (n3 = J2(n3, s3 + 32767)).length);
        var l3 = X2(e4, r4, o3), f3 = a3 >>> 1 == 1 ? ee2[l3] : se2[l3];
        if (r4 += 15 & f3, (f3 >>>= 4) >>> 8 & 255) {
          if (256 == f3) break;
          var h3 = (f3 -= 257) < 8 ? 0 : f3 - 4 >> 2;
          h3 > 5 && (h3 = 0);
          var u3 = s3 + P2[f3];
          h3 > 0 && (u3 += X2(e4, r4, h3), r4 += h3), l3 = X2(e4, r4, c3), r4 += 15 & (f3 = a3 >>> 1 == 1 ? te2[l3] : ie2[l3]);
          var d3 = (f3 >>>= 4) < 4 ? 0 : f3 - 2 >> 1, p3 = M2[f3];
          for (d3 > 0 && (p3 += X2(e4, r4, d3), r4 += d3), !t4 && i3 < u3 && (i3 = (n3 = J2(n3, u3 + 100)).length); s3 < u3; ) n3[s3] = n3[s3 - p3], ++s3;
        } else n3[s3++] = f3;
      }
      else {
        7 & r4 && (r4 += 8 - (7 & r4));
        var m3 = e4[r4 >>> 3] | e4[(r4 >>> 3) + 1] << 8;
        if (r4 += 32, m3 > 0) for (!t4 && i3 < s3 + m3 && (i3 = (n3 = J2(n3, s3 + m3)).length); m3-- > 0; ) n3[s3++] = e4[r4 >>> 3], r4 += 8;
      }
      return t4 ? [n3, r4 + 7 >>> 3] : [n3.slice(0, s3), r4 + 7 >>> 3];
    }(e3.slice(e3.l || 0), t3);
    return e3.l += r3[1], r3[0];
  }
  function ue2(e3, t3) {
    if (!e3) throw new Error(t3);
    "undefined" != typeof console && console.error(t3);
  }
  function de2(e3, t3) {
    var r3 = e3;
    oa(r3, 0);
    var a3 = { FileIndex: [], FullPaths: [] };
    u2(a3, { root: t3.root });
    for (var n3 = r3.length - 4; (80 != r3[n3] || 75 != r3[n3 + 1] || 5 != r3[n3 + 2] || 6 != r3[n3 + 3]) && n3 >= 0; ) --n3;
    r3.l = n3 + 4, r3.l += 4;
    var i3 = r3.read_shift(2);
    r3.l += 6;
    var o3 = r3.read_shift(4);
    for (r3.l = o3, n3 = 0; n3 < i3; ++n3) {
      r3.l += 20;
      var c3 = r3.read_shift(4), l3 = r3.read_shift(4), f3 = r3.read_shift(2), h3 = r3.read_shift(2), d3 = r3.read_shift(2);
      r3.l += 8;
      var p3 = r3.read_shift(4), m3 = s2(r3.slice(r3.l + f3, r3.l + f3 + h3));
      r3.l += f3 + h3 + d3;
      var v3 = r3.l;
      r3.l = p3 + 4, m3 && m3[1] && ((m3[1] || {}).usz && (l3 = m3[1].usz), (m3[1] || {}).csz && (c3 = m3[1].csz)), pe2(r3, c3, l3, a3, m3), r3.l = v3;
    }
    return a3;
  }
  function pe2(e3, t3, r3, a3, n3) {
    e3.l += 2;
    var i3 = e3.read_shift(2), o3 = e3.read_shift(2), c3 = function(e4) {
      var t4 = 65535 & e4.read_shift(2), r4 = 65535 & e4.read_shift(2), a4 = /* @__PURE__ */ new Date(), n4 = 31 & r4, s3 = 15 & (r4 >>>= 5);
      r4 >>>= 4, a4.setMilliseconds(0), a4.setFullYear(r4 + 1980), a4.setMonth(s3 - 1), a4.setDate(n4);
      var i4 = 31 & t4, o4 = 63 & (t4 >>>= 5);
      return t4 >>>= 6, a4.setHours(t4), a4.setMinutes(o4), a4.setSeconds(i4 << 1), a4;
    }(e3);
    if (8257 & i3) throw new Error("Unsupported ZIP encryption");
    e3.read_shift(4);
    for (var l3 = e3.read_shift(4), f3 = e3.read_shift(4), h3 = e3.read_shift(2), u3 = e3.read_shift(2), d3 = "", p3 = 0; p3 < h3; ++p3) d3 += String.fromCharCode(e3[e3.l++]);
    if (u3) {
      var v3 = s2(e3.slice(e3.l, e3.l + u3));
      (v3[21589] || {}).mt && (c3 = v3[21589].mt), (v3[1] || {}).usz && (f3 = v3[1].usz), (v3[1] || {}).csz && (l3 = v3[1].csz), n3 && ((n3[21589] || {}).mt && (c3 = n3[21589].mt), (n3[1] || {}).usz && (f3 = n3[1].usz), (n3[1] || {}).csz && (l3 = n3[1].csz));
    }
    e3.l += u3;
    var g2 = e3.slice(e3.l, e3.l + l3);
    switch (o3) {
      case 8:
        g2 = function(e4, t4) {
          if (!m2) return he2(e4, t4);
          var r4 = new (0, m2.InflateRaw)(), a4 = r4._processChunk(e4.slice(e4.l), r4._finishFlushFlag);
          return e4.l += r4.bytesRead, a4;
        }(e3, f3);
        break;
      case 0:
        e3.l += l3;
        break;
      default:
        throw new Error("Unsupported ZIP Compression method " + o3);
    }
    var b2 = false;
    8 & i3 && (134695760 == e3.read_shift(4) && (e3.read_shift(4), b2 = true), l3 = e3.read_shift(4), f3 = e3.read_shift(4)), l3 != t3 && ue2(b2, "Bad compressed size: " + t3 + " != " + l3), f3 != r3 && ue2(b2, "Bad uncompressed size: " + r3 + " != " + f3), Te2(a3, d3, g2, { unsafe: true, mt: c3 });
  }
  var me2 = { htm: "text/html", xml: "text/xml", gif: "image/gif", jpg: "image/jpeg", png: "image/png", mso: "application/x-mso", thmx: "application/vnd.ms-officetheme", sh33tj5: "application/octet-stream" };
  function ve2(e3, t3) {
    if (e3.ctype) return e3.ctype;
    var r3 = e3.name || "", a3 = r3.match(/\.([^\.]+)$/);
    return a3 && me2[a3[1]] || t3 && (a3 = (r3 = t3).match(/[\.\\]([^\.\\])+$/)) && me2[a3[1]] ? me2[a3[1]] : "application/octet-stream";
  }
  function ge2(e3) {
    for (var t3 = g(e3), r3 = [], a3 = 0; a3 < t3.length; a3 += 76) r3.push(t3.slice(a3, a3 + 76));
    return r3.join("\r\n") + "\r\n";
  }
  function be2(e3) {
    var t3 = e3.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7E-\xFF=]/g, function(e4) {
      var t4 = e4.charCodeAt(0).toString(16).toUpperCase();
      return "=" + (1 == t4.length ? "0" + t4 : t4);
    });
    "\n" == (t3 = t3.replace(/ $/gm, "=20").replace(/\t$/gm, "=09")).charAt(0) && (t3 = "=0D" + t3.slice(1));
    for (var r3 = [], a3 = (t3 = t3.replace(/\r(?!\n)/gm, "=0D").replace(/\n\n/gm, "\n=0A").replace(/([^\r\n])\n/gm, "$1=0A")).split("\r\n"), n3 = 0; n3 < a3.length; ++n3) {
      var s3 = a3[n3];
      if (0 != s3.length) for (var i3 = 0; i3 < s3.length; ) {
        var o3 = 76, c3 = s3.slice(i3, i3 + o3);
        "=" == c3.charAt(o3 - 1) ? o3-- : "=" == c3.charAt(o3 - 2) ? o3 -= 2 : "=" == c3.charAt(o3 - 3) && (o3 -= 3), c3 = s3.slice(i3, i3 + o3), (i3 += o3) < s3.length && (c3 += "="), r3.push(c3);
      }
      else r3.push("");
    }
    return r3.join("\r\n");
  }
  function we2(e3, t3, r3) {
    for (var a3, n3 = "", s3 = "", i3 = "", o3 = 0; o3 < 10; ++o3) {
      var c3 = t3[o3];
      if (!c3 || c3.match(/^\s*$/)) break;
      var l3 = c3.match(/^([^:]*?):\s*([^\s].*)$/);
      if (l3) switch (l3[1].toLowerCase()) {
        case "content-location":
          n3 = l3[2].trim();
          break;
        case "content-type":
          i3 = l3[2].trim();
          break;
        case "content-transfer-encoding":
          s3 = l3[2].trim();
      }
    }
    switch (++o3, s3.toLowerCase()) {
      case "base64":
        a3 = _(b(t3.slice(o3).join("")));
        break;
      case "quoted-printable":
        a3 = function(e4) {
          for (var t4 = [], r4 = 0; r4 < e4.length; ++r4) {
            for (var a4 = e4[r4]; r4 <= e4.length && "=" == a4.charAt(a4.length - 1); ) a4 = a4.slice(0, a4.length - 1) + e4[++r4];
            t4.push(a4);
          }
          for (var n4 = 0; n4 < t4.length; ++n4) t4[n4] = t4[n4].replace(/[=][0-9A-Fa-f]{2}/g, function(e5) {
            return String.fromCharCode(parseInt(e5.slice(1), 16));
          });
          return _(t4.join("\r\n"));
        }(t3.slice(o3));
        break;
      default:
        throw new Error("Unsupported Content-Transfer-Encoding " + s3);
    }
    var f3 = Te2(e3, n3.slice(r3.length), a3, { unsafe: true });
    i3 && (f3.ctype = i3);
  }
  function Te2(e3, t3, r3, n3) {
    var s3 = n3 && n3.unsafe;
    s3 || u2(e3);
    var i3 = !s3 && xe.find(e3, t3);
    if (!i3) {
      var o3 = e3.FullPaths[0];
      t3.slice(0, o3.length) == o3 ? o3 = t3 : ("/" != o3.slice(-1) && (o3 += "/"), o3 = (o3 + t3).replace("//", "/")), i3 = { name: a2(t3), type: 2 }, e3.FileIndex.push(i3), e3.FullPaths.push(o3), s3 || xe.utils.cfb_gc(e3);
    }
    return i3.content = r3, i3.size = r3 ? r3.length : 0, n3 && (n3.CLSID && (i3.clsid = n3.CLSID), n3.mt && (i3.mt = n3.mt), n3.ct && (i3.ct = n3.ct)), i3;
  }
  return t2.find = function(e3, t3) {
    var r3 = e3.FullPaths.map(function(e4) {
      return e4.toUpperCase();
    }), a3 = r3.map(function(e4) {
      var t4 = e4.split("/");
      return t4[t4.length - ("/" == e4.slice(-1) ? 2 : 1)];
    }), n3 = false;
    47 === t3.charCodeAt(0) ? (n3 = true, t3 = r3[0].slice(0, -1) + t3) : n3 = -1 !== t3.indexOf("/");
    var s3 = t3.toUpperCase(), i3 = true === n3 ? r3.indexOf(s3) : a3.indexOf(s3);
    if (-1 !== i3) return e3.FileIndex[i3];
    var o3 = !s3.match(O);
    for (s3 = s3.replace(I, ""), o3 && (s3 = s3.replace(O, "!")), i3 = 0; i3 < r3.length; ++i3) {
      if ((o3 ? r3[i3].replace(O, "!") : r3[i3]).replace(I, "") == s3) return e3.FileIndex[i3];
      if ((o3 ? a3[i3].replace(O, "!") : a3[i3]).replace(I, "") == s3) return e3.FileIndex[i3];
    }
    return null;
  }, t2.read = function(t3, r3) {
    var a3 = r3 && r3.type;
    switch (a3 || w && Buffer.isBuffer(t3) && (a3 = "buffer"), a3 || "base64") {
      case "file":
        return function(t4, r4) {
          return i2(), o2(e2.readFileSync(t4), r4);
        }(t3, r3);
      case "base64":
        return o2(_(b(t3)), r3);
      case "binary":
        return o2(_(t3), r3);
    }
    return o2(t3, r3);
  }, t2.parse = o2, t2.write = function(t3, r3) {
    var a3 = p2(t3, r3);
    switch (r3 && r3.type || "buffer") {
      case "file":
        return i2(), e2.writeFileSync(r3.filename, a3), a3;
      case "binary":
        return "string" == typeof a3 ? a3 : N2(a3);
      case "base64":
        return g("string" == typeof a3 ? a3 : N2(a3));
      case "buffer":
        if (w) return Buffer.isBuffer(a3) ? a3 : T(a3);
      case "array":
        return "string" == typeof a3 ? _(a3) : a3;
    }
    return a3;
  }, t2.writeFile = function(t3, r3, a3) {
    i2();
    var n3 = p2(t3, a3);
    e2.writeFileSync(r3, n3);
  }, t2.utils = { cfb_new: function(e3) {
    var t3 = {};
    return u2(t3, e3), t3;
  }, cfb_add: Te2, cfb_del: function(e3, t3) {
    u2(e3);
    var r3 = xe.find(e3, t3);
    if (r3) {
      for (var a3 = 0; a3 < e3.FileIndex.length; ++a3) if (e3.FileIndex[a3] == r3) return e3.FileIndex.splice(a3, 1), e3.FullPaths.splice(a3, 1), true;
    }
    return false;
  }, cfb_mov: function(e3, t3, r3) {
    u2(e3);
    var n3 = xe.find(e3, t3);
    if (n3) {
      for (var s3 = 0; s3 < e3.FileIndex.length; ++s3) if (e3.FileIndex[s3] == n3) return e3.FileIndex[s3].name = a2(r3), e3.FullPaths[s3] = r3, true;
    }
    return false;
  }, cfb_gc: function(e3) {
    d2(e3, true);
  }, ReadShift: ta, CheckField: ia, prep_blob: oa, bconcat: C, use_zlib: function(e3) {
    try {
      var t3 = new (0, e3.InflateRaw)();
      if (t3._processChunk(new Uint8Array([3, 0]), t3._finishFlushFlag), !t3.bytesRead) throw new Error("zlib does not expose bytesRead");
      m2 = e3;
    } catch (e4) {
      console.error("cannot use native zlib: " + (e4.message || e4));
    }
  }, _deflateRaw: ne2, _inflateRaw: he2, consts: R2 }, t2;
}();
function Ae(e2) {
  _e = e2;
}
function Ce(e2) {
  return "string" == typeof e2 ? S(e2) : Array.isArray(e2) ? function(e3) {
    if ("undefined" == typeof Uint8Array) throw new Error("Unsupported");
    return new Uint8Array(e3);
  }(e2) : e2;
}
function Ie(e2, t2, r2) {
  if (void 0 !== _e && _e.writeFileSync) return r2 ? _e.writeFileSync(e2, t2, r2) : _e.writeFileSync(e2, t2);
  if ("undefined" != typeof Deno) {
    if (r2 && "string" == typeof t2) switch (r2) {
      case "utf8":
        t2 = new TextEncoder(r2).encode(t2);
        break;
      case "binary":
        t2 = S(t2);
        break;
      default:
        throw new Error("Unsupported encoding " + r2);
    }
    return Deno.writeFileSync(e2, t2);
  }
  var a2 = "utf8" == r2 ? Kt(t2) : t2;
  if ("undefined" != typeof IE_SaveFile) return IE_SaveFile(a2, e2);
  if ("undefined" != typeof Blob) {
    var n2 = new Blob([Ce(a2)], { type: "application/octet-stream" });
    if ("undefined" != typeof navigator && navigator.msSaveBlob) return navigator.msSaveBlob(n2, e2);
    if ("undefined" != typeof saveAs) return saveAs(n2, e2);
    if ("undefined" != typeof URL && "undefined" != typeof document && document.createElement && URL.createObjectURL) {
      var s2 = URL.createObjectURL(n2);
      if ("object" == typeof chrome && "function" == typeof (chrome.downloads || {}).download) return URL.revokeObjectURL && "undefined" != typeof setTimeout && setTimeout(function() {
        URL.revokeObjectURL(s2);
      }, 6e4), chrome.downloads.download({ url: s2, filename: e2, saveAs: true });
      var i2 = document.createElement("a");
      if (null != i2.download) return i2.download = e2, i2.href = s2, document.body.appendChild(i2), i2.click(), document.body.removeChild(i2), URL.revokeObjectURL && "undefined" != typeof setTimeout && setTimeout(function() {
        URL.revokeObjectURL(s2);
      }, 6e4), s2;
    } else if ("undefined" != typeof URL && !URL.createObjectURL && "object" == typeof chrome) {
      var o2 = "data:application/octet-stream;base64," + function(e3) {
        for (var t3 = "", r3 = 0, a3 = 0, n3 = 0, s3 = 0, i3 = 0, o3 = 0, c3 = 0, l2 = 0; l2 < e3.length; ) s3 = (r3 = e3[l2++]) >> 2, i3 = (3 & r3) << 4 | (a3 = e3[l2++]) >> 4, o3 = (15 & a3) << 2 | (n3 = e3[l2++]) >> 6, c3 = 63 & n3, isNaN(a3) ? o3 = c3 = 64 : isNaN(n3) && (c3 = 64), t3 += v.charAt(s3) + v.charAt(i3) + v.charAt(o3) + v.charAt(c3);
        return t3;
      }(new Uint8Array(Ce(a2)));
      return chrome.downloads.download({ url: o2, filename: e2, saveAs: true });
    }
  }
  if ("undefined" != typeof $ && "undefined" != typeof File && "undefined" != typeof Folder) try {
    var c2 = File(e2);
    return c2.open("w"), c2.encoding = "binary", Array.isArray(t2) && (t2 = x(t2)), c2.write(t2), c2.close(), t2;
  } catch (e3) {
    if (!e3.message || -1 == e3.message.indexOf("onstruct")) throw e3;
  }
  throw new Error("cannot save file " + e2);
}
function Oe(e2) {
  for (var t2 = Object.keys(e2), r2 = [], a2 = 0; a2 < t2.length; ++a2) Object.prototype.hasOwnProperty.call(e2, t2[a2]) && r2.push(t2[a2]);
  return r2;
}
function Re(e2, t2) {
  for (var r2 = [], a2 = Oe(e2), n2 = 0; n2 !== a2.length; ++n2) null == r2[e2[a2[n2]][t2]] && (r2[e2[a2[n2]][t2]] = a2[n2]);
  return r2;
}
function Ne(e2) {
  for (var t2 = [], r2 = Oe(e2), a2 = 0; a2 !== r2.length; ++a2) t2[e2[r2[a2]]] = r2[a2];
  return t2;
}
function Fe(e2) {
  for (var t2 = [], r2 = Oe(e2), a2 = 0; a2 !== r2.length; ++a2) t2[e2[r2[a2]]] = parseInt(r2[a2], 10);
  return t2;
}
var De = Date.UTC(1899, 11, 30, 0, 0, 0), Pe = Date.UTC(1899, 11, 31, 0, 0, 0), Me = Date.UTC(1904, 0, 1, 0, 0, 0);
function Le(e2, t2) {
  var r2 = (e2.getTime() - De) / 864e5;
  return t2 ? (r2 -= 1462) < -1402 ? r2 - 1 : r2 : r2 < 60 ? r2 - 1 : r2;
}
function Ue(e2) {
  if (e2 >= 60 && e2 < 61) return e2;
  var t2 = /* @__PURE__ */ new Date();
  return t2.setTime(24 * (e2 > 60 ? e2 : e2 + 1) * 60 * 60 * 1e3 + De), t2;
}
function Be(e2) {
  var t2 = 0, r2 = 0, a2 = false, n2 = e2.match(/P([0-9\.]+Y)?([0-9\.]+M)?([0-9\.]+D)?T([0-9\.]+H)?([0-9\.]+M)?([0-9\.]+S)?/);
  if (!n2) throw new Error("|" + e2 + "| is not an ISO8601 Duration");
  for (var s2 = 1; s2 != n2.length; ++s2) if (n2[s2]) {
    switch (r2 = 1, s2 > 3 && (a2 = true), n2[s2].slice(n2[s2].length - 1)) {
      case "Y":
        throw new Error("Unsupported ISO Duration Field: " + n2[s2].slice(n2[s2].length - 1));
      case "D":
        r2 *= 24;
      case "H":
        r2 *= 60;
      case "M":
        if (!a2) throw new Error("Unsupported ISO Duration Field: M");
        r2 *= 60;
    }
    t2 += r2 * parseInt(n2[s2], 10);
  }
  return t2;
}
var We = /^(\d+):(\d+)(:\d+)?(\.\d+)?$/, ze = /^(\d+)-(\d+)-(\d+)$/, He = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)?(\.\d+)?$/;
function Ve(e2, t2) {
  if (e2 instanceof Date) return e2;
  var r2 = e2.match(We);
  return r2 ? new Date((t2 ? Me : Pe) + 1e3 * (60 * (60 * parseInt(r2[1], 10) + parseInt(r2[2], 10)) + (r2[3] ? parseInt(r2[3].slice(1), 10) : 0)) + (r2[4] ? parseInt((r2[4] + "000").slice(1, 4), 10) : 0)) : (r2 = e2.match(ze)) ? new Date(Date.UTC(+r2[1], +r2[2] - 1, +r2[3], 0, 0, 0, 0)) : (r2 = e2.match(He)) ? new Date(Date.UTC(+r2[1], +r2[2] - 1, +r2[3], +r2[4], +r2[5], r2[6] && parseInt(r2[6].slice(1), 10) || 0, r2[7] && parseInt((r2[7] + "0000").slice(1, 4), 10) || 0)) : new Date(e2);
}
function $e(e2, t2) {
  if (w && Buffer.isBuffer(e2)) {
    if (t2 && y) {
      if (255 == e2[0] && 254 == e2[1]) return Kt(e2.slice(2).toString("utf16le"));
      if (254 == e2[1] && 255 == e2[2]) return Kt(h(e2.slice(2).toString("binary")));
    }
    return e2.toString("binary");
  }
  if ("undefined" != typeof TextDecoder) try {
    if (t2) {
      if (255 == e2[0] && 254 == e2[1]) return Kt(new TextDecoder("utf-16le").decode(e2.slice(2)));
      if (254 == e2[0] && 255 == e2[1]) return Kt(new TextDecoder("utf-16be").decode(e2.slice(2)));
    }
    var r2 = { "€": "€", "‚": "‚", "ƒ": "ƒ", "„": "„", "…": "…", "†": "†", "‡": "‡", "ˆ": "ˆ", "‰": "‰", "Š": "Š", "‹": "‹", "Œ": "Œ", "Ž": "Ž", "‘": "‘", "’": "’", "“": "“", "”": "”", "•": "•", "–": "–", "—": "—", "˜": "˜", "™": "™", "š": "š", "›": "›", "œ": "œ", "ž": "ž", "Ÿ": "Ÿ" };
    return Array.isArray(e2) && (e2 = new Uint8Array(e2)), new TextDecoder("latin1").decode(e2).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(e3) {
      return r2[e3] || e3;
    });
  } catch (e3) {
  }
  var a2 = [], n2 = 0;
  try {
    for (n2 = 0; n2 < e2.length - 65536; n2 += 65536) a2.push(String.fromCharCode.apply(0, e2.slice(n2, n2 + 65536)));
    a2.push(String.fromCharCode.apply(0, e2.slice(n2)));
  } catch (t3) {
    try {
      for (; n2 < e2.length - 16384; n2 += 16384) a2.push(String.fromCharCode.apply(0, e2.slice(n2, n2 + 16384)));
      a2.push(String.fromCharCode.apply(0, e2.slice(n2)));
    } catch (t4) {
      for (; n2 != e2.length; ++n2) a2.push(String.fromCharCode(e2[n2]));
    }
  }
  return a2.join("");
}
function Ge(e2) {
  if ("undefined" != typeof JSON && !Array.isArray(e2)) return JSON.parse(JSON.stringify(e2));
  if ("object" != typeof e2 || null == e2) return e2;
  if (e2 instanceof Date) return new Date(e2.getTime());
  var t2 = {};
  for (var r2 in e2) Object.prototype.hasOwnProperty.call(e2, r2) && (t2[r2] = Ge(e2[r2]));
  return t2;
}
function Xe(e2, t2) {
  for (var r2 = ""; r2.length < t2; ) r2 += e2;
  return r2;
}
function je(e2) {
  var t2 = Number(e2);
  if (!isNaN(t2)) return isFinite(t2) ? t2 : NaN;
  if (!/\d/.test(e2)) return t2;
  var r2 = 1, a2 = e2.replace(/([\d]),([\d])/g, "$1$2").replace(/[$]/g, "").replace(/[%]/g, function() {
    return r2 *= 100, "";
  });
  return isNaN(t2 = Number(a2)) ? (a2 = a2.replace(/[(]([^()]*)[)]/, function(e3, t3) {
    return r2 = -r2, t3;
  }), isNaN(t2 = Number(a2)) ? t2 : t2 / r2) : t2 / r2;
}
var Ke = /^(0?\d|1[0-2])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))\s+([ap])m?$/, Ye = /^([01]?\d|2[0-3])(?:|:([0-5]?\d)(?:|(\.\d+)(?:|:([0-5]?\d))|:([0-5]?\d)(|\.\d+)))$/, Ze = /^(\d+)-(\d+)-(\d+)[T ](\d+):(\d+)(:\d+)(\.\d+)?[Z]?$/, Je = -177984e5 == (/* @__PURE__ */ new Date("6/9/69 00:00 UTC")).valueOf();
var qe = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
function Qe(e2) {
  if (Ze.test(e2)) return -1 == e2.indexOf("Z") ? rt(new Date(e2)) : new Date(e2);
  var t2 = e2.toLowerCase(), r2 = t2.replace(/\s+/g, " ").trim(), a2 = r2.match(Ke);
  if (a2) return function(e3) {
    return e3[2] ? e3[3] ? e3[4] ? new Date(Date.UTC(1899, 11, 31, +e3[1] % 12 + ("p" == e3[7] ? 12 : 0), +e3[2], +e3[4], 1e3 * parseFloat(e3[3]))) : new Date(Date.UTC(1899, 11, 31, "p" == e3[7] ? 12 : 0, +e3[1], +e3[2], 1e3 * parseFloat(e3[3]))) : e3[5] ? new Date(Date.UTC(1899, 11, 31, +e3[1] % 12 + ("p" == e3[7] ? 12 : 0), +e3[2], +e3[5], e3[6] ? 1e3 * parseFloat(e3[6]) : 0)) : new Date(Date.UTC(1899, 11, 31, +e3[1] % 12 + ("p" == e3[7] ? 12 : 0), +e3[2], 0, 0)) : new Date(Date.UTC(1899, 11, 31, +e3[1] % 12 + ("p" == e3[7] ? 12 : 0), 0, 0, 0));
  }(a2);
  if (a2 = r2.match(Ye)) return function(e3) {
    return e3[2] ? e3[3] ? e3[4] ? new Date(Date.UTC(1899, 11, 31, +e3[1], +e3[2], +e3[4], 1e3 * parseFloat(e3[3]))) : new Date(Date.UTC(1899, 11, 31, 0, +e3[1], +e3[2], 1e3 * parseFloat(e3[3]))) : e3[5] ? new Date(Date.UTC(1899, 11, 31, +e3[1], +e3[2], +e3[5], e3[6] ? 1e3 * parseFloat(e3[6]) : 0)) : new Date(Date.UTC(1899, 11, 31, +e3[1], +e3[2], 0, 0)) : new Date(Date.UTC(1899, 11, 31, +e3[1], 0, 0, 0));
  }(a2);
  if (a2 = r2.match(He)) return new Date(Date.UTC(+a2[1], +a2[2] - 1, +a2[3], +a2[4], +a2[5], a2[6] && parseInt(a2[6].slice(1), 10) || 0, a2[7] && parseInt((a2[7] + "0000").slice(1, 4), 10) || 0));
  var n2 = new Date(Je && -1 == e2.indexOf("UTC") ? e2 + " UTC" : e2), s2 = /* @__PURE__ */ new Date(NaN), i2 = n2.getYear();
  n2.getMonth();
  var o2 = n2.getDate();
  if (isNaN(o2)) return s2;
  if (t2.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {
    if ((t2 = t2.replace(/[^a-z]/g, "").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/, "")).length > 3 && -1 == qe.indexOf(t2)) return s2;
  } else if (t2.replace(/[ap]m?/, "").match(/[a-z]/)) return s2;
  return i2 < 0 || i2 > 8099 || e2.match(/[^-0-9:,\/\\\ ]/) ? s2 : n2;
}
var et = function() {
  var e2 = 5 == "abacaba".split(/(:?b)/i).length;
  return function(t2, r2, a2) {
    if (e2 || "string" == typeof r2) return t2.split(r2);
    for (var n2 = t2.split(r2), s2 = [n2[0]], i2 = 1; i2 < n2.length; ++i2) s2.push(a2), s2.push(n2[i2]);
    return s2;
  };
}();
function tt(e2) {
  return new Date(e2.getUTCFullYear(), e2.getUTCMonth(), e2.getUTCDate(), e2.getUTCHours(), e2.getUTCMinutes(), e2.getUTCSeconds(), e2.getUTCMilliseconds());
}
function rt(e2) {
  return new Date(Date.UTC(e2.getFullYear(), e2.getMonth(), e2.getDate(), e2.getHours(), e2.getMinutes(), e2.getSeconds(), e2.getMilliseconds()));
}
function at(e2) {
  var t2 = e2.slice(0, 1024).indexOf("<!DOCTYPE");
  if (-1 == t2) return e2;
  var r2 = e2.match(/<[\w]/);
  return r2 ? e2.slice(0, t2) + e2.slice(r2.index) : e2;
}
function nt(e2, t2, r2) {
  for (var a2 = [], n2 = e2.indexOf(t2); n2 > -1; ) {
    var s2 = e2.indexOf(r2, n2 + t2.length);
    if (-1 == s2) break;
    a2.push(e2.slice(n2, s2 + r2.length)), n2 = e2.indexOf(t2, s2 + r2.length);
  }
  return a2.length > 0 ? a2 : null;
}
function st(e2, t2, r2) {
  var a2 = [], n2 = 0, s2 = e2.indexOf(t2);
  if (-1 == s2) return e2;
  for (; s2 > -1; ) {
    a2.push(e2.slice(n2, s2));
    var i2 = e2.indexOf(r2, s2 + t2.length);
    if (-1 == i2) break;
    -1 == (s2 = e2.indexOf(t2, n2 = i2 + r2.length)) && a2.push(e2.slice(n2));
  }
  return a2.join("");
}
var it = { " ": 1, "	": 1, "\r": 1, "\n": 1, ">": 1 };
function ot(e2, t2) {
  for (var r2 = e2.indexOf("<" + t2), a2 = t2.length + 1, n2 = e2.length; r2 >= 0 && r2 <= n2 - a2 && !it[e2.charAt(r2 + a2)]; ) r2 = e2.indexOf("<" + t2, r2 + 1);
  if (-1 === r2) return null;
  var s2 = e2.indexOf(">", r2 + t2.length);
  if (-1 === s2) return null;
  var i2 = "</" + t2 + ">", o2 = e2.indexOf(i2, s2);
  return -1 == o2 ? null : [e2.slice(r2, o2 + i2.length), e2.slice(s2 + 1, o2)];
}
var ct = /* @__PURE__ */ function() {
  var e2 = {};
  return function(t2, r2) {
    var a2 = e2[r2];
    a2 || (e2[r2] = a2 = [new RegExp("<(?:\\w+:)?" + r2 + "\\b[^<>]*>", "g"), new RegExp("</(?:\\w+:)?" + r2 + ">", "g")]), a2[0].lastIndex = a2[1].lastIndex = 0;
    var n2 = a2[0].exec(t2);
    if (!n2) return null;
    var s2 = n2.index, i2 = a2[0].lastIndex;
    if (a2[1].lastIndex = a2[0].lastIndex, !(n2 = a2[1].exec(t2))) return null;
    var o2 = n2.index, c2 = a2[1].lastIndex;
    return [t2.slice(s2, c2), t2.slice(i2, o2)];
  };
}(), lt = /* @__PURE__ */ function() {
  var e2 = {};
  return function(t2, r2) {
    var a2, n2 = [], s2 = e2[r2];
    for (s2 || (e2[r2] = s2 = [new RegExp("<(?:\\w+:)?" + r2 + "\\b[^<>]*>", "g"), new RegExp("</(?:\\w+:)?" + r2 + ">", "g")]), s2[0].lastIndex = s2[1].lastIndex = 0; a2 = s2[0].exec(t2); ) {
      var i2 = a2.index;
      if (s2[1].lastIndex = s2[0].lastIndex, !(a2 = s2[1].exec(t2))) return null;
      var o2 = s2[1].lastIndex;
      n2.push(t2.slice(i2, o2)), s2[0].lastIndex = s2[1].lastIndex;
    }
    return 0 == n2.length ? null : n2;
  };
}(), ft = /* @__PURE__ */ function() {
  var e2 = {};
  return function(t2, r2) {
    var a2, n2 = [], s2 = e2[r2];
    s2 || (e2[r2] = s2 = [new RegExp("<(?:\\w+:)?" + r2 + "\\b[^<>]*>", "g"), new RegExp("</(?:\\w+:)?" + r2 + ">", "g")]), s2[0].lastIndex = s2[1].lastIndex = 0;
    for (var i2 = 0, o2 = 0; a2 = s2[0].exec(t2); ) {
      if (i2 = a2.index, n2.push(t2.slice(o2, i2)), o2 = i2, s2[1].lastIndex = s2[0].lastIndex, !(a2 = s2[1].exec(t2))) return null;
      o2 = s2[1].lastIndex, s2[0].lastIndex = s2[1].lastIndex;
    }
    return n2.push(t2.slice(o2)), 0 == n2.length ? "" : n2.join("");
  };
}(), ht = /* @__PURE__ */ function() {
  var e2 = {};
  return function(t2, r2) {
    var a2, n2 = [], s2 = e2[r2];
    for (s2 || (e2[r2] = s2 = [new RegExp("<" + r2 + "\\b[^<>]*>", "ig"), new RegExp("</" + r2 + ">", "ig")]), s2[0].lastIndex = s2[1].lastIndex = 0; a2 = s2[0].exec(t2); ) {
      var i2 = a2.index;
      if (s2[1].lastIndex = s2[0].lastIndex, !(a2 = s2[1].exec(t2))) return null;
      var o2 = s2[1].lastIndex;
      n2.push(t2.slice(i2, o2)), s2[0].lastIndex = s2[1].lastIndex;
    }
    return 0 == n2.length ? null : n2;
  };
}();
function ut(e2) {
  return e2 ? e2.content && e2.type ? $e(e2.content, true) : e2.data ? u(e2.data) : e2.asNodeBuffer && w ? u(e2.asNodeBuffer().toString("binary")) : e2.asBinary ? u(e2.asBinary()) : e2._data && e2._data.getContent ? u($e(Array.prototype.slice.call(e2._data.getContent(), 0))) : null : null;
}
function dt(e2) {
  if (!e2) return null;
  if (e2.data) return l(e2.data);
  if (e2.asNodeBuffer && w) return e2.asNodeBuffer();
  if (e2._data && e2._data.getContent) {
    var t2 = e2._data.getContent();
    return "string" == typeof t2 ? l(t2) : Array.prototype.slice.call(t2);
  }
  return e2.content && e2.type ? e2.content : null;
}
function pt(e2, t2) {
  for (var r2 = e2.FullPaths || Oe(e2.files), a2 = t2.toLowerCase().replace(/[\/]/g, "\\"), n2 = a2.replace(/\\/g, "/"), s2 = 0; s2 < r2.length; ++s2) {
    var i2 = r2[s2].replace(/^Root Entry[\/]/, "").toLowerCase();
    if (a2 == i2 || n2 == i2) return e2.files ? e2.files[r2[s2]] : e2.FileIndex[s2];
  }
  return null;
}
function mt(e2, t2) {
  var r2 = pt(e2, t2);
  if (null == r2) throw new Error("Cannot find file " + t2 + " in zip");
  return r2;
}
function vt(e2, t2, r2) {
  if (!r2) return (a2 = mt(e2, t2)) && ".bin" === a2.name.slice(-4) ? dt(a2) : ut(a2);
  var a2;
  if (!t2) return null;
  try {
    return vt(e2, t2);
  } catch (e3) {
    return null;
  }
}
function gt(e2, t2, r2) {
  if (!r2) return ut(mt(e2, t2));
  if (!t2) return null;
  try {
    return gt(e2, t2);
  } catch (e3) {
    return null;
  }
}
function bt(e2) {
  for (var t2 = e2.FullPaths || Oe(e2.files), r2 = [], a2 = 0; a2 < t2.length; ++a2) "/" != t2[a2].slice(-1) && r2.push(t2[a2].replace(/^Root Entry[\/]/, ""));
  return r2.sort();
}
function wt(e2, t2, r2) {
  if (e2.FullPaths) {
    var a2;
    if (Array.isArray(r2) && "string" == typeof r2[0] && (r2 = r2.join("")), "string" == typeof r2) return a2 = w ? T(r2) : function(e3) {
      for (var t3 = [], r3 = 0, a3 = e3.length + 250, n2 = E(e3.length + 255), s2 = 0; s2 < e3.length; ++s2) {
        var i2 = e3.charCodeAt(s2);
        if (i2 < 128) n2[r3++] = i2;
        else if (i2 < 2048) n2[r3++] = 192 | i2 >> 6 & 31, n2[r3++] = 128 | 63 & i2;
        else if (i2 >= 55296 && i2 < 57344) {
          i2 = 64 + (1023 & i2);
          var o2 = 1023 & e3.charCodeAt(++s2);
          n2[r3++] = 240 | i2 >> 8 & 7, n2[r3++] = 128 | i2 >> 2 & 63, n2[r3++] = 128 | o2 >> 6 & 15 | (3 & i2) << 4, n2[r3++] = 128 | 63 & o2;
        } else n2[r3++] = 224 | i2 >> 12 & 15, n2[r3++] = 128 | i2 >> 6 & 63, n2[r3++] = 128 | 63 & i2;
        r3 > a3 && (t3.push(n2.slice(0, r3)), r3 = 0, n2 = E(65535), a3 = 65530);
      }
      return t3.push(n2.slice(0, r3)), C(t3);
    }(r2), xe.utils.cfb_add(e2, t2, a2);
    xe.utils.cfb_add(e2, t2, r2);
  } else e2.file(t2, r2);
}
function Tt() {
  return xe.utils.cfb_new();
}
function yt(e2, t2) {
  switch (t2.type) {
    case "base64":
      return xe.read(e2, { type: "base64" });
    case "binary":
      return xe.read(e2, { type: "binary" });
    case "buffer":
    case "array":
      return xe.read(e2, { type: "buffer" });
  }
  throw new Error("Unrecognized type " + t2.type);
}
function Et(e2, t2) {
  if ("/" == e2.charAt(0)) return e2.slice(1);
  var r2 = t2.split("/");
  "/" != t2.slice(-1) && r2.pop();
  for (var a2 = e2.split("/"); 0 !== a2.length; ) {
    var n2 = a2.shift();
    ".." === n2 ? r2.pop() : "." !== n2 && r2.push(n2);
  }
  return r2.join("/");
}
var kt = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r\n', _t = /\s([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g, St = /<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?<>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'"<>\s=]+))*\s*[\/\?]?>/gm, xt = kt.match(St) ? St : /<[^<>]*>/g, At = /<\w*:/, Ct = /<(\/?)\w+:/;
function It(e2, t2, r2) {
  for (var a2 = {}, n2 = 0, s2 = 0; n2 !== e2.length && (32 !== (s2 = e2.charCodeAt(n2)) && 10 !== s2 && 13 !== s2); ++n2) ;
  if (t2 || (a2[0] = e2.slice(0, n2)), n2 === e2.length) return a2;
  var i2 = e2.match(_t), o2 = 0, c2 = "", l2 = 0, f2 = "", h2 = "", u2 = 1;
  if (i2) for (l2 = 0; l2 != i2.length; ++l2) {
    for (h2 = i2[l2].slice(1), s2 = 0; s2 != h2.length && 61 !== h2.charCodeAt(s2); ++s2) ;
    for (f2 = h2.slice(0, s2).trim(); 32 == h2.charCodeAt(s2 + 1); ) ++s2;
    for (u2 = 34 == (n2 = h2.charCodeAt(s2 + 1)) || 39 == n2 ? 1 : 0, c2 = h2.slice(s2 + 1 + u2, h2.length - u2), o2 = 0; o2 != f2.length && 58 !== f2.charCodeAt(o2); ++o2) ;
    if (o2 === f2.length) f2.indexOf("_") > 0 && (f2 = f2.slice(0, f2.indexOf("_"))), a2[f2] = c2, a2[f2.toLowerCase()] = c2;
    else {
      var d2 = (5 === o2 && "xmlns" === f2.slice(0, 5) ? "xmlns" : "") + f2.slice(o2 + 1);
      if (a2[d2] && "ext" == f2.slice(o2 - 3, o2)) continue;
      a2[d2] = c2, a2[d2.toLowerCase()] = c2;
    }
  }
  return a2;
}
function Ot(e2, t2, r2) {
  for (var a2 = {}, n2 = 0, s2 = 0; n2 !== e2.length && (32 !== (s2 = e2.charCodeAt(n2)) && 10 !== s2 && 13 !== s2); ++n2) ;
  if (n2 === e2.length) return a2;
  var i2 = e2.match(_t), o2 = "", c2 = 0, l2 = "", f2 = "", h2 = 1;
  if (i2) for (c2 = 0; c2 != i2.length; ++c2) {
    for (f2 = i2[c2].slice(1), s2 = 0; s2 != f2.length && 61 !== f2.charCodeAt(s2); ++s2) ;
    for (l2 = f2.slice(0, s2).trim(); 32 == f2.charCodeAt(s2 + 1); ) ++s2;
    h2 = 34 == (n2 = f2.charCodeAt(s2 + 1)) || 39 == n2 ? 1 : 0, o2 = f2.slice(s2 + 1 + h2, f2.length - h2), l2.indexOf("_") > 0 && (l2 = l2.slice(0, l2.indexOf("_"))), a2[l2] = o2, a2[l2.toLowerCase()] = o2;
  }
  return a2;
}
function Rt(e2) {
  return e2.replace(Ct, "<$1");
}
var Nt = { "&quot;": '"', "&apos;": "'", "&gt;": ">", "&lt;": "<", "&amp;": "&" }, Ft = Ne(Nt), Dt = /* @__PURE__ */ function() {
  var e2 = /&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi, t2 = /_x([\da-fA-F]{4})_/gi;
  function r2(a2) {
    var n2 = a2 + "", s2 = n2.indexOf("<![CDATA[");
    if (-1 == s2) return n2.replace(e2, function(e3, t3) {
      return Nt[e3] || String.fromCharCode(parseInt(t3, e3.indexOf("x") > -1 ? 16 : 10)) || e3;
    }).replace(t2, function(e3, t3) {
      return String.fromCharCode(parseInt(t3, 16));
    });
    var i2 = n2.indexOf("]]>");
    return r2(n2.slice(0, s2)) + n2.slice(s2 + 9, i2) + r2(n2.slice(i2 + 3));
  }
  return function(e3, t3) {
    var a2 = r2(e3);
    return t3 ? a2.replace(/\r\n/g, "\n") : a2;
  };
}(), Pt = /[&<>'"]/g, Mt = /[\u0000-\u0008\u000b-\u001f\uFFFE-\uFFFF]/g;
function Lt(e2) {
  return (e2 + "").replace(Pt, function(e3) {
    return Ft[e3];
  }).replace(Mt, function(e3) {
    return "_x" + ("000" + e3.charCodeAt(0).toString(16)).slice(-4) + "_";
  });
}
function Ut(e2) {
  return Lt(e2).replace(/ /g, "_x0020_");
}
var Bt = /[\u0000-\u001f]/g;
function Wt(e2) {
  return (e2 + "").replace(Pt, function(e3) {
    return Ft[e3];
  }).replace(/\n/g, "<br/>").replace(Bt, function(e3) {
    return "&#x" + ("000" + e3.charCodeAt(0).toString(16)).slice(-4) + ";";
  });
}
var zt = /* @__PURE__ */ function() {
  var e2 = /&#(\d+);/g;
  function t2(e3, t3) {
    return String.fromCharCode(parseInt(t3, 10));
  }
  return function(r2) {
    return r2.replace(e2, t2);
  };
}();
function Ht(e2) {
  switch (e2) {
    case 1:
    case true:
    case "1":
    case "true":
      return true;
    case 0:
    case false:
    case "0":
    case "false":
      return false;
  }
  return false;
}
function Vt(e2) {
  for (var t2 = "", r2 = 0, a2 = 0, n2 = 0, s2 = 0, i2 = 0, o2 = 0; r2 < e2.length; ) (a2 = e2.charCodeAt(r2++)) < 128 ? t2 += String.fromCharCode(a2) : (n2 = e2.charCodeAt(r2++), a2 > 191 && a2 < 224 ? (i2 = (31 & a2) << 6, i2 |= 63 & n2, t2 += String.fromCharCode(i2)) : (s2 = e2.charCodeAt(r2++), a2 < 240 ? t2 += String.fromCharCode((15 & a2) << 12 | (63 & n2) << 6 | 63 & s2) : (o2 = ((7 & a2) << 18 | (63 & n2) << 12 | (63 & s2) << 6 | 63 & (i2 = e2.charCodeAt(r2++))) - 65536, t2 += String.fromCharCode(55296 + (o2 >>> 10 & 1023)), t2 += String.fromCharCode(56320 + (1023 & o2)))));
  return t2;
}
function $t(e2) {
  var t2, r2, a2, n2 = E(2 * e2.length), s2 = 1, i2 = 0, o2 = 0;
  for (r2 = 0; r2 < e2.length; r2 += s2) s2 = 1, (a2 = e2.charCodeAt(r2)) < 128 ? t2 = a2 : a2 < 224 ? (t2 = 64 * (31 & a2) + (63 & e2.charCodeAt(r2 + 1)), s2 = 2) : a2 < 240 ? (t2 = 4096 * (15 & a2) + 64 * (63 & e2.charCodeAt(r2 + 1)) + (63 & e2.charCodeAt(r2 + 2)), s2 = 3) : (s2 = 4, t2 = 262144 * (7 & a2) + 4096 * (63 & e2.charCodeAt(r2 + 1)) + 64 * (63 & e2.charCodeAt(r2 + 2)) + (63 & e2.charCodeAt(r2 + 3)), o2 = 55296 + ((t2 -= 65536) >>> 10 & 1023), t2 = 56320 + (1023 & t2)), 0 !== o2 && (n2[i2++] = 255 & o2, n2[i2++] = o2 >>> 8, o2 = 0), n2[i2++] = t2 % 256, n2[i2++] = t2 >>> 8;
  return n2.slice(0, i2).toString("ucs2");
}
function Gt(e2) {
  return T(e2, "binary").toString("utf8");
}
var Xt = "foo bar baz☃🍣", jt = w && (Gt(Xt) == Vt(Xt) && Gt || $t(Xt) == Vt(Xt) && $t) || Vt, Kt = w ? function(e2) {
  return T(e2, "utf8").toString("binary");
} : function(e2) {
  for (var t2 = [], r2 = 0, a2 = 0, n2 = 0; r2 < e2.length; ) switch (a2 = e2.charCodeAt(r2++), true) {
    case a2 < 128:
      t2.push(String.fromCharCode(a2));
      break;
    case a2 < 2048:
      t2.push(String.fromCharCode(192 + (a2 >> 6))), t2.push(String.fromCharCode(128 + (63 & a2)));
      break;
    case (a2 >= 55296 && a2 < 57344):
      a2 -= 55296, n2 = e2.charCodeAt(r2++) - 56320 + (a2 << 10), t2.push(String.fromCharCode(240 + (n2 >> 18 & 7))), t2.push(String.fromCharCode(144 + (n2 >> 12 & 63))), t2.push(String.fromCharCode(128 + (n2 >> 6 & 63))), t2.push(String.fromCharCode(128 + (63 & n2)));
      break;
    default:
      t2.push(String.fromCharCode(224 + (a2 >> 12))), t2.push(String.fromCharCode(128 + (a2 >> 6 & 63))), t2.push(String.fromCharCode(128 + (63 & a2)));
  }
  return t2.join("");
}, Yt = function() {
  var e2 = [["nbsp", " "], ["middot", "·"], ["quot", '"'], ["apos", "'"], ["gt", ">"], ["lt", "<"], ["amp", "&"]].map(function(e3) {
    return [new RegExp("&" + e3[0] + ";", "ig"), e3[1]];
  });
  return function(t2) {
    for (var r2 = t2.replace(/^[\t\n\r ]+/, "").replace(/(^|[^\t\n\r ])[\t\n\r ]+$/, "$1").replace(/>\s+/g, ">").replace(/\b\s+</g, "<").replace(/[\t\n\r ]+/g, " ").replace(/<\s*[bB][rR]\s*\/?>/g, "\n").replace(/<[^<>]*>/g, ""), a2 = 0; a2 < e2.length; ++a2) r2 = r2.replace(e2[a2][0], e2[a2][1]);
    return r2;
  };
}(), Zt = /<\/?(?:vt:)?variant>/g, Jt = /<(?:vt:)([^<"'>]*)>([\s\S]*)</;
function qt(e2, t2) {
  var r2 = It(e2), a2 = lt(e2, r2.baseType) || [], n2 = [];
  if (a2.length != r2.size) {
    if (t2.WTF) throw new Error("unexpected vector length " + a2.length + " != " + r2.size);
    return n2;
  }
  return a2.forEach(function(e3) {
    var t3 = e3.replace(Zt, "").match(Jt);
    t3 && n2.push({ v: jt(t3[2]), t: t3[1] });
  }), n2;
}
var Qt = /(^\s|\s$|\n)/;
function er(e2, t2) {
  return "<" + e2 + (t2.match(Qt) ? ' xml:space="preserve"' : "") + ">" + t2 + "</" + e2 + ">";
}
function tr(e2) {
  return Oe(e2).map(function(t2) {
    return " " + t2 + '="' + e2[t2] + '"';
  }).join("");
}
function rr(e2, t2, r2) {
  return "<" + e2 + (null != r2 ? tr(r2) : "") + (null != t2 ? (t2.match(Qt) ? ' xml:space="preserve"' : "") + ">" + t2 + "</" + e2 : "/") + ">";
}
function ar(e2, t2) {
  try {
    return e2.toISOString().replace(/\.\d*/, "");
  } catch (e3) {
    if (t2) throw e3;
  }
  return "";
}
function nr(e2) {
  if (w && Buffer.isBuffer(e2)) return e2.toString("utf8");
  if ("string" == typeof e2) return e2;
  if ("undefined" != typeof Uint8Array && e2 instanceof Uint8Array) return jt(x(A(e2)));
  throw new Error("Bad input format: expected Buffer or string");
}
var sr = /<([\/]?)([^\s?><!\/:"]*:|)([^\s?<>:\/"]+)(?:\s+[^<>=?"'\s]+="[^"]*?")*\s*[\/]?>/gm, ir = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties", or = "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties", cr = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", lr = "http://schemas.openxmlformats.org/package/2006/content-types", fr = "http://schemas.openxmlformats.org/package/2006/relationships", hr = "http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments", ur = "http://purl.org/dc/elements/1.1/", dr = "http://purl.org/dc/terms/", pr = "http://purl.org/dc/dcmitype/", mr = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", vr = "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes", gr = "http://www.w3.org/2001/XMLSchema-instance", br = "http://www.w3.org/2001/XMLSchema", wr = ["http://schemas.openxmlformats.org/spreadsheetml/2006/main", "http://purl.oclc.org/ooxml/spreadsheetml/main", "http://schemas.microsoft.com/office/excel/2006/main", "http://schemas.microsoft.com/office/excel/2006/2"], Tr = "urn:schemas-microsoft-com:office:office", yr = "urn:schemas-microsoft-com:office:excel", Er = "urn:schemas-microsoft-com:office:spreadsheet", kr = "uuid:C2F41010-65B3-11d1-A29F-00AA00C14882", _r = "http://macVmlSchemaUri", Sr = "urn:schemas-microsoft-com:vml", xr = "http://www.w3.org/TR/REC-html40";
var Ar = function(e2) {
  for (var t2 = [], r2 = 0; r2 < e2[0].length; ++r2) if (e2[0][r2]) for (var a2 = 0, n2 = e2[0][r2].length; a2 < n2; a2 += 10240) t2.push.apply(t2, e2[0][r2].slice(a2, a2 + 10240));
  return t2;
}, Cr = w ? function(e2) {
  return e2[0].length > 0 && Buffer.isBuffer(e2[0][0]) ? Buffer.concat(e2[0].map(function(e3) {
    return Buffer.isBuffer(e3) ? e3 : T(e3);
  })) : Ar(e2);
} : Ar, Ir = function(e2, t2, r2) {
  for (var a2 = [], n2 = t2; n2 < r2; n2 += 2) a2.push(String.fromCharCode(Zr(e2, n2)));
  return a2.join("").replace(I, "");
}, Or = w ? function(e2, t2, r2) {
  return Buffer.isBuffer(e2) && y ? e2.toString("utf16le", t2, r2).replace(I, "") : Ir(e2, t2, r2);
} : Ir, Rr = function(e2, t2, r2) {
  for (var a2 = [], n2 = t2; n2 < t2 + r2; ++n2) a2.push(("0" + e2[n2].toString(16)).slice(-2));
  return a2.join("");
}, Nr = w ? function(e2, t2, r2) {
  return Buffer.isBuffer(e2) ? e2.toString("hex", t2, t2 + r2) : Rr(e2, t2, r2);
} : Rr, Fr = function(e2, t2, r2) {
  for (var a2 = [], n2 = t2; n2 < r2; n2++) a2.push(String.fromCharCode(Yr(e2, n2)));
  return a2.join("");
}, Dr = w ? function(e2, t2, r2) {
  return Buffer.isBuffer(e2) ? e2.toString("utf8", t2, r2) : Fr(e2, t2, r2);
} : Fr, Pr = function(e2, t2) {
  var r2 = qr(e2, t2);
  return r2 > 0 ? Dr(e2, t2 + 4, t2 + 4 + r2 - 1) : "";
}, Mr = Pr, Lr = function(e2, t2) {
  var r2 = qr(e2, t2);
  return r2 > 0 ? Dr(e2, t2 + 4, t2 + 4 + r2 - 1) : "";
}, Ur = Lr, Br = function(e2, t2) {
  var r2 = 2 * qr(e2, t2);
  return r2 > 0 ? Dr(e2, t2 + 4, t2 + 4 + r2 - 1) : "";
}, Wr = Br, zr = function(e2, t2) {
  var r2 = qr(e2, t2);
  return r2 > 0 ? Or(e2, t2 + 4, t2 + 4 + r2) : "";
}, Hr = zr, Vr = function(e2, t2) {
  var r2 = qr(e2, t2);
  return r2 > 0 ? Dr(e2, t2 + 4, t2 + 4 + r2) : "";
}, $r = Vr, Gr = function(e2, t2) {
  return function(e3, t3) {
    for (var r2 = 1 - 2 * (e3[t3 + 7] >>> 7), a2 = ((127 & e3[t3 + 7]) << 4) + (e3[t3 + 6] >>> 4 & 15), n2 = 15 & e3[t3 + 6], s2 = 5; s2 >= 0; --s2) n2 = 256 * n2 + e3[t3 + s2];
    return 2047 == a2 ? 0 == n2 ? r2 * (1 / 0) : NaN : (0 == a2 ? a2 = -1022 : (a2 -= 1023, n2 += Math.pow(2, 52)), r2 * Math.pow(2, a2 - 52) * n2);
  }(e2, t2);
}, Xr = Gr, jr = function(e2) {
  return Array.isArray(e2) || "undefined" != typeof Uint8Array && e2 instanceof Uint8Array;
};
function Kr() {
  Or = function(t2, r2, a2) {
    return e.utils.decode(1200, t2.slice(r2, a2)).replace(I, "");
  }, Dr = function(t2, r2, a2) {
    return e.utils.decode(65001, t2.slice(r2, a2));
  }, Mr = function(t2, r2) {
    var n2 = qr(t2, r2);
    return n2 > 0 ? e.utils.decode(a, t2.slice(r2 + 4, r2 + 4 + n2 - 1)) : "";
  }, Ur = function(t2, a2) {
    var n2 = qr(t2, a2);
    return n2 > 0 ? e.utils.decode(r, t2.slice(a2 + 4, a2 + 4 + n2 - 1)) : "";
  }, Wr = function(t2, r2) {
    var a2 = 2 * qr(t2, r2);
    return a2 > 0 ? e.utils.decode(1200, t2.slice(r2 + 4, r2 + 4 + a2 - 1)) : "";
  }, Hr = function(t2, r2) {
    var a2 = qr(t2, r2);
    return a2 > 0 ? e.utils.decode(1200, t2.slice(r2 + 4, r2 + 4 + a2)) : "";
  }, $r = function(t2, r2) {
    var a2 = qr(t2, r2);
    return a2 > 0 ? e.utils.decode(65001, t2.slice(r2 + 4, r2 + 4 + a2)) : "";
  };
}
w && (Mr = function(e2, t2) {
  if (!Buffer.isBuffer(e2)) return Pr(e2, t2);
  var r2 = e2.readUInt32LE(t2);
  return r2 > 0 ? e2.toString("utf8", t2 + 4, t2 + 4 + r2 - 1) : "";
}, Ur = function(e2, t2) {
  if (!Buffer.isBuffer(e2)) return Lr(e2, t2);
  var r2 = e2.readUInt32LE(t2);
  return r2 > 0 ? e2.toString("utf8", t2 + 4, t2 + 4 + r2 - 1) : "";
}, Wr = function(e2, t2) {
  if (!Buffer.isBuffer(e2) || !y) return Br(e2, t2);
  var r2 = 2 * e2.readUInt32LE(t2);
  return e2.toString("utf16le", t2 + 4, t2 + 4 + r2 - 1);
}, Hr = function(e2, t2) {
  if (!Buffer.isBuffer(e2) || !y) return zr(e2, t2);
  var r2 = e2.readUInt32LE(t2);
  return e2.toString("utf16le", t2 + 4, t2 + 4 + r2);
}, $r = function(e2, t2) {
  if (!Buffer.isBuffer(e2)) return Vr(e2, t2);
  var r2 = e2.readUInt32LE(t2);
  return e2.toString("utf8", t2 + 4, t2 + 4 + r2);
}, Xr = function(e2, t2) {
  return Buffer.isBuffer(e2) ? e2.readDoubleLE(t2) : Gr(e2, t2);
}, jr = function(e2) {
  return Buffer.isBuffer(e2) || Array.isArray(e2) || "undefined" != typeof Uint8Array && e2 instanceof Uint8Array;
}), void 0 !== e && Kr();
var Yr = function(e2, t2) {
  return e2[t2];
}, Zr = function(e2, t2) {
  return 256 * e2[t2 + 1] + e2[t2];
}, Jr = function(e2, t2) {
  var r2 = 256 * e2[t2 + 1] + e2[t2];
  return r2 < 32768 ? r2 : -1 * (65535 - r2 + 1);
}, qr = function(e2, t2) {
  return e2[t2 + 3] * (1 << 24) + (e2[t2 + 2] << 16) + (e2[t2 + 1] << 8) + e2[t2];
}, Qr = function(e2, t2) {
  return e2[t2 + 3] << 24 | e2[t2 + 2] << 16 | e2[t2 + 1] << 8 | e2[t2];
}, ea = function(e2, t2) {
  return e2[t2] << 24 | e2[t2 + 1] << 16 | e2[t2 + 2] << 8 | e2[t2 + 3];
};
function ta(t2, a2) {
  var n2, s2, i2, o2, c2, l2, f2 = "", h2 = [];
  switch (a2) {
    case "dbcs":
      if (l2 = this.l, w && Buffer.isBuffer(this) && y) f2 = this.slice(this.l, this.l + 2 * t2).toString("utf16le");
      else for (c2 = 0; c2 < t2; ++c2) f2 += String.fromCharCode(Zr(this, l2)), l2 += 2;
      t2 *= 2;
      break;
    case "utf8":
      f2 = Dr(this, this.l, this.l + t2);
      break;
    case "utf16le":
      t2 *= 2, f2 = Or(this, this.l, this.l + t2);
      break;
    case "wstr":
      if (void 0 === e) return ta.call(this, t2, "dbcs");
      f2 = e.utils.decode(r, this.slice(this.l, this.l + 2 * t2)), t2 *= 2;
      break;
    case "lpstr-ansi":
      f2 = Mr(this, this.l), t2 = 4 + qr(this, this.l);
      break;
    case "lpstr-cp":
      f2 = Ur(this, this.l), t2 = 4 + qr(this, this.l);
      break;
    case "lpwstr":
      f2 = Wr(this, this.l), t2 = 4 + 2 * qr(this, this.l);
      break;
    case "lpp4":
      t2 = 4 + qr(this, this.l), f2 = Hr(this, this.l), 2 & t2 && (t2 += 2);
      break;
    case "8lpp4":
      t2 = 4 + qr(this, this.l), f2 = $r(this, this.l), 3 & t2 && (t2 += 4 - (3 & t2));
      break;
    case "cstr":
      for (t2 = 0, f2 = ""; 0 !== (i2 = Yr(this, this.l + t2++)); ) h2.push(d(i2));
      f2 = h2.join("");
      break;
    case "_wstr":
      for (t2 = 0, f2 = ""; 0 !== (i2 = Zr(this, this.l + t2)); ) h2.push(d(i2)), t2 += 2;
      t2 += 2, f2 = h2.join("");
      break;
    case "dbcs-cont":
      for (f2 = "", l2 = this.l, c2 = 0; c2 < t2; ++c2) {
        if (this.lens && -1 !== this.lens.indexOf(l2)) return i2 = Yr(this, l2), this.l = l2 + 1, o2 = ta.call(this, t2 - c2, i2 ? "dbcs-cont" : "sbcs-cont"), h2.join("") + o2;
        h2.push(d(Zr(this, l2))), l2 += 2;
      }
      f2 = h2.join(""), t2 *= 2;
      break;
    case "cpstr":
      if (void 0 !== e) {
        f2 = e.utils.decode(r, this.slice(this.l, this.l + t2));
        break;
      }
    case "sbcs-cont":
      for (f2 = "", l2 = this.l, c2 = 0; c2 != t2; ++c2) {
        if (this.lens && -1 !== this.lens.indexOf(l2)) return i2 = Yr(this, l2), this.l = l2 + 1, o2 = ta.call(this, t2 - c2, i2 ? "dbcs-cont" : "sbcs-cont"), h2.join("") + o2;
        h2.push(d(Yr(this, l2))), l2 += 1;
      }
      f2 = h2.join("");
      break;
    default:
      switch (t2) {
        case 1:
          return n2 = Yr(this, this.l), this.l++, n2;
        case 2:
          return n2 = ("i" === a2 ? Jr : Zr)(this, this.l), this.l += 2, n2;
        case 4:
        case -4:
          return "i" !== a2 && 128 & this[this.l + 3] ? (s2 = qr(this, this.l), this.l += 4, s2) : (n2 = (t2 > 0 ? Qr : ea)(this, this.l), this.l += 4, n2);
        case 8:
        case -8:
          if ("f" === a2) return s2 = 8 == t2 ? Xr(this, this.l) : Xr([this[this.l + 7], this[this.l + 6], this[this.l + 5], this[this.l + 4], this[this.l + 3], this[this.l + 2], this[this.l + 1], this[this.l + 0]], 0), this.l += 8, s2;
          t2 = 8;
        case 16:
          f2 = Nr(this, this.l, t2);
      }
  }
  return this.l += t2, f2;
}
var ra = function(e2, t2, r2) {
  e2[r2] = 255 & t2, e2[r2 + 1] = t2 >>> 8 & 255, e2[r2 + 2] = t2 >>> 16 & 255, e2[r2 + 3] = t2 >>> 24 & 255;
}, aa = function(e2, t2, r2) {
  e2[r2] = 255 & t2, e2[r2 + 1] = t2 >> 8 & 255, e2[r2 + 2] = t2 >> 16 & 255, e2[r2 + 3] = t2 >> 24 & 255;
}, na = function(e2, t2, r2) {
  e2[r2] = 255 & t2, e2[r2 + 1] = t2 >>> 8 & 255;
};
function sa(t2, n2, s2) {
  var i2 = 0, o2 = 0;
  if ("dbcs" === s2) {
    for (o2 = 0; o2 != n2.length; ++o2) na(this, n2.charCodeAt(o2), this.l + 2 * o2);
    i2 = 2 * n2.length;
  } else if ("sbcs" === s2 || "cpstr" == s2) if (void 0 !== e && 874 == a) {
    for (o2 = 0; o2 != n2.length; ++o2) {
      var c2 = e.utils.encode(a, n2.charAt(o2));
      this[this.l + o2] = c2[0];
    }
    i2 = n2.length;
  } else if (void 0 !== e && "cpstr" == s2) {
    if ((c2 = e.utils.encode(r, n2)).length == n2.length) for (o2 = 0; o2 < n2.length; ++o2) 0 == c2[o2] && 0 != n2.charCodeAt(o2) && (c2[o2] = 95);
    if (c2.length == 2 * n2.length) for (o2 = 0; o2 < n2.length; ++o2) 0 == c2[2 * o2] && 0 == c2[2 * o2 + 1] && 0 != n2.charCodeAt(o2) && (c2[2 * o2] = 95);
    for (o2 = 0; o2 < c2.length; ++o2) this[this.l + o2] = c2[o2];
    i2 = c2.length;
  } else {
    for (n2 = n2.replace(/[^\x00-\x7F]/g, "_"), o2 = 0; o2 != n2.length; ++o2) this[this.l + o2] = 255 & n2.charCodeAt(o2);
    i2 = n2.length;
  }
  else {
    if ("hex" === s2) {
      for (; o2 < t2; ++o2) this[this.l++] = parseInt(n2.slice(2 * o2, 2 * o2 + 2), 16) || 0;
      return this;
    }
    if ("utf16le" === s2) {
      var l2 = Math.min(this.l + t2, this.length);
      for (o2 = 0; o2 < Math.min(n2.length, t2); ++o2) {
        var f2 = n2.charCodeAt(o2);
        this[this.l++] = 255 & f2, this[this.l++] = f2 >> 8;
      }
      for (; this.l < l2; ) this[this.l++] = 0;
      return this;
    }
    switch (t2) {
      case 1:
        i2 = 1, this[this.l] = 255 & n2;
        break;
      case 2:
        i2 = 2, this[this.l] = 255 & n2, n2 >>>= 8, this[this.l + 1] = 255 & n2;
        break;
      case 3:
        i2 = 3, this[this.l] = 255 & n2, n2 >>>= 8, this[this.l + 1] = 255 & n2, n2 >>>= 8, this[this.l + 2] = 255 & n2;
        break;
      case 4:
        i2 = 4, ra(this, n2, this.l);
        break;
      case 8:
        if (i2 = 8, "f" === s2) {
          !function(e2, t3, r2) {
            var a2 = (t3 < 0 || 1 / t3 == -1 / 0 ? 1 : 0) << 7, n3 = 0, s3 = 0, i3 = a2 ? -t3 : t3;
            isFinite(i3) ? 0 == i3 ? n3 = s3 = 0 : (n3 = Math.floor(Math.log(i3) / Math.LN2), s3 = i3 * Math.pow(2, 52 - n3), n3 <= -1023 && (!isFinite(s3) || s3 < Math.pow(2, 52)) ? n3 = -1022 : (s3 -= Math.pow(2, 52), n3 += 1023)) : (n3 = 2047, s3 = isNaN(t3) ? 26985 : 0);
            for (var o3 = 0; o3 <= 5; ++o3, s3 /= 256) e2[r2 + o3] = 255 & s3;
            e2[r2 + 6] = (15 & n3) << 4 | 15 & s3, e2[r2 + 7] = n3 >> 4 | a2;
          }(this, n2, this.l);
          break;
        }
      case 16:
        break;
      case -4:
        i2 = 4, aa(this, n2, this.l);
    }
  }
  return this.l += i2, this;
}
function ia(e2, t2) {
  var r2 = Nr(this, this.l, e2.length >> 1);
  if (r2 !== e2) throw new Error(t2 + "Expected " + e2 + " saw " + r2);
  this.l += e2.length >> 1;
}
function oa(e2, t2) {
  e2.l = t2, e2.read_shift = ta, e2.chk = ia, e2.write_shift = sa;
}
function ca(e2, t2) {
  e2.l += t2;
}
function la(e2) {
  var t2 = E(e2);
  return oa(t2, 0), t2;
}
function fa(e2, t2, r2) {
  if (e2) {
    var a2, n2, s2;
    oa(e2, e2.l || 0);
    for (var i2 = e2.length, o2 = 0, c2 = 0; e2.l < i2; ) {
      128 & (o2 = e2.read_shift(1)) && (o2 = (127 & o2) + ((127 & e2.read_shift(1)) << 7));
      var l2 = _f[o2] || _f[65535];
      for (s2 = 127 & (a2 = e2.read_shift(1)), n2 = 1; n2 < 4 && 128 & a2; ++n2) s2 += (127 & (a2 = e2.read_shift(1))) << 7 * n2;
      c2 = e2.l + s2;
      var f2 = l2.f && l2.f(e2, s2, r2);
      if (e2.l = c2, t2(f2, l2, o2)) return;
    }
  }
}
function ha() {
  var e2 = [], t2 = w ? 16384 : 2048;
  w && la(t2).copy;
  var r2 = function(e3) {
    var t3 = la(e3);
    return oa(t3, 0), t3;
  }, a2 = r2(t2), n2 = function() {
    a2 && (a2.l && (a2.length > a2.l && ((a2 = a2.slice(0, a2.l)).l = a2.length), a2.length > 0 && e2.push(a2)), a2 = null);
  }, s2 = function(e3) {
    return a2 && e3 < a2.length - a2.l ? a2 : (n2(), a2 = r2(Math.max(e3 + 1, t2)));
  };
  return { next: s2, push: function(e3) {
    n2(), null == (a2 = e3).l && (a2.l = a2.length), s2(t2);
  }, end: function() {
    return n2(), C(e2);
  }, _bufs: e2, end2: function() {
    return n2(), e2;
  } };
}
function ua(e2, t2, r2, a2) {
  var n2, s2 = +t2;
  if (!isNaN(s2)) {
    a2 || (a2 = _f[s2].p || (r2 || []).length || 0), n2 = 1 + (s2 >= 128 ? 1 : 0) + 1, a2 >= 128 && ++n2, a2 >= 16384 && ++n2, a2 >= 2097152 && ++n2;
    var i2 = e2.next(n2);
    s2 <= 127 ? i2.write_shift(1, s2) : (i2.write_shift(1, 128 + (127 & s2)), i2.write_shift(1, s2 >> 7));
    for (var o2 = 0; 4 != o2; ++o2) {
      if (!(a2 >= 128)) {
        i2.write_shift(1, a2);
        break;
      }
      i2.write_shift(1, 128 + (127 & a2)), a2 >>= 7;
    }
    a2 > 0 && jr(r2) && e2.push(r2);
  }
}
function da(e2, t2, r2) {
  var a2 = Ge(e2);
  if (t2.s ? (a2.cRel && (a2.c += t2.s.c), a2.rRel && (a2.r += t2.s.r)) : (a2.cRel && (a2.c += t2.c), a2.rRel && (a2.r += t2.r)), !r2 || r2.biff < 12) {
    for (; a2.c >= 256; ) a2.c -= 256;
    for (; a2.r >= 65536; ) a2.r -= 65536;
  }
  return a2;
}
function pa(e2, t2, r2) {
  var a2 = Ge(e2);
  return a2.s = da(a2.s, t2.s, r2), a2.e = da(a2.e, t2.s, r2), a2;
}
function ma(e2, t2) {
  if (e2.cRel && e2.c < 0) for (e2 = Ge(e2); e2.c < 0; ) e2.c += t2 > 8 ? 16384 : 256;
  if (e2.rRel && e2.r < 0) for (e2 = Ge(e2); e2.r < 0; ) e2.r += t2 > 8 ? 1048576 : t2 > 5 ? 65536 : 16384;
  var r2 = Ea(e2);
  return e2.cRel || null == e2.cRel || (r2 = r2.replace(/^([A-Z])/, "$$$1")), e2.rRel || null == e2.rRel || (r2 = function(e3) {
    return e3.replace(/([A-Z]|^)(\d+)$/, "$1$$$2");
  }(r2)), r2;
}
function va(e2, t2) {
  return 0 != e2.s.r || e2.s.rRel || e2.e.r != (t2.biff >= 12 ? 1048575 : t2.biff >= 8 ? 65536 : 16384) || e2.e.rRel ? 0 != e2.s.c || e2.s.cRel || e2.e.c != (t2.biff >= 12 ? 16383 : 255) || e2.e.cRel ? ma(e2.s, t2.biff) + ":" + ma(e2.e, t2.biff) : (e2.s.rRel ? "" : "$") + ba(e2.s.r) + ":" + (e2.e.rRel ? "" : "$") + ba(e2.e.r) : (e2.s.cRel ? "" : "$") + Ta(e2.s.c) + ":" + (e2.e.cRel ? "" : "$") + Ta(e2.e.c);
}
function ga(e2) {
  return parseInt(e2.replace(/\$(\d+)$/, "$1"), 10) - 1;
}
function ba(e2) {
  return "" + (e2 + 1);
}
function wa(e2) {
  for (var t2 = e2.replace(/^\$([A-Z])/, "$1"), r2 = 0, a2 = 0; a2 !== t2.length; ++a2) r2 = 26 * r2 + t2.charCodeAt(a2) - 64;
  return r2 - 1;
}
function Ta(e2) {
  if (e2 < 0) throw new Error("invalid column " + e2);
  var t2 = "";
  for (++e2; e2; e2 = Math.floor((e2 - 1) / 26)) t2 = String.fromCharCode((e2 - 1) % 26 + 65) + t2;
  return t2;
}
function ya(e2) {
  for (var t2 = 0, r2 = 0, a2 = 0; a2 < e2.length; ++a2) {
    var n2 = e2.charCodeAt(a2);
    n2 >= 48 && n2 <= 57 ? t2 = 10 * t2 + (n2 - 48) : n2 >= 65 && n2 <= 90 && (r2 = 26 * r2 + (n2 - 64));
  }
  return { c: r2 - 1, r: t2 - 1 };
}
function Ea(e2) {
  for (var t2 = e2.c + 1, r2 = ""; t2; t2 = (t2 - 1) / 26 | 0) r2 = String.fromCharCode((t2 - 1) % 26 + 65) + r2;
  return r2 + (e2.r + 1);
}
function ka(e2) {
  var t2 = e2.indexOf(":");
  return -1 == t2 ? { s: ya(e2), e: ya(e2) } : { s: ya(e2.slice(0, t2)), e: ya(e2.slice(t2 + 1)) };
}
function _a(e2, t2) {
  return void 0 === t2 || "number" == typeof t2 ? _a(e2.s, e2.e) : ("string" != typeof e2 && (e2 = Ea(e2)), "string" != typeof t2 && (t2 = Ea(t2)), e2 == t2 ? e2 : e2 + ":" + t2);
}
function Sa(e2) {
  var t2 = ka(e2);
  return "$" + Ta(t2.s.c) + "$" + ba(t2.s.r) + ":$" + Ta(t2.e.c) + "$" + ba(t2.e.r);
}
function xa(e2, t2) {
  if (!(e2 || t2 && t2.biff <= 5 && t2.biff >= 2)) throw new Error("empty sheet name");
  return /[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e2) ? "'" + e2.replace(/'/g, "''") + "'" : e2;
}
function Aa(e2) {
  var t2 = { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } }, r2 = 0, a2 = 0, n2 = 0, s2 = e2.length;
  for (r2 = 0; a2 < s2 && !((n2 = e2.charCodeAt(a2) - 64) < 1 || n2 > 26); ++a2) r2 = 26 * r2 + n2;
  for (t2.s.c = --r2, r2 = 0; a2 < s2 && !((n2 = e2.charCodeAt(a2) - 48) < 0 || n2 > 9); ++a2) r2 = 10 * r2 + n2;
  if (t2.s.r = --r2, a2 === s2 || 10 != n2) return t2.e.c = t2.s.c, t2.e.r = t2.s.r, t2;
  for (++a2, r2 = 0; a2 != s2 && !((n2 = e2.charCodeAt(a2) - 64) < 1 || n2 > 26); ++a2) r2 = 26 * r2 + n2;
  for (t2.e.c = --r2, r2 = 0; a2 != s2 && !((n2 = e2.charCodeAt(a2) - 48) < 0 || n2 > 9); ++a2) r2 = 10 * r2 + n2;
  return t2.e.r = --r2, t2;
}
function Ca(e2, t2) {
  var r2 = "d" == e2.t && t2 instanceof Date;
  if (null != e2.z) try {
    return e2.w = me(e2.z, r2 ? Le(t2) : t2);
  } catch (e3) {
  }
  try {
    return e2.w = me((e2.XF || {}).numFmtId || (r2 ? 14 : 0), r2 ? Le(t2) : t2);
  } catch (e3) {
    return "" + t2;
  }
}
function Ia(e2, t2, r2) {
  return null == e2 || null == e2.t || "z" == e2.t ? "" : void 0 !== e2.w ? e2.w : ("d" == e2.t && !e2.z && r2 && r2.dateNF && (e2.z = r2.dateNF), "e" == e2.t ? mn[e2.v] || e2.v : Ca(e2, null == t2 ? e2.v : t2));
}
function Oa(e2, t2) {
  var r2 = t2 && t2.sheet ? t2.sheet : "Sheet1", a2 = {};
  return a2[r2] = e2, { SheetNames: [r2], Sheets: a2 };
}
function Ra(e2, t2, r2) {
  var a2 = r2 || {}, n2 = e2 ? null != e2["!data"] : a2.dense, s2 = e2 || (n2 ? { "!data": [] } : {});
  n2 && !s2["!data"] && (s2["!data"] = []);
  var i2 = 0, o2 = 0;
  if (s2 && null != a2.origin) if ("number" == typeof a2.origin) i2 = a2.origin;
  else {
    var c2 = "string" == typeof a2.origin ? ya(a2.origin) : a2.origin;
    i2 = c2.r, o2 = c2.c;
  }
  var l2 = { s: { c: 1e7, r: 1e7 }, e: { c: 0, r: 0 } };
  if (s2["!ref"]) {
    var f2 = Aa(s2["!ref"]);
    l2.s.c = f2.s.c, l2.s.r = f2.s.r, l2.e.c = Math.max(l2.e.c, f2.e.c), l2.e.r = Math.max(l2.e.r, f2.e.r), -1 == i2 && (l2.e.r = i2 = s2["!ref"] ? f2.e.r + 1 : 0);
  } else l2.s.c = l2.e.c = l2.s.r = l2.e.r = 0;
  for (var h2 = [], u2 = false, d2 = 0; d2 != t2.length; ++d2) if (t2[d2]) {
    if (!Array.isArray(t2[d2])) throw new Error("aoa_to_sheet expects an array of arrays");
    var p2 = i2 + d2;
    n2 && (s2["!data"][p2] || (s2["!data"][p2] = []), h2 = s2["!data"][p2]);
    for (var m2 = t2[d2], v2 = 0; v2 != m2.length; ++v2) if (void 0 !== m2[v2]) {
      var g2 = { v: m2[v2], t: "" }, b2 = o2 + v2;
      if (l2.s.r > p2 && (l2.s.r = p2), l2.s.c > b2 && (l2.s.c = b2), l2.e.r < p2 && (l2.e.r = p2), l2.e.c < b2 && (l2.e.c = b2), u2 = true, !m2[v2] || "object" != typeof m2[v2] || Array.isArray(m2[v2]) || m2[v2] instanceof Date) if (Array.isArray(g2.v) && (g2.f = m2[v2][1], g2.v = g2.v[0]), null === g2.v) if (g2.f) g2.t = "n";
      else if (a2.nullError) g2.t = "e", g2.v = 0;
      else {
        if (!a2.sheetStubs) continue;
        g2.t = "z";
      }
      else "number" == typeof g2.v ? isFinite(g2.v) ? g2.t = "n" : isNaN(g2.v) ? (g2.t = "e", g2.v = 15) : (g2.t = "e", g2.v = 7) : "boolean" == typeof g2.v ? g2.t = "b" : g2.v instanceof Date ? (g2.z = a2.dateNF || W[14], a2.UTC || (g2.v = rt(g2.v)), a2.cellDates ? (g2.t = "d", g2.w = me(g2.z, Le(g2.v, a2.date1904))) : (g2.t = "n", g2.v = Le(g2.v, a2.date1904), g2.w = me(g2.z, g2.v))) : g2.t = "s";
      else g2 = m2[v2];
      if (n2) h2[b2] && h2[b2].z && (g2.z = h2[b2].z), h2[b2] = g2;
      else {
        var w2 = Ta(b2) + (p2 + 1);
        s2[w2] && s2[w2].z && (g2.z = s2[w2].z), s2[w2] = g2;
      }
    }
  }
  return u2 && l2.s.c < 104e5 && (s2["!ref"] = _a(l2)), s2;
}
function Na(e2, t2) {
  return Ra(null, e2, t2);
}
function Fa(e2, t2) {
  return t2 || (t2 = la(4)), t2.write_shift(4, e2), t2;
}
function Da(e2) {
  var t2 = e2.read_shift(4);
  return 0 === t2 ? "" : e2.read_shift(t2, "dbcs");
}
function Pa(e2, t2) {
  var r2 = false;
  return null == t2 && (r2 = true, t2 = la(4 + 2 * e2.length)), t2.write_shift(4, e2.length), e2.length > 0 && t2.write_shift(0, e2, "dbcs"), r2 ? t2.slice(0, t2.l) : t2;
}
function Ma(e2) {
  return { ich: e2.read_shift(2), ifnt: e2.read_shift(2) };
}
function La(e2, t2) {
  var r2 = e2.l, a2 = e2.read_shift(1), n2 = Da(e2), s2 = [], i2 = { t: n2, h: n2 };
  if (1 & a2) {
    for (var o2 = e2.read_shift(4), c2 = 0; c2 != o2; ++c2) s2.push(Ma(e2));
    i2.r = s2;
  } else i2.r = [{ ich: 0, ifnt: 0 }];
  return e2.l = r2 + t2, i2;
}
var Ua = La;
function Ba(e2, t2) {
  var r2 = false;
  return null == t2 && (r2 = true, t2 = la(23 + 4 * e2.t.length)), t2.write_shift(1, 1), Pa(e2.t, t2), t2.write_shift(4, 1), function(e3, t3) {
    t3 || (t3 = la(4)), t3.write_shift(2, 0), t3.write_shift(2, 0);
  }(0, t2), r2 ? t2.slice(0, t2.l) : t2;
}
function Wa(e2) {
  var t2 = e2.read_shift(4), r2 = e2.read_shift(2);
  return r2 += e2.read_shift(1) << 16, e2.l++, { c: t2, iStyleRef: r2 };
}
function za(e2, t2) {
  return null == t2 && (t2 = la(8)), t2.write_shift(-4, e2.c), t2.write_shift(3, e2.iStyleRef || e2.s), t2.write_shift(1, 0), t2;
}
function Ha(e2) {
  var t2 = e2.read_shift(2);
  return t2 += e2.read_shift(1) << 16, e2.l++, { c: -1, iStyleRef: t2 };
}
function Va(e2, t2) {
  return null == t2 && (t2 = la(4)), t2.write_shift(3, e2.iStyleRef || e2.s), t2.write_shift(1, 0), t2;
}
var $a = Da, Ga = Pa;
function Xa(e2) {
  var t2 = e2.read_shift(4);
  return 0 === t2 || 4294967295 === t2 ? "" : e2.read_shift(t2, "dbcs");
}
function ja(e2, t2) {
  var r2 = false;
  return null == t2 && (r2 = true, t2 = la(127)), t2.write_shift(4, e2.length > 0 ? e2.length : 4294967295), e2.length > 0 && t2.write_shift(0, e2, "dbcs"), r2 ? t2.slice(0, t2.l) : t2;
}
var Ka = Da, Ya = Xa, Za = ja;
function Ja(e2) {
  var t2 = e2.slice(e2.l, e2.l + 4), r2 = 1 & t2[0], a2 = 2 & t2[0];
  e2.l += 4;
  var n2 = 0 === a2 ? Xr([0, 0, 0, 0, 252 & t2[0], t2[1], t2[2], t2[3]], 0) : Qr(t2, 0) >> 2;
  return r2 ? n2 / 100 : n2;
}
function qa(e2, t2) {
  null == t2 && (t2 = la(4));
  var r2 = 0, a2 = 0, n2 = 100 * e2;
  if (e2 == (0 | e2) && e2 >= -536870912 && e2 < 1 << 29 ? a2 = 1 : n2 == (0 | n2) && n2 >= -536870912 && n2 < 1 << 29 && (a2 = 1, r2 = 1), !a2) throw new Error("unsupported RkNumber " + e2);
  t2.write_shift(-4, ((r2 ? n2 : e2) << 2) + (r2 + 2));
}
function Qa(e2) {
  var t2 = { s: {}, e: {} };
  return t2.s.r = e2.read_shift(4), t2.e.r = e2.read_shift(4), t2.s.c = e2.read_shift(4), t2.e.c = e2.read_shift(4), t2;
}
var en = Qa, tn = function(e2, t2) {
  return t2 || (t2 = la(16)), t2.write_shift(4, e2.s.r), t2.write_shift(4, e2.e.r), t2.write_shift(4, e2.s.c), t2.write_shift(4, e2.e.c), t2;
};
function rn(e2) {
  if (e2.length - e2.l < 8) throw "XLS Xnum Buffer underflow";
  return e2.read_shift(8, "f");
}
function an(e2, t2) {
  return (t2 || la(8)).write_shift(8, e2, "f");
}
function nn(e2, t2) {
  if (t2 || (t2 = la(8)), !e2 || e2.auto) return t2.write_shift(4, 0), t2.write_shift(4, 0), t2;
  null != e2.index ? (t2.write_shift(1, 2), t2.write_shift(1, e2.index)) : null != e2.theme ? (t2.write_shift(1, 6), t2.write_shift(1, e2.theme)) : (t2.write_shift(1, 5), t2.write_shift(1, 0));
  var r2 = e2.tint || 0;
  if (r2 > 0 ? r2 *= 32767 : r2 < 0 && (r2 *= 32768), t2.write_shift(2, r2), e2.rgb && null == e2.theme) {
    var a2 = e2.rgb || "FFFFFF";
    "number" == typeof a2 && (a2 = ("000000" + a2.toString(16)).slice(-6)), t2.write_shift(1, parseInt(a2.slice(0, 2), 16)), t2.write_shift(1, parseInt(a2.slice(2, 4), 16)), t2.write_shift(1, parseInt(a2.slice(4, 6), 16)), t2.write_shift(1, 255);
  } else t2.write_shift(2, 0), t2.write_shift(1, 0), t2.write_shift(1, 0);
  return t2;
}
function sn(e2, t2) {
  var r2 = e2.read_shift(4);
  switch (r2) {
    case 0:
      return "";
    case 4294967295:
    case 4294967294:
      return { 2: "BITMAP", 3: "METAFILEPICT", 8: "DIB", 14: "ENHMETAFILE" }[e2.read_shift(4)] || "";
  }
  if (r2 > 400) throw new Error("Unsupported Clipboard: " + r2.toString(16));
  return e2.l -= 4, e2.read_shift(0, 1 == t2 ? "lpstr" : "lpwstr");
}
var on = 80, cn = [on, 81], ln = { 1: { n: "CodePage", t: 2 }, 2: { n: "Category", t: on }, 3: { n: "PresentationFormat", t: on }, 4: { n: "ByteCount", t: 3 }, 5: { n: "LineCount", t: 3 }, 6: { n: "ParagraphCount", t: 3 }, 7: { n: "SlideCount", t: 3 }, 8: { n: "NoteCount", t: 3 }, 9: { n: "HiddenCount", t: 3 }, 10: { n: "MultimediaClipCount", t: 3 }, 11: { n: "ScaleCrop", t: 11 }, 12: { n: "HeadingPairs", t: 4108 }, 13: { n: "TitlesOfParts", t: 4126 }, 14: { n: "Manager", t: on }, 15: { n: "Company", t: on }, 16: { n: "LinksUpToDate", t: 11 }, 17: { n: "CharacterCount", t: 3 }, 19: { n: "SharedDoc", t: 11 }, 22: { n: "HyperlinksChanged", t: 11 }, 23: { n: "AppVersion", t: 3, p: "version" }, 24: { n: "DigSig", t: 65 }, 26: { n: "ContentType", t: on }, 27: { n: "ContentStatus", t: on }, 28: { n: "Language", t: on }, 29: { n: "Version", t: on }, 255: {}, 2147483648: { n: "Locale", t: 19 }, 2147483651: { n: "Behavior", t: 19 }, 1919054434: {} }, fn = { 1: { n: "CodePage", t: 2 }, 2: { n: "Title", t: on }, 3: { n: "Subject", t: on }, 4: { n: "Author", t: on }, 5: { n: "Keywords", t: on }, 6: { n: "Comments", t: on }, 7: { n: "Template", t: on }, 8: { n: "LastAuthor", t: on }, 9: { n: "RevNumber", t: on }, 10: { n: "EditTime", t: 64 }, 11: { n: "LastPrinted", t: 64 }, 12: { n: "CreatedDate", t: 64 }, 13: { n: "ModifiedDate", t: 64 }, 14: { n: "PageCount", t: 3 }, 15: { n: "WordCount", t: 3 }, 16: { n: "CharCount", t: 3 }, 17: { n: "Thumbnail", t: 71 }, 18: { n: "Application", t: on }, 19: { n: "DocSecurity", t: 3 }, 255: {}, 2147483648: { n: "Locale", t: 19 }, 2147483651: { n: "Behavior", t: 19 }, 1919054434: {} }, hn = { 1: "US", 2: "CA", 3: "", 7: "RU", 20: "EG", 30: "GR", 31: "NL", 32: "BE", 33: "FR", 34: "ES", 36: "HU", 39: "IT", 41: "CH", 43: "AT", 44: "GB", 45: "DK", 46: "SE", 47: "NO", 48: "PL", 49: "DE", 52: "MX", 55: "BR", 61: "AU", 64: "NZ", 66: "TH", 81: "JP", 82: "KR", 84: "VN", 86: "CN", 90: "TR", 105: "JS", 213: "DZ", 216: "MA", 218: "LY", 351: "PT", 354: "IS", 358: "FI", 420: "CZ", 886: "TW", 961: "LB", 962: "JO", 963: "SY", 964: "IQ", 965: "KW", 966: "SA", 971: "AE", 972: "IL", 974: "QA", 981: "IR", 65535: "US" }, un = [null, "solid", "mediumGray", "darkGray", "lightGray", "darkHorizontal", "darkVertical", "darkDown", "darkUp", "darkGrid", "darkTrellis", "lightHorizontal", "lightVertical", "lightDown", "lightUp", "lightGrid", "lightTrellis", "gray125", "gray0625"];
function dn(e2) {
  return e2.map(function(e3) {
    return [e3 >> 16 & 255, e3 >> 8 & 255, 255 & e3];
  });
}
var pn = Ge(dn([0, 16777215, 16711680, 65280, 255, 16776960, 16711935, 65535, 0, 16777215, 16711680, 65280, 255, 16776960, 16711935, 65535, 8388608, 32768, 128, 8421376, 8388736, 32896, 12632256, 8421504, 10066431, 10040166, 16777164, 13434879, 6684774, 16744576, 26316, 13421823, 128, 16711935, 16776960, 65535, 8388736, 8388608, 32896, 255, 52479, 13434879, 13434828, 16777113, 10079487, 16751052, 13408767, 16764057, 3368703, 3394764, 10079232, 16763904, 16750848, 16737792, 6710937, 9868950, 13158, 3381606, 13056, 3355392, 10040064, 10040166, 3355545, 3355443, 0, 16777215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), mn = { 0: "#NULL!", 7: "#DIV/0!", 15: "#VALUE!", 23: "#REF!", 29: "#NAME?", 36: "#NUM!", 42: "#N/A", 43: "#GETTING_DATA", 255: "#WTF?" }, vn = { "#NULL!": 0, "#DIV/0!": 7, "#VALUE!": 15, "#REF!": 23, "#NAME?": 29, "#NUM!": 36, "#N/A": 42, "#GETTING_DATA": 43, "#WTF?": 255 }, gn = ["_xlnm.Consolidate_Area", "_xlnm.Auto_Open", "_xlnm.Auto_Close", "_xlnm.Extract", "_xlnm.Database", "_xlnm.Criteria", "_xlnm.Print_Area", "_xlnm.Print_Titles", "_xlnm.Recorder", "_xlnm.Data_Form", "_xlnm.Auto_Activate", "_xlnm.Auto_Deactivate", "_xlnm.Sheet_Title", "_xlnm._FilterDatabase"], bn = { "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", "application/vnd.ms-excel.addin.macroEnabled.main+xml": "workbooks", "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "workbooks", "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", "application/vnd.ms-excel.worksheet": "sheets", "application/vnd.ms-excel.binIndexWs": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "charts", "application/vnd.ms-excel.chartsheet": "charts", "application/vnd.ms-excel.macrosheet+xml": "macros", "application/vnd.ms-excel.macrosheet": "macros", "application/vnd.ms-excel.intlmacrosheet": "TODO", "application/vnd.ms-excel.binIndexMs": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "dialogs", "application/vnd.ms-excel.dialogsheet": "dialogs", "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", "application/vnd.ms-excel.sharedStrings": "strs", "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", "application/vnd.ms-excel.styles": "styles", "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", "application/vnd.ms-excel.comments": "comments", "application/vnd.ms-excel.threadedcomments+xml": "threadedcomments", "application/vnd.ms-excel.person+xml": "people", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "metadata", "application/vnd.ms-excel.sheetMetadata": "metadata", "application/vnd.ms-excel.pivotTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO", "application/vnd.ms-office.chartcolorstyle+xml": "TODO", "application/vnd.ms-office.chartstyle+xml": "TODO", "application/vnd.ms-office.chartex+xml": "TODO", "application/vnd.ms-excel.calcChain": "calcchains", "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO", "application/vnd.ms-office.activeX": "TODO", "application/vnd.ms-office.activeX+xml": "TODO", "application/vnd.ms-excel.attachedToolbars": "TODO", "application/vnd.ms-excel.connections": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO", "application/vnd.ms-excel.externalLink": "links", "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links", "application/vnd.ms-excel.pivotCacheDefinition": "TODO", "application/vnd.ms-excel.pivotCacheRecords": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO", "application/vnd.ms-excel.queryTable": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO", "application/vnd.ms-excel.userNames": "TODO", "application/vnd.ms-excel.revisionHeaders": "TODO", "application/vnd.ms-excel.revisionLog": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO", "application/vnd.ms-excel.tableSingleCells": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO", "application/vnd.ms-excel.slicer": "TODO", "application/vnd.ms-excel.slicerCache": "TODO", "application/vnd.ms-excel.slicer+xml": "TODO", "application/vnd.ms-excel.slicerCache+xml": "TODO", "application/vnd.ms-excel.wsSortMap": "TODO", "application/vnd.ms-excel.table": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO", "application/vnd.openxmlformats-officedocument.theme+xml": "themes", "application/vnd.openxmlformats-officedocument.themeOverride+xml": "TODO", "application/vnd.ms-excel.Timeline+xml": "TODO", "application/vnd.ms-excel.TimelineCache+xml": "TODO", "application/vnd.ms-office.vbaProject": "vba", "application/vnd.ms-office.vbaProjectSignature": "TODO", "application/vnd.ms-office.volatileDependencies": "TODO", "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO", "application/vnd.ms-excel.controlproperties+xml": "TODO", "application/vnd.openxmlformats-officedocument.model+data": "TODO", "application/vnd.ms-excel.Survey+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawing+xml": "drawings", "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO", "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO", "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO", "application/vnd.openxmlformats-package.relationships+xml": "rels", "application/vnd.openxmlformats-officedocument.oleObject": "TODO", "image/png": "TODO", sheet: "js" }, wn = { workbooks: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", xlsm: "application/vnd.ms-excel.sheet.macroEnabled.main+xml", xlsb: "application/vnd.ms-excel.sheet.binary.macroEnabled.main", xlam: "application/vnd.ms-excel.addin.macroEnabled.main+xml", xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" }, strs: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", xlsb: "application/vnd.ms-excel.sharedStrings" }, comments: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", xlsb: "application/vnd.ms-excel.comments" }, sheets: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", xlsb: "application/vnd.ms-excel.worksheet" }, charts: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", xlsb: "application/vnd.ms-excel.chartsheet" }, dialogs: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", xlsb: "application/vnd.ms-excel.dialogsheet" }, macros: { xlsx: "application/vnd.ms-excel.macrosheet+xml", xlsb: "application/vnd.ms-excel.macrosheet" }, metadata: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", xlsb: "application/vnd.ms-excel.sheetMetadata" }, styles: { xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", xlsb: "application/vnd.ms-excel.styles" } };
function Tn(e2, t2, r2) {
  var a2, n2 = function(e3) {
    for (var t3 = [], r3 = Oe(e3), a3 = 0; a3 !== r3.length; ++a3) null == t3[e3[r3[a3]]] && (t3[e3[r3[a3]]] = []), t3[e3[r3[a3]]].push(r3[a3]);
    return t3;
  }(bn), s2 = [];
  s2[s2.length] = kt, s2[s2.length] = rr("Types", null, { xmlns: lr, "xmlns:xsd": br, "xmlns:xsi": gr }), s2 = s2.concat([["xml", "application/xml"], ["bin", "application/vnd.ms-excel.sheet.binary.macroEnabled.main"], ["vml", "application/vnd.openxmlformats-officedocument.vmlDrawing"], ["data", "application/vnd.openxmlformats-officedocument.model+data"], ["bmp", "image/bmp"], ["png", "image/png"], ["gif", "image/gif"], ["emf", "image/x-emf"], ["wmf", "image/x-wmf"], ["jpg", "image/jpeg"], ["jpeg", "image/jpeg"], ["tif", "image/tiff"], ["tiff", "image/tiff"], ["pdf", "application/pdf"], ["rels", "application/vnd.openxmlformats-package.relationships+xml"]].map(function(e3) {
    return rr("Default", null, { Extension: e3[0], ContentType: e3[1] });
  }));
  var i2 = function(r3) {
    e2[r3] && e2[r3].length > 0 && (a2 = e2[r3][0], s2[s2.length] = rr("Override", null, { PartName: ("/" == a2[0] ? "" : "/") + a2, ContentType: wn[r3][t2.bookType] || wn[r3].xlsx }));
  }, o2 = function(r3) {
    (e2[r3] || []).forEach(function(e3) {
      s2[s2.length] = rr("Override", null, { PartName: ("/" == e3[0] ? "" : "/") + e3, ContentType: wn[r3][t2.bookType] || wn[r3].xlsx });
    });
  }, c2 = function(t3) {
    (e2[t3] || []).forEach(function(e3) {
      s2[s2.length] = rr("Override", null, { PartName: ("/" == e3[0] ? "" : "/") + e3, ContentType: n2[t3][0] });
    });
  };
  return i2("workbooks"), o2("sheets"), o2("charts"), c2("themes"), ["strs", "styles"].forEach(i2), ["coreprops", "extprops", "custprops"].forEach(c2), c2("vba"), c2("comments"), c2("threadedcomments"), c2("drawings"), o2("metadata"), c2("people"), s2.length > 2 && (s2[s2.length] = "</Types>", s2[1] = s2[1].replace("/>", ">")), s2.join("");
}
var yn = { WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument", HLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", VML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing", XPATH: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath", XMISS: "http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing", XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", CMNT: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", CORE_PROPS: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", EXT_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties", CUST_PROPS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties", SST: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings", STY: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", THEME: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", CHART: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", CHARTEX: "http://schemas.microsoft.com/office/2014/relationships/chartEx", CS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet", WS: ["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", "http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"], DS: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet", MS: "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet", IMG: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", DRAW: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing", XLMETA: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata", TCMNT: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment", PEOPLE: "http://schemas.microsoft.com/office/2017/10/relationships/person", CONN: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject" };
function En(e2) {
  var t2 = e2.lastIndexOf("/");
  return e2.slice(0, t2 + 1) + "_rels/" + e2.slice(t2 + 1) + ".rels";
}
function kn(e2, t2) {
  var r2 = { "!id": {} };
  if (!e2) return r2;
  "/" !== t2.charAt(0) && (t2 = "/" + t2);
  var a2 = {};
  return (e2.match(xt) || []).forEach(function(e3) {
    var n2 = It(e3);
    if ("<Relationship" === n2[0]) {
      var s2 = {};
      s2.Type = n2.Type, s2.Target = Dt(n2.Target), s2.Id = n2.Id, n2.TargetMode && (s2.TargetMode = n2.TargetMode);
      var i2 = "External" === n2.TargetMode ? n2.Target : Et(n2.Target, t2);
      r2[i2] = s2, a2[n2.Id] = s2;
    }
  }), r2["!id"] = a2, r2;
}
function _n(e2) {
  var t2 = [kt, rr("Relationships", null, { xmlns: fr })];
  return Oe(e2["!id"]).forEach(function(r2) {
    t2[t2.length] = rr("Relationship", null, e2["!id"][r2]);
  }), t2.length > 2 && (t2[t2.length] = "</Relationships>", t2[1] = t2[1].replace("/>", ">")), t2.join("");
}
function Sn(e2, t2, r2, a2, n2, s2) {
  if (n2 || (n2 = {}), e2["!id"] || (e2["!id"] = {}), e2["!idx"] || (e2["!idx"] = 1), t2 < 0) for (t2 = e2["!idx"]; e2["!id"]["rId" + t2]; ++t2) ;
  if (e2["!idx"] = t2 + 1, n2.Id = "rId" + t2, n2.Type = a2, n2.Target = r2, [yn.HLINK, yn.XPATH, yn.XMISS].indexOf(n2.Type) > -1 && (n2.TargetMode = "External"), e2["!id"][n2.Id]) throw new Error("Cannot rewrite rId " + t2);
  return e2["!id"][n2.Id] = n2, e2[("/" + n2.Target).replace("//", "/")] = n2, t2;
}
function xn(e2, t2, r2) {
  return ['  <rdf:Description rdf:about="' + e2 + '">\n', '    <rdf:type rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/' + (r2 || "odf") + "#" + t2 + '"/>\n', "  </rdf:Description>\n"].join("");
}
function An(e2, t2) {
  return ['  <rdf:Description rdf:about="' + e2 + '">\n', '    <ns0:hasPart xmlns:ns0="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#" rdf:resource="' + t2 + '"/>\n', "  </rdf:Description>\n"].join("");
}
function Cn(e2, r2) {
  return '<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xlink="http://www.w3.org/1999/xlink" office:version="1.2"><office:meta><meta:generator>SheetJS ' + t.version + "</meta:generator></office:meta></office:document-meta>";
}
var In = [["cp:category", "Category"], ["cp:contentStatus", "ContentStatus"], ["cp:keywords", "Keywords"], ["cp:lastModifiedBy", "LastAuthor"], ["cp:lastPrinted", "LastPrinted"], ["cp:revision", "RevNumber"], ["cp:version", "Version"], ["dc:creator", "Author"], ["dc:description", "Comments"], ["dc:identifier", "Identifier"], ["dc:language", "Language"], ["dc:subject", "Subject"], ["dc:title", "Title"], ["dcterms:created", "CreatedDate", "date"], ["dcterms:modified", "ModifiedDate", "date"]];
function On(e2) {
  var t2 = {};
  e2 = jt(e2);
  for (var r2 = 0; r2 < In.length; ++r2) {
    var a2 = In[r2], n2 = ot(e2, a2[0]);
    null != n2 && n2.length > 0 && (t2[a2[1]] = Dt(n2[1])), "date" === a2[2] && t2[a2[1]] && (t2[a2[1]] = Ve(t2[a2[1]]));
  }
  return t2;
}
function Rn(e2, t2, r2, a2, n2) {
  null == n2[e2] && null != t2 && "" !== t2 && (n2[e2] = t2, t2 = Lt(t2), a2[a2.length] = r2 ? rr(e2, t2, r2) : er(e2, t2));
}
function Nn(e2, t2) {
  var r2 = t2 || {}, a2 = [kt, rr("cp:coreProperties", null, { "xmlns:cp": ir, "xmlns:dc": ur, "xmlns:dcterms": dr, "xmlns:dcmitype": pr, "xmlns:xsi": gr })], n2 = {};
  if (!e2 && !r2.Props) return a2.join("");
  e2 && (null != e2.CreatedDate && Rn("dcterms:created", "string" == typeof e2.CreatedDate ? e2.CreatedDate : ar(e2.CreatedDate, r2.WTF), { "xsi:type": "dcterms:W3CDTF" }, a2, n2), null != e2.ModifiedDate && Rn("dcterms:modified", "string" == typeof e2.ModifiedDate ? e2.ModifiedDate : ar(e2.ModifiedDate, r2.WTF), { "xsi:type": "dcterms:W3CDTF" }, a2, n2));
  for (var s2 = 0; s2 != In.length; ++s2) {
    var i2 = In[s2], o2 = r2.Props && null != r2.Props[i2[1]] ? r2.Props[i2[1]] : e2 ? e2[i2[1]] : null;
    true === o2 ? o2 = "1" : false === o2 ? o2 = "0" : "number" == typeof o2 && (o2 = String(o2)), null != o2 && Rn(i2[0], o2, null, a2, n2);
  }
  return a2.length > 2 && (a2[a2.length] = "</cp:coreProperties>", a2[1] = a2[1].replace("/>", ">")), a2.join("");
}
var Fn = [["Application", "Application", "string"], ["AppVersion", "AppVersion", "string"], ["Company", "Company", "string"], ["DocSecurity", "DocSecurity", "string"], ["Manager", "Manager", "string"], ["HyperlinksChanged", "HyperlinksChanged", "bool"], ["SharedDoc", "SharedDoc", "bool"], ["LinksUpToDate", "LinksUpToDate", "bool"], ["ScaleCrop", "ScaleCrop", "bool"], ["HeadingPairs", "HeadingPairs", "raw"], ["TitlesOfParts", "TitlesOfParts", "raw"]], Dn = ["Worksheets", "SheetNames", "NamedRanges", "DefinedNames", "Chartsheets", "ChartNames"];
function Pn(e2, t2, r2, a2) {
  var n2 = [];
  if ("string" == typeof e2) n2 = qt(e2, a2);
  else for (var s2 = 0; s2 < e2.length; ++s2) n2 = n2.concat(e2[s2].map(function(e3) {
    return { v: e3 };
  }));
  var i2 = "string" == typeof t2 ? qt(t2, a2).map(function(e3) {
    return e3.v;
  }) : t2, o2 = 0, c2 = 0;
  if (i2.length > 0) for (var l2 = 0; l2 !== n2.length; l2 += 2) {
    switch (c2 = +n2[l2 + 1].v, n2[l2].v) {
      case "Worksheets":
      case "工作表":
      case "Листы":
      case "أوراق العمل":
      case "ワークシート":
      case "גליונות עבודה":
      case "Arbeitsblätter":
      case "Çalışma Sayfaları":
      case "Feuilles de calcul":
      case "Fogli di lavoro":
      case "Folhas de cálculo":
      case "Planilhas":
      case "Regneark":
      case "Hojas de cálculo":
      case "Werkbladen":
        r2.Worksheets = c2, r2.SheetNames = i2.slice(o2, o2 + c2);
        break;
      case "Named Ranges":
      case "Rangos con nombre":
      case "名前付き一覧":
      case "Benannte Bereiche":
      case "Navngivne områder":
        r2.NamedRanges = c2, r2.DefinedNames = i2.slice(o2, o2 + c2);
        break;
      case "Charts":
      case "Diagramme":
        r2.Chartsheets = c2, r2.ChartNames = i2.slice(o2, o2 + c2);
    }
    o2 += c2;
  }
}
function Mn(e2) {
  var t2 = [], r2 = rr;
  return e2 || (e2 = {}), e2.Application = "SheetJS", t2[t2.length] = kt, t2[t2.length] = rr("Properties", null, { xmlns: cr, "xmlns:vt": vr }), Fn.forEach(function(a2) {
    if (void 0 !== e2[a2[1]]) {
      var n2;
      switch (a2[2]) {
        case "string":
          n2 = Lt(String(e2[a2[1]]));
          break;
        case "bool":
          n2 = e2[a2[1]] ? "true" : "false";
      }
      void 0 !== n2 && (t2[t2.length] = r2(a2[0], n2));
    }
  }), t2[t2.length] = r2("HeadingPairs", r2("vt:vector", r2("vt:variant", "<vt:lpstr>Worksheets</vt:lpstr>") + r2("vt:variant", r2("vt:i4", String(e2.Worksheets))), { size: 2, baseType: "variant" })), t2[t2.length] = r2("TitlesOfParts", r2("vt:vector", e2.SheetNames.map(function(e3) {
    return "<vt:lpstr>" + Lt(e3) + "</vt:lpstr>";
  }).join(""), { size: e2.Worksheets, baseType: "lpstr" })), t2.length > 2 && (t2[t2.length] = "</Properties>", t2[1] = t2[1].replace("/>", ">")), t2.join("");
}
var Ln = /<[^<>]+>[^<]*/g;
function Un(e2) {
  var t2 = [kt, rr("Properties", null, { xmlns: or, "xmlns:vt": vr })];
  if (!e2) return t2.join("");
  var r2 = 1;
  return Oe(e2).forEach(function(a2) {
    ++r2, t2[t2.length] = rr("property", function(e3) {
      switch (typeof e3) {
        case "string":
          var t3 = rr("vt:lpwstr", Lt(e3));
          return t3.replace(/&quot;/g, "_x0022_");
        case "number":
          return rr((0 | e3) == e3 ? "vt:i4" : "vt:r8", Lt(String(e3)));
        case "boolean":
          return rr("vt:bool", e3 ? "true" : "false");
      }
      if (e3 instanceof Date) return rr("vt:filetime", ar(e3));
      throw new Error("Unable to serialize " + e3);
    }(e2[a2]), { fmtid: "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}", pid: r2, name: Lt(a2) });
  }), t2.length > 2 && (t2[t2.length] = "</Properties>", t2[1] = t2[1].replace("/>", ">")), t2.join("");
}
var Bn, Wn = { Title: "Title", Subject: "Subject", Author: "Author", Keywords: "Keywords", Comments: "Description", LastAuthor: "LastAuthor", RevNumber: "Revision", Application: "AppName", LastPrinted: "LastPrinted", CreatedDate: "Created", ModifiedDate: "LastSaved", Category: "Category", Manager: "Manager", Company: "Company", AppVersion: "Version", ContentStatus: "ContentStatus", Identifier: "Identifier", Language: "Language" };
function zn(e2, t2, r2) {
  Bn || (Bn = Ne(Wn)), e2[t2 = Bn[t2] || t2] = r2;
}
function Hn(e2) {
  var t2 = e2.read_shift(4), r2 = e2.read_shift(4);
  return new Date(1e3 * (r2 / 1e7 * Math.pow(2, 32) + t2 / 1e7 - 11644473600)).toISOString().replace(/\.000/, "");
}
function Vn(e2, t2, r2) {
  return 31 === t2 ? function(e3) {
    return e3.read_shift(0, "lpwstr");
  }(e2) : function(e3, t3, r3) {
    var a2 = e3.l, n2 = e3.read_shift(0, "lpstr-cp");
    if (r3) for (; e3.l - a2 & 3; ) ++e3.l;
    return n2;
  }(e2, 0, r2);
}
function $n(e2, t2, r2) {
  return Vn(e2, t2, false === r2 ? 0 : 4);
}
function Gn(e2) {
  var t2 = e2.l, r2 = Kn(e2, 81);
  return 0 == e2[e2.l] && 0 == e2[e2.l + 1] && e2.l - t2 & 2 && (e2.l += 2), [r2, Kn(e2, 3)];
}
function Xn(e2, t2) {
  for (var r2 = e2.read_shift(4), a2 = {}, n2 = 0; n2 != r2; ++n2) {
    var s2 = e2.read_shift(4), i2 = e2.read_shift(4);
    a2[s2] = e2.read_shift(i2, 1200 === t2 ? "utf16le" : "utf8").replace(I, "").replace(O, "!"), 1200 === t2 && i2 % 2 && (e2.l += 2);
  }
  return 3 & e2.l && (e2.l = e2.l >> 3 << 2), a2;
}
function jn(e2) {
  var t2 = e2.read_shift(4), r2 = e2.slice(e2.l, e2.l + t2);
  return e2.l += t2, (3 & t2) > 0 && (e2.l += 4 - (3 & t2) & 3), r2;
}
function Kn(e2, t2, r2) {
  var a2, n2 = e2.read_shift(2), s2 = r2 || {};
  if (e2.l += 2, 12 !== t2 && n2 !== t2 && -1 === cn.indexOf(t2) && (4126 != (65534 & t2) || 4126 != (65534 & n2))) throw new Error("Expected type " + t2 + " saw " + n2);
  switch (12 === t2 ? n2 : t2) {
    case 2:
      return a2 = e2.read_shift(2, "i"), s2.raw || (e2.l += 2), a2;
    case 3:
      return a2 = e2.read_shift(4, "i");
    case 11:
      return 0 !== e2.read_shift(4);
    case 19:
      return a2 = e2.read_shift(4);
    case 30:
    case 31:
      e2.l += 4, val = $n(e2, e2[e2.l - 4]).replace(/(^|[^\u0000])\u0000+$/, "$1");
      break;
    case 64:
      return Hn(e2);
    case 65:
      return jn(e2);
    case 71:
      return function(e3) {
        var t3 = {};
        return t3.Size = e3.read_shift(4), e3.l += t3.Size + 3 - (t3.Size - 1) % 4, t3;
      }(e2);
    case 80:
      return $n(e2, n2, !s2.raw).replace(I, "");
    case 81:
      return function(e3, t3) {
        if (!t3) throw new Error("VtUnalignedString must have positive length");
        return Vn(e3, t3, 0);
      }(e2, n2).replace(I, "");
    case 4108:
      return function(e3) {
        for (var t3 = e3.read_shift(4), r3 = [], a3 = 0; a3 < t3 / 2; ++a3) r3.push(Gn(e3));
        return r3;
      }(e2);
    case 4126:
    case 4127:
      return 4127 == n2 ? function(e3) {
        for (var t3 = e3.read_shift(4), r3 = [], a3 = 0; a3 != t3; ++a3) {
          var n3 = e3.l;
          r3[a3] = e3.read_shift(0, "lpwstr").replace(I, ""), e3.l - n3 & 2 && (e3.l += 2);
        }
        return r3;
      }(e2) : function(e3) {
        for (var t3 = e3.read_shift(4), r3 = [], a3 = 0; a3 != t3; ++a3) r3[a3] = e3.read_shift(0, "lpstr-cp").replace(I, "");
        return r3;
      }(e2);
    default:
      throw new Error("TypedPropertyValue unrecognized type " + t2 + " " + n2);
  }
}
function Yn(e2, t2) {
  var r2 = la(4), a2 = la(4);
  switch (r2.write_shift(4, 80 == e2 ? 31 : e2), e2) {
    case 3:
      a2.write_shift(-4, t2);
      break;
    case 5:
      (a2 = la(8)).write_shift(8, t2, "f");
      break;
    case 11:
      a2.write_shift(4, t2 ? 1 : 0);
      break;
    case 64:
      a2 = function(e3) {
        var t3 = ("string" == typeof e3 ? new Date(Date.parse(e3)) : e3).getTime() / 1e3 + 11644473600, r3 = t3 % Math.pow(2, 32), a3 = (t3 - r3) / Math.pow(2, 32);
        a3 *= 1e7;
        var n2 = (r3 *= 1e7) / Math.pow(2, 32) | 0;
        n2 > 0 && (r3 %= Math.pow(2, 32), a3 += n2);
        var s2 = la(8);
        return s2.write_shift(4, r3), s2.write_shift(4, a3), s2;
      }(t2);
      break;
    case 31:
    case 80:
      for ((a2 = la(4 + 2 * (t2.length + 1) + (t2.length % 2 ? 0 : 2))).write_shift(4, t2.length + 1), a2.write_shift(0, t2, "dbcs"); a2.l != a2.length; ) a2.write_shift(1, 0);
      break;
    default:
      throw new Error("TypedPropertyValue unrecognized type " + e2 + " " + t2);
  }
  return C([r2, a2]);
}
function Zn(e2, t2) {
  var r2 = e2.l, a2 = e2.read_shift(4), n2 = e2.read_shift(4), s2 = [], i2 = 0, c2 = 0, l2 = -1, f2 = {};
  for (i2 = 0; i2 != n2; ++i2) {
    var h2 = e2.read_shift(4), u2 = e2.read_shift(4);
    s2[i2] = [h2, u2 + r2];
  }
  s2.sort(function(e3, t3) {
    return e3[1] - t3[1];
  });
  var d2 = {};
  for (i2 = 0; i2 != n2; ++i2) {
    if (e2.l !== s2[i2][1]) {
      var p2 = true;
      if (i2 > 0 && t2) switch (t2[s2[i2 - 1][0]].t) {
        case 2:
          e2.l + 2 === s2[i2][1] && (e2.l += 2, p2 = false);
          break;
        case 80:
        case 4108:
          e2.l <= s2[i2][1] && (e2.l = s2[i2][1], p2 = false);
      }
      if ((!t2 || 0 == i2) && e2.l <= s2[i2][1] && (p2 = false, e2.l = s2[i2][1]), p2) throw new Error("Read Error: Expected address " + s2[i2][1] + " at " + e2.l + " :" + i2);
    }
    if (t2) {
      if (0 == s2[i2][0] && s2.length > i2 + 1 && s2[i2][1] == s2[i2 + 1][1]) continue;
      var m2 = t2[s2[i2][0]];
      if (d2[m2.n] = Kn(e2, m2.t, { raw: true }), "version" === m2.p && (d2[m2.n] = String(d2[m2.n] >> 16) + "." + ("0000" + String(65535 & d2[m2.n])).slice(-4)), "CodePage" == m2.n) switch (d2[m2.n]) {
        case 0:
          d2[m2.n] = 1252;
        case 874:
        case 932:
        case 936:
        case 949:
        case 950:
        case 1250:
        case 1251:
        case 1253:
        case 1254:
        case 1255:
        case 1256:
        case 1257:
        case 1258:
        case 1e4:
        case 1200:
        case 1201:
        case 1252:
        case 65e3:
        case -536:
        case 65001:
        case -535:
          o(c2 = d2[m2.n] >>> 0 & 65535);
          break;
        default:
          throw new Error("Unsupported CodePage: " + d2[m2.n]);
      }
    } else if (1 === s2[i2][0]) {
      if (c2 = d2.CodePage = Kn(e2, 2), o(c2), -1 !== l2) {
        var v2 = e2.l;
        e2.l = s2[l2][1], f2 = Xn(e2, c2), e2.l = v2;
      }
    } else if (0 === s2[i2][0]) {
      if (0 === c2) {
        l2 = i2, e2.l = s2[i2 + 1][1];
        continue;
      }
      f2 = Xn(e2, c2);
    } else {
      var g2, b2 = f2[s2[i2][0]];
      switch (e2[e2.l]) {
        case 65:
          e2.l += 4, g2 = jn(e2);
          break;
        case 30:
        case 31:
          e2.l += 4, g2 = $n(e2, e2[e2.l - 4]).replace(/(^|[^\u0000])\u0000+$/, "$1");
          break;
        case 3:
          e2.l += 4, g2 = e2.read_shift(4, "i");
          break;
        case 19:
          e2.l += 4, g2 = e2.read_shift(4);
          break;
        case 5:
          e2.l += 4, g2 = e2.read_shift(8, "f");
          break;
        case 11:
          e2.l += 4, g2 = as(e2, 4);
          break;
        case 64:
          e2.l += 4, g2 = Ve(Hn(e2));
          break;
        default:
          throw new Error("unparsed value: " + e2[e2.l]);
      }
      d2[b2] = g2;
    }
  }
  return e2.l = r2 + a2, d2;
}
var Jn = ["CodePage", "Thumbnail", "_PID_LINKBASE", "_PID_HLINKS", "SystemIdentifier", "FMTID"];
function qn(e2) {
  switch (typeof e2) {
    case "boolean":
      return 11;
    case "number":
      return (0 | e2) == e2 ? 3 : 5;
    case "string":
      return 31;
    case "object":
      if (e2 instanceof Date) return 64;
  }
  return -1;
}
function Qn(e2, t2, r2) {
  var a2 = la(8), n2 = [], s2 = [], i2 = 8, o2 = 0, c2 = la(8), l2 = la(8);
  if (c2.write_shift(4, 2), c2.write_shift(4, 1200), l2.write_shift(4, 1), s2.push(c2), n2.push(l2), i2 += 8 + c2.length, !t2) {
    (l2 = la(8)).write_shift(4, 0), n2.unshift(l2);
    var f2 = [la(4)];
    for (f2[0].write_shift(4, e2.length), o2 = 0; o2 < e2.length; ++o2) {
      var h2 = e2[o2][0];
      for ((c2 = la(8 + 2 * (h2.length + 1) + (h2.length % 2 ? 0 : 2))).write_shift(4, o2 + 2), c2.write_shift(4, h2.length + 1), c2.write_shift(0, h2, "dbcs"); c2.l != c2.length; ) c2.write_shift(1, 0);
      f2.push(c2);
    }
    c2 = C(f2), s2.unshift(c2), i2 += 8 + c2.length;
  }
  for (o2 = 0; o2 < e2.length; ++o2) if ((!t2 || t2[e2[o2][0]]) && !(Jn.indexOf(e2[o2][0]) > -1 || Dn.indexOf(e2[o2][0]) > -1) && null != e2[o2][1]) {
    var u2 = e2[o2][1], d2 = 0;
    if (t2) {
      var p2 = r2[d2 = +t2[e2[o2][0]]];
      if ("version" == p2.p && "string" == typeof u2) {
        var m2 = u2.split(".");
        u2 = (+m2[0] << 16) + (+m2[1] || 0);
      }
      c2 = Yn(p2.t, u2);
    } else {
      var v2 = qn(u2);
      -1 == v2 && (v2 = 31, u2 = String(u2)), c2 = Yn(v2, u2);
    }
    s2.push(c2), (l2 = la(8)).write_shift(4, t2 ? d2 : 2 + o2), n2.push(l2), i2 += 8 + c2.length;
  }
  var g2 = 8 * (s2.length + 1);
  for (o2 = 0; o2 < s2.length; ++o2) n2[o2].write_shift(4, g2), g2 += s2[o2].length;
  return a2.write_shift(4, i2), a2.write_shift(4, s2.length), C([a2].concat(n2).concat(s2));
}
function es(e2, t2, r2) {
  var a2 = e2.content;
  if (!a2) return {};
  oa(a2, 0);
  var n2, s2, i2, o2, c2 = 0;
  a2.chk("feff", "Byte Order: "), a2.read_shift(2);
  var l2 = a2.read_shift(4), f2 = a2.read_shift(16);
  if (f2 !== xe.utils.consts.HEADER_CLSID && f2 !== r2) throw new Error("Bad PropertySet CLSID " + f2);
  if (1 !== (n2 = a2.read_shift(4)) && 2 !== n2) throw new Error("Unrecognized #Sets: " + n2);
  if (s2 = a2.read_shift(16), o2 = a2.read_shift(4), 1 === n2 && o2 !== a2.l) throw new Error("Length mismatch: " + o2 + " !== " + a2.l);
  2 === n2 && (i2 = a2.read_shift(16), c2 = a2.read_shift(4));
  var h2, u2 = Zn(a2, t2), d2 = { SystemIdentifier: l2 };
  for (var p2 in u2) d2[p2] = u2[p2];
  if (d2.FMTID = s2, 1 === n2) return d2;
  if (c2 - a2.l == 2 && (a2.l += 2), a2.l !== c2) throw new Error("Length mismatch 2: " + a2.l + " !== " + c2);
  try {
    h2 = Zn(a2, null);
  } catch (e3) {
  }
  for (p2 in h2) d2[p2] = h2[p2];
  return d2.FMTID = [s2, i2], d2;
}
function ts(e2, t2, r2, a2, n2, s2) {
  var i2 = la(n2 ? 68 : 48), o2 = [i2];
  i2.write_shift(2, 65534), i2.write_shift(2, 0), i2.write_shift(4, 842412599), i2.write_shift(16, xe.utils.consts.HEADER_CLSID, "hex"), i2.write_shift(4, n2 ? 2 : 1), i2.write_shift(16, t2, "hex"), i2.write_shift(4, n2 ? 68 : 48);
  var c2 = Qn(e2, r2, a2);
  if (o2.push(c2), n2) {
    var l2 = Qn(n2, null, null);
    i2.write_shift(16, s2, "hex"), i2.write_shift(4, 68 + c2.length), o2.push(l2);
  }
  return C(o2);
}
function rs(e2, t2) {
  return e2.read_shift(t2), null;
}
function as(e2, t2) {
  return 1 === e2.read_shift(t2);
}
function ns(e2, t2) {
  return t2 || (t2 = la(2)), t2.write_shift(2, +!!e2), t2;
}
function ss(e2) {
  return e2.read_shift(2, "u");
}
function is(e2, t2) {
  return t2 || (t2 = la(2)), t2.write_shift(2, e2), t2;
}
function os(e2, t2) {
  return function(e3, t3, r2) {
    for (var a2 = [], n2 = e3.l + t3; e3.l < n2; ) a2.push(r2(e3, n2 - e3.l));
    if (n2 !== e3.l) throw new Error("Slurp error");
    return a2;
  }(e2, t2, ss);
}
function cs(e2) {
  var t2 = e2.read_shift(1);
  return 1 === e2.read_shift(1) ? t2 : 1 === t2;
}
function ls(e2, t2, r2) {
  return r2 || (r2 = la(2)), r2.write_shift(1, "e" == t2 ? +e2 : +!!e2), r2.write_shift(1, "e" == t2 ? 1 : 0), r2;
}
function fs(e2, t2, a2) {
  var n2 = e2.read_shift(a2 && a2.biff >= 12 ? 2 : 1), s2 = "sbcs-cont", i2 = r;
  (a2 && a2.biff >= 8 && (r = 1200), a2 && 8 != a2.biff) ? 12 == a2.biff && (s2 = "wstr") : e2.read_shift(1) && (s2 = "dbcs-cont");
  a2.biff >= 2 && a2.biff <= 5 && (s2 = "cpstr");
  var o2 = n2 ? e2.read_shift(n2, s2) : "";
  return r = i2, o2;
}
function hs(e2) {
  var t2 = r;
  r = 1200;
  var a2, n2 = e2.read_shift(2), s2 = e2.read_shift(1), i2 = 4 & s2, o2 = 8 & s2, c2 = 1 + (1 & s2), l2 = 0, f2 = {};
  o2 && (l2 = e2.read_shift(2)), i2 && (a2 = e2.read_shift(4));
  var h2 = 2 == c2 ? "dbcs-cont" : "sbcs-cont", u2 = 0 === n2 ? "" : e2.read_shift(n2, h2);
  return o2 && (e2.l += 4 * l2), i2 && (e2.l += a2), f2.t = u2, o2 || (f2.raw = "<t>" + f2.t + "</t>", f2.r = f2.t), r = t2, f2;
}
function us(e2) {
  var t2 = e2.t || "", r2 = la(3);
  r2.write_shift(2, t2.length), r2.write_shift(1, 1);
  var a2 = la(2 * t2.length);
  return a2.write_shift(2 * t2.length, t2, "utf16le"), C([r2, a2]);
}
function ds(e2, t2, r2) {
  if (r2) {
    if (r2.biff >= 2 && r2.biff <= 5) return e2.read_shift(t2, "cpstr");
    if (r2.biff >= 12) return e2.read_shift(t2, "dbcs-cont");
  }
  return 0 === e2.read_shift(1) ? e2.read_shift(t2, "sbcs-cont") : e2.read_shift(t2, "dbcs-cont");
}
function ps(e2, t2, r2) {
  var a2 = e2.read_shift(r2 && 2 == r2.biff ? 1 : 2);
  return 0 === a2 ? (e2.l++, "") : ds(e2, a2, r2);
}
function ms(e2, t2, r2) {
  if (r2.biff > 5) return ps(e2, 0, r2);
  var a2 = e2.read_shift(1);
  return 0 === a2 ? (e2.l++, "") : e2.read_shift(a2, r2.biff <= 4 || !e2.lens ? "cpstr" : "sbcs-cont");
}
function vs(e2, t2, r2) {
  return r2 || (r2 = la(3 + 2 * e2.length)), r2.write_shift(2, e2.length), r2.write_shift(1, 1), r2.write_shift(31, e2, "utf16le"), r2;
}
function gs(e2, t2) {
  var r2 = e2.read_shift(16);
  switch (r2) {
    case "e0c9ea79f9bace118c8200aa004ba90b":
      return function(e3) {
        var t3 = e3.read_shift(4), r3 = e3.l, a2 = false;
        t3 > 24 && (e3.l += t3 - 24, "795881f43b1d7f48af2c825dc4852763" === e3.read_shift(16) && (a2 = true), e3.l = r3);
        var n2 = e3.read_shift((a2 ? t3 - 24 : t3) >> 1, "utf16le").replace(I, "");
        return a2 && (e3.l += 24), n2;
      }(e2);
    case "0303000000000000c000000000000046":
      return function(e3) {
        for (var t3 = e3.read_shift(2), r3 = ""; t3-- > 0; ) r3 += "../";
        var a2 = e3.read_shift(0, "lpstr-ansi");
        if (e3.l += 2, 57005 != e3.read_shift(2)) throw new Error("Bad FileMoniker");
        if (0 === e3.read_shift(4)) return r3 + a2.replace(/\\/g, "/");
        var n2 = e3.read_shift(4);
        if (3 != e3.read_shift(2)) throw new Error("Bad FileMoniker");
        return r3 + e3.read_shift(n2 >> 1, "utf16le").replace(I, "");
      }(e2);
    default:
      throw new Error("Unsupported Moniker " + r2);
  }
}
function bs(e2) {
  var t2 = e2.read_shift(4);
  return t2 > 0 ? e2.read_shift(t2, "utf16le").replace(I, "") : "";
}
function ws(e2, t2) {
  t2 || (t2 = la(6 + 2 * e2.length)), t2.write_shift(4, 1 + e2.length);
  for (var r2 = 0; r2 < e2.length; ++r2) t2.write_shift(2, e2.charCodeAt(r2));
  return t2.write_shift(2, 0), t2;
}
function Ts(e2) {
  var t2 = la(512), r2 = 0, a2 = e2.Target;
  "file://" == a2.slice(0, 7) && (a2 = a2.slice(7));
  var n2 = a2.indexOf("#"), s2 = n2 > -1 ? 31 : 23;
  switch (a2.charAt(0)) {
    case "#":
      s2 = 28;
      break;
    case ".":
      s2 &= -3;
  }
  t2.write_shift(4, 2), t2.write_shift(4, s2);
  var i2 = [8, 6815827, 6619237, 4849780, 83];
  for (r2 = 0; r2 < i2.length; ++r2) t2.write_shift(4, i2[r2]);
  if (28 == s2) ws(a2 = a2.slice(1), t2);
  else if (2 & s2) {
    for (i2 = "e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "), r2 = 0; r2 < i2.length; ++r2) t2.write_shift(1, parseInt(i2[r2], 16));
    var o2 = n2 > -1 ? a2.slice(0, n2) : a2;
    for (t2.write_shift(4, 2 * (o2.length + 1)), r2 = 0; r2 < o2.length; ++r2) t2.write_shift(2, o2.charCodeAt(r2));
    t2.write_shift(2, 0), 8 & s2 && ws(n2 > -1 ? a2.slice(n2 + 1) : "", t2);
  } else {
    for (i2 = "03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "), r2 = 0; r2 < i2.length; ++r2) t2.write_shift(1, parseInt(i2[r2], 16));
    for (var c2 = 0; "../" == a2.slice(3 * c2, 3 * c2 + 3) || "..\\" == a2.slice(3 * c2, 3 * c2 + 3); ) ++c2;
    for (t2.write_shift(2, c2), t2.write_shift(4, a2.length - 3 * c2 + 1), r2 = 0; r2 < a2.length - 3 * c2; ++r2) t2.write_shift(1, 255 & a2.charCodeAt(r2 + 3 * c2));
    for (t2.write_shift(1, 0), t2.write_shift(2, 65535), t2.write_shift(2, 57005), r2 = 0; r2 < 6; ++r2) t2.write_shift(4, 0);
  }
  return t2.slice(0, t2.l);
}
function ys(e2) {
  return [e2.read_shift(1), e2.read_shift(1), e2.read_shift(1), e2.read_shift(1)];
}
function Es(e2, t2) {
  var r2 = ys(e2);
  return r2[3] = 0, r2;
}
function ks(e2, t2, r2) {
  var a2 = { r: e2.read_shift(2), c: e2.read_shift(2), ixfe: 0 };
  if (r2 && 2 == r2.biff || 7 == t2) {
    var n2 = e2.read_shift(1);
    a2.ixfe = 63 & n2, e2.l += 2;
  } else a2.ixfe = e2.read_shift(2);
  return a2;
}
function _s(e2, t2, r2, a2) {
  return a2 || (a2 = la(6)), a2.write_shift(2, e2), a2.write_shift(2, t2), a2.write_shift(2, r2 || 0), a2;
}
function Ss(e2, t2, r2) {
  var a2 = r2.biff > 8 ? 4 : 2;
  return [e2.read_shift(a2), e2.read_shift(a2, "i"), e2.read_shift(a2, "i")];
}
function xs(e2) {
  return [e2.read_shift(2), Ja(e2)];
}
function As(e2) {
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2);
  return { s: { c: e2.read_shift(2), r: t2 }, e: { c: e2.read_shift(2), r: r2 } };
}
function Cs(e2, t2) {
  return t2 || (t2 = la(8)), t2.write_shift(2, e2.s.r), t2.write_shift(2, e2.e.r), t2.write_shift(2, e2.s.c), t2.write_shift(2, e2.e.c), t2;
}
function Is(e2) {
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2);
  return { s: { c: e2.read_shift(1), r: t2 }, e: { c: e2.read_shift(1), r: r2 } };
}
var Os = Is;
function Rs(e2) {
  e2.l += 4;
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2), a2 = e2.read_shift(2);
  return e2.l += 12, [r2, t2, a2];
}
function Ns(e2) {
  e2.l += 2, e2.l += e2.read_shift(2);
}
var Fs = { 0: Ns, 4: Ns, 5: Ns, 6: Ns, 7: function(e2) {
  return e2.l += 4, e2.cf = e2.read_shift(2), {};
}, 8: Ns, 9: Ns, 10: Ns, 11: Ns, 12: Ns, 13: function(e2) {
  var t2 = {};
  return e2.l += 4, e2.l += 16, t2.fSharedNote = e2.read_shift(2), e2.l += 4, t2;
}, 14: Ns, 15: Ns, 16: Ns, 17: Ns, 18: Ns, 19: Ns, 20: Ns, 21: Rs };
function Ds(e2, t2) {
  var r2 = { BIFFVer: 0, dt: 0 };
  switch (r2.BIFFVer = e2.read_shift(2), (t2 -= 2) >= 2 && (r2.dt = e2.read_shift(2), e2.l -= 2), r2.BIFFVer) {
    case 1536:
    case 1280:
    case 1024:
    case 768:
    case 512:
    case 2:
    case 7:
      break;
    default:
      if (t2 > 6) throw new Error("Unexpected BIFF Ver " + r2.BIFFVer);
  }
  return e2.read_shift(t2), r2;
}
function Ps(e2, t2, r2) {
  var a2 = 1536, n2 = 16;
  switch (r2.bookType) {
    case "biff8":
    case "xla":
      break;
    case "biff5":
      a2 = 1280, n2 = 8;
      break;
    case "biff4":
      a2 = 4, n2 = 6;
      break;
    case "biff3":
      a2 = 3, n2 = 6;
      break;
    case "biff2":
      a2 = 2, n2 = 4;
      break;
    default:
      throw new Error("unsupported BIFF version");
  }
  var s2 = la(n2);
  return s2.write_shift(2, a2), s2.write_shift(2, t2), n2 > 4 && s2.write_shift(2, 29282), n2 > 6 && s2.write_shift(2, 1997), n2 > 8 && (s2.write_shift(2, 49161), s2.write_shift(2, 1), s2.write_shift(2, 1798), s2.write_shift(2, 0)), s2;
}
function Ms(e2, t2) {
  var r2 = !t2 || t2.biff >= 8 ? 2 : 1, a2 = la(8 + r2 * e2.name.length);
  a2.write_shift(4, e2.pos), a2.write_shift(1, e2.hs || 0), a2.write_shift(1, e2.dt), a2.write_shift(1, e2.name.length), t2.biff >= 8 && a2.write_shift(1, 1), a2.write_shift(r2 * e2.name.length, e2.name, t2.biff < 8 ? "sbcs" : "utf16le");
  var n2 = a2.slice(0, a2.l);
  return n2.l = a2.l, n2;
}
function Ls(e2, t2, r2) {
  var a2 = 0;
  r2 && 2 == r2.biff || (a2 = e2.read_shift(2));
  var n2 = e2.read_shift(2);
  return r2 && 2 == r2.biff && (a2 = 1 - (n2 >> 15), n2 &= 32767), [{ Unsynced: 1 & a2, DyZero: (2 & a2) >> 1, ExAsc: (4 & a2) >> 2, ExDsc: (8 & a2) >> 3 }, n2];
}
function Us(e2, t2, r2, a2) {
  var n2 = r2 && 5 == r2.biff;
  a2 || (a2 = la(n2 ? 3 + t2.length : 5 + 2 * t2.length)), a2.write_shift(2, e2), a2.write_shift(n2 ? 1 : 2, t2.length), n2 || a2.write_shift(1, 1), a2.write_shift((n2 ? 1 : 2) * t2.length, t2, n2 ? "sbcs" : "utf16le");
  var s2 = a2.length > a2.l ? a2.slice(0, a2.l) : a2;
  return null == s2.l && (s2.l = s2.length), s2;
}
var Bs = ms;
function Ws(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = 8 != r2.biff && r2.biff ? 2 : 4, s2 = e2.read_shift(n2), i2 = e2.read_shift(n2), o2 = e2.read_shift(2), c2 = e2.read_shift(2);
  return e2.l = a2, { s: { r: s2, c: o2 }, e: { r: i2, c: c2 } };
}
function zs(e2, t2, r2, a2) {
  var n2 = r2 && 5 == r2.biff;
  a2 || (a2 = la(n2 ? 16 : 20)), a2.write_shift(2, 0), e2.style ? (a2.write_shift(2, e2.numFmtId || 0), a2.write_shift(2, 65524)) : (a2.write_shift(2, e2.numFmtId || 0), a2.write_shift(2, t2 << 4));
  var s2 = 0;
  return e2.numFmtId > 0 && n2 && (s2 |= 1024), a2.write_shift(4, s2), a2.write_shift(4, 0), n2 || a2.write_shift(4, 0), a2.write_shift(2, 0), a2;
}
function Hs(e2) {
  var t2 = la(12);
  return t2.l++, t2.write_shift(1, e2.numFmtId), t2.l += 10, t2;
}
var Vs = Hs;
function $s(e2, t2, r2, a2, n2, s2) {
  var i2 = la(8);
  return _s(e2, t2, a2, i2), ls(r2, s2, i2), i2;
}
var Gs = function(e2, t2, r2) {
  return 0 === t2 ? "" : ms(e2, 0, r2);
};
function Xs(e2, t2, r2) {
  var a2, n2 = e2.read_shift(2), s2 = { fBuiltIn: 1 & n2, fWantAdvise: n2 >>> 1 & 1, fWantPict: n2 >>> 2 & 1, fOle: n2 >>> 3 & 1, fOleLink: n2 >>> 4 & 1, cf: n2 >>> 5 & 1023, fIcon: n2 >>> 15 & 1 };
  return 14849 === r2.sbcch && (a2 = function(e3, t3, r3) {
    e3.l += 4, t3 -= 4;
    var a3 = e3.l + t3, n3 = fs(e3, 0, r3), s3 = e3.read_shift(2);
    if (s3 !== (a3 -= e3.l)) throw new Error("Malformed AddinUdf: padding = " + a3 + " != " + s3);
    return e3.l += s3, n3;
  }(e2, t2 - 2, r2)), s2.body = a2 || e2.read_shift(t2 - 2), "string" == typeof a2 && (s2.Name = a2), s2;
}
function js(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = e2.read_shift(2), s2 = e2.read_shift(1), i2 = e2.read_shift(1), o2 = e2.read_shift(r2 && 2 == r2.biff ? 1 : 2), c2 = 0;
  (!r2 || r2.biff >= 5) && (5 != r2.biff && (e2.l += 2), c2 = e2.read_shift(2), 5 == r2.biff && (e2.l += 2), e2.l += 4);
  var l2 = ds(e2, i2, r2);
  32 & n2 && (l2 = gn[l2.charCodeAt(0)]);
  var f2 = a2 - e2.l;
  r2 && 2 == r2.biff && --f2;
  var h2 = a2 != e2.l && 0 !== o2 && f2 > 0 ? function(e3, t3, r3, a3) {
    var n3, s3 = e3.l + t3, i3 = nc(e3, a3, r3);
    s3 !== e3.l && (n3 = ac(e3, s3 - e3.l, i3, r3));
    return [i3, n3];
  }(e2, f2, r2, o2) : [];
  return { chKey: s2, Name: l2, itab: c2, rgce: h2 };
}
function Ks(e2, t2, r2) {
  if (r2.biff < 8) return Ys(e2, t2, r2);
  if (!(r2.biff > 8) && t2 == e2[e2.l] + (3 == e2[e2.l + 1] ? 1 : 0) + 1) return Ys(e2, t2, r2);
  for (var a2 = [], n2 = e2.l + t2, s2 = e2.read_shift(r2.biff > 8 ? 4 : 2); 0 !== s2--; ) a2.push(Ss(e2, r2.biff, r2));
  if (e2.l != n2) throw new Error("Bad ExternSheet: " + e2.l + " != " + n2);
  return a2;
}
function Ys(e2, t2, r2) {
  3 == e2[e2.l + 1] && e2[e2.l]++;
  var a2 = fs(e2, 0, r2);
  return 3 == a2.charCodeAt(0) ? a2.slice(1) : a2;
}
function Zs(e2, t2, r2) {
  var a2 = Os(e2);
  switch (r2.biff) {
    case 2:
      e2.l++, t2 -= 7;
      break;
    case 3:
    case 4:
      e2.l += 2, t2 -= 8;
      break;
    default:
      e2.l += 6, t2 -= 12;
  }
  return [a2, hc(e2, t2, r2)];
}
function Js(e2, t2, r2, a2) {
  var n2 = la(6 + (a2 || e2.length));
  return n2.write_shift(2, t2), n2.write_shift(2, r2), n2.write_shift(2, a2 || e2.length), n2.write_shift(e2.length, e2, "sbcs"), n2;
}
var qs = { 8: function(e2, t2) {
  var r2 = e2.l + t2;
  e2.l += 10;
  var a2 = e2.read_shift(2);
  e2.l += 4, e2.l += 2, e2.l += 2, e2.l += 2, e2.l += 4;
  var n2 = e2.read_shift(1);
  return e2.l += n2, e2.l = r2, { fmt: a2 };
} };
function Qs(e2) {
  var t2 = la(24), r2 = ya(e2[0]);
  t2.write_shift(2, r2.r), t2.write_shift(2, r2.r), t2.write_shift(2, r2.c), t2.write_shift(2, r2.c);
  for (var a2 = "d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "), n2 = 0; n2 < 16; ++n2) t2.write_shift(1, parseInt(a2[n2], 16));
  return C([t2, Ts(e2[1])]);
}
function ei(e2) {
  var t2 = e2[1].Tooltip, r2 = la(10 + 2 * (t2.length + 1));
  r2.write_shift(2, 2048);
  var a2 = ya(e2[0]);
  r2.write_shift(2, a2.r), r2.write_shift(2, a2.r), r2.write_shift(2, a2.c), r2.write_shift(2, a2.c);
  for (var n2 = 0; n2 < t2.length; ++n2) r2.write_shift(2, t2.charCodeAt(n2));
  return r2.write_shift(2, 0), r2;
}
function ti(e2, t2, r2) {
  if (!r2.cellStyles) return ca(e2, t2);
  var a2 = r2 && r2.biff >= 12 ? 4 : 2, n2 = e2.read_shift(a2), s2 = e2.read_shift(a2), i2 = e2.read_shift(a2), o2 = e2.read_shift(a2), c2 = e2.read_shift(2);
  2 == a2 && (e2.l += 2);
  var l2 = { s: n2, e: s2, w: i2, ixfe: o2, flags: c2 };
  return (r2.biff >= 5 || !r2.biff) && (l2.level = c2 >> 8 & 7), l2;
}
var ri = ks, ai = os, ni = ps;
function si(e2, t2, r2, a2, n2) {
  return e2 || (e2 = la(7)), e2.write_shift(2, t2), e2.write_shift(2, r2), e2.write_shift(1, a2 || 0), e2.write_shift(1, n2 || 0), e2.write_shift(1, 0), e2;
}
var ii = [2, 3, 48, 49, 131, 139, 140, 245], oi = function() {
  var t2 = { 1: 437, 2: 850, 3: 1252, 4: 1e4, 100: 852, 101: 866, 102: 865, 103: 861, 104: 895, 105: 620, 106: 737, 107: 857, 120: 950, 121: 949, 122: 936, 123: 932, 124: 874, 125: 1255, 126: 1256, 150: 10007, 151: 10029, 152: 10006, 200: 1250, 201: 1251, 202: 1254, 203: 1253, 0: 20127, 8: 865, 9: 437, 10: 850, 11: 437, 13: 437, 14: 850, 15: 437, 16: 850, 17: 437, 18: 850, 19: 932, 20: 850, 21: 437, 22: 850, 23: 865, 24: 437, 25: 437, 26: 850, 27: 437, 28: 863, 29: 850, 31: 852, 34: 852, 35: 852, 36: 860, 37: 850, 38: 866, 55: 850, 64: 852, 77: 936, 78: 949, 79: 950, 80: 874, 87: 1252, 88: 1252, 89: 1252, 108: 863, 134: 737, 135: 852, 136: 857, 204: 1257, 255: 16969 }, n2 = Ne({ 1: 437, 2: 850, 3: 1252, 4: 1e4, 100: 852, 101: 866, 102: 865, 103: 861, 104: 895, 105: 620, 106: 737, 107: 857, 120: 950, 121: 949, 122: 936, 123: 932, 124: 874, 125: 1255, 126: 1256, 150: 10007, 151: 10029, 152: 10006, 200: 1250, 201: 1251, 202: 1254, 203: 1253, 0: 20127 });
  function s2(r2, a2) {
    var n3 = a2 || {};
    n3.dateNF || (n3.dateNF = "yyyymmdd");
    var s3 = Na(function(r3, a3) {
      var n4 = [], s4 = E(1);
      switch (a3.type) {
        case "base64":
          s4 = _(b(r3));
          break;
        case "binary":
          s4 = _(r3);
          break;
        case "buffer":
        case "array":
          s4 = r3;
      }
      oa(s4, 0);
      var i3 = s4.read_shift(1), o2 = !!(136 & i3), c2 = false, l2 = false;
      switch (i3) {
        case 2:
        case 3:
        case 131:
        case 139:
        case 245:
          break;
        case 48:
        case 49:
          c2 = true, o2 = true;
          break;
        case 140:
          l2 = true;
          break;
        default:
          throw new Error("DBF Unsupported Version: " + i3.toString(16));
      }
      var f2 = 0, h2 = 521;
      2 == i3 && (f2 = s4.read_shift(2)), s4.l += 3, 2 != i3 && (f2 = s4.read_shift(4)), f2 > 1048576 && (f2 = 1e6), 2 != i3 && (h2 = s4.read_shift(2));
      var u2 = s4.read_shift(2), d2 = a3.codepage || 1252;
      2 != i3 && (s4.l += 16, s4.read_shift(1), 0 !== s4[s4.l] && (d2 = t2[s4[s4.l]]), s4.l += 1, s4.l += 2), l2 && (s4.l += 36);
      for (var p2 = [], m2 = {}, v2 = Math.min(s4.length, 2 == i3 ? 521 : h2 - 10 - (c2 ? 264 : 0)), g2 = l2 ? 32 : 11; s4.l < v2 && 13 != s4[s4.l]; ) switch ((m2 = {}).name = (void 0 !== e ? e.utils.decode(d2, s4.slice(s4.l, s4.l + g2)) : x(s4.slice(s4.l, s4.l + g2))).replace(/[\u0000\r\n][\S\s]*$/g, ""), s4.l += g2, m2.type = String.fromCharCode(s4.read_shift(1)), 2 == i3 || l2 || (m2.offset = s4.read_shift(4)), m2.len = s4.read_shift(1), 2 == i3 && (m2.offset = s4.read_shift(2)), m2.dec = s4.read_shift(1), m2.name.length && p2.push(m2), 2 != i3 && (s4.l += l2 ? 13 : 14), m2.type) {
        case "B":
          c2 && 8 == m2.len || !a3.WTF || console.log("Skipping " + m2.name + ":" + m2.type);
          break;
        case "G":
        case "P":
          a3.WTF && console.log("Skipping " + m2.name + ":" + m2.type);
          break;
        case "+":
        case "0":
        case "@":
        case "C":
        case "D":
        case "F":
        case "I":
        case "L":
        case "M":
        case "N":
        case "O":
        case "T":
        case "Y":
          break;
        default:
          throw new Error("Unknown Field Type: " + m2.type);
      }
      if (13 !== s4[s4.l] && (s4.l = h2 - 1), 13 !== s4.read_shift(1)) throw new Error("DBF Terminator not found " + s4.l + " " + s4[s4.l]);
      s4.l = h2;
      var w2 = 0, T2 = 0;
      for (n4[0] = [], T2 = 0; T2 != p2.length; ++T2) n4[0][T2] = p2[T2].name;
      for (; f2-- > 0; ) if (42 !== s4[s4.l]) for (++s4.l, n4[++w2] = [], T2 = 0, T2 = 0; T2 != p2.length; ++T2) {
        var y2 = s4.slice(s4.l, s4.l + p2[T2].len);
        s4.l += p2[T2].len, oa(y2, 0);
        var k2 = void 0 !== e ? e.utils.decode(d2, y2) : x(y2);
        switch (p2[T2].type) {
          case "C":
            k2.trim().length && (n4[w2][T2] = k2.replace(/([^\s])\s+$/, "$1"));
            break;
          case "D":
            8 === k2.length ? (n4[w2][T2] = new Date(Date.UTC(+k2.slice(0, 4), +k2.slice(4, 6) - 1, +k2.slice(6, 8), 0, 0, 0, 0)), a3 && a3.UTC || (n4[w2][T2] = tt(n4[w2][T2]))) : n4[w2][T2] = k2;
            break;
          case "F":
            n4[w2][T2] = parseFloat(k2.trim());
            break;
          case "+":
          case "I":
            n4[w2][T2] = l2 ? 2147483648 ^ y2.read_shift(-4, "i") : y2.read_shift(4, "i");
            break;
          case "L":
            switch (k2.trim().toUpperCase()) {
              case "Y":
              case "T":
                n4[w2][T2] = true;
                break;
              case "N":
              case "F":
                n4[w2][T2] = false;
                break;
              case "":
              case "\0":
              case "?":
                break;
              default:
                throw new Error("DBF Unrecognized L:|" + k2 + "|");
            }
            break;
          case "M":
            if (!o2) throw new Error("DBF Unexpected MEMO for type " + i3.toString(16));
            n4[w2][T2] = "##MEMO##" + (l2 ? parseInt(k2.trim(), 10) : y2.read_shift(4));
            break;
          case "N":
            (k2 = k2.replace(/\u0000/g, "").trim()) && "." != k2 && (n4[w2][T2] = +k2 || 0);
            break;
          case "@":
            n4[w2][T2] = new Date(y2.read_shift(-8, "f") - 621356832e5);
            break;
          case "T":
            var S2 = y2.read_shift(4), A2 = y2.read_shift(4);
            if (0 == S2 && 0 == A2) break;
            n4[w2][T2] = new Date(864e5 * (S2 - 2440588) + A2), a3 && a3.UTC || (n4[w2][T2] = tt(n4[w2][T2]));
            break;
          case "Y":
            n4[w2][T2] = y2.read_shift(4, "i") / 1e4 + y2.read_shift(4, "i") / 1e4 * Math.pow(2, 32);
            break;
          case "O":
            n4[w2][T2] = -y2.read_shift(-8, "f");
            break;
          case "B":
            if (c2 && 8 == p2[T2].len) {
              n4[w2][T2] = y2.read_shift(8, "f");
              break;
            }
          case "G":
          case "P":
            y2.l += p2[T2].len;
            break;
          case "0":
            if ("_NullFlags" === p2[T2].name) break;
          default:
            throw new Error("DBF Unsupported data type " + p2[T2].type);
        }
      }
      else s4.l += u2;
      if (2 != i3 && s4.l < s4.length && 26 != s4[s4.l++]) throw new Error("DBF EOF Marker missing " + (s4.l - 1) + " of " + s4.length + " " + s4[s4.l - 1].toString(16));
      return a3 && a3.sheetRows && (n4 = n4.slice(0, a3.sheetRows)), a3.DBF = p2, n4;
    }(r2, n3), n3);
    return s3["!cols"] = n3.DBF.map(function(e2) {
      return { wch: e2.len, DBF: e2 };
    }), delete n3.DBF, s3;
  }
  var i2 = { B: 8, C: 250, L: 1, D: 8, "?": 0, "": 0 };
  return { to_workbook: function(e2, t3) {
    try {
      var r2 = Oa(s2(e2, t3), t3);
      return r2.bookType = "dbf", r2;
    } catch (e3) {
      if (t3 && t3.WTF) throw e3;
    }
    return { SheetNames: [], Sheets: {} };
  }, to_sheet: s2, from_sheet: function(s3, c2) {
    if (!s3["!ref"]) throw new Error("Cannot export empty sheet to DBF");
    var l2 = c2 || {}, f2 = r;
    if (+l2.codepage >= 0 && o(+l2.codepage), "string" == l2.type) throw new Error("Cannot write DBF to JS string");
    var h2 = ha(), u2 = ku(s3, { header: 1, raw: true, cellDates: true }), d2 = u2[0], p2 = u2.slice(1), m2 = s3["!cols"] || [], v2 = 0, g2 = 0, b2 = 0, w2 = 1;
    for (v2 = 0; v2 < d2.length; ++v2) if (((m2[v2] || {}).DBF || {}).name) d2[v2] = m2[v2].DBF.name, ++b2;
    else if (null != d2[v2]) {
      if (++b2, "number" == typeof d2[v2] && (d2[v2] = d2[v2].toString(10)), "string" != typeof d2[v2]) throw new Error("DBF Invalid column name " + d2[v2] + " |" + typeof d2[v2] + "|");
      if (d2.indexOf(d2[v2]) !== v2) {
        for (g2 = 0; g2 < 1024; ++g2) if (-1 == d2.indexOf(d2[v2] + "_" + g2)) {
          d2[v2] += "_" + g2;
          break;
        }
      }
    }
    var T2 = Aa(s3["!ref"]), y2 = [], E2 = [], k2 = [];
    for (v2 = 0; v2 <= T2.e.c - T2.s.c; ++v2) {
      var _2 = "", S2 = "", x2 = 0, A2 = [];
      for (g2 = 0; g2 < p2.length; ++g2) null != p2[g2][v2] && A2.push(p2[g2][v2]);
      if (0 != A2.length && null != d2[v2]) {
        for (g2 = 0; g2 < A2.length; ++g2) {
          switch (typeof A2[g2]) {
            case "number":
              S2 = "B";
              break;
            case "string":
            default:
              S2 = "C";
              break;
            case "boolean":
              S2 = "L";
              break;
            case "object":
              S2 = A2[g2] instanceof Date ? "D" : "C";
          }
          x2 = Math.max(x2, (void 0 !== e && "string" == typeof A2[g2] ? e.utils.encode(a, A2[g2]) : String(A2[g2])).length), _2 = _2 && _2 != S2 ? "C" : S2;
        }
        x2 > 250 && (x2 = 250), "C" == (S2 = ((m2[v2] || {}).DBF || {}).type) && m2[v2].DBF.len > x2 && (x2 = m2[v2].DBF.len), "B" == _2 && "N" == S2 && (_2 = "N", k2[v2] = m2[v2].DBF.dec, x2 = m2[v2].DBF.len), E2[v2] = "C" == _2 || "N" == S2 ? x2 : i2[_2] || 0, w2 += E2[v2], y2[v2] = _2;
      } else y2[v2] = "?";
    }
    var C2 = h2.next(32);
    for (C2.write_shift(4, 318902576), C2.write_shift(4, p2.length), C2.write_shift(2, 296 + 32 * b2), C2.write_shift(2, w2), v2 = 0; v2 < 4; ++v2) C2.write_shift(4, 0);
    var I2 = +n2[r] || 3;
    for (C2.write_shift(4, I2 << 8), t2[I2] != +l2.codepage && (l2.codepage && console.error("DBF Unsupported codepage " + r + ", using 1252"), r = 1252), v2 = 0, g2 = 0; v2 < d2.length; ++v2) if (null != d2[v2]) {
      var O2 = h2.next(32), R2 = (d2[v2].slice(-10) + "\0\0\0\0\0\0\0\0\0\0\0").slice(0, 11);
      O2.write_shift(1, R2, "sbcs"), O2.write_shift(1, "?" == y2[v2] ? "C" : y2[v2], "sbcs"), O2.write_shift(4, g2), O2.write_shift(1, E2[v2] || i2[y2[v2]] || 0), O2.write_shift(1, k2[v2] || 0), O2.write_shift(1, 2), O2.write_shift(4, 0), O2.write_shift(1, 0), O2.write_shift(4, 0), O2.write_shift(4, 0), g2 += E2[v2] || i2[y2[v2]] || 0;
    }
    var N2 = h2.next(264);
    for (N2.write_shift(4, 13), v2 = 0; v2 < 65; ++v2) N2.write_shift(4, 0);
    for (v2 = 0; v2 < p2.length; ++v2) {
      var F2 = h2.next(w2);
      for (F2.write_shift(1, 0), g2 = 0; g2 < d2.length; ++g2) if (null != d2[g2]) switch (y2[g2]) {
        case "L":
          F2.write_shift(1, null == p2[v2][g2] ? 63 : p2[v2][g2] ? 84 : 70);
          break;
        case "B":
          F2.write_shift(8, p2[v2][g2] || 0, "f");
          break;
        case "N":
          var D2 = "0";
          for ("number" == typeof p2[v2][g2] && (D2 = p2[v2][g2].toFixed(k2[g2] || 0)), D2.length > E2[g2] && (D2 = D2.slice(0, E2[g2])), b2 = 0; b2 < E2[g2] - D2.length; ++b2) F2.write_shift(1, 32);
          F2.write_shift(1, D2, "sbcs");
          break;
        case "D":
          p2[v2][g2] ? (F2.write_shift(4, ("0000" + p2[v2][g2].getFullYear()).slice(-4), "sbcs"), F2.write_shift(2, ("00" + (p2[v2][g2].getMonth() + 1)).slice(-2), "sbcs"), F2.write_shift(2, ("00" + p2[v2][g2].getDate()).slice(-2), "sbcs")) : F2.write_shift(8, "00000000", "sbcs");
          break;
        case "C":
          var P2 = F2.l, M2 = String(null != p2[v2][g2] ? p2[v2][g2] : "").slice(0, E2[g2]);
          for (F2.write_shift(1, M2, "cpstr"), P2 += E2[g2] - F2.l, b2 = 0; b2 < P2; ++b2) F2.write_shift(1, 32);
      }
    }
    return r = f2, h2.next(1).write_shift(1, 26), h2.end();
  } };
}(), ci = function() {
  var t2 = { AA: "À", BA: "Á", CA: "Â", DA: 195, HA: "Ä", JA: 197, AE: "È", BE: "É", CE: "Ê", HE: "Ë", AI: "Ì", BI: "Í", CI: "Î", HI: "Ï", AO: "Ò", BO: "Ó", CO: "Ô", DO: 213, HO: "Ö", AU: "Ù", BU: "Ú", CU: "Û", HU: "Ü", Aa: "à", Ba: "á", Ca: "â", Da: 227, Ha: "ä", Ja: 229, Ae: "è", Be: "é", Ce: "ê", He: "ë", Ai: "ì", Bi: "í", Ci: "î", Hi: "ï", Ao: "ò", Bo: "ó", Co: "ô", Do: 245, Ho: "ö", Au: "ù", Bu: "ú", Cu: "û", Hu: "ü", KC: "Ç", Kc: "ç", q: "æ", z: "œ", a: "Æ", j: "Œ", DN: 209, Dn: 241, Hy: 255, S: 169, c: 170, R: 174, "B ": 180, 0: 176, 1: 177, 2: 178, 3: 179, 5: 181, 6: 182, 7: 183, Q: 185, k: 186, b: 208, i: 216, l: 222, s: 240, y: 248, "!": 161, '"': 162, "#": 163, "(": 164, "%": 165, "'": 167, "H ": 168, "+": 171, ";": 187, "<": 188, "=": 189, ">": 190, "?": 191, "{": 223 }, r2 = new RegExp("\x1BN(" + Oe(t2).join("|").replace(/\|\|\|/, "|\\||").replace(/([?()+])/g, "\\$1").replace("{", "\\{") + "|\\|)", "gm");
  try {
    r2 = new RegExp("\x1BN(" + Oe(t2).join("|").replace(/\|\|\|/, "|\\||").replace(/([?()+])/g, "\\$1") + "|\\|)", "gm");
  } catch (e2) {
  }
  var a2 = function(e2, r3) {
    var a3 = t2[r3];
    return "number" == typeof a3 ? p(a3) : a3;
  }, n2 = function(e2, t3, r3) {
    var a3 = t3.charCodeAt(0) - 32 << 4 | r3.charCodeAt(0) - 48;
    return 59 == a3 ? e2 : p(a3);
  };
  t2["|"] = 254;
  function s2(t3, s3) {
    var i3, c3 = t3.split(/[\n\r]+/), l2 = -1, f2 = -1, h2 = 0, u2 = 0, d2 = [], p2 = [], m2 = null, v2 = {}, g2 = [], b2 = [], w2 = [], T2 = 0, y2 = { Workbook: { WBProps: {}, Names: [] } };
    for (+s3.codepage >= 0 && o(+s3.codepage); h2 !== c3.length; ++h2) {
      T2 = 0;
      var E2, k2 = c3[h2].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g, n2).replace(r2, a2), _2 = k2.replace(/;;/g, "\0").split(";").map(function(e2) {
        return e2.replace(/\u0000/g, ";");
      }), S2 = _2[0];
      if (k2.length > 0) switch (S2) {
        case "ID":
        case "E":
        case "B":
        case "W":
          break;
        case "O":
          for (u2 = 1; u2 < _2.length; ++u2) if ("V" === _2[u2].charAt(0)) {
            var x2 = parseInt(_2[u2].slice(1), 10);
            x2 >= 1 && x2 <= 4 && (y2.Workbook.WBProps.date1904 = true);
          }
          break;
        case "P":
          if ("P" === _2[1].charAt(0)) p2.push(k2.slice(3).replace(/;;/g, ";"));
          break;
        case "NN":
          var A2 = { Sheet: 0 };
          for (u2 = 1; u2 < _2.length; ++u2) switch (_2[u2].charAt(0)) {
            case "N":
              A2.Name = _2[u2].slice(1);
              break;
            case "E":
              A2.Ref = (s3 && s3.sheet || "Sheet1") + "!" + No(_2[u2].slice(1));
          }
          y2.Workbook.Names.push(A2);
          break;
        case "C":
          var C2 = false, I2 = false, O2 = false, R2 = false, N2 = -1, F2 = -1, D2 = "", P2 = "z", M2 = "";
          for (u2 = 1; u2 < _2.length; ++u2) switch (_2[u2].charAt(0)) {
            case "A":
              M2 = _2[u2].slice(1);
              break;
            case "X":
              f2 = parseInt(_2[u2].slice(1), 10) - 1, I2 = true;
              break;
            case "Y":
              for (l2 = parseInt(_2[u2].slice(1), 10) - 1, I2 || (f2 = 0), i3 = d2.length; i3 <= l2; ++i3) d2[i3] = [];
              break;
            case "K":
              '"' === (E2 = _2[u2].slice(1)).charAt(0) ? (E2 = E2.slice(1, E2.length - 1), P2 = "s") : "TRUE" === E2 || "FALSE" === E2 ? (E2 = "TRUE" === E2, P2 = "b") : "#" == E2.charAt(0) && null != vn[E2] ? (P2 = "e", E2 = vn[E2]) : isNaN(je(E2)) || (E2 = je(E2), P2 = "n", null !== m2 && he(m2) && s3.cellDates && (P2 = "number" == typeof (E2 = Ue(y2.Workbook.WBProps.date1904 ? E2 + 1462 : E2)) ? "n" : "d")), void 0 !== e && "string" == typeof E2 && "string" != (s3 || {}).type && (s3 || {}).codepage && (E2 = e.utils.decode(s3.codepage, E2)), C2 = true;
              break;
            case "E":
              R2 = true, D2 = No(_2[u2].slice(1), { r: l2, c: f2 });
              break;
            case "S":
              O2 = true;
              break;
            case "G":
              break;
            case "R":
              N2 = parseInt(_2[u2].slice(1), 10) - 1;
              break;
            case "C":
              F2 = parseInt(_2[u2].slice(1), 10) - 1;
              break;
            default:
              if (s3 && s3.WTF) throw new Error("SYLK bad record " + k2);
          }
          if (C2 && (d2[l2][f2] ? (d2[l2][f2].t = P2, d2[l2][f2].v = E2) : d2[l2][f2] = { t: P2, v: E2 }, m2 && (d2[l2][f2].z = m2), false !== s3.cellText && m2 && (d2[l2][f2].w = me(d2[l2][f2].z, d2[l2][f2].v, { date1904: y2.Workbook.WBProps.date1904 })), m2 = null), O2) {
            if (R2) throw new Error("SYLK shared formula cannot have own formula");
            var L2 = N2 > -1 && d2[N2][F2];
            if (!L2 || !L2[1]) throw new Error("SYLK shared formula cannot find base");
            D2 = Po(L2[1], { r: l2 - N2, c: f2 - F2 });
          }
          D2 && (d2[l2][f2] ? d2[l2][f2].f = D2 : d2[l2][f2] = { t: "n", f: D2 }), M2 && (d2[l2][f2] || (d2[l2][f2] = { t: "z" }), d2[l2][f2].c = [{ a: "SheetJSYLK", t: M2 }]);
          break;
        case "F":
          var U2 = 0;
          for (u2 = 1; u2 < _2.length; ++u2) switch (_2[u2].charAt(0)) {
            case "X":
              f2 = parseInt(_2[u2].slice(1), 10) - 1, ++U2;
              break;
            case "Y":
              for (l2 = parseInt(_2[u2].slice(1), 10) - 1, i3 = d2.length; i3 <= l2; ++i3) d2[i3] = [];
              break;
            case "M":
              T2 = parseInt(_2[u2].slice(1), 10) / 20;
              break;
            case "F":
            case "G":
            case "S":
            case "D":
            case "N":
              break;
            case "P":
              m2 = p2[parseInt(_2[u2].slice(1), 10)];
              break;
            case "W":
              for (w2 = _2[u2].slice(1).split(" "), i3 = parseInt(w2[0], 10); i3 <= parseInt(w2[1], 10); ++i3) T2 = parseInt(w2[2], 10), b2[i3 - 1] = 0 === T2 ? { hidden: true } : { wch: T2 };
              break;
            case "C":
              b2[f2 = parseInt(_2[u2].slice(1), 10) - 1] || (b2[f2] = {});
              break;
            case "R":
              g2[l2 = parseInt(_2[u2].slice(1), 10) - 1] || (g2[l2] = {}), T2 > 0 ? (g2[l2].hpt = T2, g2[l2].hpx = Yi(T2)) : 0 === T2 && (g2[l2].hidden = true);
              break;
            default:
              if (s3 && s3.WTF) throw new Error("SYLK bad record " + k2);
          }
          U2 < 1 && (m2 = null);
          break;
        default:
          if (s3 && s3.WTF) throw new Error("SYLK bad record " + k2);
      }
    }
    return g2.length > 0 && (v2["!rows"] = g2), b2.length > 0 && (v2["!cols"] = b2), b2.forEach(function(e2) {
      Xi(e2);
    }), s3 && s3.sheetRows && (d2 = d2.slice(0, s3.sheetRows)), [d2, v2, y2];
  }
  function i2(e2, t3, r3, a3, n3, s3) {
    var i3 = "C;Y" + (r3 + 1) + ";X" + (a3 + 1) + ";K";
    switch (e2.t) {
      case "n":
        i3 += isFinite(e2.v) ? e2.v || 0 : mn[isNaN(e2.v) ? 36 : 7], e2.f && !e2.F && (i3 += ";E" + Do(e2.f, { r: r3, c: a3 }));
        break;
      case "b":
        i3 += e2.v ? "TRUE" : "FALSE";
        break;
      case "e":
        i3 += e2.w || mn[e2.v] || e2.v;
        break;
      case "d":
        i3 += Le(Ve(e2.v, s3), s3);
        break;
      case "s":
        i3 += '"' + (null == e2.v ? "" : String(e2.v)).replace(/"/g, "").replace(/;/g, ";;") + '"';
    }
    return i3;
  }
  function c2(e2, t3, r3) {
    var a3 = "C;Y" + (t3 + 1) + ";X" + (r3 + 1) + ";A";
    return a3 += e2.map(function(e3) {
      return e3.t;
    }).join("").replace(/\n/g, "\x1B :").replace(/\r/g, "\x1B =");
  }
  return { to_workbook: function(e2, t3) {
    var r3 = function(e3, t4) {
      switch (t4.type) {
        case "base64":
          return s2(b(e3), t4);
        case "binary":
          return s2(e3, t4);
        case "buffer":
          return s2(w && Buffer.isBuffer(e3) ? e3.toString("binary") : x(e3), t4);
        case "array":
          return s2($e(e3), t4);
      }
      throw new Error("Unrecognized type " + t4.type);
    }(e2, t3), a3 = r3[0], n3 = r3[1], i3 = r3[2], o2 = Ge(t3);
    o2.date1904 = (((i3 || {}).Workbook || {}).WBProps || {}).date1904;
    var c3 = Na(a3, o2);
    Oe(n3).forEach(function(e3) {
      c3[e3] = n3[e3];
    });
    var l2 = Oa(c3, t3);
    return Oe(i3).forEach(function(e3) {
      l2[e3] = i3[e3];
    }), l2.bookType = "sylk", l2;
  }, from_sheet: function(e2, t3, r3) {
    t3 || (t3 = {}), t3._formats = ["General"];
    var a3, n3 = ["ID;PSheetJS;N;E"], s3 = [], o2 = Aa(e2["!ref"] || "A1"), l2 = null != e2["!data"], f2 = "\r\n", h2 = (((r3 || {}).Workbook || {}).WBProps || {}).date1904;
    n3.push("P;PGeneral");
    var u2, d2 = o2.s.r, p2 = o2.s.c, m2 = [];
    if (e2["!ref"]) {
      for (d2 = o2.s.r; d2 <= o2.e.r; ++d2) if (!l2 || e2["!data"][d2]) {
        for (m2 = [], p2 = o2.s.c; p2 <= o2.e.c; ++p2) (a3 = l2 ? e2["!data"][d2][p2] : e2[Ta(p2) + ba(d2)]) && a3.c && m2.push(c2(a3.c, d2, p2));
        m2.length && s3.push(m2.join(f2));
      }
    }
    if (e2["!ref"]) {
      for (d2 = o2.s.r; d2 <= o2.e.r; ++d2) if (!l2 || e2["!data"][d2]) {
        for (m2 = [], p2 = o2.s.c; p2 <= o2.e.c; ++p2) if ((a3 = l2 ? e2["!data"][d2][p2] : e2[Ta(p2) + ba(d2)]) && (null != a3.v || a3.f && !a3.F)) {
          if ("General" != (a3.z || ("d" == a3.t ? W[14] : "General"))) {
            var v2 = t3._formats.indexOf(a3.z);
            -1 == v2 && (t3._formats.push(a3.z), v2 = t3._formats.length - 1, n3.push("P;P" + a3.z.replace(/;/g, ";;"))), m2.push("F;P" + v2 + ";Y" + (d2 + 1) + ";X" + (p2 + 1));
          }
          m2.push(i2(a3, 0, d2, p2, 0, h2));
        }
        s3.push(m2.join(f2));
      }
    }
    return n3.push("F;P0;DG0G8;M255"), e2["!cols"] && (u2 = n3, e2["!cols"].forEach(function(e3, t4) {
      var r4 = "F;W" + (t4 + 1) + " " + (t4 + 1) + " ";
      e3.hidden ? r4 += "0" : ("number" != typeof e3.width || e3.wpx || (e3.wpx = zi(e3.width)), "number" != typeof e3.wpx || e3.wch || (e3.wch = Hi(e3.wpx)), "number" == typeof e3.wch && (r4 += Math.round(e3.wch))), " " != r4.charAt(r4.length - 1) && u2.push(r4);
    })), e2["!rows"] && function(e3, t4) {
      t4.forEach(function(t5, r4) {
        var a4 = "F;";
        t5.hidden ? a4 += "M0;" : t5.hpt ? a4 += "M" + 20 * t5.hpt + ";" : t5.hpx && (a4 += "M" + 20 * Ki(t5.hpx) + ";"), a4.length > 2 && e3.push(a4 + "R" + (r4 + 1));
      });
    }(n3, e2["!rows"]), e2["!ref"] && n3.push("B;Y" + (o2.e.r - o2.s.r + 1) + ";X" + (o2.e.c - o2.s.c + 1) + ";D" + [o2.s.c, o2.s.r, o2.e.c, o2.e.r].join(" ")), n3.push("O;L;D;B" + (h2 ? ";V4" : "") + ";K47;G100 0.001"), delete t3._formats, n3.join(f2) + f2 + s3.join(f2) + f2 + "E" + f2;
  } };
}(), li = /* @__PURE__ */ function() {
  function e2(e3, t3) {
    for (var r3 = e3.split("\n"), a3 = -1, n2 = -1, s2 = 0, i2 = []; s2 !== r3.length; ++s2) if ("BOT" !== r3[s2].trim()) {
      if (!(a3 < 0)) {
        for (var o2 = r3[s2].trim().split(","), c2 = o2[0], l2 = o2[1], f2 = r3[++s2] || ""; 1 & (f2.match(/["]/g) || []).length && s2 < r3.length - 1; ) f2 += "\n" + r3[++s2];
        switch (f2 = f2.trim(), +c2) {
          case -1:
            if ("BOT" === f2) {
              i2[++a3] = [], n2 = 0;
              continue;
            }
            if ("EOD" !== f2) throw new Error("Unrecognized DIF special command " + f2);
            break;
          case 0:
            "TRUE" === f2 ? i2[a3][n2] = true : "FALSE" === f2 ? i2[a3][n2] = false : isNaN(je(l2)) ? isNaN(Qe(l2).getDate()) ? i2[a3][n2] = l2 : (i2[a3][n2] = Ve(l2), t3 && t3.UTC || (i2[a3][n2] = tt(i2[a3][n2]))) : i2[a3][n2] = je(l2), ++n2;
            break;
          case 1:
            (f2 = (f2 = f2.slice(1, f2.length - 1)).replace(/""/g, '"')) && f2.match(/^=".*"$/) && (f2 = f2.slice(2, -1)), i2[a3][n2++] = "" !== f2 ? f2 : null;
        }
        if ("EOD" === f2) break;
      }
    } else i2[++a3] = [], n2 = 0;
    return t3 && t3.sheetRows && (i2 = i2.slice(0, t3.sheetRows)), i2;
  }
  function t2(t3, r3) {
    return Na(function(t4, r4) {
      switch (r4.type) {
        case "base64":
          return e2(b(t4), r4);
        case "binary":
          return e2(t4, r4);
        case "buffer":
          return e2(w && Buffer.isBuffer(t4) ? t4.toString("binary") : x(t4), r4);
        case "array":
          return e2($e(t4), r4);
      }
      throw new Error("Unrecognized type " + r4.type);
    }(t3, r3), r3);
  }
  function r2(e3, t3) {
    return "0," + String(e3) + "\r\n" + t3;
  }
  function a2(e3) {
    return '1,0\r\n"' + e3.replace(/"/g, '""') + '"';
  }
  return { to_workbook: function(e3, r3) {
    var a3 = Oa(t2(e3, r3), r3);
    return a3.bookType = "dif", a3;
  }, to_sheet: t2, from_sheet: function(e3) {
    if (!e3["!ref"]) throw new Error("Cannot export empty sheet to DIF");
    for (var t3 = Aa(e3["!ref"]), n2 = null != e3["!data"], s2 = ['TABLE\r\n0,1\r\n"sheetjs"\r\n', "VECTORS\r\n0," + (t3.e.r - t3.s.r + 1) + '\r\n""\r\n', "TUPLES\r\n0," + (t3.e.c - t3.s.c + 1) + '\r\n""\r\n', 'DATA\r\n0,0\r\n""\r\n'], i2 = t3.s.r; i2 <= t3.e.r; ++i2) {
      for (var o2 = n2 ? e3["!data"][i2] : [], c2 = "-1,0\r\nBOT\r\n", l2 = t3.s.c; l2 <= t3.e.c; ++l2) {
        var f2 = n2 ? o2 && o2[l2] : e3[Ea({ r: i2, c: l2 })];
        if (null != f2) {
          switch (f2.t) {
            case "n":
              null != f2.w ? c2 += "0," + f2.w + "\r\nV" : null != f2.v ? c2 += r2(f2.v, "V") : null == f2.f || f2.F ? c2 += '1,0\r\n""' : c2 += a2("=" + f2.f);
              break;
            case "b":
              c2 += f2.v ? r2(1, "TRUE") : r2(0, "FALSE");
              break;
            case "s":
              c2 += a2(isNaN(+f2.v) ? f2.v : '="' + f2.v + '"');
              break;
            case "d":
              f2.w || (f2.w = me(f2.z || W[14], Le(Ve(f2.v)))), c2 += r2(f2.w, "V");
              break;
            default:
              c2 += '1,0\r\n""';
          }
          c2 += "\r\n";
        } else c2 += '1,0\r\n""\r\n';
      }
      s2.push(c2);
    }
    return s2.join("") + "-1,0\r\nEOD";
  } };
}(), fi = function() {
  function e2(e3) {
    return e3.replace(/\\b/g, "\\").replace(/\\c/g, ":").replace(/\\n/g, "\n");
  }
  function t2(e3) {
    return e3.replace(/\\/g, "\\b").replace(/:/g, "\\c").replace(/\n/g, "\\n");
  }
  function r2(t3, r3) {
    return Na(function(t4, r4) {
      for (var a3 = t4.split("\n"), n3 = -1, s3 = -1, i3 = 0, o3 = []; i3 !== a3.length; ++i3) {
        var c2 = a3[i3].trim().split(":");
        if ("cell" === c2[0]) {
          var l2 = ya(c2[1]);
          if (o3.length <= l2.r) for (n3 = o3.length; n3 <= l2.r; ++n3) o3[n3] || (o3[n3] = []);
          switch (n3 = l2.r, s3 = l2.c, c2[2]) {
            case "t":
              o3[n3][s3] = e2(c2[3]);
              break;
            case "v":
              o3[n3][s3] = +c2[3];
              break;
            case "vtf":
              var f2 = c2[c2.length - 1];
            case "vtc":
              "nl" === c2[3] ? o3[n3][s3] = !!+c2[4] : o3[n3][s3] = "#" == c2[c2.length - 1].charAt(0) ? { t: "e", v: vn[c2[c2.length - 1]] } : +c2[4], "vtf" == c2[2] && (o3[n3][s3] = [o3[n3][s3], f2]);
          }
        }
      }
      return r4 && r4.sheetRows && (o3 = o3.slice(0, r4.sheetRows)), o3;
    }(t3, r3), r3);
  }
  var a2 = ["socialcalc:version:1.5", "MIME-Version: 1.0", "Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave"].join("\n"), n2 = ["--SocialCalcSpreadsheetControlSave", "Content-type: text/plain; charset=UTF-8"].join("\n") + "\n", s2 = ["# SocialCalc Spreadsheet Control Save", "part:sheet"].join("\n"), i2 = "--SocialCalcSpreadsheetControlSave--";
  function o2(e3) {
    if (!e3 || !e3["!ref"]) return "";
    for (var r3, a3 = [], n3 = [], s3 = "", i3 = ka(e3["!ref"]), o3 = null != e3["!data"], c2 = i3.s.r; c2 <= i3.e.r; ++c2) for (var l2 = i3.s.c; l2 <= i3.e.c; ++l2) if (s3 = Ea({ r: c2, c: l2 }), (r3 = o3 ? (e3["!data"][c2] || [])[l2] : e3[s3]) && null != r3.v && "z" !== r3.t) {
      switch (n3 = ["cell", s3, "t"], r3.t) {
        case "s":
          n3.push(t2(r3.v));
          break;
        case "b":
          n3[2] = "vt" + (r3.f ? "f" : "c"), n3[3] = "nl", n3[4] = r3.v ? "1" : "0", n3[5] = t2(r3.f || (r3.v ? "TRUE" : "FALSE"));
          break;
        case "d":
          var f2 = Le(Ve(r3.v));
          n3[2] = "vtc", n3[3] = "nd", n3[4] = "" + f2, n3[5] = r3.w || me(r3.z || W[14], f2);
          break;
        case "n":
          isFinite(r3.v) ? r3.f ? (n3[2] = "vtf", n3[3] = "n", n3[4] = r3.v, n3[5] = t2(r3.f)) : (n3[2] = "v", n3[3] = r3.v) : (n3[2] = "vt" + (r3.f ? "f" : "c"), n3[3] = "e" + mn[isNaN(r3.v) ? 36 : 7], n3[4] = "0", n3[5] = r3.f || n3[3].slice(1), n3[6] = "e", n3[7] = n3[3].slice(1));
          break;
        case "e":
          continue;
      }
      a3.push(n3.join(":"));
    }
    return a3.push("sheet:c:" + (i3.e.c - i3.s.c + 1) + ":r:" + (i3.e.r - i3.s.r + 1) + ":tvf:1"), a3.push("valueformat:1:text-wiki"), a3.join("\n");
  }
  return { to_workbook: function(e3, t3) {
    return Oa(r2(e3, t3), t3);
  }, to_sheet: r2, from_sheet: function(e3) {
    return [a2, n2, s2, n2, o2(e3), i2].join("\n");
  } };
}(), hi = /* @__PURE__ */ function() {
  function t2(e2, t3, r3, a3, n3) {
    n3.raw ? t3[r3][a3] = e2 : "" === e2 || ("TRUE" === e2 ? t3[r3][a3] = true : "FALSE" === e2 ? t3[r3][a3] = false : isNaN(je(e2)) ? isNaN(Qe(e2).getDate()) ? 35 == e2.charCodeAt(0) && null != vn[e2] ? t3[r3][a3] = { t: "e", v: vn[e2], w: e2 } : t3[r3][a3] = e2 : t3[r3][a3] = Ve(e2) : t3[r3][a3] = je(e2));
  }
  var r2 = { 44: ",", 9: "	", 59: ";", 124: "|" }, a2 = { 44: 3, 9: 2, 59: 1, 124: 0 };
  function n2(e2) {
    for (var t3 = {}, n3 = false, s3 = 0, i3 = 0; s3 < e2.length; ++s3) 34 == (i3 = e2.charCodeAt(s3)) ? n3 = !n3 : !n3 && i3 in r2 && (t3[i3] = (t3[i3] || 0) + 1);
    for (s3 in i3 = [], t3) Object.prototype.hasOwnProperty.call(t3, s3) && i3.push([t3[s3], s3]);
    if (!i3.length) for (s3 in t3 = a2) Object.prototype.hasOwnProperty.call(t3, s3) && i3.push([t3[s3], s3]);
    return i3.sort(function(e3, t4) {
      return e3[0] - t4[0] || a2[e3[1]] - a2[t4[1]];
    }), r2[i3.pop()[1]] || 44;
  }
  function s2(e2, t3) {
    var r3 = t3 || {}, a3 = "", s3 = {};
    r3.dense && (s3["!data"] = []);
    var i3 = { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } };
    "sep=" == e2.slice(0, 4) ? 13 == e2.charCodeAt(5) && 10 == e2.charCodeAt(6) ? (a3 = e2.charAt(4), e2 = e2.slice(7)) : 13 == e2.charCodeAt(5) || 10 == e2.charCodeAt(5) ? (a3 = e2.charAt(4), e2 = e2.slice(6)) : a3 = n2(e2.slice(0, 1024)) : a3 = r3 && r3.FS ? r3.FS : n2(e2.slice(0, 1024));
    var o3, c2, l2 = 0, f2 = 0, h2 = 0, u2 = 0, d2 = 0, p2 = a3.charCodeAt(0), m2 = false, v2 = 0, g2 = e2.charCodeAt(0), b2 = null != r3.dateNF ? (o3 = r3.dateNF, c2 = (c2 = "number" == typeof o3 ? W[o3] : o3).replace(ye, "(\\d+)"), ye.lastIndex = 0, new RegExp("^" + c2 + "$")) : null;
    function w2() {
      var t4 = e2.slice(u2, d2);
      "\r" == t4.slice(-1) && (t4 = t4.slice(0, -1));
      var a4 = {};
      if ('"' == t4.charAt(0) && '"' == t4.charAt(t4.length - 1) && (t4 = t4.slice(1, -1).replace(/""/g, '"')), false !== r3.cellText && (a4.w = t4), 0 === t4.length) a4.t = "z";
      else if (r3.raw) a4.t = "s", a4.v = t4;
      else if (0 === t4.trim().length) a4.t = "s", a4.v = t4;
      else if (61 == t4.charCodeAt(0)) 34 == t4.charCodeAt(1) && 34 == t4.charCodeAt(t4.length - 1) ? (a4.t = "s", a4.v = t4.slice(2, -1).replace(/""/g, '"')) : 1 != t4.length ? (a4.t = "s", a4.f = t4.slice(1), a4.v = t4) : (a4.t = "s", a4.v = t4);
      else if ("TRUE" == t4) a4.t = "b", a4.v = true;
      else if ("FALSE" == t4) a4.t = "b", a4.v = false;
      else if (isNaN(h2 = je(t4))) if (!isNaN((h2 = Qe(t4)).getDate()) || b2 && t4.match(b2)) {
        if (a4.z = r3.dateNF || W[14], b2 && t4.match(b2)) {
          var n3 = function(e3, t5, r4) {
            var a5 = -1, n4 = -1, s4 = -1, i4 = -1, o4 = -1, c3 = -1;
            (t5.match(ye) || []).forEach(function(e4, t6) {
              var l4 = parseInt(r4[t6 + 1], 10);
              switch (e4.toLowerCase().charAt(0)) {
                case "y":
                  a5 = l4;
                  break;
                case "d":
                  s4 = l4;
                  break;
                case "h":
                  i4 = l4;
                  break;
                case "s":
                  c3 = l4;
                  break;
                case "m":
                  i4 >= 0 ? o4 = l4 : n4 = l4;
              }
            }), ye.lastIndex = 0, c3 >= 0 && -1 == o4 && n4 >= 0 && (o4 = n4, n4 = -1);
            var l3 = ("" + (a5 >= 0 ? a5 : (/* @__PURE__ */ new Date()).getFullYear())).slice(-4) + "-" + ("00" + (n4 >= 1 ? n4 : 1)).slice(-2) + "-" + ("00" + (s4 >= 1 ? s4 : 1)).slice(-2);
            7 == l3.length && (l3 = "0" + l3), 8 == l3.length && (l3 = "20" + l3);
            var f3 = ("00" + (i4 >= 0 ? i4 : 0)).slice(-2) + ":" + ("00" + (o4 >= 0 ? o4 : 0)).slice(-2) + ":" + ("00" + (c3 >= 0 ? c3 : 0)).slice(-2);
            return -1 == i4 && -1 == o4 && -1 == c3 ? l3 : -1 == a5 && -1 == n4 && -1 == s4 ? f3 : l3 + "T" + f3;
          }(0, r3.dateNF, t4.match(b2) || []);
          h2 = Ve(n3), r3 && false === r3.UTC && (h2 = tt(h2));
        } else r3 && false === r3.UTC ? h2 = tt(h2) : false !== r3.cellText && r3.dateNF && (a4.w = me(a4.z, h2));
        r3.cellDates ? (a4.t = "d", a4.v = h2) : (a4.t = "n", a4.v = Le(h2)), r3.cellNF || delete a4.z;
      } else 35 == t4.charCodeAt(0) && null != vn[t4] ? (a4.t = "e", a4.w = t4, a4.v = vn[t4]) : (a4.t = "s", a4.v = t4);
      else a4.t = "n", a4.v = h2;
      if ("z" == a4.t || (r3.dense ? (s3["!data"][l2] || (s3["!data"][l2] = []), s3["!data"][l2][f2] = a4) : s3[Ea({ c: f2, r: l2 })] = a4), u2 = d2 + 1, g2 = e2.charCodeAt(u2), i3.e.c < f2 && (i3.e.c = f2), i3.e.r < l2 && (i3.e.r = l2), v2 == p2) ++f2;
      else if (f2 = 0, ++l2, r3.sheetRows && r3.sheetRows <= l2) return true;
    }
    e: for (; d2 < e2.length; ++d2) switch (v2 = e2.charCodeAt(d2)) {
      case 34:
        34 === g2 && (m2 = !m2);
        break;
      case 13:
        if (m2) break;
        10 == e2.charCodeAt(d2 + 1) && ++d2;
      case p2:
      case 10:
        if (!m2 && w2()) break e;
    }
    return d2 - u2 > 0 && w2(), s3["!ref"] = _a(i3), s3;
  }
  function i2(e2, r3) {
    return r3 && r3.PRN ? r3.FS || "sep=" == e2.slice(0, 4) || e2.indexOf("	") >= 0 || e2.indexOf(",") >= 0 || e2.indexOf(";") >= 0 ? s2(e2, r3) : Na(function(e3, r4) {
      var a3 = r4 || {}, n3 = [];
      if (!e3 || 0 === e3.length) return n3;
      for (var s3 = e3.split(/[\r\n]/), i3 = s3.length - 1; i3 >= 0 && 0 === s3[i3].length; ) --i3;
      for (var o3 = 10, c2 = 0, l2 = 0; l2 <= i3; ++l2) -1 == (c2 = s3[l2].indexOf(" ")) ? c2 = s3[l2].length : c2++, o3 = Math.max(o3, c2);
      for (l2 = 0; l2 <= i3; ++l2) {
        n3[l2] = [];
        var f2 = 0;
        for (t2(s3[l2].slice(0, o3).trim(), n3, l2, f2, a3), f2 = 1; f2 <= (s3[l2].length - o3) / 10 + 1; ++f2) t2(s3[l2].slice(o3 + 10 * (f2 - 1), o3 + 10 * f2).trim(), n3, l2, f2, a3);
      }
      return a3.sheetRows && (n3 = n3.slice(0, a3.sheetRows)), n3;
    }(e2, r3), r3) : s2(e2, r3);
  }
  function o2(t3, r3) {
    var a3 = "", n3 = "string" == r3.type ? [0, 0, 0, 0] : nu(t3, r3);
    switch (r3.type) {
      case "base64":
        a3 = b(t3);
        break;
      case "binary":
      case "string":
        a3 = t3;
        break;
      case "buffer":
        a3 = 65001 == r3.codepage ? t3.toString("utf8") : r3.codepage && void 0 !== e ? e.utils.decode(r3.codepage, t3) : w && Buffer.isBuffer(t3) ? t3.toString("binary") : x(t3);
        break;
      case "array":
        a3 = $e(t3);
        break;
      default:
        throw new Error("Unrecognized type " + r3.type);
    }
    return 239 == n3[0] && 187 == n3[1] && 191 == n3[2] ? a3 = jt(a3.slice(3)) : "string" != r3.type && "buffer" != r3.type && 65001 == r3.codepage ? a3 = jt(a3) : "binary" == r3.type && void 0 !== e && r3.codepage && (a3 = e.utils.decode(r3.codepage, e.utils.encode(28591, a3))), "socialcalc:version:" == a3.slice(0, 19) ? fi.to_sheet("string" == r3.type ? a3 : jt(a3), r3) : i2(a3, r3);
  }
  return { to_workbook: function(e2, t3) {
    return Oa(o2(e2, t3), t3);
  }, to_sheet: o2, from_sheet: function(e2) {
    var t3 = [];
    if (!e2["!ref"]) return "";
    for (var r3, a3 = Aa(e2["!ref"]), n3 = null != e2["!data"], s3 = a3.s.r; s3 <= a3.e.r; ++s3) {
      for (var i3 = [], o3 = a3.s.c; o3 <= a3.e.c; ++o3) {
        var c2 = Ea({ r: s3, c: o3 });
        if ((r3 = n3 ? (e2["!data"][s3] || [])[o3] : e2[c2]) && null != r3.v) {
          for (var l2 = (r3.w || (Ia(r3), r3.w) || "").slice(0, 10); l2.length < 10; ) l2 += " ";
          i3.push(l2 + (0 === o3 ? " " : ""));
        } else i3.push("          ");
      }
      t3.push(i3.join(""));
    }
    return t3.join("\n");
  } };
}();
var ui = /* @__PURE__ */ function() {
  function e2(e3, t3, r3) {
    if (e3) {
      oa(e3, e3.l || 0);
      for (var a3 = r3.Enum || T2; e3.l < e3.length; ) {
        var n3 = e3.read_shift(2), s3 = a3[n3] || a3[65535], i3 = e3.read_shift(2), o2 = e3.l + i3, c3 = s3.f && s3.f(e3, i3, r3);
        if (e3.l = o2, t3(c3, s3, n3)) return;
      }
    }
  }
  var t2 = ["mmmm", "dd-mmm-yyyy", "dd-mmm", "mmm-yyyy", "@", "mm/dd", "hh:mm:ss AM/PM", "hh:mm AM/PM", "mm/dd/yyyy", "mm/dd", "hh:mm:ss", "hh:mm"];
  function r2(r3, a3) {
    if (!r3) return r3;
    var n3 = a3 || {}, s3 = {}, i3 = "Sheet1", o2 = "", c3 = 0, l3 = {}, f3 = [], h3 = [], u3 = [];
    n3.dense && (u3 = s3["!data"] = []);
    var d3 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }, p3 = n3.sheetRows || 0, m3 = {};
    if (81 == r3[4] && 80 == r3[5] && 87 == r3[6]) return function(e3, t3) {
      oa(e3, 0);
      var r4 = t3 || {}, a4 = {};
      r4.dense && (a4["!data"] = []);
      var n4 = [], s4 = "", i4 = { s: { r: -1, c: -1 }, e: { r: -1, c: -1 } }, o3 = 0, c4 = 0, l4 = 0, f4 = 0, h4 = { SheetNames: [], Sheets: {} }, u4 = [];
      e: for (; e3.l < e3.length; ) {
        var d4 = e3.read_shift(2), p4 = e3.read_shift(2), m4 = e3.slice(e3.l, e3.l + p4);
        switch (oa(m4, 0), d4) {
          case 1:
            if (962023505 != m4.read_shift(4)) throw "Bad QPW9 BOF!";
            break;
          case 2:
            break e;
          case 8:
          case 1025:
          case 1026:
          case 1032:
            break;
          case 10:
            for (var v4 = m4.read_shift(4), g4 = (m4.length - m4.l) / v4 | 0, b3 = 0; b3 < v4; ++b3) {
              var w3 = m4.l + g4, T3 = {};
              m4.l += 2, T3.numFmtId = m4.read_shift(2), E2[T3.numFmtId] && (T3.z = E2[T3.numFmtId]), m4.l = w3, u4.push(T3);
            }
            break;
          case 1031:
            for (m4.l += 12; m4.l < m4.length; ) o3 = m4.read_shift(2), c4 = m4.read_shift(1), n4.push(m4.read_shift(o3, "cstr"));
            break;
          case 1537:
            var y3 = m4.read_shift(2);
            a4 = {}, r4.dense && (a4["!data"] = []), i4.s.c = m4.read_shift(2), i4.e.c = m4.read_shift(2), i4.s.r = m4.read_shift(4), i4.e.r = m4.read_shift(4), m4.l += 4, m4.l + 2 < m4.length && (o3 = m4.read_shift(2), c4 = m4.read_shift(1), s4 = 0 == o3 ? "" : m4.read_shift(o3, "cstr")), s4 || (s4 = Ta(y3));
            break;
          case 1538:
            if (i4.s.c > 255 || i4.s.r > 999999) break;
            i4.e.c < i4.s.c && (i4.e.c = i4.s.c), i4.e.r < i4.s.r && (i4.e.r = i4.s.r), a4["!ref"] = _a(i4), Ru(h4, a4, s4);
            break;
          case 2561:
            l4 = m4.read_shift(2), i4.e.c < l4 && (i4.e.c = l4), i4.s.c > l4 && (i4.s.c = l4), f4 = m4.read_shift(4), i4.s.r > f4 && (i4.s.r = f4), f4 = m4.read_shift(4), i4.e.r < f4 && (i4.e.r = f4);
            break;
          case 3073:
            f4 = m4.read_shift(4), o3 = m4.read_shift(4), i4.s.r > f4 && (i4.s.r = f4), i4.e.r < f4 + o3 - 1 && (i4.e.r = f4 + o3 - 1);
            for (var _2 = Ta(l4); m4.l < m4.length; ) {
              var S2 = { t: "z" }, x2 = m4.read_shift(1), A2 = -1;
              128 & x2 && (A2 = m4.read_shift(2));
              var C2 = 64 & x2 ? m4.read_shift(2) - 1 : 0;
              switch (31 & x2) {
                case 0:
                case 1:
                  break;
                case 2:
                  S2 = { t: "n", v: m4.read_shift(2) };
                  break;
                case 3:
                  S2 = { t: "n", v: m4.read_shift(2, "i") };
                  break;
                case 4:
                  S2 = { t: "n", v: Ja(m4) };
                  break;
                case 5:
                  S2 = { t: "n", v: m4.read_shift(8, "f") };
                  break;
                case 7:
                  S2 = { t: "s", v: n4[c4 = m4.read_shift(4) - 1] };
                  break;
                case 8:
                  S2 = { t: "n", v: m4.read_shift(8, "f") }, m4.l += 2, m4.l += 4, isNaN(S2.v) && (S2 = { t: "e", v: 15 });
                  break;
                default:
                  throw "Unrecognized QPW cell type " + (31 & x2);
              }
              -1 != A2 && (u4[A2 - 1] || {}).z && (S2.z = u4[A2 - 1].z);
              var I2 = 0;
              if (32 & x2) switch (31 & x2) {
                case 2:
                case 7:
                  I2 = m4.read_shift(2);
                  break;
                case 3:
                  I2 = m4.read_shift(2, "i");
                  break;
                default:
                  throw "Unsupported delta for QPW cell type " + (31 & x2);
              }
              if (r4.sheetStubs || "z" != S2.t) {
                var O2 = Ge(S2);
                "n" == S2.t && S2.z && he(S2.z) && r4.cellDates && (O2.v = Ue(S2.v), O2.t = "number" == typeof O2.v ? "n" : "d"), null != a4["!data"] ? (a4["!data"][f4] || (a4["!data"][f4] = []), a4["!data"][f4][l4] = O2) : a4[_2 + ba(f4)] = O2;
              }
              for (++f4, --o3; C2-- > 0 && o3 >= 0; ) {
                if (32 & x2) switch (31 & x2) {
                  case 2:
                    S2 = { t: "n", v: S2.v + I2 & 65535 };
                    break;
                  case 3:
                    (S2 = { t: "n", v: S2.v + I2 & 65535 }).v > 32767 && (S2.v -= 65536);
                    break;
                  case 7:
                    S2 = { t: "s", v: n4[c4 = c4 + I2 >>> 0] };
                    break;
                  default:
                    throw "Cannot apply delta for QPW cell type " + (31 & x2);
                }
                else switch (31 & x2) {
                  case 1:
                    S2 = { t: "z" };
                    break;
                  case 2:
                    S2 = { t: "n", v: m4.read_shift(2) };
                    break;
                  case 7:
                    S2 = { t: "s", v: n4[c4 = m4.read_shift(4) - 1] };
                    break;
                  default:
                    throw "Cannot apply repeat for QPW cell type " + (31 & x2);
                }
                (r4.sheetStubs || "z" != S2.t) && (null != a4["!data"] ? (a4["!data"][f4] || (a4["!data"][f4] = []), a4["!data"][f4][l4] = S2) : a4[_2 + ba(f4)] = S2), ++f4, --o3;
              }
            }
            break;
          case 3074:
            l4 = m4.read_shift(2), f4 = m4.read_shift(4);
            var R2 = k2(m4);
            null != a4["!data"] ? (a4["!data"][f4] || (a4["!data"][f4] = []), a4["!data"][f4][l4] = { t: "s", v: R2 }) : a4[Ta(l4) + ba(f4)] = { t: "s", v: R2 };
        }
        e3.l += p4;
      }
      return h4;
    }(r3, a3);
    if (0 == r3[2] && (8 == r3[3] || 9 == r3[3]) && r3.length >= 16 && 5 == r3[14] && 108 === r3[15]) throw new Error("Unsupported Works 3 for Mac file");
    if (2 == r3[2]) n3.Enum = T2, e2(r3, function(e3, r4, a4) {
      switch (a4) {
        case 0:
          n3.vers = e3, e3 >= 4096 && (n3.qpro = true);
          break;
        case 255:
          n3.vers = e3, n3.works = true;
          break;
        case 6:
          d3 = e3;
          break;
        case 204:
          e3 && (o2 = e3);
          break;
        case 222:
          o2 = e3;
          break;
        case 15:
        case 51:
          (!n3.qpro && !n3.works || 51 == a4) && e3[1].v.charCodeAt(0) < 48 && (e3[1].v = e3[1].v.slice(1)), (n3.works || n3.works2) && (e3[1].v = e3[1].v.replace(/\r\n/g, "\n"));
        case 13:
        case 14:
        case 16:
          !(112 & ~e3[2]) && (15 & e3[2]) > 1 && (15 & e3[2]) < 15 && (e3[1].z = n3.dateNF || t2[(15 & e3[2]) - 1] || W[14], n3.cellDates && (e3[1].v = Ue(e3[1].v), e3[1].t = "number" == typeof e3[1].v ? "n" : "d")), n3.qpro && e3[3] > c3 && (s3["!ref"] = _a(d3), l3[i3] = s3, f3.push(i3), s3 = {}, n3.dense && (u3 = s3["!data"] = []), d3 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }, c3 = e3[3], i3 = o2 || "Sheet" + (c3 + 1), o2 = "");
          var h4 = n3.dense ? (u3[e3[0].r] || [])[e3[0].c] : s3[Ea(e3[0])];
          if (h4) {
            h4.t = e3[1].t, h4.v = e3[1].v, null != e3[1].z && (h4.z = e3[1].z), null != e3[1].f && (h4.f = e3[1].f), m3 = h4;
            break;
          }
          n3.dense ? (u3[e3[0].r] || (u3[e3[0].r] = []), u3[e3[0].r][e3[0].c] = e3[1]) : s3[Ea(e3[0])] = e3[1], m3 = e3[1];
          break;
        case 21509:
          n3.works2 = true;
          break;
        case 21506:
          5281 == e3 && (m3.z = "hh:mm:ss", n3.cellDates && "n" == m3.t && (m3.v = Ue(m3.v), m3.t = "number" == typeof m3.v ? "n" : "d"));
      }
    }, n3);
    else {
      if (26 != r3[2] && 14 != r3[2]) throw new Error("Unrecognized LOTUS BOF " + r3[2]);
      n3.Enum = y2, 14 == r3[2] && (n3.qpro = true, r3.l = 0), e2(r3, function(e3, t3, r4) {
        switch (r4) {
          case 204:
            i3 = e3;
            break;
          case 22:
            e3[1].v.charCodeAt(0) < 48 && (e3[1].v = e3[1].v.slice(1)), e3[1].v = e3[1].v.replace(/\x0F./g, function(e4) {
              return String.fromCharCode(e4.charCodeAt(1) - 32);
            }).replace(/\r\n/g, "\n");
          case 23:
          case 24:
          case 25:
          case 37:
          case 39:
          case 40:
            if (e3[3] > c3 && (s3["!ref"] = _a(d3), l3[i3] = s3, f3.push(i3), s3 = {}, n3.dense && (u3 = s3["!data"] = []), d3 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }, c3 = e3[3], i3 = "Sheet" + (c3 + 1)), p3 > 0 && e3[0].r >= p3) break;
            n3.dense ? (u3[e3[0].r] || (u3[e3[0].r] = []), u3[e3[0].r][e3[0].c] = e3[1]) : s3[Ea(e3[0])] = e3[1], d3.e.c < e3[0].c && (d3.e.c = e3[0].c), d3.e.r < e3[0].r && (d3.e.r = e3[0].r);
            break;
          case 27:
            e3[14e3] && (h3[e3[14e3][0]] = e3[14e3][1]);
            break;
          case 1537:
            h3[e3[0]] = e3[1], e3[0] == c3 && (i3 = e3[1]);
        }
      }, n3);
    }
    if (s3["!ref"] = _a(d3), l3[o2 || i3] = s3, f3.push(o2 || i3), !h3.length) return { SheetNames: f3, Sheets: l3 };
    for (var v3 = {}, g3 = [], b2 = 0; b2 < h3.length; ++b2) l3[f3[b2]] ? (g3.push(h3[b2] || f3[b2]), v3[h3[b2]] = l3[h3[b2]] || l3[f3[b2]]) : (g3.push(h3[b2]), v3[h3[b2]] = { "!ref": "A1" });
    return { SheetNames: g3, Sheets: v3 };
  }
  function a2(e3, t3, r3) {
    var a3 = [{ c: 0, r: 0 }, { t: "n", v: 0 }, 0, 0];
    return r3.qpro && 20768 != r3.vers ? (a3[0].c = e3.read_shift(1), a3[3] = e3.read_shift(1), a3[0].r = e3.read_shift(2), e3.l += 2) : r3.works ? (a3[0].c = e3.read_shift(2), a3[0].r = e3.read_shift(2), a3[2] = e3.read_shift(2)) : (a3[2] = e3.read_shift(1), a3[0].c = e3.read_shift(2), a3[0].r = e3.read_shift(2)), a3;
  }
  function n2(e3) {
    return e3.z && he(e3.z) ? 240 | (t2.indexOf(e3.z) + 1 || 2) : 255;
  }
  function s2(e3, t3, r3) {
    var a3 = la(7 + r3.length);
    a3.write_shift(1, 255), a3.write_shift(2, t3), a3.write_shift(2, e3), a3.write_shift(1, 39);
    for (var n3 = 0; n3 < a3.length; ++n3) {
      var s3 = r3.charCodeAt(n3);
      a3.write_shift(1, s3 >= 128 ? 95 : s3);
    }
    return a3.write_shift(1, 0), a3;
  }
  function i2(e3, t3, r3) {
    var a3 = la(7);
    return a3.write_shift(1, n2(r3)), a3.write_shift(2, t3), a3.write_shift(2, e3), a3.write_shift(2, r3.v, "i"), a3;
  }
  function c2(e3, t3, r3) {
    var a3 = la(13);
    return a3.write_shift(1, n2(r3)), a3.write_shift(2, t3), a3.write_shift(2, e3), a3.write_shift(8, r3.v, "f"), a3;
  }
  function l2(e3, t3, r3) {
    var a3 = 32768 & t3;
    return t3 = (a3 ? e3 : 0) + ((t3 &= -32769) >= 8192 ? t3 - 16384 : t3), (a3 ? "" : "$") + (r3 ? Ta(t3) : ba(t3));
  }
  var f2 = { 31: ["NA", 0], 33: ["ABS", 1], 34: ["TRUNC", 1], 35: ["SQRT", 1], 36: ["LOG", 1], 37: ["LN", 1], 38: ["PI", 0], 39: ["SIN", 1], 40: ["COS", 1], 41: ["TAN", 1], 42: ["ATAN2", 2], 43: ["ATAN", 1], 44: ["ASIN", 1], 45: ["ACOS", 1], 46: ["EXP", 1], 47: ["MOD", 2], 49: ["ISNA", 1], 50: ["ISERR", 1], 51: ["FALSE", 0], 52: ["TRUE", 0], 53: ["RAND", 0], 54: ["DATE", 3], 63: ["ROUND", 2], 64: ["TIME", 3], 68: ["ISNUMBER", 1], 69: ["ISTEXT", 1], 70: ["LEN", 1], 71: ["VALUE", 1], 73: ["MID", 3], 74: ["CHAR", 1], 80: ["SUM", 69], 81: ["AVERAGEA", 69], 82: ["COUNTA", 69], 83: ["MINA", 69], 84: ["MAXA", 69], 102: ["UPPER", 1], 103: ["LOWER", 1], 107: ["PROPER", 1], 109: ["TRIM", 1], 111: ["T", 1] }, h2 = ["", "", "", "", "", "", "", "", "", "+", "-", "*", "/", "^", "=", "<>", "<=", ">=", "<", ">", "", "", "", "", "&", "", "", "", "", "", "", ""];
  function u2(e3) {
    var t3 = [{ c: 0, r: 0 }, { t: "n", v: 0 }, 0];
    return t3[0].r = e3.read_shift(2), t3[3] = e3[e3.l++], t3[0].c = e3[e3.l++], t3;
  }
  function d2(e3, t3, r3, a3) {
    var n3 = la(6 + a3.length);
    n3.write_shift(2, e3), n3.write_shift(1, r3), n3.write_shift(1, t3), n3.write_shift(1, 39);
    for (var s3 = 0; s3 < a3.length; ++s3) {
      var i3 = a3.charCodeAt(s3);
      n3.write_shift(1, i3 >= 128 ? 95 : i3);
    }
    return n3.write_shift(1, 0), n3;
  }
  function p2(e3, t3) {
    var r3 = u2(e3), a3 = e3.read_shift(4), n3 = e3.read_shift(4), s3 = e3.read_shift(2);
    if (65535 == s3) return 0 === a3 && 3221225472 === n3 ? (r3[1].t = "e", r3[1].v = 15) : 0 === a3 && 3489660928 === n3 ? (r3[1].t = "e", r3[1].v = 42) : r3[1].v = 0, r3;
    var i3 = 32768 & s3;
    return s3 = (32767 & s3) - 16446, r3[1].v = (1 - 2 * i3) * (n3 * Math.pow(2, s3 + 32) + a3 * Math.pow(2, s3)), r3;
  }
  function m2(e3, t3, r3, a3) {
    var n3 = la(14);
    if (n3.write_shift(2, e3), n3.write_shift(1, r3), n3.write_shift(1, t3), 0 == a3) return n3.write_shift(4, 0), n3.write_shift(4, 0), n3.write_shift(2, 65535), n3;
    var s3, i3 = 0, o2 = 0, c3 = 0;
    return a3 < 0 && (i3 = 1, a3 = -a3), o2 = 0 | Math.log2(a3), 2147483648 & (c3 = (a3 /= Math.pow(2, o2 - 31)) >>> 0) || (++o2, c3 = (a3 /= 2) >>> 0), a3 -= c3, c3 |= 2147483648, c3 >>>= 0, s3 = (a3 *= Math.pow(2, 32)) >>> 0, n3.write_shift(4, s3), n3.write_shift(4, c3), o2 += 16383 + (i3 ? 32768 : 0), n3.write_shift(2, o2), n3;
  }
  function v2(e3, t3) {
    var r3 = u2(e3), a3 = e3.read_shift(8, "f");
    return r3[1].v = a3, r3;
  }
  function g2(e3, t3) {
    return 0 == e3[e3.l + t3 - 1] ? e3.read_shift(t3, "cstr") : "";
  }
  function w2(e3, t3) {
    var r3 = la(5 + e3.length);
    r3.write_shift(2, 14e3), r3.write_shift(2, t3);
    for (var a3 = 0; a3 < e3.length; ++a3) {
      var n3 = e3.charCodeAt(a3);
      r3[r3.l++] = n3 > 127 ? 95 : n3;
    }
    return r3[r3.l++] = 0, r3;
  }
  var T2 = { 0: { n: "BOF", f: ss }, 1: { n: "EOF" }, 2: { n: "CALCMODE" }, 3: { n: "CALCORDER" }, 4: { n: "SPLIT" }, 5: { n: "SYNC" }, 6: { n: "RANGE", f: function(e3, t3, r3) {
    var a3 = { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } };
    return 8 == t3 && r3.qpro ? (a3.s.c = e3.read_shift(1), e3.l++, a3.s.r = e3.read_shift(2), a3.e.c = e3.read_shift(1), e3.l++, a3.e.r = e3.read_shift(2), a3) : (a3.s.c = e3.read_shift(2), a3.s.r = e3.read_shift(2), 12 == t3 && r3.qpro && (e3.l += 2), a3.e.c = e3.read_shift(2), a3.e.r = e3.read_shift(2), 12 == t3 && r3.qpro && (e3.l += 2), 65535 == a3.s.c && (a3.s.c = a3.e.c = a3.s.r = a3.e.r = 0), a3);
  } }, 7: { n: "WINDOW1" }, 8: { n: "COLW1" }, 9: { n: "WINTWO" }, 10: { n: "COLW2" }, 11: { n: "NAME" }, 12: { n: "BLANK" }, 13: { n: "INTEGER", f: function(e3, t3, r3) {
    var n3 = a2(e3, 0, r3);
    return n3[1].v = e3.read_shift(2, "i"), n3;
  } }, 14: { n: "NUMBER", f: function(e3, t3, r3) {
    var n3 = a2(e3, 0, r3);
    return n3[1].v = e3.read_shift(8, "f"), n3;
  } }, 15: { n: "LABEL", f: function(e3, t3, r3) {
    var n3 = e3.l + t3, s3 = a2(e3, 0, r3);
    if (s3[1].t = "s", 20768 == (65534 & r3.vers)) {
      e3.l++;
      var i3 = e3.read_shift(1);
      return s3[1].v = e3.read_shift(i3, "utf8"), s3;
    }
    return r3.qpro && e3.l++, s3[1].v = e3.read_shift(n3 - e3.l, "cstr"), s3;
  } }, 16: { n: "FORMULA", f: function(e3, t3, r3) {
    var n3 = e3.l + t3, s3 = a2(e3, 0, r3);
    if (s3[1].v = e3.read_shift(8, "f"), r3.qpro) e3.l = n3;
    else {
      var i3 = e3.read_shift(2);
      !function(e4, t4) {
        oa(e4, 0);
        var r4 = [], a3 = 0, n4 = "", s4 = "", i4 = "", o2 = "";
        for (; e4.l < e4.length; ) {
          var c3 = e4[e4.l++];
          switch (c3) {
            case 0:
              r4.push(e4.read_shift(8, "f"));
              break;
            case 1:
              s4 = l2(t4[0].c, e4.read_shift(2), true), n4 = l2(t4[0].r, e4.read_shift(2), false), r4.push(s4 + n4);
              break;
            case 2:
              var u3 = l2(t4[0].c, e4.read_shift(2), true), d3 = l2(t4[0].r, e4.read_shift(2), false);
              s4 = l2(t4[0].c, e4.read_shift(2), true), n4 = l2(t4[0].r, e4.read_shift(2), false), r4.push(u3 + d3 + ":" + s4 + n4);
              break;
            case 3:
              if (e4.l < e4.length) return void console.error("WK1 premature formula end");
              break;
            case 4:
              r4.push("(" + r4.pop() + ")");
              break;
            case 5:
              r4.push(e4.read_shift(2));
              break;
            case 6:
              for (var p3 = ""; c3 = e4[e4.l++]; ) p3 += String.fromCharCode(c3);
              r4.push('"' + p3.replace(/"/g, '""') + '"');
              break;
            case 8:
              r4.push("-" + r4.pop());
              break;
            case 23:
              r4.push("+" + r4.pop());
              break;
            case 22:
              r4.push("NOT(" + r4.pop() + ")");
              break;
            case 20:
            case 21:
              o2 = r4.pop(), i4 = r4.pop(), r4.push(["AND", "OR"][c3 - 20] + "(" + i4 + "," + o2 + ")");
              break;
            default:
              if (c3 < 32 && h2[c3]) o2 = r4.pop(), i4 = r4.pop(), r4.push(i4 + h2[c3] + o2);
              else {
                if (!f2[c3]) return c3 <= 7 ? console.error("WK1 invalid opcode " + c3.toString(16)) : c3 <= 24 ? console.error("WK1 unsupported op " + c3.toString(16)) : c3 <= 30 ? console.error("WK1 invalid opcode " + c3.toString(16)) : c3 <= 115 ? console.error("WK1 unsupported function opcode " + c3.toString(16)) : console.error("WK1 unrecognized opcode " + c3.toString(16));
                if (69 == (a3 = f2[c3][1]) && (a3 = e4[e4.l++]), a3 > r4.length) return void console.error("WK1 bad formula parse 0x" + c3.toString(16) + ":|" + r4.join("|") + "|");
                var m3 = r4.slice(-a3);
                r4.length -= a3, r4.push(f2[c3][0] + "(" + m3.join(",") + ")");
              }
          }
        }
        1 == r4.length ? t4[1].f = "" + r4[0] : console.error("WK1 bad formula parse |" + r4.join("|") + "|");
      }(e3.slice(e3.l, e3.l + i3), s3), e3.l += i3;
    }
    return s3;
  } }, 24: { n: "TABLE" }, 25: { n: "ORANGE" }, 26: { n: "PRANGE" }, 27: { n: "SRANGE" }, 28: { n: "FRANGE" }, 29: { n: "KRANGE1" }, 32: { n: "HRANGE" }, 35: { n: "KRANGE2" }, 36: { n: "PROTEC" }, 37: { n: "FOOTER" }, 38: { n: "HEADER" }, 39: { n: "SETUP" }, 40: { n: "MARGINS" }, 41: { n: "LABELFMT" }, 42: { n: "TITLES" }, 43: { n: "SHEETJS" }, 45: { n: "GRAPH" }, 46: { n: "NGRAPH" }, 47: { n: "CALCCOUNT" }, 48: { n: "UNFORMATTED" }, 49: { n: "CURSORW12" }, 50: { n: "WINDOW" }, 51: { n: "STRING", f: function(e3, t3, r3) {
    var n3 = e3.l + t3, s3 = a2(e3, 0, r3);
    if (s3[1].t = "s", 20768 == r3.vers) {
      var i3 = e3.read_shift(1);
      return s3[1].v = e3.read_shift(i3, "utf8"), s3;
    }
    return s3[1].v = e3.read_shift(n3 - e3.l, "cstr"), s3;
  } }, 55: { n: "PASSWORD" }, 56: { n: "LOCKED" }, 60: { n: "QUERY" }, 61: { n: "QUERYNAME" }, 62: { n: "PRINT" }, 63: { n: "PRINTNAME" }, 64: { n: "GRAPH2" }, 65: { n: "GRAPHNAME" }, 66: { n: "ZOOM" }, 67: { n: "SYMSPLIT" }, 68: { n: "NSROWS" }, 69: { n: "NSCOLS" }, 70: { n: "RULER" }, 71: { n: "NNAME" }, 72: { n: "ACOMM" }, 73: { n: "AMACRO" }, 74: { n: "PARSE" }, 102: { n: "PRANGES??" }, 103: { n: "RRANGES??" }, 104: { n: "FNAME??" }, 105: { n: "MRANGES??" }, 204: { n: "SHEETNAMECS", f: g2 }, 222: { n: "SHEETNAMELP", f: function(e3, t3) {
    var r3 = e3[e3.l++];
    r3 > t3 - 1 && (r3 = t3 - 1);
    for (var a3 = ""; a3.length < r3; ) a3 += String.fromCharCode(e3[e3.l++]);
    return a3;
  } }, 255: { n: "BOF", f: ss }, 21506: { n: "WKSNF", f: ss }, 65535: { n: "" } }, y2 = { 0: { n: "BOF" }, 1: { n: "EOF" }, 2: { n: "PASSWORD" }, 3: { n: "CALCSET" }, 4: { n: "WINDOWSET" }, 5: { n: "SHEETCELLPTR" }, 6: { n: "SHEETLAYOUT" }, 7: { n: "COLUMNWIDTH" }, 8: { n: "HIDDENCOLUMN" }, 9: { n: "USERRANGE" }, 10: { n: "SYSTEMRANGE" }, 11: { n: "ZEROFORCE" }, 12: { n: "SORTKEYDIR" }, 13: { n: "FILESEAL" }, 14: { n: "DATAFILLNUMS" }, 15: { n: "PRINTMAIN" }, 16: { n: "PRINTSTRING" }, 17: { n: "GRAPHMAIN" }, 18: { n: "GRAPHSTRING" }, 19: { n: "??" }, 20: { n: "ERRCELL" }, 21: { n: "NACELL" }, 22: { n: "LABEL16", f: function(e3, t3) {
    var r3 = u2(e3);
    return r3[1].t = "s", r3[1].v = e3.read_shift(t3 - 4, "cstr"), r3;
  } }, 23: { n: "NUMBER17", f: p2 }, 24: { n: "NUMBER18", f: function(e3, t3) {
    var r3 = u2(e3);
    r3[1].v = e3.read_shift(2);
    var a3 = r3[1].v >> 1;
    if (1 & r3[1].v) switch (7 & a3) {
      case 0:
        a3 = 5e3 * (a3 >> 3);
        break;
      case 1:
        a3 = 500 * (a3 >> 3);
        break;
      case 2:
        a3 = (a3 >> 3) / 20;
        break;
      case 3:
        a3 = (a3 >> 3) / 200;
        break;
      case 4:
        a3 = (a3 >> 3) / 2e3;
        break;
      case 5:
        a3 = (a3 >> 3) / 2e4;
        break;
      case 6:
        a3 = (a3 >> 3) / 16;
        break;
      case 7:
        a3 = (a3 >> 3) / 64;
    }
    return r3[1].v = a3, r3;
  } }, 25: { n: "FORMULA19", f: function(e3, t3) {
    var r3 = p2(e3);
    return e3.l += t3 - 14, r3;
  } }, 26: { n: "FORMULA1A" }, 27: { n: "XFORMAT", f: function(e3, t3) {
    for (var r3 = {}, a3 = e3.l + t3; e3.l < a3; ) {
      var n3 = e3.read_shift(2);
      if (14e3 == n3) {
        for (r3[n3] = [0, ""], r3[n3][0] = e3.read_shift(2); e3[e3.l]; ) r3[n3][1] += String.fromCharCode(e3[e3.l]), e3.l++;
        e3.l++;
      }
    }
    return r3;
  } }, 28: { n: "DTLABELMISC" }, 29: { n: "DTLABELCELL" }, 30: { n: "GRAPHWINDOW" }, 31: { n: "CPA" }, 32: { n: "LPLAUTO" }, 33: { n: "QUERY" }, 34: { n: "HIDDENSHEET" }, 35: { n: "??" }, 37: { n: "NUMBER25", f: function(e3, t3) {
    var r3 = u2(e3), a3 = e3.read_shift(4);
    return r3[1].v = a3 >> 6, r3;
  } }, 38: { n: "??" }, 39: { n: "NUMBER27", f: v2 }, 40: { n: "FORMULA28", f: function(e3, t3) {
    var r3 = v2(e3);
    return e3.l += t3 - 12, r3;
  } }, 142: { n: "??" }, 147: { n: "??" }, 150: { n: "??" }, 151: { n: "??" }, 152: { n: "??" }, 153: { n: "??" }, 154: { n: "??" }, 155: { n: "??" }, 156: { n: "??" }, 163: { n: "??" }, 174: { n: "??" }, 175: { n: "??" }, 176: { n: "??" }, 177: { n: "??" }, 184: { n: "??" }, 185: { n: "??" }, 186: { n: "??" }, 187: { n: "??" }, 188: { n: "??" }, 195: { n: "??" }, 201: { n: "??" }, 204: { n: "SHEETNAMECS", f: g2 }, 205: { n: "??" }, 206: { n: "??" }, 207: { n: "??" }, 208: { n: "??" }, 256: { n: "??" }, 259: { n: "??" }, 260: { n: "??" }, 261: { n: "??" }, 262: { n: "??" }, 263: { n: "??" }, 265: { n: "??" }, 266: { n: "??" }, 267: { n: "??" }, 268: { n: "??" }, 270: { n: "??" }, 271: { n: "??" }, 384: { n: "??" }, 389: { n: "??" }, 390: { n: "??" }, 393: { n: "??" }, 396: { n: "??" }, 512: { n: "??" }, 514: { n: "??" }, 513: { n: "??" }, 516: { n: "??" }, 517: { n: "??" }, 640: { n: "??" }, 641: { n: "??" }, 642: { n: "??" }, 643: { n: "??" }, 644: { n: "??" }, 645: { n: "??" }, 646: { n: "??" }, 647: { n: "??" }, 648: { n: "??" }, 658: { n: "??" }, 659: { n: "??" }, 660: { n: "??" }, 661: { n: "??" }, 662: { n: "??" }, 665: { n: "??" }, 666: { n: "??" }, 768: { n: "??" }, 772: { n: "??" }, 1537: { n: "SHEETINFOQP", f: function(e3, t3, r3) {
    if (r3.qpro && !(t3 < 21)) {
      var a3 = e3.read_shift(1);
      return e3.l += 17, e3.l += 1, e3.l += 2, [a3, e3.read_shift(t3 - 21, "cstr")];
    }
  } }, 1600: { n: "??" }, 1602: { n: "??" }, 1793: { n: "??" }, 1794: { n: "??" }, 1795: { n: "??" }, 1796: { n: "??" }, 1920: { n: "??" }, 2048: { n: "??" }, 2049: { n: "??" }, 2052: { n: "??" }, 2688: { n: "??" }, 10998: { n: "??" }, 12849: { n: "??" }, 28233: { n: "??" }, 28484: { n: "??" }, 65535: { n: "" } }, E2 = { 5: "dd-mmm-yy", 6: "dd-mmm", 7: "mmm-yy", 8: "mm/dd/yy", 10: "hh:mm:ss AM/PM", 11: "hh:mm AM/PM", 14: "dd-mmm-yyyy", 15: "mmm-yyyy", 34: "0.00", 50: "0.00;[Red]0.00", 66: "0.00;(0.00)", 82: "0.00;[Red](0.00)", 162: '"$"#,##0.00;\\("$"#,##0.00\\)', 288: "0%", 304: "0E+00", 320: "# ?/?" };
  function k2(e3) {
    var t3 = e3.read_shift(2), r3 = e3.read_shift(1);
    if (0 != r3) throw "unsupported QPW string type " + r3.toString(16);
    return e3.read_shift(t3, "sbcs-cont");
  }
  return { sheet_to_wk1: function(e3, t3) {
    var r3 = t3 || {};
    if (+r3.codepage >= 0 && o(+r3.codepage), "string" == r3.type) throw new Error("Cannot write WK1 to JS string");
    var a3 = ha();
    if (!e3["!ref"]) throw new Error("Cannot export empty sheet to WK1");
    var n3, l3, f3 = Aa(e3["!ref"]), h3 = null != e3["!data"], u3 = [];
    xf(a3, 0, (n3 = 1030, (l3 = la(2)).write_shift(2, n3), l3)), xf(a3, 6, function(e4) {
      var t4 = la(8);
      return t4.write_shift(2, e4.s.c), t4.write_shift(2, e4.s.r), t4.write_shift(2, e4.e.c), t4.write_shift(2, e4.e.r), t4;
    }(f3));
    for (var d3 = Math.min(f3.e.r, 8191), p3 = f3.s.c; p3 <= f3.e.c; ++p3) u3[p3] = Ta(p3);
    for (var m3 = f3.s.r; m3 <= d3; ++m3) {
      var v3 = ba(m3);
      for (p3 = f3.s.c; p3 <= f3.e.c; ++p3) {
        var g3 = h3 ? (e3["!data"][m3] || [])[p3] : e3[u3[p3] + v3];
        if (g3 && "z" != g3.t) switch (g3.t) {
          case "n":
            (0 | g3.v) == g3.v && g3.v >= -32768 && g3.v <= 32767 ? xf(a3, 13, i2(m3, p3, g3)) : xf(a3, 14, c2(m3, p3, g3));
            break;
          case "d":
            var b2 = Le(g3.v);
            (0 | b2) == b2 && b2 >= -32768 && b2 <= 32767 ? xf(a3, 13, i2(m3, p3, { v: b2, z: g3.z || W[14] })) : xf(a3, 14, c2(m3, p3, { v: b2, z: g3.z || W[14] }));
            break;
          default:
            xf(a3, 15, s2(m3, p3, Ia(g3).slice(0, 239)));
        }
      }
    }
    return xf(a3, 1), a3.end();
  }, book_to_wk3: function(e3, t3) {
    var r3 = t3 || {};
    if (+r3.codepage >= 0 && o(+r3.codepage), "string" == r3.type) throw new Error("Cannot write WK3 to JS string");
    var a3 = ha();
    xf(a3, 0, function(e4) {
      var t4 = la(26);
      t4.write_shift(2, 4096), t4.write_shift(2, 4), t4.write_shift(4, 0);
      for (var r4 = 0, a4 = 0, n4 = 0, s4 = 0; s4 < e4.SheetNames.length; ++s4) {
        var i4 = e4.SheetNames[s4], o2 = e4.Sheets[i4];
        if (o2 && o2["!ref"]) {
          ++n4;
          var c4 = ka(o2["!ref"]);
          r4 < c4.e.r && (r4 = c4.e.r), a4 < c4.e.c && (a4 = c4.e.c);
        }
      }
      r4 > 8191 && (r4 = 8191);
      return t4.write_shift(2, r4), t4.write_shift(1, n4), t4.write_shift(1, a4), t4.write_shift(2, 0), t4.write_shift(2, 0), t4.write_shift(1, 1), t4.write_shift(1, 2), t4.write_shift(4, 0), t4.write_shift(4, 0), t4;
    }(e3));
    for (var n3 = 0, s3 = 0; n3 < e3.SheetNames.length; ++n3) (e3.Sheets[e3.SheetNames[n3]] || {})["!ref"] && xf(a3, 27, w2(e3.SheetNames[n3], s3++));
    var i3 = 0;
    for (n3 = 0; n3 < e3.SheetNames.length; ++n3) {
      var c3 = e3.Sheets[e3.SheetNames[n3]];
      if (c3 && c3["!ref"]) {
        for (var l3 = Aa(c3["!ref"]), f3 = null != c3["!data"], h3 = [], u3 = Math.min(l3.e.r, 8191), p3 = l3.s.r; p3 <= u3; ++p3) for (var v3 = ba(p3), g3 = l3.s.c; g3 <= l3.e.c; ++g3) {
          p3 === l3.s.r && (h3[g3] = Ta(g3));
          var b2 = h3[g3] + v3, T3 = f3 ? (c3["!data"][p3] || [])[g3] : c3[b2];
          if (T3 && "z" != T3.t) if ("n" == T3.t) xf(a3, 23, m2(p3, g3, i3, T3.v));
          else xf(a3, 22, d2(p3, g3, i3, Ia(T3).slice(0, 239)));
        }
        ++i3;
      }
    }
    return xf(a3, 1), a3.end();
  }, to_workbook: function(e3, t3) {
    switch (t3.type) {
      case "base64":
        return r2(_(b(e3)), t3);
      case "binary":
        return r2(_(e3), t3);
      case "buffer":
      case "array":
        return r2(e3, t3);
    }
    throw "Unsupported type " + t3.type;
  } };
}();
var di = /* @__PURE__ */ function() {
  function e2(e3) {
    var t3 = ct(e3, "t");
    if (!t3) return { t: "s", v: "" };
    var r3 = { t: "s", v: Dt(t3[1]) }, a2 = ct(e3, "rPr");
    return a2 && (r3.s = function(e4) {
      var t4 = {}, r4 = e4.match(xt), a3 = 0, n2 = false;
      if (r4) for (; a3 != r4.length; ++a3) {
        var i2 = It(r4[a3]);
        switch (i2[0].replace(/<\w*:/g, "<")) {
          case "<condense":
          case "<extend":
            break;
          case "<shadow":
            if (!i2.val) break;
          case "<shadow>":
          case "<shadow/>":
            t4.shadow = 1;
            break;
          case "</shadow>":
            break;
          case "<charset":
            if ("1" == i2.val) break;
            t4.cp = s[parseInt(i2.val, 10)];
            break;
          case "<outline":
            if (!i2.val) break;
          case "<outline>":
          case "<outline/>":
            t4.outline = 1;
            break;
          case "</outline>":
            break;
          case "<rFont":
            t4.name = i2.val;
            break;
          case "<sz":
            t4.sz = i2.val;
            break;
          case "<strike":
            if (!i2.val) break;
          case "<strike>":
          case "<strike/>":
            t4.strike = 1;
            break;
          case "</strike>":
            break;
          case "<u":
            if (!i2.val) break;
            switch (i2.val) {
              case "double":
                t4.uval = "double";
                break;
              case "singleAccounting":
                t4.uval = "single-accounting";
                break;
              case "doubleAccounting":
                t4.uval = "double-accounting";
            }
          case "<u>":
          case "<u/>":
            t4.u = 1;
            break;
          case "</u>":
            break;
          case "<b":
            if ("0" == i2.val) break;
          case "<b>":
          case "<b/>":
            t4.b = 1;
            break;
          case "</b>":
            break;
          case "<i":
            if ("0" == i2.val) break;
          case "<i>":
          case "<i/>":
            t4.i = 1;
            break;
          case "</i>":
            break;
          case "<color":
            i2.rgb && (t4.color = i2.rgb.slice(2, 8));
            break;
          case "<color>":
          case "<color/>":
          case "</color>":
            break;
          case "<family":
            t4.family = i2.val;
            break;
          case "<family>":
          case "<family/>":
          case "</family>":
            break;
          case "<vertAlign":
            t4.valign = i2.val;
            break;
          case "<vertAlign>":
          case "<vertAlign/>":
          case "</vertAlign>":
          case "<scheme":
          case "<scheme>":
          case "<scheme/>":
          case "</scheme>":
          case "<extLst":
          case "<extLst>":
          case "</extLst>":
            break;
          case "<ext":
            n2 = true;
            break;
          case "</ext>":
            n2 = false;
            break;
          default:
            if (47 !== i2[0].charCodeAt(1) && !n2) throw new Error("Unrecognized rich format " + i2[0]);
        }
      }
      return t4;
    }(a2[1])), r3;
  }
  var t2 = /<(?:\w+:)?r>/g, r2 = /<\/(?:\w+:)?r>/;
  return function(a2) {
    return a2.replace(t2, "").split(r2).map(e2).filter(function(e3) {
      return e3.v;
    });
  };
}(), pi = /* @__PURE__ */ function() {
  var e2 = /(\r\n|\n)/g;
  function t2(t3) {
    var r2 = [[], t3.v, []];
    return t3.v ? (t3.s && function(e3, t4, r3) {
      var a2 = [];
      e3.u && a2.push("text-decoration: underline;"), e3.uval && a2.push("text-underline-style:" + e3.uval + ";"), e3.sz && a2.push("font-size:" + e3.sz + "pt;"), e3.outline && a2.push("text-effect: outline;"), e3.shadow && a2.push("text-shadow: auto;"), t4.push('<span style="' + a2.join("") + '">'), e3.b && (t4.push("<b>"), r3.push("</b>")), e3.i && (t4.push("<i>"), r3.push("</i>")), e3.strike && (t4.push("<s>"), r3.push("</s>"));
      var n2 = e3.valign || "";
      "superscript" == n2 || "super" == n2 ? n2 = "sup" : "subscript" == n2 && (n2 = "sub"), "" != n2 && (t4.push("<" + n2 + ">"), r3.push("</" + n2 + ">")), r3.push("</span>");
    }(t3.s, r2[0], r2[2]), r2[0].join("") + r2[1].replace(e2, "<br/>") + r2[2].join("")) : "";
  }
  return function(e3) {
    return e3.map(t2).join("");
  };
}(), mi = /<(?:\w+:)?t\b[^<>]*>([^<]*)<\/(?:\w+:)?t>/g, vi = /<(?:\w+:)?r\b[^<>]*>/;
function gi(e2, t2) {
  var r2 = !t2 || t2.cellHTML, a2 = {};
  return e2 ? (e2.match(/^\s*<(?:\w+:)?t[^>]*>/) ? (a2.t = Dt(jt(e2.slice(e2.indexOf(">") + 1).split(/<\/(?:\w+:)?t>/)[0] || ""), true), a2.r = jt(e2), r2 && (a2.h = Wt(a2.t))) : e2.match(vi) && (a2.r = jt(e2), a2.t = Dt(jt((ft(e2, "rPh").match(mi) || []).join("").replace(xt, "")), true), r2 && (a2.h = pi(di(a2.r)))), a2) : { t: "" };
}
var bi = /<(?:\w+:)?(?:si|sstItem)>/g, wi = /<\/(?:\w+:)?(?:si|sstItem)>/;
var Ti = /^\s|\s$|[\t\n\r]/;
var yi = function(e2, t2) {
  var r2 = false;
  return null == t2 && (r2 = true, t2 = la(15 + 4 * e2.t.length)), t2.write_shift(1, 0), Pa(e2.t, t2), r2 ? t2.slice(0, t2.l) : t2;
};
function Ei(e2) {
  var t2 = ha();
  ua(t2, 159, function(e3, t3) {
    return t3 || (t3 = la(8)), t3.write_shift(4, e3.Count), t3.write_shift(4, e3.Unique), t3;
  }(e2));
  for (var r2 = 0; r2 < e2.length; ++r2) ua(t2, 19, yi(e2[r2]));
  return ua(t2, 160), t2.end();
}
function ki(t2) {
  if (void 0 !== e) return e.utils.encode(a, t2);
  for (var r2 = [], n2 = t2.split(""), s2 = 0; s2 < n2.length; ++s2) r2[s2] = n2[s2].charCodeAt(0);
  return r2;
}
function _i(e2, t2) {
  var r2 = {};
  return r2.Major = e2.read_shift(2), r2.Minor = e2.read_shift(2), t2 >= 4 && (e2.l += t2 - 4), r2;
}
function Si(e2) {
  for (var t2 = e2.read_shift(4), r2 = e2.l + t2 - 4, a2 = {}, n2 = e2.read_shift(4), s2 = []; n2-- > 0; ) s2.push({ t: e2.read_shift(4), v: e2.read_shift(0, "lpp4") });
  if (a2.name = e2.read_shift(0, "lpp4"), a2.comps = s2, e2.l != r2) throw new Error("Bad DataSpaceMapEntry: " + e2.l + " != " + r2);
  return a2;
}
function xi(e2) {
  var t2 = function(e3) {
    var t3 = {};
    return e3.read_shift(4), e3.l += 4, t3.id = e3.read_shift(0, "lpp4"), t3.name = e3.read_shift(0, "lpp4"), t3.R = _i(e3, 4), t3.U = _i(e3, 4), t3.W = _i(e3, 4), t3;
  }(e2);
  if (t2.ename = e2.read_shift(0, "8lpp4"), t2.blksz = e2.read_shift(4), t2.cmode = e2.read_shift(4), 4 != e2.read_shift(4)) throw new Error("Bad !Primary record");
  return t2;
}
function Ai(e2, t2) {
  var r2 = e2.l + t2, a2 = {};
  a2.Flags = 63 & e2.read_shift(4), e2.l += 4, a2.AlgID = e2.read_shift(4);
  var n2 = false;
  switch (a2.AlgID) {
    case 26126:
    case 26127:
    case 26128:
      n2 = 36 == a2.Flags;
      break;
    case 26625:
      n2 = 4 == a2.Flags;
      break;
    case 0:
      n2 = 16 == a2.Flags || 4 == a2.Flags || 36 == a2.Flags;
      break;
    default:
      throw "Unrecognized encryption algorithm: " + a2.AlgID;
  }
  if (!n2) throw new Error("Encryption Flags/AlgID mismatch");
  return a2.AlgIDHash = e2.read_shift(4), a2.KeySize = e2.read_shift(4), a2.ProviderType = e2.read_shift(4), e2.l += 8, a2.CSPName = e2.read_shift(r2 - e2.l >> 1, "utf16le"), e2.l = r2, a2;
}
function Ci(e2, t2) {
  var r2 = {}, a2 = e2.l + t2;
  return e2.l += 4, r2.Salt = e2.slice(e2.l, e2.l + 16), e2.l += 16, r2.Verifier = e2.slice(e2.l, e2.l + 16), e2.l += 16, e2.read_shift(4), r2.VerifierHash = e2.slice(e2.l, a2), e2.l = a2, r2;
}
function Ii(e2) {
  if (36 != (63 & e2.read_shift(4))) throw new Error("EncryptionInfo mismatch");
  var t2 = e2.read_shift(4);
  return { t: "Std", h: Ai(e2, t2), v: Ci(e2, e2.length - e2.l) };
}
function Oi() {
  throw new Error("File is password-protected: ECMA-376 Extensible");
}
function Ri(e2) {
  var t2 = ["saltSize", "blockSize", "keyBits", "hashSize", "cipherAlgorithm", "cipherChaining", "hashAlgorithm", "saltValue"];
  e2.l += 4;
  var r2 = e2.read_shift(e2.length - e2.l, "utf8"), a2 = {};
  return r2.replace(xt, function(e3) {
    var r3 = It(e3);
    switch (Rt(r3[0])) {
      case "<?xml":
      case "<encryption":
      case "</encryption>":
      case "</keyEncryptors>":
      case "</keyEncryptor>":
        break;
      case "<keyData":
        t2.forEach(function(e4) {
          a2[e4] = r3[e4];
        });
        break;
      case "<dataIntegrity":
        a2.encryptedHmacKey = r3.encryptedHmacKey, a2.encryptedHmacValue = r3.encryptedHmacValue;
        break;
      case "<keyEncryptors>":
      case "<keyEncryptors":
        a2.encs = [];
        break;
      case "<keyEncryptor":
        a2.uri = r3.uri;
        break;
      case "<encryptedKey":
        a2.encs.push(r3);
        break;
      default:
        throw r3[0];
    }
  }), a2;
}
function Ni(e2) {
  var t2, r2, a2 = 0, n2 = ki(e2), s2 = n2.length + 1;
  for ((t2 = E(s2))[0] = n2.length, r2 = 1; r2 != s2; ++r2) t2[r2] = n2[r2 - 1];
  for (r2 = s2 - 1; r2 >= 0; --r2) a2 = ((16384 & a2 ? 1 : 0) | a2 << 1 & 32767) ^ t2[r2];
  return 52811 ^ a2;
}
var Fi = /* @__PURE__ */ function() {
  var e2 = [187, 255, 255, 186, 255, 255, 185, 128, 0, 190, 15, 0, 191, 15, 0], t2 = [57840, 7439, 52380, 33984, 4364, 3600, 61902, 12606, 6258, 57657, 54287, 34041, 10252, 43370, 20163], r2 = [44796, 19929, 39858, 10053, 20106, 40212, 10761, 31585, 63170, 64933, 60267, 50935, 40399, 11199, 17763, 35526, 1453, 2906, 5812, 11624, 23248, 885, 1770, 3540, 7080, 14160, 28320, 56640, 55369, 41139, 20807, 41614, 21821, 43642, 17621, 28485, 56970, 44341, 19019, 38038, 14605, 29210, 60195, 50791, 40175, 10751, 21502, 43004, 24537, 18387, 36774, 3949, 7898, 15796, 31592, 63184, 47201, 24803, 49606, 37805, 14203, 28406, 56812, 17824, 35648, 1697, 3394, 6788, 13576, 27152, 43601, 17539, 35078, 557, 1114, 2228, 4456, 30388, 60776, 51953, 34243, 7079, 14158, 28316, 14128, 28256, 56512, 43425, 17251, 34502, 7597, 13105, 26210, 52420, 35241, 883, 1766, 3532, 4129, 8258, 16516, 33032, 4657, 9314, 18628], a2 = function(e3, t3) {
    return 255 & ((r3 = e3 ^ t3) / 2 | 128 * r3);
    var r3;
  };
  return function(n2) {
    for (var s2, i2, o2, c2 = ki(n2), l2 = function(e3) {
      for (var a3 = t2[e3.length - 1], n3 = 104, s3 = e3.length - 1; s3 >= 0; --s3) for (var i3 = e3[s3], o3 = 0; 7 != o3; ++o3) 64 & i3 && (a3 ^= r2[n3]), i3 *= 2, --n3;
      return a3;
    }(c2), f2 = c2.length, h2 = E(16), u2 = 0; 16 != u2; ++u2) h2[u2] = 0;
    for (1 & ~f2 || (s2 = l2 >> 8, h2[f2] = a2(e2[0], s2), --f2, s2 = 255 & l2, i2 = c2[c2.length - 1], h2[f2] = a2(i2, s2)); f2 > 0; ) s2 = l2 >> 8, h2[--f2] = a2(c2[f2], s2), s2 = 255 & l2, h2[--f2] = a2(c2[f2], s2);
    for (f2 = 15, o2 = 15 - c2.length; o2 > 0; ) s2 = l2 >> 8, h2[f2] = a2(e2[o2], s2), --o2, s2 = 255 & l2, h2[--f2] = a2(c2[f2], s2), --f2, --o2;
    return h2;
  };
}(), Di = function(e2) {
  var t2 = 0, r2 = Fi(e2);
  return function(e3) {
    var a2 = function(e4, t3, r3, a3, n2) {
      var s2, i2;
      for (n2 || (n2 = t3), a3 || (a3 = Fi(e4)), s2 = 0; s2 != t3.length; ++s2) i2 = t3[s2], i2 = 255 & ((i2 ^= a3[r3]) >> 5 | i2 << 3), n2[s2] = i2, ++r3;
      return [n2, r3, a3];
    }("", e3, t2, r2);
    return t2 = a2[1], a2[0];
  };
};
function Pi(e2, t2, r2) {
  var a2 = r2 || {};
  return a2.Info = e2.read_shift(2), e2.l -= 2, 1 === a2.Info ? a2.Data = function(e3) {
    var t3 = {}, r3 = t3.EncryptionVersionInfo = _i(e3, 4);
    if (1 != r3.Major || 1 != r3.Minor) throw "unrecognized version code " + r3.Major + " : " + r3.Minor;
    return t3.Salt = e3.read_shift(16), t3.EncryptedVerifier = e3.read_shift(16), t3.EncryptedVerifierHash = e3.read_shift(16), t3;
  }(e2) : a2.Data = function(e3, t3) {
    var r3 = {}, a3 = r3.EncryptionVersionInfo = _i(e3, 4);
    if (t3 -= 4, 2 != a3.Minor) throw new Error("unrecognized minor version code: " + a3.Minor);
    if (a3.Major > 4 || a3.Major < 2) throw new Error("unrecognized major version code: " + a3.Major);
    r3.Flags = e3.read_shift(4), t3 -= 4;
    var n2 = e3.read_shift(4);
    return t3 -= 4, r3.EncryptionHeader = Ai(e3, n2), t3 -= n2, r3.EncryptionVerifier = Ci(e3, t3), r3;
  }(e2, t2), a2;
}
function Mi(e2, t2) {
  var r2 = t2 || {}, a2 = {}, n2 = r2.dense;
  n2 && (a2["!data"] = []);
  var s2 = nt(e2, "\\trowd", "\\row");
  if (!s2) throw new Error("RTF missing table");
  var i2 = { s: { c: 0, r: 0 }, e: { c: 0, r: s2.length - 1 } }, o2 = [];
  return s2.forEach(function(e3, t3) {
    n2 && (o2 = a2["!data"][t3] = []);
    for (var s3, c2 = /\\[\w\-]+\b/g, l2 = 0, f2 = -1, h2 = []; null != (s3 = c2.exec(e3)); ) {
      var u2 = e3.slice(l2, c2.lastIndex - s3[0].length);
      switch (32 == u2.charCodeAt(0) && (u2 = u2.slice(1)), u2.length && h2.push(u2), s3[0]) {
        case "\\cell":
          if (++f2, h2.length) {
            var d2 = { v: h2.join(""), t: "s" };
            "TRUE" == d2.v || "FALSE" == d2.v ? (d2.v = "TRUE" == d2.v, d2.t = "b") : isNaN(je(d2.v)) ? null != vn[d2.v] && (d2.t = "e", d2.w = d2.v, d2.v = vn[d2.v]) : (d2.t = "n", false !== r2.cellText && (d2.w = d2.v), d2.v = je(d2.v)), n2 ? o2[f2] = d2 : a2[Ea({ r: t3, c: f2 })] = d2;
          }
          h2 = [];
          break;
        case "\\par":
          h2.push("\n");
      }
      l2 = c2.lastIndex;
    }
    f2 > i2.e.c && (i2.e.c = f2);
  }), a2["!ref"] = _a(i2), a2;
}
function Li(e2, t2) {
  var r2 = Oa(function(e3, t3) {
    switch (t3.type) {
      case "base64":
        return Mi(b(e3), t3);
      case "binary":
        return Mi(e3, t3);
      case "buffer":
        return Mi(w && Buffer.isBuffer(e3) ? e3.toString("binary") : x(e3), t3);
      case "array":
        return Mi($e(e3), t3);
    }
    throw new Error("Unrecognized type " + t3.type);
  }(e2, t2), t2);
  return r2.bookType = "rtf", r2;
}
function Ui(e2) {
  for (var t2 = 0, r2 = 1; 3 != t2; ++t2) r2 = 256 * r2 + (e2[t2] > 255 ? 255 : e2[t2] < 0 ? 0 : e2[t2]);
  return r2.toString(16).toUpperCase().slice(1);
}
function Bi(e2, t2) {
  if (0 === t2) return e2;
  var r2, a2, n2 = function(e3) {
    var t3 = e3[0] / 255, r3 = e3[1] / 255, a3 = e3[2] / 255, n3 = Math.max(t3, r3, a3), s2 = Math.min(t3, r3, a3), i2 = n3 - s2;
    if (0 === i2) return [0, 0, t3];
    var o2, c2 = 0, l2 = n3 + s2;
    switch (o2 = i2 / (l2 > 1 ? 2 - l2 : l2), n3) {
      case t3:
        c2 = ((r3 - a3) / i2 + 6) % 6;
        break;
      case r3:
        c2 = (a3 - t3) / i2 + 2;
        break;
      case a3:
        c2 = (t3 - r3) / i2 + 4;
    }
    return [c2 / 6, o2, l2 / 2];
  }((a2 = (r2 = e2).slice("#" === r2[0] ? 1 : 0).slice(0, 6), [parseInt(a2.slice(0, 2), 16), parseInt(a2.slice(2, 4), 16), parseInt(a2.slice(4, 6), 16)]));
  return n2[2] = t2 < 0 ? n2[2] * (1 + t2) : 1 - (1 - n2[2]) * (1 - t2), Ui(function(e3) {
    var t3, r3 = e3[0], a3 = e3[1], n3 = e3[2], s2 = 2 * a3 * (n3 < 0.5 ? n3 : 1 - n3), i2 = n3 - s2 / 2, o2 = [i2, i2, i2], c2 = 6 * r3;
    if (0 !== a3) switch (0 | c2) {
      case 0:
      case 6:
        t3 = s2 * c2, o2[0] += s2, o2[1] += t3;
        break;
      case 1:
        t3 = s2 * (2 - c2), o2[0] += t3, o2[1] += s2;
        break;
      case 2:
        t3 = s2 * (c2 - 2), o2[1] += s2, o2[2] += t3;
        break;
      case 3:
        t3 = s2 * (4 - c2), o2[1] += t3, o2[2] += s2;
        break;
      case 4:
        t3 = s2 * (c2 - 4), o2[2] += s2, o2[0] += t3;
        break;
      case 5:
        t3 = s2 * (6 - c2), o2[2] += t3, o2[0] += s2;
    }
    for (var l2 = 0; 3 != l2; ++l2) o2[l2] = Math.round(255 * o2[l2]);
    return o2;
  }(n2));
}
var Wi = 6;
function zi(e2) {
  return Math.floor((e2 + Math.round(128 / Wi) / 256) * Wi);
}
function Hi(e2) {
  return Math.floor((e2 - 5) / Wi * 100 + 0.5) / 100;
}
function Vi(e2) {
  return Math.round((e2 * Wi + 5) / Wi * 256) / 256;
}
function $i(e2) {
  return Vi(Hi(zi(e2)));
}
function Gi(e2) {
  var t2 = Math.abs(e2 - $i(e2)), r2 = Wi;
  if (t2 > 5e-3) for (Wi = 1; Wi < 15; ++Wi) Math.abs(e2 - $i(e2)) <= t2 && (t2 = Math.abs(e2 - $i(e2)), r2 = Wi);
  Wi = r2;
}
function Xi(e2) {
  e2.width ? (e2.wpx = zi(e2.width), e2.wch = Hi(e2.wpx), e2.MDW = Wi) : e2.wpx ? (e2.wch = Hi(e2.wpx), e2.width = Vi(e2.wch), e2.MDW = Wi) : "number" == typeof e2.wch && (e2.width = Vi(e2.wch), e2.wpx = zi(e2.width), e2.MDW = Wi), e2.customWidth && delete e2.customWidth;
}
var ji = 96;
function Ki(e2) {
  return 96 * e2 / ji;
}
function Yi(e2) {
  return e2 * ji / 96;
}
var Zi = { None: "none", Solid: "solid", Gray50: "mediumGray", Gray75: "darkGray", Gray25: "lightGray", HorzStripe: "darkHorizontal", VertStripe: "darkVertical", ReverseDiagStripe: "darkDown", DiagStripe: "darkUp", DiagCross: "darkGrid", ThickDiagCross: "darkTrellis", ThinHorzStripe: "lightHorizontal", ThinVertStripe: "lightVertical", ThinReverseDiagStripe: "lightDown", ThinHorzCross: "lightGrid" };
var Ji = ["numFmtId", "fillId", "fontId", "borderId", "xfId"], qi = ["applyAlignment", "applyBorder", "applyFill", "applyFont", "applyNumberFormat", "applyProtection", "pivotButton", "quotePrefix"];
var Qi = /* @__PURE__ */ function() {
  return function(e2, t2, r2) {
    var a2, n2 = {};
    return e2 ? (e2 = at(st(e2, "<!--", "-->")), (a2 = ct(e2, "numFmts")) && function(e3, t3, r3) {
      t3.NumberFmt = [];
      for (var a3 = Oe(W), n3 = 0; n3 < a3.length; ++n3) t3.NumberFmt[a3[n3]] = W[a3[n3]];
      var s2 = e3.match(xt);
      if (s2) for (n3 = 0; n3 < s2.length; ++n3) {
        var i2 = It(s2[n3]);
        switch (Rt(i2[0])) {
          case "<numFmts":
          case "</numFmts>":
          case "<numFmts/>":
          case "<numFmts>":
          case "</numFmt>":
            break;
          case "<numFmt":
            var o2 = Dt(jt(i2.formatCode)), c2 = parseInt(i2.numFmtId, 10);
            if (t3.NumberFmt[c2] = o2, c2 > 0) {
              if (c2 > 392) {
                for (c2 = 392; c2 > 60 && null != t3.NumberFmt[c2]; --c2) ;
                t3.NumberFmt[c2] = o2;
              }
              ke(o2, c2);
            }
            break;
          default:
            if (r3.WTF) throw new Error("unrecognized " + i2[0] + " in numFmts");
        }
      }
    }(a2[0], n2, r2), (a2 = ct(e2, "fonts")) && function(e3, t3, r3, a3) {
      t3.Fonts = [];
      var n3 = {}, i2 = false;
      (e3.match(xt) || []).forEach(function(e4) {
        var o2 = It(e4);
        switch (Rt(o2[0])) {
          case "<fonts":
          case "<fonts>":
          case "</fonts>":
          case "<font":
          case "<font>":
          case "<name/>":
          case "</name>":
          case "</b>":
          case "</b":
          case "</i>":
          case "</i":
          case "</u>":
          case "</u":
          case "</strike>":
          case "</strike":
          case "</outline>":
          case "</outline":
          case "</shadow>":
          case "</shadow":
          case "</condense>":
          case "</condense":
          case "</extend>":
          case "</extend":
          case "<sz/>":
          case "</sz>":
          case "</sz":
          case "<vertAlign/>":
          case "</vertAlign>":
          case "</vertAlign":
          case "<family/>":
          case "</family>":
          case "</family":
          case "<scheme/>":
          case "</scheme>":
          case "</scheme":
          case "<charset/>":
          case "</charset>":
          case "</charset":
          case "<color/>":
          case "</color>":
          case "</color":
          case "<extLst":
          case "<extLst>":
          case "</extLst>":
            break;
          case "</font>":
          case "<font/>":
            t3.Fonts.push(n3), n3 = {};
            break;
          case "<name":
            o2.val && (n3.name = jt(o2.val));
            break;
          case "<b":
            n3.bold = o2.val ? Ht(o2.val) : 1;
            break;
          case "<b/>":
            n3.bold = 1;
            break;
          case "<i":
            n3.italic = o2.val ? Ht(o2.val) : 1;
            break;
          case "<i/>":
            n3.italic = 1;
            break;
          case "<u":
            switch (o2.val) {
              case "none":
                n3.underline = 0;
                break;
              case "single":
                n3.underline = 1;
                break;
              case "double":
                n3.underline = 2;
                break;
              case "singleAccounting":
                n3.underline = 33;
                break;
              case "doubleAccounting":
                n3.underline = 34;
            }
            break;
          case "<u/>":
            n3.underline = 1;
            break;
          case "<strike":
            n3.strike = o2.val ? Ht(o2.val) : 1;
            break;
          case "<strike/>":
            n3.strike = 1;
            break;
          case "<outline":
            n3.outline = o2.val ? Ht(o2.val) : 1;
            break;
          case "<outline/>":
            n3.outline = 1;
            break;
          case "<shadow":
            n3.shadow = o2.val ? Ht(o2.val) : 1;
            break;
          case "<shadow/>":
            n3.shadow = 1;
            break;
          case "<condense":
            n3.condense = o2.val ? Ht(o2.val) : 1;
            break;
          case "<condense/>":
            n3.condense = 1;
            break;
          case "<extend":
            n3.extend = o2.val ? Ht(o2.val) : 1;
            break;
          case "<extend/>":
            n3.extend = 1;
            break;
          case "<sz":
            o2.val && (n3.sz = +o2.val);
            break;
          case "<vertAlign":
            o2.val && (n3.vertAlign = o2.val);
            break;
          case "<family":
            o2.val && (n3.family = parseInt(o2.val, 10));
            break;
          case "<scheme":
            o2.val && (n3.scheme = o2.val);
            break;
          case "<charset":
            if ("1" == o2.val) break;
            o2.codepage = s[parseInt(o2.val, 10)];
            break;
          case "<color":
            if (n3.color || (n3.color = {}), o2.auto && (n3.color.auto = Ht(o2.auto)), o2.rgb) n3.color.rgb = o2.rgb.slice(-6);
            else if (o2.indexed) {
              n3.color.index = parseInt(o2.indexed, 10);
              var c2 = pn[n3.color.index];
              81 == n3.color.index && (c2 = pn[1]), c2 || (c2 = pn[1]), n3.color.rgb = c2[0].toString(16) + c2[1].toString(16) + c2[2].toString(16);
            } else o2.theme && (n3.color.theme = parseInt(o2.theme, 10), o2.tint && (n3.color.tint = parseFloat(o2.tint)), o2.theme && r3.themeElements && r3.themeElements.clrScheme && (n3.color.rgb = Bi(r3.themeElements.clrScheme[n3.color.theme].rgb, n3.color.tint || 0)));
            break;
          case "<AlternateContent":
          case "<ext":
            i2 = true;
            break;
          case "</AlternateContent>":
          case "</AlternateContent":
          case "</ext>":
            i2 = false;
            break;
          default:
            if (a3 && a3.WTF && !i2) throw new Error("unrecognized " + o2[0] + " in fonts");
        }
      });
    }(a2[0], n2, t2, r2), (a2 = ct(e2, "fills")) && function(e3, t3, r3, a3) {
      t3.Fills = [];
      var n3 = {}, s2 = false;
      (e3.match(xt) || []).forEach(function(e4) {
        var r4 = It(e4);
        switch (Rt(r4[0])) {
          case "<fills":
          case "<fills>":
          case "</fills>":
          case "</fill>":
          case "<gradientFill>":
          case "<patternFill/>":
          case "</patternFill>":
          case "<bgColor/>":
          case "</bgColor>":
          case "<fgColor/>":
          case "</fgColor>":
          case "<stop":
          case "<stop/>":
          case "</stop>":
          case "<color":
          case "<color/>":
          case "</color>":
          case "<extLst":
          case "<extLst>":
          case "</extLst>":
            break;
          case "<fill>":
          case "<fill":
          case "<fill/>":
            n3 = {}, t3.Fills.push(n3);
            break;
          case "<gradientFill":
          case "</gradientFill>":
            t3.Fills.push(n3), n3 = {};
            break;
          case "<patternFill":
          case "<patternFill>":
            r4.patternType && (n3.patternType = r4.patternType);
            break;
          case "<bgColor":
            n3.bgColor || (n3.bgColor = {}), r4.indexed && (n3.bgColor.indexed = parseInt(r4.indexed, 10)), r4.theme && (n3.bgColor.theme = parseInt(r4.theme, 10)), r4.tint && (n3.bgColor.tint = parseFloat(r4.tint)), r4.rgb && (n3.bgColor.rgb = r4.rgb.slice(-6));
            break;
          case "<fgColor":
            n3.fgColor || (n3.fgColor = {}), r4.theme && (n3.fgColor.theme = parseInt(r4.theme, 10)), r4.tint && (n3.fgColor.tint = parseFloat(r4.tint)), null != r4.rgb && (n3.fgColor.rgb = r4.rgb.slice(-6));
            break;
          case "<ext":
            s2 = true;
            break;
          case "</ext>":
            s2 = false;
            break;
          default:
            if (a3 && a3.WTF && !s2) throw new Error("unrecognized " + r4[0] + " in fills");
        }
      });
    }(a2[0], n2, 0, r2), (a2 = ct(e2, "borders")) && function(e3, t3, r3, a3) {
      t3.Borders = [];
      var n3 = {}, s2 = false;
      (e3.match(xt) || []).forEach(function(e4) {
        var r4 = It(e4);
        switch (Rt(r4[0])) {
          case "<borders":
          case "<borders>":
          case "</borders>":
          case "</border>":
          case "<left/>":
          case "<left":
          case "<left>":
          case "</left>":
          case "<right/>":
          case "<right":
          case "<right>":
          case "</right>":
          case "<top/>":
          case "<top":
          case "<top>":
          case "</top>":
          case "<bottom/>":
          case "<bottom":
          case "<bottom>":
          case "</bottom>":
          case "<diagonal":
          case "<diagonal>":
          case "<diagonal/>":
          case "</diagonal>":
          case "<horizontal":
          case "<horizontal>":
          case "<horizontal/>":
          case "</horizontal>":
          case "<vertical":
          case "<vertical>":
          case "<vertical/>":
          case "</vertical>":
          case "<start":
          case "<start>":
          case "<start/>":
          case "</start>":
          case "<end":
          case "<end>":
          case "<end/>":
          case "</end>":
          case "<color":
          case "<color>":
          case "<color/>":
          case "</color>":
          case "<extLst":
          case "<extLst>":
          case "</extLst>":
            break;
          case "<border":
          case "<border>":
          case "<border/>":
            n3 = {}, r4.diagonalUp && (n3.diagonalUp = Ht(r4.diagonalUp)), r4.diagonalDown && (n3.diagonalDown = Ht(r4.diagonalDown)), t3.Borders.push(n3);
            break;
          case "<ext":
            s2 = true;
            break;
          case "</ext>":
            s2 = false;
            break;
          default:
            if (a3 && a3.WTF && !s2) throw new Error("unrecognized " + r4[0] + " in borders");
        }
      });
    }(a2[0], n2, 0, r2), (a2 = ct(e2, "cellXfs")) && function(e3, t3, r3) {
      var a3;
      t3.CellXf = [];
      var n3 = false;
      (e3.match(xt) || []).forEach(function(e4) {
        var s2 = It(e4), i2 = 0;
        switch (Rt(s2[0])) {
          case "<cellXfs":
          case "<cellXfs>":
          case "<cellXfs/>":
          case "</cellXfs>":
          case "</xf>":
          case "</alignment>":
          case "<protection":
          case "<protection>":
          case "</protection>":
          case "<protection/>":
          case "<extLst":
          case "<extLst>":
          case "</extLst>":
            break;
          case "<xf":
          case "<xf/>":
          case "<xf>":
            for (delete (a3 = s2)[0], i2 = 0; i2 < Ji.length; ++i2) a3[Ji[i2]] && (a3[Ji[i2]] = parseInt(a3[Ji[i2]], 10));
            for (i2 = 0; i2 < qi.length; ++i2) a3[qi[i2]] && (a3[qi[i2]] = Ht(a3[qi[i2]]));
            if (t3.NumberFmt && a3.numFmtId > 392) {
              for (i2 = 392; i2 > 60; --i2) if (t3.NumberFmt[a3.numFmtId] == t3.NumberFmt[i2]) {
                a3.numFmtId = i2;
                break;
              }
            }
            t3.CellXf.push(a3);
            break;
          case "<alignment":
          case "<alignment/>":
          case "<alignment>":
            var o2 = {};
            s2.vertical && (o2.vertical = s2.vertical), s2.horizontal && (o2.horizontal = s2.horizontal), null != s2.textRotation && (o2.textRotation = s2.textRotation), s2.indent && (o2.indent = s2.indent), s2.wrapText && (o2.wrapText = Ht(s2.wrapText)), a3.alignment = o2;
            break;
          case "<AlternateContent":
          case "<AlternateContent>":
          case "<ext":
            n3 = true;
            break;
          case "</AlternateContent>":
          case "</ext>":
            n3 = false;
            break;
          default:
            if (r3 && r3.WTF && !n3) throw new Error("unrecognized " + s2[0] + " in cellXfs");
        }
      });
    }(a2[0], n2, r2), n2) : n2;
  };
}();
function eo(e2, t2) {
  var r2, a2 = [kt, rr("styleSheet", null, { xmlns: wr[0], "xmlns:vt": vr })];
  return e2.SSF && null != (r2 = function(e3) {
    var t3 = ["<numFmts>"];
    return [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r3) {
      for (var a3 = r3[0]; a3 <= r3[1]; ++a3) null != e3[a3] && (t3[t3.length] = rr("numFmt", null, { numFmtId: a3, formatCode: Lt(e3[a3]) }));
    }), 1 === t3.length ? "" : (t3[t3.length] = "</numFmts>", t3[0] = rr("numFmts", null, { count: t3.length - 2 }).replace("/>", ">"), t3.join(""));
  }(e2.SSF)) && (a2[a2.length] = r2), a2[a2.length] = '<fonts count="1"><font><sz val="12"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font></fonts>', a2[a2.length] = '<fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills>', a2[a2.length] = '<borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders>', a2[a2.length] = '<cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs>', (r2 = function(e3) {
    var t3 = [];
    return t3[t3.length] = rr("cellXfs", null), e3.forEach(function(e4) {
      t3[t3.length] = rr("xf", null, e4);
    }), t3[t3.length] = "</cellXfs>", 2 === t3.length ? "" : (t3[0] = rr("cellXfs", null, { count: t3.length - 2 }).replace("/>", ">"), t3.join(""));
  }(t2.cellXfs)) && (a2[a2.length] = r2), a2[a2.length] = '<cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>', a2[a2.length] = '<dxfs count="0"/>', a2[a2.length] = '<tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleMedium4"/>', a2.length > 2 && (a2[a2.length] = "</styleSheet>", a2[1] = a2[1].replace("/>", ">")), a2.join("");
}
function to(e2, t2, r2) {
  r2 || (r2 = la(6 + 4 * t2.length)), r2.write_shift(2, e2), Pa(t2, r2);
  var a2 = r2.length > r2.l ? r2.slice(0, r2.l) : r2;
  return null == r2.l && (r2.l = r2.length), a2;
}
function ro(e2, t2) {
  t2 || (t2 = la(153)), t2.write_shift(2, 20 * e2.sz), function(e3, t3) {
    t3 || (t3 = la(2));
    var r3 = (e3.italic ? 2 : 0) | (e3.strike ? 8 : 0) | (e3.outline ? 16 : 0) | (e3.shadow ? 32 : 0) | (e3.condense ? 64 : 0) | (e3.extend ? 128 : 0);
    t3.write_shift(1, r3), t3.write_shift(1, 0);
  }(e2, t2), t2.write_shift(2, e2.bold ? 700 : 400);
  var r2 = 0;
  "superscript" == e2.vertAlign ? r2 = 1 : "subscript" == e2.vertAlign && (r2 = 2), t2.write_shift(2, r2), t2.write_shift(1, e2.underline || 0), t2.write_shift(1, e2.family || 0), t2.write_shift(1, e2.charset || 0), t2.write_shift(1, 0), nn(e2.color, t2);
  return t2.write_shift(1, 2), Pa(e2.name, t2), t2.length > t2.l ? t2.slice(0, t2.l) : t2;
}
var ao, no = ["none", "solid", "mediumGray", "darkGray", "lightGray", "darkHorizontal", "darkVertical", "darkDown", "darkUp", "darkGrid", "darkTrellis", "lightHorizontal", "lightVertical", "lightDown", "lightUp", "lightGrid", "lightTrellis", "gray125", "gray0625"], so = ca;
function io(e2, t2) {
  t2 || (t2 = la(84)), ao || (ao = Ne(no));
  var r2 = ao[e2.patternType];
  null == r2 && (r2 = 40), t2.write_shift(4, r2);
  var a2 = 0;
  if (40 != r2) for (nn({ auto: 1 }, t2), nn({ auto: 1 }, t2); a2 < 12; ++a2) t2.write_shift(4, 0);
  else {
    for (; a2 < 4; ++a2) t2.write_shift(4, 0);
    for (; a2 < 12; ++a2) t2.write_shift(4, 0);
  }
  return t2.length > t2.l ? t2.slice(0, t2.l) : t2;
}
function oo(e2, t2, r2) {
  r2 || (r2 = la(16)), r2.write_shift(2, t2 || 0), r2.write_shift(2, e2.numFmtId || 0), r2.write_shift(2, 0), r2.write_shift(2, 0), r2.write_shift(2, 0), r2.write_shift(1, 0), r2.write_shift(1, 0);
  return r2.write_shift(1, 0), r2.write_shift(1, 0), r2.write_shift(1, 0), r2.write_shift(1, 0), r2;
}
function co(e2, t2) {
  return t2 || (t2 = la(10)), t2.write_shift(1, 0), t2.write_shift(1, 0), t2.write_shift(4, 0), t2.write_shift(4, 0), t2;
}
var lo = ca;
function fo(e2) {
  var t2;
  ua(e2, 613, Fa(1)), ua(e2, 46, (t2 || (t2 = la(51)), t2.write_shift(1, 0), co(0, t2), co(0, t2), co(0, t2), co(0, t2), co(0, t2), t2.length > t2.l ? t2.slice(0, t2.l) : t2)), ua(e2, 614);
}
function ho(e2) {
  var t2, r2;
  ua(e2, 619, Fa(1)), ua(e2, 48, (t2 = { xfId: 0, name: "Normal" }, r2 || (r2 = la(52)), r2.write_shift(4, t2.xfId), r2.write_shift(2, 1), r2.write_shift(1, 0), r2.write_shift(1, 0), ja(t2.name || "", r2), r2.length > r2.l ? r2.slice(0, r2.l) : r2)), ua(e2, 620);
}
function uo(e2) {
  ua(e2, 508, function(e3, t2, r2) {
    var a2 = la(2052);
    return a2.write_shift(4, e3), ja(t2, a2), ja(r2, a2), a2.length > a2.l ? a2.slice(0, a2.l) : a2;
  }(0, "TableStyleMedium9", "PivotStyleMedium4")), ua(e2, 509);
}
function po(e2, t2) {
  var r2 = ha();
  return ua(r2, 278), function(e3, t3) {
    if (t3) {
      var r3 = 0;
      [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(e4) {
        for (var a2 = e4[0]; a2 <= e4[1]; ++a2) null != t3[a2] && ++r3;
      }), 0 != r3 && (ua(e3, 615, Fa(r3)), [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r4) {
        for (var a2 = r4[0]; a2 <= r4[1]; ++a2) null != t3[a2] && ua(e3, 44, to(a2, t3[a2]));
      }), ua(e3, 616));
    }
  }(r2, e2.SSF), function(e3) {
    ua(e3, 611, Fa(1)), ua(e3, 43, ro({ sz: 12, color: { theme: 1 }, name: "Calibri", family: 2 })), ua(e3, 612);
  }(r2), function(e3) {
    ua(e3, 603, Fa(2)), ua(e3, 45, io({ patternType: "none" })), ua(e3, 45, io({ patternType: "gray125" })), ua(e3, 604);
  }(r2), fo(r2), function(e3) {
    ua(e3, 626, Fa(1)), ua(e3, 47, oo({ numFmtId: 0 }, 65535)), ua(e3, 627);
  }(r2), function(e3, t3) {
    ua(e3, 617, Fa(t3.length)), t3.forEach(function(t4) {
      ua(e3, 47, oo(t4, 0));
    }), ua(e3, 618);
  }(r2, t2.cellXfs), ho(r2), function(e3) {
    ua(e3, 505, Fa(0)), ua(e3, 506);
  }(r2), uo(r2), ua(r2, 279), r2.end();
}
var mo = ["</a:lt1>", "</a:dk1>", "</a:lt2>", "</a:dk2>", "</a:accent1>", "</a:accent2>", "</a:accent3>", "</a:accent4>", "</a:accent5>", "</a:accent6>", "</a:hlink>", "</a:folHlink>"];
function vo(e2, t2, r2) {
  var a2;
  if (t2.themeElements = {}, !(a2 = ot(e2, "a:clrScheme"))) throw new Error("clrScheme not found in themeElements");
  if (function(e3, t3, r3) {
    t3.themeElements.clrScheme = [];
    var a3 = {};
    (e3[0].match(xt) || []).forEach(function(e4) {
      var n2 = It(e4);
      switch (n2[0]) {
        case "<a:clrScheme":
        case "</a:clrScheme>":
        case "</a:srgbClr>":
        case "</a:sysClr>":
          break;
        case "<a:srgbClr":
          a3.rgb = n2.val;
          break;
        case "<a:sysClr":
          a3.rgb = n2.lastClr;
          break;
        case "</a:dk1>":
        case "</a:lt1>":
        case "<a:dk1>":
        case "<a:lt1>":
        case "<a:dk2>":
        case "</a:dk2>":
        case "<a:lt2>":
        case "</a:lt2>":
        case "<a:accent1>":
        case "</a:accent1>":
        case "<a:accent2>":
        case "</a:accent2>":
        case "<a:accent3>":
        case "</a:accent3>":
        case "<a:accent4>":
        case "</a:accent4>":
        case "<a:accent5>":
        case "</a:accent5>":
        case "<a:accent6>":
        case "</a:accent6>":
        case "<a:hlink>":
        case "</a:hlink>":
        case "<a:folHlink>":
        case "</a:folHlink>":
          "/" === n2[0].charAt(1) ? (t3.themeElements.clrScheme[mo.indexOf(n2[0])] = a3, a3 = {}) : a3.name = n2[0].slice(3, n2[0].length - 1);
          break;
        default:
          if (r3 && r3.WTF) throw new Error("Unrecognized " + n2[0] + " in clrScheme");
      }
    });
  }(a2, t2, r2), !(a2 = ot(e2, "a:fontScheme"))) throw new Error("fontScheme not found in themeElements");
  if (!(a2 = ot(e2, "a:fmtScheme"))) throw new Error("fmtScheme not found in themeElements");
}
function go(e2, t2) {
  var r2;
  e2 && 0 !== e2.length || (e2 = bo());
  var a2 = {};
  if (!(r2 = ot(e2, "a:themeElements"))) throw new Error("themeElements not found in theme");
  return vo(r2[0], a2, t2), a2.raw = e2, a2;
}
function bo(e2, t2) {
  if (t2 && t2.themeXLSX) return t2.themeXLSX;
  if (e2 && "string" == typeof e2.raw) return e2.raw;
  var r2 = [kt];
  return r2[r2.length] = '<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">', r2[r2.length] = "<a:themeElements>", r2[r2.length] = '<a:clrScheme name="Office">', r2[r2.length] = '<a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1>', r2[r2.length] = '<a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1>', r2[r2.length] = '<a:dk2><a:srgbClr val="1F497D"/></a:dk2>', r2[r2.length] = '<a:lt2><a:srgbClr val="EEECE1"/></a:lt2>', r2[r2.length] = '<a:accent1><a:srgbClr val="4F81BD"/></a:accent1>', r2[r2.length] = '<a:accent2><a:srgbClr val="C0504D"/></a:accent2>', r2[r2.length] = '<a:accent3><a:srgbClr val="9BBB59"/></a:accent3>', r2[r2.length] = '<a:accent4><a:srgbClr val="8064A2"/></a:accent4>', r2[r2.length] = '<a:accent5><a:srgbClr val="4BACC6"/></a:accent5>', r2[r2.length] = '<a:accent6><a:srgbClr val="F79646"/></a:accent6>', r2[r2.length] = '<a:hlink><a:srgbClr val="0000FF"/></a:hlink>', r2[r2.length] = '<a:folHlink><a:srgbClr val="800080"/></a:folHlink>', r2[r2.length] = "</a:clrScheme>", r2[r2.length] = '<a:fontScheme name="Office">', r2[r2.length] = "<a:majorFont>", r2[r2.length] = '<a:latin typeface="Cambria"/>', r2[r2.length] = '<a:ea typeface=""/>', r2[r2.length] = '<a:cs typeface=""/>', r2[r2.length] = '<a:font script="Jpan" typeface="MS Pゴシック"/>', r2[r2.length] = '<a:font script="Hang" typeface="맑은 고딕"/>', r2[r2.length] = '<a:font script="Hans" typeface="宋体"/>', r2[r2.length] = '<a:font script="Hant" typeface="新細明體"/>', r2[r2.length] = '<a:font script="Arab" typeface="Times New Roman"/>', r2[r2.length] = '<a:font script="Hebr" typeface="Times New Roman"/>', r2[r2.length] = '<a:font script="Thai" typeface="Tahoma"/>', r2[r2.length] = '<a:font script="Ethi" typeface="Nyala"/>', r2[r2.length] = '<a:font script="Beng" typeface="Vrinda"/>', r2[r2.length] = '<a:font script="Gujr" typeface="Shruti"/>', r2[r2.length] = '<a:font script="Khmr" typeface="MoolBoran"/>', r2[r2.length] = '<a:font script="Knda" typeface="Tunga"/>', r2[r2.length] = '<a:font script="Guru" typeface="Raavi"/>', r2[r2.length] = '<a:font script="Cans" typeface="Euphemia"/>', r2[r2.length] = '<a:font script="Cher" typeface="Plantagenet Cherokee"/>', r2[r2.length] = '<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>', r2[r2.length] = '<a:font script="Tibt" typeface="Microsoft Himalaya"/>', r2[r2.length] = '<a:font script="Thaa" typeface="MV Boli"/>', r2[r2.length] = '<a:font script="Deva" typeface="Mangal"/>', r2[r2.length] = '<a:font script="Telu" typeface="Gautami"/>', r2[r2.length] = '<a:font script="Taml" typeface="Latha"/>', r2[r2.length] = '<a:font script="Syrc" typeface="Estrangelo Edessa"/>', r2[r2.length] = '<a:font script="Orya" typeface="Kalinga"/>', r2[r2.length] = '<a:font script="Mlym" typeface="Kartika"/>', r2[r2.length] = '<a:font script="Laoo" typeface="DokChampa"/>', r2[r2.length] = '<a:font script="Sinh" typeface="Iskoola Pota"/>', r2[r2.length] = '<a:font script="Mong" typeface="Mongolian Baiti"/>', r2[r2.length] = '<a:font script="Viet" typeface="Times New Roman"/>', r2[r2.length] = '<a:font script="Uigh" typeface="Microsoft Uighur"/>', r2[r2.length] = '<a:font script="Geor" typeface="Sylfaen"/>', r2[r2.length] = "</a:majorFont>", r2[r2.length] = "<a:minorFont>", r2[r2.length] = '<a:latin typeface="Calibri"/>', r2[r2.length] = '<a:ea typeface=""/>', r2[r2.length] = '<a:cs typeface=""/>', r2[r2.length] = '<a:font script="Jpan" typeface="MS Pゴシック"/>', r2[r2.length] = '<a:font script="Hang" typeface="맑은 고딕"/>', r2[r2.length] = '<a:font script="Hans" typeface="宋体"/>', r2[r2.length] = '<a:font script="Hant" typeface="新細明體"/>', r2[r2.length] = '<a:font script="Arab" typeface="Arial"/>', r2[r2.length] = '<a:font script="Hebr" typeface="Arial"/>', r2[r2.length] = '<a:font script="Thai" typeface="Tahoma"/>', r2[r2.length] = '<a:font script="Ethi" typeface="Nyala"/>', r2[r2.length] = '<a:font script="Beng" typeface="Vrinda"/>', r2[r2.length] = '<a:font script="Gujr" typeface="Shruti"/>', r2[r2.length] = '<a:font script="Khmr" typeface="DaunPenh"/>', r2[r2.length] = '<a:font script="Knda" typeface="Tunga"/>', r2[r2.length] = '<a:font script="Guru" typeface="Raavi"/>', r2[r2.length] = '<a:font script="Cans" typeface="Euphemia"/>', r2[r2.length] = '<a:font script="Cher" typeface="Plantagenet Cherokee"/>', r2[r2.length] = '<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>', r2[r2.length] = '<a:font script="Tibt" typeface="Microsoft Himalaya"/>', r2[r2.length] = '<a:font script="Thaa" typeface="MV Boli"/>', r2[r2.length] = '<a:font script="Deva" typeface="Mangal"/>', r2[r2.length] = '<a:font script="Telu" typeface="Gautami"/>', r2[r2.length] = '<a:font script="Taml" typeface="Latha"/>', r2[r2.length] = '<a:font script="Syrc" typeface="Estrangelo Edessa"/>', r2[r2.length] = '<a:font script="Orya" typeface="Kalinga"/>', r2[r2.length] = '<a:font script="Mlym" typeface="Kartika"/>', r2[r2.length] = '<a:font script="Laoo" typeface="DokChampa"/>', r2[r2.length] = '<a:font script="Sinh" typeface="Iskoola Pota"/>', r2[r2.length] = '<a:font script="Mong" typeface="Mongolian Baiti"/>', r2[r2.length] = '<a:font script="Viet" typeface="Arial"/>', r2[r2.length] = '<a:font script="Uigh" typeface="Microsoft Uighur"/>', r2[r2.length] = '<a:font script="Geor" typeface="Sylfaen"/>', r2[r2.length] = "</a:minorFont>", r2[r2.length] = "</a:fontScheme>", r2[r2.length] = '<a:fmtScheme name="Office">', r2[r2.length] = "<a:fillStyleLst>", r2[r2.length] = '<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>', r2[r2.length] = '<a:gradFill rotWithShape="1">', r2[r2.length] = "<a:gsLst>", r2[r2.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="50000"/><a:satMod val="300000"/></a:schemeClr></a:gs>', r2[r2.length] = '<a:gs pos="35000"><a:schemeClr val="phClr"><a:tint val="37000"/><a:satMod val="300000"/></a:schemeClr></a:gs>', r2[r2.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="15000"/><a:satMod val="350000"/></a:schemeClr></a:gs>', r2[r2.length] = "</a:gsLst>", r2[r2.length] = '<a:lin ang="16200000" scaled="1"/>', r2[r2.length] = "</a:gradFill>", r2[r2.length] = '<a:gradFill rotWithShape="1">', r2[r2.length] = "<a:gsLst>", r2[r2.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="100000"/><a:shade val="100000"/><a:satMod val="130000"/></a:schemeClr></a:gs>', r2[r2.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="50000"/><a:shade val="100000"/><a:satMod val="350000"/></a:schemeClr></a:gs>', r2[r2.length] = "</a:gsLst>", r2[r2.length] = '<a:lin ang="16200000" scaled="0"/>', r2[r2.length] = "</a:gradFill>", r2[r2.length] = "</a:fillStyleLst>", r2[r2.length] = "<a:lnStyleLst>", r2[r2.length] = '<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"><a:shade val="95000"/><a:satMod val="105000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln>', r2[r2.length] = '<a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln>', r2[r2.length] = '<a:ln w="38100" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln>', r2[r2.length] = "</a:lnStyleLst>", r2[r2.length] = "<a:effectStyleLst>", r2[r2.length] = "<a:effectStyle>", r2[r2.length] = "<a:effectLst>", r2[r2.length] = '<a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="38000"/></a:srgbClr></a:outerShdw>', r2[r2.length] = "</a:effectLst>", r2[r2.length] = "</a:effectStyle>", r2[r2.length] = "<a:effectStyle>", r2[r2.length] = "<a:effectLst>", r2[r2.length] = '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw>', r2[r2.length] = "</a:effectLst>", r2[r2.length] = "</a:effectStyle>", r2[r2.length] = "<a:effectStyle>", r2[r2.length] = "<a:effectLst>", r2[r2.length] = '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw>', r2[r2.length] = "</a:effectLst>", r2[r2.length] = '<a:scene3d><a:camera prst="orthographicFront"><a:rot lat="0" lon="0" rev="0"/></a:camera><a:lightRig rig="threePt" dir="t"><a:rot lat="0" lon="0" rev="1200000"/></a:lightRig></a:scene3d>', r2[r2.length] = '<a:sp3d><a:bevelT w="63500" h="25400"/></a:sp3d>', r2[r2.length] = "</a:effectStyle>", r2[r2.length] = "</a:effectStyleLst>", r2[r2.length] = "<a:bgFillStyleLst>", r2[r2.length] = '<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>', r2[r2.length] = '<a:gradFill rotWithShape="1">', r2[r2.length] = "<a:gsLst>", r2[r2.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="40000"/><a:satMod val="350000"/></a:schemeClr></a:gs>', r2[r2.length] = '<a:gs pos="40000"><a:schemeClr val="phClr"><a:tint val="45000"/><a:shade val="99000"/><a:satMod val="350000"/></a:schemeClr></a:gs>', r2[r2.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="20000"/><a:satMod val="255000"/></a:schemeClr></a:gs>', r2[r2.length] = "</a:gsLst>", r2[r2.length] = '<a:path path="circle"><a:fillToRect l="50000" t="-80000" r="50000" b="180000"/></a:path>', r2[r2.length] = "</a:gradFill>", r2[r2.length] = '<a:gradFill rotWithShape="1">', r2[r2.length] = "<a:gsLst>", r2[r2.length] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="80000"/><a:satMod val="300000"/></a:schemeClr></a:gs>', r2[r2.length] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="30000"/><a:satMod val="200000"/></a:schemeClr></a:gs>', r2[r2.length] = "</a:gsLst>", r2[r2.length] = '<a:path path="circle"><a:fillToRect l="50000" t="50000" r="50000" b="50000"/></a:path>', r2[r2.length] = "</a:gradFill>", r2[r2.length] = "</a:bgFillStyleLst>", r2[r2.length] = "</a:fmtScheme>", r2[r2.length] = "</a:themeElements>", r2[r2.length] = "<a:objectDefaults>", r2[r2.length] = "<a:spDef>", r2[r2.length] = '<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx="1"><a:schemeClr val="accent1"/></a:lnRef><a:fillRef idx="3"><a:schemeClr val="accent1"/></a:fillRef><a:effectRef idx="2"><a:schemeClr val="accent1"/></a:effectRef><a:fontRef idx="minor"><a:schemeClr val="lt1"/></a:fontRef></a:style>', r2[r2.length] = "</a:spDef>", r2[r2.length] = "<a:lnDef>", r2[r2.length] = '<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx="2"><a:schemeClr val="accent1"/></a:lnRef><a:fillRef idx="0"><a:schemeClr val="accent1"/></a:fillRef><a:effectRef idx="1"><a:schemeClr val="accent1"/></a:effectRef><a:fontRef idx="minor"><a:schemeClr val="tx1"/></a:fontRef></a:style>', r2[r2.length] = "</a:lnDef>", r2[r2.length] = "</a:objectDefaults>", r2[r2.length] = "<a:extraClrSchemeLst/>", r2[r2.length] = "</a:theme>", r2.join("");
}
function wo(e2) {
  var t2 = {};
  switch (t2.xclrType = e2.read_shift(2), t2.nTintShade = e2.read_shift(2), t2.xclrType) {
    case 0:
    case 4:
      e2.l += 4;
      break;
    case 1:
      t2.xclrValue = function(e3, t3) {
        return ca(e3, t3);
      }(e2, 4);
      break;
    case 2:
      t2.xclrValue = ys(e2);
      break;
    case 3:
      t2.xclrValue = function(e3) {
        return e3.read_shift(4);
      }(e2);
  }
  return e2.l += 8, t2;
}
function To(e2) {
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2) - 4, a2 = [t2];
  switch (t2) {
    case 4:
    case 5:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 13:
      a2[1] = wo(e2);
      break;
    case 6:
      a2[1] = function(e3, t3) {
        return ca(e3, t3);
      }(e2, r2);
      break;
    case 14:
    case 15:
      a2[1] = e2.read_shift(1 === r2 ? 1 : 2);
      break;
    default:
      throw new Error("Unrecognized ExtProp type: " + t2 + " " + r2);
  }
  return a2;
}
function yo(e2, t2) {
  t2.forEach(function(e3) {
    e3[0];
  });
}
function Eo() {
  var e2, t2, r2 = ha();
  return ua(r2, 332), ua(r2, 334, Fa(1)), ua(r2, 335, ((t2 = la(12 + 2 * (e2 = { name: "XLDAPR", version: 12e4, flags: 3496657072 }).name.length)).write_shift(4, e2.flags), t2.write_shift(4, e2.version), Pa(e2.name, t2), t2.slice(0, t2.l))), ua(r2, 336), ua(r2, 339, function(e3, t3) {
    var r3 = la(8 + 2 * t3.length);
    return r3.write_shift(4, e3), Pa(t3, r3), r3.slice(0, r3.l);
  }(1, "XLDAPR")), ua(r2, 52), ua(r2, 35, Fa(514)), ua(r2, 4096, Fa(0)), ua(r2, 4097, is(1)), ua(r2, 36), ua(r2, 53), ua(r2, 340), ua(r2, 337, function(e3) {
    var t3 = la(8);
    return t3.write_shift(4, e3), t3.write_shift(4, 1), t3;
  }(1)), ua(r2, 51, function(e3) {
    var t3 = la(4 + 8 * e3.length);
    t3.write_shift(4, e3.length);
    for (var r3 = 0; r3 < e3.length; ++r3) t3.write_shift(4, e3[r3][0]), t3.write_shift(4, e3[r3][1]);
    return t3;
  }([[1, 0]])), ua(r2, 338), ua(r2, 333), r2.end();
}
function ko(e2, t2, r2) {
  var a2 = [21600, 21600], n2 = ["m0,0l0", a2[1], a2[0], a2[1], a2[0], "0xe"].join(","), s2 = [rr("xml", null, { "xmlns:v": Sr, "xmlns:o": Tr, "xmlns:x": yr, "xmlns:mv": _r }).replace(/\/>/, ">"), rr("o:shapelayout", rr("o:idmap", null, { "v:ext": "edit", data: e2 }), { "v:ext": "edit" })], i2 = 65536 * e2, o2 = t2 || [];
  return o2.length > 0 && s2.push(rr("v:shapetype", [rr("v:stroke", null, { joinstyle: "miter" }), rr("v:path", null, { gradientshapeok: "t", "o:connecttype": "rect" })].join(""), { id: "_x0000_t202", coordsize: a2.join(","), "o:spt": 202, path: n2 })), o2.forEach(function(e3) {
    ++i2, s2.push(function(e4, t3) {
      var r3 = ya(e4[0]), a3 = { color2: "#BEFF82", type: "gradient" };
      "gradient" == a3.type && (a3.angle = "-180");
      var n3 = "gradient" == a3.type ? rr("o:fill", null, { type: "gradientUnscaled", "v:ext": "view" }) : null, s3 = rr("v:fill", n3, a3), i3 = { on: "t", obscured: "t" };
      return ["<v:shape" + tr({ id: "_x0000_s" + t3, type: "#_x0000_t202", style: "position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10" + (e4[1].hidden ? ";visibility:hidden" : ""), fillcolor: "#ECFAD4", strokecolor: "#edeaa1" }) + ">", s3, rr("v:shadow", null, i3), rr("v:path", null, { "o:connecttype": "none" }), '<v:textbox><div style="text-align:left"></div></v:textbox>', '<x:ClientData ObjectType="Note">', "<x:MoveWithCells/>", "<x:SizeWithCells/>", er("x:Anchor", [r3.c + 1, 0, r3.r + 1, 0, r3.c + 3, 20, r3.r + 5, 20].join(",")), er("x:AutoFill", "False"), er("x:Row", String(r3.r)), er("x:Column", String(r3.c)), e4[1].hidden ? "" : "<x:Visible/>", "</x:ClientData>", "</v:shape>"].join("");
    }(e3, i2));
  }), s2.push("</xml>"), s2.join("");
}
function _o(e2, t2, r2, a2) {
  var n2, s2 = null != e2["!data"];
  t2.forEach(function(t3) {
    var i2 = ya(t3.ref);
    if (!(i2.r < 0 || i2.c < 0)) {
      if (s2 ? (e2["!data"][i2.r] || (e2["!data"][i2.r] = []), n2 = e2["!data"][i2.r][i2.c]) : n2 = e2[t3.ref], !n2) {
        n2 = { t: "z" }, s2 ? e2["!data"][i2.r][i2.c] = n2 : e2[t3.ref] = n2;
        var o2 = Aa(e2["!ref"] || "BDWGO1000001:A1");
        o2.s.r > i2.r && (o2.s.r = i2.r), o2.e.r < i2.r && (o2.e.r = i2.r), o2.s.c > i2.c && (o2.s.c = i2.c), o2.e.c < i2.c && (o2.e.c = i2.c);
        var c2 = _a(o2);
        e2["!ref"] = c2;
      }
      n2.c || (n2.c = []);
      var l2 = { a: t3.author, t: t3.t, r: t3.r, T: r2 };
      t3.h && (l2.h = t3.h);
      for (var f2 = n2.c.length - 1; f2 >= 0; --f2) {
        if (!r2 && n2.c[f2].T) return;
        r2 && !n2.c[f2].T && n2.c.splice(f2, 1);
      }
      if (r2 && a2) {
        for (f2 = 0; f2 < a2.length; ++f2) if (l2.a == a2[f2].id) {
          l2.a = a2[f2].name || l2.a;
          break;
        }
      }
      n2.c.push(l2);
    }
  });
}
function So(e2) {
  var t2 = [kt, rr("comments", null, { xmlns: wr[0] })], r2 = [];
  return t2.push("<authors>"), e2.forEach(function(e3) {
    e3[1].forEach(function(e4) {
      var a2 = Lt(e4.a);
      -1 == r2.indexOf(a2) && (r2.push(a2), t2.push("<author>" + a2 + "</author>")), e4.T && e4.ID && -1 == r2.indexOf("tc=" + e4.ID) && (r2.push("tc=" + e4.ID), t2.push("<author>tc=" + e4.ID + "</author>"));
    });
  }), 0 == r2.length && (r2.push("SheetJ5"), t2.push("<author>SheetJ5</author>")), t2.push("</authors>"), t2.push("<commentList>"), e2.forEach(function(e3) {
    var a2 = 0, n2 = [], s2 = 0;
    if (e3[1][0] && e3[1][0].T && e3[1][0].ID && (a2 = r2.indexOf("tc=" + e3[1][0].ID)), e3[1].forEach(function(e4) {
      e4.a && (a2 = r2.indexOf(Lt(e4.a))), e4.T && ++s2, n2.push(null == e4.t ? "" : Lt(e4.t));
    }), 0 === s2) e3[1].forEach(function(a3) {
      t2.push('<comment ref="' + e3[0] + '" authorId="' + r2.indexOf(Lt(a3.a)) + '"><text>'), t2.push(er("t", null == a3.t ? "" : Lt(a3.t))), t2.push("</text></comment>");
    });
    else {
      e3[1][0] && e3[1][0].T && e3[1][0].ID && (a2 = r2.indexOf("tc=" + e3[1][0].ID)), t2.push('<comment ref="' + e3[0] + '" authorId="' + a2 + '"><text>');
      for (var i2 = "Comment:\n    " + n2[0] + "\n", o2 = 1; o2 < n2.length; ++o2) i2 += "Reply:\n    " + n2[o2] + "\n";
      t2.push(er("t", Lt(i2))), t2.push("</text></comment>");
    }
  }), t2.push("</commentList>"), t2.length > 2 && (t2[t2.length] = "</comments>", t2[1] = t2[1].replace("/>", ">")), t2.join("");
}
function xo(e2, t2, r2) {
  var a2 = [kt, rr("ThreadedComments", null, { xmlns: hr }).replace(/[\/]>/, ">")];
  return e2.forEach(function(e3) {
    var n2 = "";
    (e3[1] || []).forEach(function(s2, i2) {
      if (s2.T) {
        s2.a && -1 == t2.indexOf(s2.a) && t2.push(s2.a);
        var o2 = { ref: e3[0], id: "{54EE7951-7262-4200-6969-" + ("000000000000" + r2.tcid++).slice(-12) + "}" };
        0 == i2 ? n2 = o2.id : o2.parentId = n2, s2.ID = o2.id, s2.a && (o2.personId = "{54EE7950-7262-4200-6969-" + ("000000000000" + t2.indexOf(s2.a)).slice(-12) + "}"), a2.push(rr("threadedComment", er("text", s2.t || ""), o2));
      } else delete s2.ID;
    });
  }), a2.push("</ThreadedComments>"), a2.join("");
}
function Ao(e2) {
  var t2 = [kt, rr("personList", null, { xmlns: hr, "xmlns:x": wr[0] }).replace(/[\/]>/, ">")];
  return e2.forEach(function(e3, r2) {
    t2.push(rr("person", null, { displayName: e3, id: "{54EE7950-7262-4200-6969-" + ("000000000000" + r2).slice(-12) + "}", userId: e3, providerId: "None" }));
  }), t2.push("</personList>"), t2.join("");
}
var Co = Da;
function Io(e2) {
  return Pa(e2.slice(0, 54));
}
function Oo(e2) {
  var t2 = ha(), r2 = [];
  return ua(t2, 628), ua(t2, 630), e2.forEach(function(e3) {
    e3[1].forEach(function(e4) {
      r2.indexOf(e4.a) > -1 || (r2.push(e4.a.slice(0, 54)), ua(t2, 632, Io(e4.a)), e4.T && e4.ID && -1 == r2.indexOf("tc=" + e4.ID) && (r2.push("tc=" + e4.ID), ua(t2, 632, Io("tc=" + e4.ID))));
    });
  }), ua(t2, 631), ua(t2, 633), e2.forEach(function(e3) {
    e3[1].forEach(function(a2) {
      var n2 = -1;
      a2.ID && (n2 = r2.indexOf("tc=" + a2.ID)), -1 == n2 && e3[1][0].T && e3[1][0].ID && (n2 = r2.indexOf("tc=" + e3[1][0].ID)), -1 == n2 && (n2 = r2.indexOf(a2.a)), a2.iauthor = n2;
      var s2 = { s: ya(e3[0]), e: ya(e3[0]) };
      ua(t2, 635, function(e4, t3) {
        return null == t3 && (t3 = la(36)), t3.write_shift(4, e4[1].iauthor), tn(e4[0], t3), t3.write_shift(4, 0), t3.write_shift(4, 0), t3.write_shift(4, 0), t3.write_shift(4, 0), t3;
      }([s2, a2])), a2.t && a2.t.length > 0 && ua(t2, 637, Ba(a2)), ua(t2, 636), delete a2.iauthor;
    });
  }), ua(t2, 634), ua(t2, 629), t2.end();
}
var Ro = ["xlsb", "xlsm", "xlam", "biff8", "xla"];
var No = /* @__PURE__ */ function() {
  var e2 = /(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g, t2 = { r: 0, c: 0 };
  function r2(e3, r3, a2, n2) {
    var s2 = false, i2 = false;
    0 == a2.length ? i2 = true : "[" == a2.charAt(0) && (i2 = true, a2 = a2.slice(1, -1)), 0 == n2.length ? s2 = true : "[" == n2.charAt(0) && (s2 = true, n2 = n2.slice(1, -1));
    var o2 = a2.length > 0 ? 0 | parseInt(a2, 10) : 0, c2 = n2.length > 0 ? 0 | parseInt(n2, 10) : 0;
    return s2 ? c2 += t2.c : --c2, i2 ? o2 += t2.r : --o2, r3 + (s2 ? "" : "$") + Ta(c2) + (i2 ? "" : "$") + ba(o2);
  }
  return function(a2, n2) {
    return t2 = n2, a2.replace(e2, r2);
  };
}(), Fo = /(^|[^._A-Z0-9])(\$?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])(\$?)(\d{1,7})(?![_.\(A-Za-z0-9])/g;
try {
  Fo = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g;
} catch (e2) {
}
var Do = /* @__PURE__ */ function() {
  return function(e2, t2) {
    return e2.replace(Fo, function(e3, r2, a2, n2, s2, i2) {
      var o2 = wa(n2) - (a2 ? 0 : t2.c), c2 = ga(i2) - (s2 ? 0 : t2.r);
      return r2 + "R" + ("$" == s2 ? c2 + 1 : 0 == c2 ? "" : "[" + c2 + "]") + "C" + ("$" == a2 ? o2 + 1 : 0 == o2 ? "" : "[" + o2 + "]");
    });
  };
}();
function Po(e2, t2) {
  return e2.replace(Fo, function(e3, r2, a2, n2, s2, i2) {
    return r2 + ("$" == a2 ? a2 + n2 : Ta(wa(n2) + t2.c)) + ("$" == s2 ? s2 + i2 : ba(ga(i2) + t2.r));
  });
}
function Mo(e2, t2, r2) {
  var a2 = ka(t2).s, n2 = ya(r2);
  return Po(e2, { r: n2.r - a2.r, c: n2.c - a2.c });
}
function Lo(e2) {
  return e2.replace(/_xlfn\./g, "");
}
function Uo(e2) {
  e2.l += 1;
}
function Bo(e2, t2) {
  var r2 = e2.read_shift(2);
  return [16383 & r2, r2 >> 14 & 1, r2 >> 15 & 1];
}
function Wo(e2, t2, r2) {
  var a2 = 2;
  if (r2) {
    if (r2.biff >= 2 && r2.biff <= 5) return zo(e2);
    12 == r2.biff && (a2 = 4);
  }
  var n2 = e2.read_shift(a2), s2 = e2.read_shift(a2), i2 = Bo(e2), o2 = Bo(e2);
  return { s: { r: n2, c: i2[0], cRel: i2[1], rRel: i2[2] }, e: { r: s2, c: o2[0], cRel: o2[1], rRel: o2[2] } };
}
function zo(e2) {
  var t2 = Bo(e2), r2 = Bo(e2), a2 = e2.read_shift(1), n2 = e2.read_shift(1);
  return { s: { r: t2[0], c: a2, cRel: t2[1], rRel: t2[2] }, e: { r: r2[0], c: n2, cRel: r2[1], rRel: r2[2] } };
}
function Ho(e2, t2, r2) {
  if (r2 && r2.biff >= 2 && r2.biff <= 5) return function(e3) {
    var t3 = Bo(e3), r3 = e3.read_shift(1);
    return { r: t3[0], c: r3, cRel: t3[1], rRel: t3[2] };
  }(e2);
  var a2 = e2.read_shift(r2 && 12 == r2.biff ? 4 : 2), n2 = Bo(e2);
  return { r: a2, c: n2[0], cRel: n2[1], rRel: n2[2] };
}
function Vo(e2) {
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2);
  return { r: t2, c: 255 & r2, fQuoted: !!(16384 & r2), cRel: r2 >> 15, rRel: r2 >> 15 };
}
function $o(e2) {
  var t2 = 1 & e2[e2.l + 1];
  return e2.l += 4, [t2, 1];
}
function Go(e2) {
  return [e2.read_shift(1), e2.read_shift(1)];
}
function Xo(e2, t2) {
  var r2 = [e2.read_shift(1)];
  if (12 == t2) switch (r2[0]) {
    case 2:
      r2[0] = 4;
      break;
    case 4:
      r2[0] = 16;
      break;
    case 0:
      r2[0] = 1;
      break;
    case 1:
      r2[0] = 2;
  }
  switch (r2[0]) {
    case 4:
      r2[1] = as(e2, 1) ? "TRUE" : "FALSE", 12 != t2 && (e2.l += 7);
      break;
    case 37:
    case 16:
      r2[1] = mn[e2[e2.l]], e2.l += 12 == t2 ? 4 : 8;
      break;
    case 0:
      e2.l += 8;
      break;
    case 1:
      r2[1] = rn(e2);
      break;
    case 2:
      r2[1] = ms(e2, 0, { biff: t2 > 0 && t2 < 8 ? 2 : t2 });
      break;
    default:
      throw new Error("Bad SerAr: " + r2[0]);
  }
  return r2;
}
function jo(e2, t2, r2) {
  for (var a2 = e2.read_shift(12 == r2.biff ? 4 : 2), n2 = [], s2 = 0; s2 != a2; ++s2) n2.push((12 == r2.biff ? en : As)(e2));
  return n2;
}
function Ko(e2, t2, r2) {
  var a2 = 0, n2 = 0;
  12 == r2.biff ? (a2 = e2.read_shift(4), n2 = e2.read_shift(4)) : (n2 = 1 + e2.read_shift(1), a2 = 1 + e2.read_shift(2)), r2.biff >= 2 && r2.biff < 8 && (--a2, 0 == --n2 && (n2 = 256));
  for (var s2 = 0, i2 = []; s2 != a2 && (i2[s2] = []); ++s2) for (var o2 = 0; o2 != n2; ++o2) i2[s2][o2] = Xo(e2, r2.biff);
  return i2;
}
function Yo(e2, t2, r2) {
  return e2.l += 2, [Vo(e2)];
}
function Zo(e2) {
  return e2.l += 6, [];
}
function Jo(e2) {
  return e2.l += 2, [ss(e2), 1 & e2.read_shift(2)];
}
var qo = ["Data", "All", "Headers", "??", "?Data2", "??", "?DataHeaders", "??", "Totals", "??", "??", "??", "?DataTotals", "??", "??", "??", "?Current"];
var Qo = { 1: { n: "PtgExp", f: function(e2, t2, r2) {
  return e2.l++, r2 && 12 == r2.biff ? [e2.read_shift(4, "i"), 0] : [e2.read_shift(2), e2.read_shift(r2 && 2 == r2.biff ? 1 : 2)];
} }, 2: { n: "PtgTbl", f: ca }, 3: { n: "PtgAdd", f: Uo }, 4: { n: "PtgSub", f: Uo }, 5: { n: "PtgMul", f: Uo }, 6: { n: "PtgDiv", f: Uo }, 7: { n: "PtgPower", f: Uo }, 8: { n: "PtgConcat", f: Uo }, 9: { n: "PtgLt", f: Uo }, 10: { n: "PtgLe", f: Uo }, 11: { n: "PtgEq", f: Uo }, 12: { n: "PtgGe", f: Uo }, 13: { n: "PtgGt", f: Uo }, 14: { n: "PtgNe", f: Uo }, 15: { n: "PtgIsect", f: Uo }, 16: { n: "PtgUnion", f: Uo }, 17: { n: "PtgRange", f: Uo }, 18: { n: "PtgUplus", f: Uo }, 19: { n: "PtgUminus", f: Uo }, 20: { n: "PtgPercent", f: Uo }, 21: { n: "PtgParen", f: Uo }, 22: { n: "PtgMissArg", f: Uo }, 23: { n: "PtgStr", f: function(e2, t2, r2) {
  return e2.l++, fs(e2, 0, r2);
} }, 26: { n: "PtgSheet", f: function(e2, t2, r2) {
  return e2.l += 5, e2.l += 2, e2.l += 2 == r2.biff ? 1 : 4, ["PTGSHEET"];
} }, 27: { n: "PtgEndSheet", f: function(e2, t2, r2) {
  return e2.l += 2 == r2.biff ? 4 : 5, ["PTGENDSHEET"];
} }, 28: { n: "PtgErr", f: function(e2) {
  return e2.l++, mn[e2.read_shift(1)];
} }, 29: { n: "PtgBool", f: function(e2) {
  return e2.l++, 0 !== e2.read_shift(1);
} }, 30: { n: "PtgInt", f: function(e2) {
  return e2.l++, e2.read_shift(2);
} }, 31: { n: "PtgNum", f: function(e2) {
  return e2.l++, rn(e2);
} }, 32: { n: "PtgArray", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l++]) >> 5;
  return e2.l += 2 == r2.biff ? 6 : 12 == r2.biff ? 14 : 7, [a2];
} }, 33: { n: "PtgFunc", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l]) >> 5;
  e2.l += 1;
  var n2 = e2.read_shift(r2 && r2.biff <= 3 ? 1 : 2);
  return [_c[n2], kc[n2], a2];
} }, 34: { n: "PtgFuncVar", f: function(e2, t2, r2) {
  var a2 = e2[e2.l++], n2 = e2.read_shift(1), s2 = r2 && r2.biff <= 3 ? [88 == a2 ? -1 : 0, e2.read_shift(1)] : function(e3) {
    return [e3[e3.l + 1] >> 7, 32767 & e3.read_shift(2)];
  }(e2);
  return [n2, (0 === s2[0] ? kc : Ec)[s2[1]]];
} }, 35: { n: "PtgName", f: function(e2, t2, r2) {
  var a2 = e2.read_shift(1) >>> 5 & 3, n2 = !r2 || r2.biff >= 8 ? 4 : 2, s2 = e2.read_shift(n2);
  switch (r2.biff) {
    case 2:
      e2.l += 5;
      break;
    case 3:
    case 4:
      e2.l += 8;
      break;
    case 5:
      e2.l += 12;
  }
  return [a2, 0, s2];
} }, 36: { n: "PtgRef", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l]) >> 5;
  return e2.l += 1, [a2, Ho(e2, 0, r2)];
} }, 37: { n: "PtgArea", f: function(e2, t2, r2) {
  return [(96 & e2[e2.l++]) >> 5, Wo(e2, r2.biff >= 2 && r2.biff, r2)];
} }, 38: { n: "PtgMemArea", f: function(e2, t2, r2) {
  var a2 = e2.read_shift(1) >>> 5 & 3;
  return e2.l += r2 && 2 == r2.biff ? 3 : 4, [a2, e2.read_shift(r2 && 2 == r2.biff ? 1 : 2)];
} }, 39: { n: "PtgMemErr", f: ca }, 40: { n: "PtgMemNoMem", f: ca }, 41: { n: "PtgMemFunc", f: function(e2, t2, r2) {
  return [e2.read_shift(1) >>> 5 & 3, e2.read_shift(r2 && 2 == r2.biff ? 1 : 2)];
} }, 42: { n: "PtgRefErr", f: function(e2, t2, r2) {
  var a2 = e2.read_shift(1) >>> 5 & 3;
  return e2.l += 4, r2.biff < 8 && e2.l--, 12 == r2.biff && (e2.l += 2), [a2];
} }, 43: { n: "PtgAreaErr", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l++]) >> 5;
  return e2.l += r2 && r2.biff > 8 ? 12 : r2.biff < 8 ? 6 : 8, [a2];
} }, 44: { n: "PtgRefN", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l]) >> 5;
  e2.l += 1;
  var n2 = function(e3, t3, r3) {
    var a3 = r3 && r3.biff ? r3.biff : 8;
    if (a3 >= 2 && a3 <= 5) return function(e4) {
      var t4 = e4.read_shift(2), r4 = e4.read_shift(1), a4 = (32768 & t4) >> 15, n4 = (16384 & t4) >> 14;
      return t4 &= 16383, 1 == a4 && t4 >= 8192 && (t4 -= 16384), 1 == n4 && r4 >= 128 && (r4 -= 256), { r: t4, c: r4, cRel: n4, rRel: a4 };
    }(e3);
    var n3 = e3.read_shift(a3 >= 12 ? 4 : 2), s2 = e3.read_shift(2), i2 = (16384 & s2) >> 14, o2 = (32768 & s2) >> 15;
    if (s2 &= 16383, 1 == o2) for (; n3 > 524287; ) n3 -= 1048576;
    if (1 == i2) for (; s2 > 8191; ) s2 -= 16384;
    return { r: n3, c: s2, cRel: i2, rRel: o2 };
  }(e2, 0, r2);
  return [a2, n2];
} }, 45: { n: "PtgAreaN", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l++]) >> 5, n2 = function(e3, t3, r3) {
    if (r3.biff < 8) return zo(e3);
    var a3 = e3.read_shift(12 == r3.biff ? 4 : 2), n3 = e3.read_shift(12 == r3.biff ? 4 : 2), s2 = Bo(e3), i2 = Bo(e3);
    return { s: { r: a3, c: s2[0], cRel: s2[1], rRel: s2[2] }, e: { r: n3, c: i2[0], cRel: i2[1], rRel: i2[2] } };
  }(e2, 0, r2);
  return [a2, n2];
} }, 46: { n: "PtgMemAreaN", f: function(e2) {
  return [e2.read_shift(1) >>> 5 & 3, e2.read_shift(2)];
} }, 47: { n: "PtgMemNoMemN", f: function(e2) {
  return [e2.read_shift(1) >>> 5 & 3, e2.read_shift(2)];
} }, 57: { n: "PtgNameX", f: function(e2, t2, r2) {
  return 5 == r2.biff ? function(e3) {
    var t3 = e3.read_shift(1) >>> 5 & 3, r3 = e3.read_shift(2, "i");
    e3.l += 8;
    var a2 = e3.read_shift(2);
    return e3.l += 12, [t3, r3, a2];
  }(e2) : [e2.read_shift(1) >>> 5 & 3, e2.read_shift(2), e2.read_shift(4)];
} }, 58: { n: "PtgRef3d", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l]) >> 5;
  e2.l += 1;
  var n2 = e2.read_shift(2);
  return r2 && 5 == r2.biff && (e2.l += 12), [a2, n2, Ho(e2, 0, r2)];
} }, 59: { n: "PtgArea3d", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l++]) >> 5, n2 = e2.read_shift(2, "i");
  if (r2) switch (r2.biff) {
    case 5:
      e2.l += 12;
      break;
    case 12:
      0;
  }
  return [a2, n2, Wo(e2, 0, r2)];
} }, 60: { n: "PtgRefErr3d", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l++]) >> 5, n2 = e2.read_shift(2), s2 = 4;
  if (r2) switch (r2.biff) {
    case 5:
      s2 = 15;
      break;
    case 12:
      s2 = 6;
  }
  return e2.l += s2, [a2, n2];
} }, 61: { n: "PtgAreaErr3d", f: function(e2, t2, r2) {
  var a2 = (96 & e2[e2.l++]) >> 5, n2 = e2.read_shift(2), s2 = 8;
  if (r2) switch (r2.biff) {
    case 5:
      e2.l += 12, s2 = 6;
      break;
    case 12:
      s2 = 12;
  }
  return e2.l += s2, [a2, n2];
} }, 255: {} }, ec = { 64: 32, 96: 32, 65: 33, 97: 33, 66: 34, 98: 34, 67: 35, 99: 35, 68: 36, 100: 36, 69: 37, 101: 37, 70: 38, 102: 38, 71: 39, 103: 39, 72: 40, 104: 40, 73: 41, 105: 41, 74: 42, 106: 42, 75: 43, 107: 43, 76: 44, 108: 44, 77: 45, 109: 45, 78: 46, 110: 46, 79: 47, 111: 47, 88: 34, 120: 34, 89: 57, 121: 57, 90: 58, 122: 58, 91: 59, 123: 59, 92: 60, 124: 60, 93: 61, 125: 61 }, tc = { 1: { n: "PtgElfLel", f: Jo }, 2: { n: "PtgElfRw", f: Yo }, 3: { n: "PtgElfCol", f: Yo }, 6: { n: "PtgElfRwV", f: Yo }, 7: { n: "PtgElfColV", f: Yo }, 10: { n: "PtgElfRadical", f: Yo }, 11: { n: "PtgElfRadicalS", f: Zo }, 13: { n: "PtgElfColS", f: Zo }, 15: { n: "PtgElfColSV", f: Zo }, 16: { n: "PtgElfRadicalLel", f: Jo }, 25: { n: "PtgList", f: function(e2) {
  e2.l += 2;
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2), a2 = e2.read_shift(4), n2 = e2.read_shift(2), s2 = e2.read_shift(2);
  return { ixti: t2, coltype: 3 & r2, rt: qo[r2 >> 2 & 31], idx: a2, c: n2, C: s2 };
} }, 29: { n: "PtgSxName", f: function(e2) {
  return e2.l += 2, [e2.read_shift(4)];
} }, 255: {} }, rc = { 0: { n: "PtgAttrNoop", f: function(e2) {
  return e2.l += 4, [0, 0];
} }, 1: { n: "PtgAttrSemi", f: function(e2, t2, r2) {
  var a2 = 255 & e2[e2.l + 1] ? 1 : 0;
  return e2.l += r2 && 2 == r2.biff ? 3 : 4, [a2];
} }, 2: { n: "PtgAttrIf", f: function(e2, t2, r2) {
  var a2 = 255 & e2[e2.l + 1] ? 1 : 0;
  return e2.l += 2, [a2, e2.read_shift(r2 && 2 == r2.biff ? 1 : 2)];
} }, 4: { n: "PtgAttrChoose", f: function(e2, t2, r2) {
  e2.l += 2;
  for (var a2 = e2.read_shift(r2 && 2 == r2.biff ? 1 : 2), n2 = [], s2 = 0; s2 <= a2; ++s2) n2.push(e2.read_shift(r2 && 2 == r2.biff ? 1 : 2));
  return n2;
} }, 8: { n: "PtgAttrGoto", f: function(e2, t2, r2) {
  var a2 = 255 & e2[e2.l + 1] ? 1 : 0;
  return e2.l += 2, [a2, e2.read_shift(r2 && 2 == r2.biff ? 1 : 2)];
} }, 16: { n: "PtgAttrSum", f: function(e2, t2, r2) {
  e2.l += r2 && 2 == r2.biff ? 3 : 4;
} }, 32: { n: "PtgAttrBaxcel", f: $o }, 33: { n: "PtgAttrBaxcel", f: $o }, 64: { n: "PtgAttrSpace", f: function(e2) {
  return e2.read_shift(2), Go(e2);
} }, 65: { n: "PtgAttrSpaceSemi", f: function(e2) {
  return e2.read_shift(2), Go(e2);
} }, 128: { n: "PtgAttrIfError", f: function(e2) {
  var t2 = 255 & e2[e2.l + 1] ? 1 : 0;
  return e2.l += 2, [t2, e2.read_shift(2)];
} }, 255: {} };
function ac(e2, t2, r2, a2) {
  if (a2.biff < 8) return ca(e2, t2);
  for (var n2 = e2.l + t2, s2 = [], i2 = 0; i2 !== r2.length; ++i2) switch (r2[i2][0]) {
    case "PtgArray":
      r2[i2][1] = Ko(e2, 0, a2), s2.push(r2[i2][1]);
      break;
    case "PtgMemArea":
      r2[i2][2] = jo(e2, r2[i2][1], a2), s2.push(r2[i2][2]);
      break;
    case "PtgExp":
      a2 && 12 == a2.biff && (r2[i2][1][1] = e2.read_shift(4), s2.push(r2[i2][1]));
      break;
    case "PtgList":
    case "PtgElfRadicalS":
    case "PtgElfColS":
    case "PtgElfColSV":
      throw "Unsupported " + r2[i2][0];
  }
  return 0 !== (t2 = n2 - e2.l) && s2.push(ca(e2, t2)), s2;
}
function nc(e2, t2, r2) {
  for (var a2, n2, s2 = e2.l + t2, i2 = []; s2 != e2.l; ) t2 = s2 - e2.l, n2 = e2[e2.l], a2 = Qo[n2] || Qo[ec[n2]], 24 !== n2 && 25 !== n2 || (a2 = (24 === n2 ? tc : rc)[e2[e2.l + 1]]), a2 && a2.f ? i2.push([a2.n, a2.f(e2, t2, r2)]) : ca(e2, t2);
  return i2;
}
function sc(e2) {
  for (var t2 = [], r2 = 0; r2 < e2.length; ++r2) {
    for (var a2 = e2[r2], n2 = [], s2 = 0; s2 < a2.length; ++s2) {
      var i2 = a2[s2];
      if (i2) if (2 === i2[0]) n2.push('"' + i2[1].replace(/"/g, '""') + '"');
      else n2.push(i2[1]);
      else n2.push("");
    }
    t2.push(n2.join(","));
  }
  return t2.join(";");
}
var ic = { PtgAdd: "+", PtgConcat: "&", PtgDiv: "/", PtgEq: "=", PtgGe: ">=", PtgGt: ">", PtgLe: "<=", PtgLt: "<", PtgMul: "*", PtgNe: "<>", PtgPower: "^", PtgSub: "-" };
function oc(e2, t2) {
  var r2 = e2.lastIndexOf("!"), a2 = t2.lastIndexOf("!");
  return -1 == r2 && -1 == a2 ? e2 + ":" + t2 : r2 > 0 && a2 > 0 && e2.slice(0, r2).toLowerCase() == t2.slice(0, a2).toLowerCase() ? e2 + ":" + t2.slice(a2 + 1) : (console.error("Cannot hydrate range", e2, t2), e2 + ":" + t2);
}
function cc(e2, t2, r2) {
  if (!e2) return "SH33TJSERR0";
  if (r2.biff > 8 && (!e2.XTI || !e2.XTI[t2])) return e2.SheetNames[t2];
  if (!e2.XTI) return "SH33TJSERR6";
  var a2 = e2.XTI[t2];
  if (r2.biff < 8) return t2 > 1e4 && (t2 -= 65536), t2 < 0 && (t2 = -t2), 0 == t2 ? "" : e2.XTI[t2 - 1];
  if (!a2) return "SH33TJSERR1";
  var n2 = "";
  if (r2.biff > 8) switch (e2[a2[0]][0]) {
    case 357:
      return n2 = -1 == a2[1] ? "#REF" : e2.SheetNames[a2[1]], a2[1] == a2[2] ? n2 : n2 + ":" + e2.SheetNames[a2[2]];
    case 358:
      return null != r2.SID ? e2.SheetNames[r2.SID] : "SH33TJSSAME" + e2[a2[0]][0];
    default:
      return "SH33TJSSRC" + e2[a2[0]][0];
  }
  switch (e2[a2[0]][0][0]) {
    case 1025:
      return n2 = -1 == a2[1] ? "#REF" : e2.SheetNames[a2[1]] || "SH33TJSERR3", a2[1] == a2[2] ? n2 : n2 + ":" + e2.SheetNames[a2[2]];
    case 14849:
      return e2[a2[0]].slice(1).map(function(e3) {
        return e3.Name;
      }).join(";;");
    default:
      return e2[a2[0]][0][3] ? (n2 = -1 == a2[1] ? "#REF" : e2[a2[0]][0][3][a2[1]] || "SH33TJSERR4", a2[1] == a2[2] ? n2 : n2 + ":" + e2[a2[0]][0][3][a2[2]]) : "SH33TJSERR2";
  }
}
function lc(e2, t2, r2) {
  var a2 = cc(e2, t2, r2);
  return "#REF" == a2 ? a2 : xa(a2, r2);
}
function fc(e2, t2, r2, a2, n2) {
  var s2, i2, o2, c2, l2 = n2 && n2.biff || 8, f2 = { s: { c: 0, r: 0 } }, h2 = [], u2 = 0, d2 = 0, p2 = "";
  if (!e2[0] || !e2[0][0]) return "";
  for (var m2 = -1, v2 = "", g2 = 0, b2 = e2[0].length; g2 < b2; ++g2) {
    var w2 = e2[0][g2];
    switch (w2[0]) {
      case "PtgUminus":
        h2.push("-" + h2.pop());
        break;
      case "PtgUplus":
        h2.push("+" + h2.pop());
        break;
      case "PtgPercent":
        h2.push(h2.pop() + "%");
        break;
      case "PtgAdd":
      case "PtgConcat":
      case "PtgDiv":
      case "PtgEq":
      case "PtgGe":
      case "PtgGt":
      case "PtgLe":
      case "PtgLt":
      case "PtgMul":
      case "PtgNe":
      case "PtgPower":
      case "PtgSub":
        if (s2 = h2.pop(), i2 = h2.pop(), m2 >= 0) {
          switch (e2[0][m2][1][0]) {
            case 0:
              v2 = Xe(" ", e2[0][m2][1][1]);
              break;
            case 1:
              v2 = Xe("\r", e2[0][m2][1][1]);
              break;
            default:
              if (v2 = "", n2.WTF) throw new Error("Unexpected PtgAttrSpaceType " + e2[0][m2][1][0]);
          }
          i2 += v2, m2 = -1;
        }
        h2.push(i2 + ic[w2[0]] + s2);
        break;
      case "PtgIsect":
        s2 = h2.pop(), i2 = h2.pop(), h2.push(i2 + " " + s2);
        break;
      case "PtgUnion":
        s2 = h2.pop(), i2 = h2.pop(), h2.push(i2 + "," + s2);
        break;
      case "PtgRange":
        s2 = h2.pop(), i2 = h2.pop(), h2.push(oc(i2, s2));
        break;
      case "PtgAttrChoose":
      case "PtgAttrGoto":
      case "PtgAttrIf":
      case "PtgAttrIfError":
      case "PtgAttrBaxcel":
      case "PtgAttrSemi":
      case "PtgMemArea":
      case "PtgTbl":
      case "PtgMemErr":
      case "PtgMemAreaN":
      case "PtgMemNoMemN":
      case "PtgAttrNoop":
      case "PtgSheet":
      case "PtgEndSheet":
      case "PtgMemFunc":
      case "PtgMemNoMem":
        break;
      case "PtgRef":
        o2 = da(w2[1][1], f2, n2), h2.push(ma(o2, l2));
        break;
      case "PtgRefN":
        o2 = r2 ? da(w2[1][1], r2, n2) : w2[1][1], h2.push(ma(o2, l2));
        break;
      case "PtgRef3d":
        u2 = w2[1][1], o2 = da(w2[1][2], f2, n2), p2 = lc(a2, u2, n2), h2.push(p2 + "!" + ma(o2, l2));
        break;
      case "PtgFunc":
      case "PtgFuncVar":
        var T2 = w2[1][0], y2 = w2[1][1];
        T2 || (T2 = 0);
        var E2 = 0 == (T2 &= 127) ? [] : h2.slice(-T2);
        h2.length -= T2, "User" === y2 && (y2 = E2.shift()), h2.push(y2 + "(" + E2.join(",") + ")");
        break;
      case "PtgBool":
        h2.push(w2[1] ? "TRUE" : "FALSE");
        break;
      case "PtgInt":
      case "PtgErr":
        h2.push(w2[1]);
        break;
      case "PtgNum":
        h2.push(String(w2[1]));
        break;
      case "PtgStr":
        h2.push('"' + w2[1].replace(/"/g, '""') + '"');
        break;
      case "PtgAreaN":
        c2 = pa(w2[1][1], r2 ? { s: r2 } : f2, n2), h2.push(va(c2, n2));
        break;
      case "PtgArea":
        c2 = pa(w2[1][1], f2, n2), h2.push(va(c2, n2));
        break;
      case "PtgArea3d":
        u2 = w2[1][1], c2 = w2[1][2], p2 = lc(a2, u2, n2), h2.push(p2 + "!" + va(c2, n2));
        break;
      case "PtgAttrSum":
        h2.push("SUM(" + h2.pop() + ")");
        break;
      case "PtgName":
        d2 = w2[1][2];
        var k2 = (a2.names || [])[d2 - 1] || (a2[0] || [])[d2], _2 = k2 ? k2.Name : "SH33TJSNAME" + String(d2);
        _2 && "_xlfn." == _2.slice(0, 6) && !n2.xlfn && (_2 = _2.slice(6)), h2.push(_2);
        break;
      case "PtgNameX":
        var S2, x2 = w2[1][1];
        if (d2 = w2[1][2], !(n2.biff <= 5)) {
          var A2 = "";
          if (14849 == ((a2[x2] || [])[0] || [])[0] || (1025 == ((a2[x2] || [])[0] || [])[0] ? a2[x2][d2] && a2[x2][d2].itab > 0 && (A2 = a2.SheetNames[a2[x2][d2].itab - 1] + "!") : A2 = a2.SheetNames[d2 - 1] + "!"), a2[x2] && a2[x2][d2]) A2 += a2[x2][d2].Name;
          else if (a2[0] && a2[0][d2]) A2 += a2[0][d2].Name;
          else {
            var C2 = (cc(a2, x2, n2) || "").split(";;");
            C2[d2 - 1] ? A2 = C2[d2 - 1] : A2 += "SH33TJSERRX";
          }
          h2.push(A2);
          break;
        }
        x2 < 0 && (x2 = -x2), a2[x2] && (S2 = a2[x2][d2]), S2 || (S2 = { Name: "SH33TJSERRY" }), h2.push(S2.Name);
        break;
      case "PtgParen":
        var I2 = "(", O2 = ")";
        if (m2 >= 0) {
          switch (v2 = "", e2[0][m2][1][0]) {
            case 2:
              I2 = Xe(" ", e2[0][m2][1][1]) + I2;
              break;
            case 3:
              I2 = Xe("\r", e2[0][m2][1][1]) + I2;
              break;
            case 4:
              O2 = Xe(" ", e2[0][m2][1][1]) + O2;
              break;
            case 5:
              O2 = Xe("\r", e2[0][m2][1][1]) + O2;
              break;
            default:
              if (n2.WTF) throw new Error("Unexpected PtgAttrSpaceType " + e2[0][m2][1][0]);
          }
          m2 = -1;
        }
        h2.push(I2 + h2.pop() + O2);
        break;
      case "PtgRefErr":
      case "PtgRefErr3d":
      case "PtgAreaErr":
      case "PtgAreaErr3d":
        h2.push("#REF!");
        break;
      case "PtgExp":
        o2 = { c: w2[1][1], r: w2[1][0] };
        var R2 = { c: r2.c, r: r2.r };
        if (a2.sharedf[Ea(o2)]) {
          var N2 = a2.sharedf[Ea(o2)];
          h2.push(fc(N2, f2, R2, a2, n2));
        } else {
          var F2 = false;
          for (s2 = 0; s2 != a2.arrayf.length; ++s2) if (i2 = a2.arrayf[s2], !(o2.c < i2[0].s.c || o2.c > i2[0].e.c || o2.r < i2[0].s.r || o2.r > i2[0].e.r)) {
            h2.push(fc(i2[1], f2, R2, a2, n2)), F2 = true;
            break;
          }
          F2 || h2.push(w2[1]);
        }
        break;
      case "PtgArray":
        h2.push("{" + sc(w2[1]) + "}");
        break;
      case "PtgAttrSpace":
      case "PtgAttrSpaceSemi":
        m2 = g2;
        break;
      case "PtgMissArg":
        h2.push("");
        break;
      case "PtgList":
        h2.push("Table" + w2[1].idx + "[#" + w2[1].rt + "]");
        break;
      case "PtgElfCol":
      case "PtgElfColS":
      case "PtgElfColSV":
      case "PtgElfColV":
      case "PtgElfLel":
      case "PtgElfRadical":
      case "PtgElfRadicalLel":
      case "PtgElfRadicalS":
      case "PtgElfRw":
      case "PtgElfRwV":
        throw new Error("Unsupported ELFs");
      default:
        throw new Error("Unrecognized Formula Token: " + String(w2));
    }
    if (3 != n2.biff && m2 >= 0 && -1 == ["PtgAttrSpace", "PtgAttrSpaceSemi", "PtgAttrGoto"].indexOf(e2[0][g2][0])) {
      var D2 = true;
      switch ((w2 = e2[0][m2])[1][0]) {
        case 4:
          D2 = false;
        case 0:
          v2 = Xe(" ", w2[1][1]);
          break;
        case 5:
          D2 = false;
        case 1:
          v2 = Xe("\r", w2[1][1]);
          break;
        default:
          if (v2 = "", n2.WTF) throw new Error("Unexpected PtgAttrSpaceType " + w2[1][0]);
      }
      h2.push((D2 ? v2 : "") + h2.pop() + (D2 ? "" : v2)), m2 = -1;
    }
  }
  if (h2.length > 1 && n2.WTF) throw new Error("bad formula stack");
  return "TRUE" == h2[0] || "FALSE" != h2[0] && h2[0];
}
function hc(e2, t2, r2) {
  var a2, n2 = e2.l + t2, s2 = 2 == r2.biff ? 1 : 2, i2 = e2.read_shift(s2);
  if (65535 == i2) return [[], ca(e2, t2 - 2)];
  var o2 = nc(e2, i2, r2);
  return t2 !== i2 + s2 && (a2 = ac(e2, t2 - i2 - s2, o2, r2)), e2.l = n2, [o2, a2];
}
function uc(e2, t2, r2) {
  var a2, n2 = e2.l + t2, s2 = e2.read_shift(2), i2 = nc(e2, s2, r2);
  return 65535 == s2 ? [[], ca(e2, t2 - 2)] : (t2 !== s2 + 2 && (a2 = ac(e2, n2 - s2 - 2, i2, r2)), [i2, a2]);
}
function dc(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = ks(e2, 6, r2), s2 = function(e3) {
    var t3;
    if (65535 !== Zr(e3, e3.l + 6)) return [rn(e3), "n"];
    switch (e3[e3.l]) {
      case 0:
        return e3.l += 8, ["String", "s"];
      case 1:
        return t3 = 1 === e3[e3.l + 2], e3.l += 8, [t3, "b"];
      case 2:
        return t3 = e3[e3.l + 2], e3.l += 8, [t3, "e"];
      case 3:
        return e3.l += 8, ["", "s"];
    }
    return [];
  }(e2), i2 = e2.read_shift(1);
  2 != r2.biff && (e2.read_shift(1), r2.biff >= 5 && e2.read_shift(4));
  var o2 = function(e3, t3, r3) {
    var a3, n3 = e3.l + t3, s3 = 2 == r3.biff ? 1 : 2, i3 = e3.read_shift(s3);
    if (65535 == i3) return [[], ca(e3, t3 - 2)];
    var o3 = nc(e3, i3, r3);
    return t3 !== i3 + s3 && (a3 = ac(e3, t3 - i3 - s3, o3, r3)), e3.l = n3, [o3, a3];
  }(e2, a2 - e2.l, r2);
  return { cell: n2, val: s2[0], formula: o2, shared: i2 >> 3 & 1, tt: s2[1] };
}
function pc(e2, t2, r2, a2, n2) {
  var s2 = _s(t2, r2, n2), i2 = function(e3) {
    if (null == e3) {
      var t3 = la(8);
      return t3.write_shift(1, 3), t3.write_shift(1, 0), t3.write_shift(2, 0), t3.write_shift(2, 0), t3.write_shift(2, 65535), t3;
    }
    return an("number" == typeof e3 ? e3 : 0);
  }(e2.v), o2 = la(6);
  o2.write_shift(2, 33), o2.write_shift(4, 0);
  for (var c2 = la(e2.bf.length), l2 = 0; l2 < e2.bf.length; ++l2) c2[l2] = e2.bf[l2];
  return C([s2, i2, o2, c2]);
}
function mc(e2, t2, r2) {
  var a2 = e2.read_shift(4), n2 = nc(e2, a2, r2), s2 = e2.read_shift(4);
  return [n2, s2 > 0 ? ac(e2, s2, n2, r2) : null];
}
var vc = mc, gc = mc, bc = mc, wc = mc;
function Tc(e2) {
  if ((0 | e2) == e2 && e2 < Math.pow(2, 16) && e2 >= 0) {
    var t2 = la(11);
    return t2.write_shift(4, 3), t2.write_shift(1, 30), t2.write_shift(2, e2), t2.write_shift(4, 0), t2;
  }
  var r2 = la(17);
  return r2.write_shift(4, 11), r2.write_shift(1, 31), r2.write_shift(8, e2), r2.write_shift(4, 0), r2;
}
var yc = function(e2, t2) {
  if ("number" == typeof e2) return Tc(e2);
  if ("boolean" == typeof e2) return function(e3) {
    var t3 = la(10);
    return t3.write_shift(4, 2), t3.write_shift(1, 29), t3.write_shift(1, e3 ? 1 : 0), t3.write_shift(4, 0), t3;
  }(e2);
  if (/^#(DIV\/0!|GETTING_DATA|N\/A|NAME\?|NULL!|NUM!|REF!|VALUE!)$/.test(e2)) return function(e3) {
    var t3 = la(10);
    return t3.write_shift(4, 2), t3.write_shift(1, 28), t3.write_shift(1, e3), t3.write_shift(4, 0), t3;
  }(+vn[e2]);
  if (e2.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})$/)) return a2 = ya(r2 = e2), (n2 = la(15)).write_shift(4, 7), n2.write_shift(1, 36), n2.write_shift(4, a2.r), n2.write_shift(2, a2.c | ("$" == r2.charAt(0) ? 0 : 1) << 14 | (r2.match(/\$\d/) ? 0 : 1) << 15), n2.write_shift(4, 0), n2;
  var r2, a2, n2;
  if (e2.match(/^\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5}):\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})$/)) return function(e3) {
    var t3 = e3.split(":"), r3 = t3[0], a3 = la(23);
    a3.write_shift(4, 15);
    var n3 = ya(r3 = t3[0]);
    return a3.write_shift(1, 36), a3.write_shift(4, n3.r), a3.write_shift(2, n3.c | ("$" == r3.charAt(0) ? 0 : 1) << 14 | (r3.match(/\$\d/) ? 0 : 1) << 15), a3.write_shift(4, 0), n3 = ya(r3 = t3[1]), a3.write_shift(1, 36), a3.write_shift(4, n3.r), a3.write_shift(2, n3.c | ("$" == r3.charAt(0) ? 0 : 1) << 14 | (r3.match(/\$\d/) ? 0 : 1) << 15), a3.write_shift(4, 0), a3.write_shift(1, 17), a3.write_shift(4, 0), a3;
  }(e2);
  if (e2.match(/^#REF!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5}):\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})$/)) return function(e3, t3) {
    var r3 = e3.lastIndexOf("!"), a3 = e3.slice(0, r3);
    e3 = e3.slice(r3 + 1), "'" == a3.charAt(0) && (a3 = a3.slice(1, -1).replace(/''/g, "'"));
    var n3 = ka(e3), s2 = la(23);
    return s2.write_shift(4, 15), s2.write_shift(1, 59), s2.write_shift(2, 2 + t3.SheetNames.map(function(e4) {
      return e4.toLowerCase();
    }).indexOf(a3.toLowerCase())), s2.write_shift(4, n3.s.r), s2.write_shift(4, n3.e.r), s2.write_shift(2, n3.s.c), s2.write_shift(2, n3.e.c), s2.write_shift(4, 0), s2;
  }(e2, t2);
  if (e2.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})$/)) return function(e3, t3) {
    var r3 = e3.lastIndexOf("!"), a3 = e3.slice(0, r3), n3 = ya(e3 = e3.slice(r3 + 1));
    "'" == a3.charAt(0) && (a3 = a3.slice(1, -1).replace(/''/g, "'"));
    var s2 = la(17);
    return s2.write_shift(4, 9), s2.write_shift(1, 58), s2.write_shift(2, 2 + t3.SheetNames.map(function(e4) {
      return e4.toLowerCase();
    }).indexOf(a3.toLowerCase())), s2.write_shift(4, n3.r), s2.write_shift(2, n3.c | ("$" == e3.charAt(0) ? 0 : 1) << 14 | (e3.match(/\$\d/) ? 0 : 1) << 15), s2.write_shift(4, 0), s2;
  }(e2, t2);
  if (e2.match(/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5}):\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\$?(?:10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})$/)) return function(e3, t3) {
    var r3 = e3.lastIndexOf("!"), a3 = e3.slice(0, r3);
    e3 = e3.slice(r3 + 1), "'" == a3.charAt(0) && (a3 = a3.slice(1, -1).replace(/''/g, "'"));
    var n3 = e3.split(":"), s2 = la(27);
    s2.write_shift(4, 19);
    var i2 = n3[0], o2 = ya(i2);
    return s2.write_shift(1, 58), s2.write_shift(2, 2 + t3.SheetNames.map(function(e4) {
      return e4.toLowerCase();
    }).indexOf(a3.toLowerCase())), s2.write_shift(4, o2.r), s2.write_shift(2, o2.c | ("$" == i2.charAt(0) ? 0 : 1) << 14 | (i2.match(/\$\d/) ? 0 : 1) << 15), o2 = ya(i2 = n3[1]), s2.write_shift(1, 58), s2.write_shift(2, 2 + t3.SheetNames.map(function(e4) {
      return e4.toLowerCase();
    }).indexOf(a3.toLowerCase())), s2.write_shift(4, o2.r), s2.write_shift(2, o2.c | ("$" == i2.charAt(0) ? 0 : 1) << 14 | (i2.match(/\$\d/) ? 0 : 1) << 15), s2.write_shift(1, 17), s2.write_shift(4, 0), s2;
  }(e2, t2);
  if (/^(?:'[^\\\/?*\[\]:]*'|[^'][^\\\/?*\[\]:'`~!@#$%^()\-=+{}|;,<.>]*)!#REF!$/.test(e2)) return function(e3, t3) {
    var r3 = e3.lastIndexOf("!"), a3 = e3.slice(0, r3);
    e3 = e3.slice(r3 + 1), "'" == a3.charAt(0) && (a3 = a3.slice(1, -1).replace(/''/g, "'"));
    var n3 = la(17);
    return n3.write_shift(4, 9), n3.write_shift(1, 60), n3.write_shift(2, 2 + t3.SheetNames.map(function(e4) {
      return e4.toLowerCase();
    }).indexOf(a3.toLowerCase())), n3.write_shift(4, 0), n3.write_shift(2, 0), n3.write_shift(4, 0), n3;
  }(e2, t2);
  if (/^".*"$/.test(e2)) return function(e3) {
    var t3 = la(7);
    t3.write_shift(4, 3 + 2 * e3.length), t3.write_shift(1, 23), t3.write_shift(2, e3.length);
    var r3 = la(2 * e3.length);
    r3.write_shift(2 * e3.length, e3, "utf16le");
    var a3 = la(4);
    return a3.write_shift(4, 0), C([t3, r3, a3]);
  }(e2);
  if (/^[+-]\d+$/.test(e2)) return Tc(parseInt(e2, 10));
  throw "Formula |" + e2 + "| not supported for XLSB";
}, Ec = { 0: "BEEP", 1: "OPEN", 2: "OPEN.LINKS", 3: "CLOSE.ALL", 4: "SAVE", 5: "SAVE.AS", 6: "FILE.DELETE", 7: "PAGE.SETUP", 8: "PRINT", 9: "PRINTER.SETUP", 10: "QUIT", 11: "NEW.WINDOW", 12: "ARRANGE.ALL", 13: "WINDOW.SIZE", 14: "WINDOW.MOVE", 15: "FULL", 16: "CLOSE", 17: "RUN", 22: "SET.PRINT.AREA", 23: "SET.PRINT.TITLES", 24: "SET.PAGE.BREAK", 25: "REMOVE.PAGE.BREAK", 26: "FONT", 27: "DISPLAY", 28: "PROTECT.DOCUMENT", 29: "PRECISION", 30: "A1.R1C1", 31: "CALCULATE.NOW", 32: "CALCULATION", 34: "DATA.FIND", 35: "EXTRACT", 36: "DATA.DELETE", 37: "SET.DATABASE", 38: "SET.CRITERIA", 39: "SORT", 40: "DATA.SERIES", 41: "TABLE", 42: "FORMAT.NUMBER", 43: "ALIGNMENT", 44: "STYLE", 45: "BORDER", 46: "CELL.PROTECTION", 47: "COLUMN.WIDTH", 48: "UNDO", 49: "CUT", 50: "COPY", 51: "PASTE", 52: "CLEAR", 53: "PASTE.SPECIAL", 54: "EDIT.DELETE", 55: "INSERT", 56: "FILL.RIGHT", 57: "FILL.DOWN", 61: "DEFINE.NAME", 62: "CREATE.NAMES", 63: "FORMULA.GOTO", 64: "FORMULA.FIND", 65: "SELECT.LAST.CELL", 66: "SHOW.ACTIVE.CELL", 67: "GALLERY.AREA", 68: "GALLERY.BAR", 69: "GALLERY.COLUMN", 70: "GALLERY.LINE", 71: "GALLERY.PIE", 72: "GALLERY.SCATTER", 73: "COMBINATION", 74: "PREFERRED", 75: "ADD.OVERLAY", 76: "GRIDLINES", 77: "SET.PREFERRED", 78: "AXES", 79: "LEGEND", 80: "ATTACH.TEXT", 81: "ADD.ARROW", 82: "SELECT.CHART", 83: "SELECT.PLOT.AREA", 84: "PATTERNS", 85: "MAIN.CHART", 86: "OVERLAY", 87: "SCALE", 88: "FORMAT.LEGEND", 89: "FORMAT.TEXT", 90: "EDIT.REPEAT", 91: "PARSE", 92: "JUSTIFY", 93: "HIDE", 94: "UNHIDE", 95: "WORKSPACE", 96: "FORMULA", 97: "FORMULA.FILL", 98: "FORMULA.ARRAY", 99: "DATA.FIND.NEXT", 100: "DATA.FIND.PREV", 101: "FORMULA.FIND.NEXT", 102: "FORMULA.FIND.PREV", 103: "ACTIVATE", 104: "ACTIVATE.NEXT", 105: "ACTIVATE.PREV", 106: "UNLOCKED.NEXT", 107: "UNLOCKED.PREV", 108: "COPY.PICTURE", 109: "SELECT", 110: "DELETE.NAME", 111: "DELETE.FORMAT", 112: "VLINE", 113: "HLINE", 114: "VPAGE", 115: "HPAGE", 116: "VSCROLL", 117: "HSCROLL", 118: "ALERT", 119: "NEW", 120: "CANCEL.COPY", 121: "SHOW.CLIPBOARD", 122: "MESSAGE", 124: "PASTE.LINK", 125: "APP.ACTIVATE", 126: "DELETE.ARROW", 127: "ROW.HEIGHT", 128: "FORMAT.MOVE", 129: "FORMAT.SIZE", 130: "FORMULA.REPLACE", 131: "SEND.KEYS", 132: "SELECT.SPECIAL", 133: "APPLY.NAMES", 134: "REPLACE.FONT", 135: "FREEZE.PANES", 136: "SHOW.INFO", 137: "SPLIT", 138: "ON.WINDOW", 139: "ON.DATA", 140: "DISABLE.INPUT", 142: "OUTLINE", 143: "LIST.NAMES", 144: "FILE.CLOSE", 145: "SAVE.WORKBOOK", 146: "DATA.FORM", 147: "COPY.CHART", 148: "ON.TIME", 149: "WAIT", 150: "FORMAT.FONT", 151: "FILL.UP", 152: "FILL.LEFT", 153: "DELETE.OVERLAY", 155: "SHORT.MENUS", 159: "SET.UPDATE.STATUS", 161: "COLOR.PALETTE", 162: "DELETE.STYLE", 163: "WINDOW.RESTORE", 164: "WINDOW.MAXIMIZE", 166: "CHANGE.LINK", 167: "CALCULATE.DOCUMENT", 168: "ON.KEY", 169: "APP.RESTORE", 170: "APP.MOVE", 171: "APP.SIZE", 172: "APP.MINIMIZE", 173: "APP.MAXIMIZE", 174: "BRING.TO.FRONT", 175: "SEND.TO.BACK", 185: "MAIN.CHART.TYPE", 186: "OVERLAY.CHART.TYPE", 187: "SELECT.END", 188: "OPEN.MAIL", 189: "SEND.MAIL", 190: "STANDARD.FONT", 191: "CONSOLIDATE", 192: "SORT.SPECIAL", 193: "GALLERY.3D.AREA", 194: "GALLERY.3D.COLUMN", 195: "GALLERY.3D.LINE", 196: "GALLERY.3D.PIE", 197: "VIEW.3D", 198: "GOAL.SEEK", 199: "WORKGROUP", 200: "FILL.GROUP", 201: "UPDATE.LINK", 202: "PROMOTE", 203: "DEMOTE", 204: "SHOW.DETAIL", 206: "UNGROUP", 207: "OBJECT.PROPERTIES", 208: "SAVE.NEW.OBJECT", 209: "SHARE", 210: "SHARE.NAME", 211: "DUPLICATE", 212: "APPLY.STYLE", 213: "ASSIGN.TO.OBJECT", 214: "OBJECT.PROTECTION", 215: "HIDE.OBJECT", 216: "SET.EXTRACT", 217: "CREATE.PUBLISHER", 218: "SUBSCRIBE.TO", 219: "ATTRIBUTES", 220: "SHOW.TOOLBAR", 222: "PRINT.PREVIEW", 223: "EDIT.COLOR", 224: "SHOW.LEVELS", 225: "FORMAT.MAIN", 226: "FORMAT.OVERLAY", 227: "ON.RECALC", 228: "EDIT.SERIES", 229: "DEFINE.STYLE", 240: "LINE.PRINT", 243: "ENTER.DATA", 249: "GALLERY.RADAR", 250: "MERGE.STYLES", 251: "EDITION.OPTIONS", 252: "PASTE.PICTURE", 253: "PASTE.PICTURE.LINK", 254: "SPELLING", 256: "ZOOM", 259: "INSERT.OBJECT", 260: "WINDOW.MINIMIZE", 265: "SOUND.NOTE", 266: "SOUND.PLAY", 267: "FORMAT.SHAPE", 268: "EXTEND.POLYGON", 269: "FORMAT.AUTO", 272: "GALLERY.3D.BAR", 273: "GALLERY.3D.SURFACE", 274: "FILL.AUTO", 276: "CUSTOMIZE.TOOLBAR", 277: "ADD.TOOL", 278: "EDIT.OBJECT", 279: "ON.DOUBLECLICK", 280: "ON.ENTRY", 281: "WORKBOOK.ADD", 282: "WORKBOOK.MOVE", 283: "WORKBOOK.COPY", 284: "WORKBOOK.OPTIONS", 285: "SAVE.WORKSPACE", 288: "CHART.WIZARD", 289: "DELETE.TOOL", 290: "MOVE.TOOL", 291: "WORKBOOK.SELECT", 292: "WORKBOOK.ACTIVATE", 293: "ASSIGN.TO.TOOL", 295: "COPY.TOOL", 296: "RESET.TOOL", 297: "CONSTRAIN.NUMERIC", 298: "PASTE.TOOL", 302: "WORKBOOK.NEW", 305: "SCENARIO.CELLS", 306: "SCENARIO.DELETE", 307: "SCENARIO.ADD", 308: "SCENARIO.EDIT", 309: "SCENARIO.SHOW", 310: "SCENARIO.SHOW.NEXT", 311: "SCENARIO.SUMMARY", 312: "PIVOT.TABLE.WIZARD", 313: "PIVOT.FIELD.PROPERTIES", 314: "PIVOT.FIELD", 315: "PIVOT.ITEM", 316: "PIVOT.ADD.FIELDS", 318: "OPTIONS.CALCULATION", 319: "OPTIONS.EDIT", 320: "OPTIONS.VIEW", 321: "ADDIN.MANAGER", 322: "MENU.EDITOR", 323: "ATTACH.TOOLBARS", 324: "VBAActivate", 325: "OPTIONS.CHART", 328: "VBA.INSERT.FILE", 330: "VBA.PROCEDURE.DEFINITION", 336: "ROUTING.SLIP", 338: "ROUTE.DOCUMENT", 339: "MAIL.LOGON", 342: "INSERT.PICTURE", 343: "EDIT.TOOL", 344: "GALLERY.DOUGHNUT", 350: "CHART.TREND", 352: "PIVOT.ITEM.PROPERTIES", 354: "WORKBOOK.INSERT", 355: "OPTIONS.TRANSITION", 356: "OPTIONS.GENERAL", 370: "FILTER.ADVANCED", 373: "MAIL.ADD.MAILER", 374: "MAIL.DELETE.MAILER", 375: "MAIL.REPLY", 376: "MAIL.REPLY.ALL", 377: "MAIL.FORWARD", 378: "MAIL.NEXT.LETTER", 379: "DATA.LABEL", 380: "INSERT.TITLE", 381: "FONT.PROPERTIES", 382: "MACRO.OPTIONS", 383: "WORKBOOK.HIDE", 384: "WORKBOOK.UNHIDE", 385: "WORKBOOK.DELETE", 386: "WORKBOOK.NAME", 388: "GALLERY.CUSTOM", 390: "ADD.CHART.AUTOFORMAT", 391: "DELETE.CHART.AUTOFORMAT", 392: "CHART.ADD.DATA", 393: "AUTO.OUTLINE", 394: "TAB.ORDER", 395: "SHOW.DIALOG", 396: "SELECT.ALL", 397: "UNGROUP.SHEETS", 398: "SUBTOTAL.CREATE", 399: "SUBTOTAL.REMOVE", 400: "RENAME.OBJECT", 412: "WORKBOOK.SCROLL", 413: "WORKBOOK.NEXT", 414: "WORKBOOK.PREV", 415: "WORKBOOK.TAB.SPLIT", 416: "FULL.SCREEN", 417: "WORKBOOK.PROTECT", 420: "SCROLLBAR.PROPERTIES", 421: "PIVOT.SHOW.PAGES", 422: "TEXT.TO.COLUMNS", 423: "FORMAT.CHARTTYPE", 424: "LINK.FORMAT", 425: "TRACER.DISPLAY", 430: "TRACER.NAVIGATE", 431: "TRACER.CLEAR", 432: "TRACER.ERROR", 433: "PIVOT.FIELD.GROUP", 434: "PIVOT.FIELD.UNGROUP", 435: "CHECKBOX.PROPERTIES", 436: "LABEL.PROPERTIES", 437: "LISTBOX.PROPERTIES", 438: "EDITBOX.PROPERTIES", 439: "PIVOT.REFRESH", 440: "LINK.COMBO", 441: "OPEN.TEXT", 442: "HIDE.DIALOG", 443: "SET.DIALOG.FOCUS", 444: "ENABLE.OBJECT", 445: "PUSHBUTTON.PROPERTIES", 446: "SET.DIALOG.DEFAULT", 447: "FILTER", 448: "FILTER.SHOW.ALL", 449: "CLEAR.OUTLINE", 450: "FUNCTION.WIZARD", 451: "ADD.LIST.ITEM", 452: "SET.LIST.ITEM", 453: "REMOVE.LIST.ITEM", 454: "SELECT.LIST.ITEM", 455: "SET.CONTROL.VALUE", 456: "SAVE.COPY.AS", 458: "OPTIONS.LISTS.ADD", 459: "OPTIONS.LISTS.DELETE", 460: "SERIES.AXES", 461: "SERIES.X", 462: "SERIES.Y", 463: "ERRORBAR.X", 464: "ERRORBAR.Y", 465: "FORMAT.CHART", 466: "SERIES.ORDER", 467: "MAIL.LOGOFF", 468: "CLEAR.ROUTING.SLIP", 469: "APP.ACTIVATE.MICROSOFT", 470: "MAIL.EDIT.MAILER", 471: "ON.SHEET", 472: "STANDARD.WIDTH", 473: "SCENARIO.MERGE", 474: "SUMMARY.INFO", 475: "FIND.FILE", 476: "ACTIVE.CELL.FONT", 477: "ENABLE.TIPWIZARD", 478: "VBA.MAKE.ADDIN", 480: "INSERTDATATABLE", 481: "WORKGROUP.OPTIONS", 482: "MAIL.SEND.MAILER", 485: "AUTOCORRECT", 489: "POST.DOCUMENT", 491: "PICKLIST", 493: "VIEW.SHOW", 494: "VIEW.DEFINE", 495: "VIEW.DELETE", 509: "SHEET.BACKGROUND", 510: "INSERT.MAP.OBJECT", 511: "OPTIONS.MENONO", 517: "MSOCHECKS", 518: "NORMAL", 519: "LAYOUT", 520: "RM.PRINT.AREA", 521: "CLEAR.PRINT.AREA", 522: "ADD.PRINT.AREA", 523: "MOVE.BRK", 545: "HIDECURR.NOTE", 546: "HIDEALL.NOTES", 547: "DELETE.NOTE", 548: "TRAVERSE.NOTES", 549: "ACTIVATE.NOTES", 620: "PROTECT.REVISIONS", 621: "UNPROTECT.REVISIONS", 647: "OPTIONS.ME", 653: "WEB.PUBLISH", 667: "NEWWEBQUERY", 673: "PIVOT.TABLE.CHART", 753: "OPTIONS.SAVE", 755: "OPTIONS.SPELL", 808: "HIDEALL.INKANNOTS" }, kc = { 0: "COUNT", 1: "IF", 2: "ISNA", 3: "ISERROR", 4: "SUM", 5: "AVERAGE", 6: "MIN", 7: "MAX", 8: "ROW", 9: "COLUMN", 10: "NA", 11: "NPV", 12: "STDEV", 13: "DOLLAR", 14: "FIXED", 15: "SIN", 16: "COS", 17: "TAN", 18: "ATAN", 19: "PI", 20: "SQRT", 21: "EXP", 22: "LN", 23: "LOG10", 24: "ABS", 25: "INT", 26: "SIGN", 27: "ROUND", 28: "LOOKUP", 29: "INDEX", 30: "REPT", 31: "MID", 32: "LEN", 33: "VALUE", 34: "TRUE", 35: "FALSE", 36: "AND", 37: "OR", 38: "NOT", 39: "MOD", 40: "DCOUNT", 41: "DSUM", 42: "DAVERAGE", 43: "DMIN", 44: "DMAX", 45: "DSTDEV", 46: "VAR", 47: "DVAR", 48: "TEXT", 49: "LINEST", 50: "TREND", 51: "LOGEST", 52: "GROWTH", 53: "GOTO", 54: "HALT", 55: "RETURN", 56: "PV", 57: "FV", 58: "NPER", 59: "PMT", 60: "RATE", 61: "MIRR", 62: "IRR", 63: "RAND", 64: "MATCH", 65: "DATE", 66: "TIME", 67: "DAY", 68: "MONTH", 69: "YEAR", 70: "WEEKDAY", 71: "HOUR", 72: "MINUTE", 73: "SECOND", 74: "NOW", 75: "AREAS", 76: "ROWS", 77: "COLUMNS", 78: "OFFSET", 79: "ABSREF", 80: "RELREF", 81: "ARGUMENT", 82: "SEARCH", 83: "TRANSPOSE", 84: "ERROR", 85: "STEP", 86: "TYPE", 87: "ECHO", 88: "SET.NAME", 89: "CALLER", 90: "DEREF", 91: "WINDOWS", 92: "SERIES", 93: "DOCUMENTS", 94: "ACTIVE.CELL", 95: "SELECTION", 96: "RESULT", 97: "ATAN2", 98: "ASIN", 99: "ACOS", 100: "CHOOSE", 101: "HLOOKUP", 102: "VLOOKUP", 103: "LINKS", 104: "INPUT", 105: "ISREF", 106: "GET.FORMULA", 107: "GET.NAME", 108: "SET.VALUE", 109: "LOG", 110: "EXEC", 111: "CHAR", 112: "LOWER", 113: "UPPER", 114: "PROPER", 115: "LEFT", 116: "RIGHT", 117: "EXACT", 118: "TRIM", 119: "REPLACE", 120: "SUBSTITUTE", 121: "CODE", 122: "NAMES", 123: "DIRECTORY", 124: "FIND", 125: "CELL", 126: "ISERR", 127: "ISTEXT", 128: "ISNUMBER", 129: "ISBLANK", 130: "T", 131: "N", 132: "FOPEN", 133: "FCLOSE", 134: "FSIZE", 135: "FREADLN", 136: "FREAD", 137: "FWRITELN", 138: "FWRITE", 139: "FPOS", 140: "DATEVALUE", 141: "TIMEVALUE", 142: "SLN", 143: "SYD", 144: "DDB", 145: "GET.DEF", 146: "REFTEXT", 147: "TEXTREF", 148: "INDIRECT", 149: "REGISTER", 150: "CALL", 151: "ADD.BAR", 152: "ADD.MENU", 153: "ADD.COMMAND", 154: "ENABLE.COMMAND", 155: "CHECK.COMMAND", 156: "RENAME.COMMAND", 157: "SHOW.BAR", 158: "DELETE.MENU", 159: "DELETE.COMMAND", 160: "GET.CHART.ITEM", 161: "DIALOG.BOX", 162: "CLEAN", 163: "MDETERM", 164: "MINVERSE", 165: "MMULT", 166: "FILES", 167: "IPMT", 168: "PPMT", 169: "COUNTA", 170: "CANCEL.KEY", 171: "FOR", 172: "WHILE", 173: "BREAK", 174: "NEXT", 175: "INITIATE", 176: "REQUEST", 177: "POKE", 178: "EXECUTE", 179: "TERMINATE", 180: "RESTART", 181: "HELP", 182: "GET.BAR", 183: "PRODUCT", 184: "FACT", 185: "GET.CELL", 186: "GET.WORKSPACE", 187: "GET.WINDOW", 188: "GET.DOCUMENT", 189: "DPRODUCT", 190: "ISNONTEXT", 191: "GET.NOTE", 192: "NOTE", 193: "STDEVP", 194: "VARP", 195: "DSTDEVP", 196: "DVARP", 197: "TRUNC", 198: "ISLOGICAL", 199: "DCOUNTA", 200: "DELETE.BAR", 201: "UNREGISTER", 204: "USDOLLAR", 205: "FINDB", 206: "SEARCHB", 207: "REPLACEB", 208: "LEFTB", 209: "RIGHTB", 210: "MIDB", 211: "LENB", 212: "ROUNDUP", 213: "ROUNDDOWN", 214: "ASC", 215: "DBCS", 216: "RANK", 219: "ADDRESS", 220: "DAYS360", 221: "TODAY", 222: "VDB", 223: "ELSE", 224: "ELSE.IF", 225: "END.IF", 226: "FOR.CELL", 227: "MEDIAN", 228: "SUMPRODUCT", 229: "SINH", 230: "COSH", 231: "TANH", 232: "ASINH", 233: "ACOSH", 234: "ATANH", 235: "DGET", 236: "CREATE.OBJECT", 237: "VOLATILE", 238: "LAST.ERROR", 239: "CUSTOM.UNDO", 240: "CUSTOM.REPEAT", 241: "FORMULA.CONVERT", 242: "GET.LINK.INFO", 243: "TEXT.BOX", 244: "INFO", 245: "GROUP", 246: "GET.OBJECT", 247: "DB", 248: "PAUSE", 251: "RESUME", 252: "FREQUENCY", 253: "ADD.TOOLBAR", 254: "DELETE.TOOLBAR", 255: "User", 256: "RESET.TOOLBAR", 257: "EVALUATE", 258: "GET.TOOLBAR", 259: "GET.TOOL", 260: "SPELLING.CHECK", 261: "ERROR.TYPE", 262: "APP.TITLE", 263: "WINDOW.TITLE", 264: "SAVE.TOOLBAR", 265: "ENABLE.TOOL", 266: "PRESS.TOOL", 267: "REGISTER.ID", 268: "GET.WORKBOOK", 269: "AVEDEV", 270: "BETADIST", 271: "GAMMALN", 272: "BETAINV", 273: "BINOMDIST", 274: "CHIDIST", 275: "CHIINV", 276: "COMBIN", 277: "CONFIDENCE", 278: "CRITBINOM", 279: "EVEN", 280: "EXPONDIST", 281: "FDIST", 282: "FINV", 283: "FISHER", 284: "FISHERINV", 285: "FLOOR", 286: "GAMMADIST", 287: "GAMMAINV", 288: "CEILING", 289: "HYPGEOMDIST", 290: "LOGNORMDIST", 291: "LOGINV", 292: "NEGBINOMDIST", 293: "NORMDIST", 294: "NORMSDIST", 295: "NORMINV", 296: "NORMSINV", 297: "STANDARDIZE", 298: "ODD", 299: "PERMUT", 300: "POISSON", 301: "TDIST", 302: "WEIBULL", 303: "SUMXMY2", 304: "SUMX2MY2", 305: "SUMX2PY2", 306: "CHITEST", 307: "CORREL", 308: "COVAR", 309: "FORECAST", 310: "FTEST", 311: "INTERCEPT", 312: "PEARSON", 313: "RSQ", 314: "STEYX", 315: "SLOPE", 316: "TTEST", 317: "PROB", 318: "DEVSQ", 319: "GEOMEAN", 320: "HARMEAN", 321: "SUMSQ", 322: "KURT", 323: "SKEW", 324: "ZTEST", 325: "LARGE", 326: "SMALL", 327: "QUARTILE", 328: "PERCENTILE", 329: "PERCENTRANK", 330: "MODE", 331: "TRIMMEAN", 332: "TINV", 334: "MOVIE.COMMAND", 335: "GET.MOVIE", 336: "CONCATENATE", 337: "POWER", 338: "PIVOT.ADD.DATA", 339: "GET.PIVOT.TABLE", 340: "GET.PIVOT.FIELD", 341: "GET.PIVOT.ITEM", 342: "RADIANS", 343: "DEGREES", 344: "SUBTOTAL", 345: "SUMIF", 346: "COUNTIF", 347: "COUNTBLANK", 348: "SCENARIO.GET", 349: "OPTIONS.LISTS.GET", 350: "ISPMT", 351: "DATEDIF", 352: "DATESTRING", 353: "NUMBERSTRING", 354: "ROMAN", 355: "OPEN.DIALOG", 356: "SAVE.DIALOG", 357: "VIEW.GET", 358: "GETPIVOTDATA", 359: "HYPERLINK", 360: "PHONETIC", 361: "AVERAGEA", 362: "MAXA", 363: "MINA", 364: "STDEVPA", 365: "VARPA", 366: "STDEVA", 367: "VARA", 368: "BAHTTEXT", 369: "THAIDAYOFWEEK", 370: "THAIDIGIT", 371: "THAIMONTHOFYEAR", 372: "THAINUMSOUND", 373: "THAINUMSTRING", 374: "THAISTRINGLENGTH", 375: "ISTHAIDIGIT", 376: "ROUNDBAHTDOWN", 377: "ROUNDBAHTUP", 378: "THAIYEAR", 379: "RTD", 380: "CUBEVALUE", 381: "CUBEMEMBER", 382: "CUBEMEMBERPROPERTY", 383: "CUBERANKEDMEMBER", 384: "HEX2BIN", 385: "HEX2DEC", 386: "HEX2OCT", 387: "DEC2BIN", 388: "DEC2HEX", 389: "DEC2OCT", 390: "OCT2BIN", 391: "OCT2HEX", 392: "OCT2DEC", 393: "BIN2DEC", 394: "BIN2OCT", 395: "BIN2HEX", 396: "IMSUB", 397: "IMDIV", 398: "IMPOWER", 399: "IMABS", 400: "IMSQRT", 401: "IMLN", 402: "IMLOG2", 403: "IMLOG10", 404: "IMSIN", 405: "IMCOS", 406: "IMEXP", 407: "IMARGUMENT", 408: "IMCONJUGATE", 409: "IMAGINARY", 410: "IMREAL", 411: "COMPLEX", 412: "IMSUM", 413: "IMPRODUCT", 414: "SERIESSUM", 415: "FACTDOUBLE", 416: "SQRTPI", 417: "QUOTIENT", 418: "DELTA", 419: "GESTEP", 420: "ISEVEN", 421: "ISODD", 422: "MROUND", 423: "ERF", 424: "ERFC", 425: "BESSELJ", 426: "BESSELK", 427: "BESSELY", 428: "BESSELI", 429: "XIRR", 430: "XNPV", 431: "PRICEMAT", 432: "YIELDMAT", 433: "INTRATE", 434: "RECEIVED", 435: "DISC", 436: "PRICEDISC", 437: "YIELDDISC", 438: "TBILLEQ", 439: "TBILLPRICE", 440: "TBILLYIELD", 441: "PRICE", 442: "YIELD", 443: "DOLLARDE", 444: "DOLLARFR", 445: "NOMINAL", 446: "EFFECT", 447: "CUMPRINC", 448: "CUMIPMT", 449: "EDATE", 450: "EOMONTH", 451: "YEARFRAC", 452: "COUPDAYBS", 453: "COUPDAYS", 454: "COUPDAYSNC", 455: "COUPNCD", 456: "COUPNUM", 457: "COUPPCD", 458: "DURATION", 459: "MDURATION", 460: "ODDLPRICE", 461: "ODDLYIELD", 462: "ODDFPRICE", 463: "ODDFYIELD", 464: "RANDBETWEEN", 465: "WEEKNUM", 466: "AMORDEGRC", 467: "AMORLINC", 468: "CONVERT", 724: "SHEETJS", 469: "ACCRINT", 470: "ACCRINTM", 471: "WORKDAY", 472: "NETWORKDAYS", 473: "GCD", 474: "MULTINOMIAL", 475: "LCM", 476: "FVSCHEDULE", 477: "CUBEKPIMEMBER", 478: "CUBESET", 479: "CUBESETCOUNT", 480: "IFERROR", 481: "COUNTIFS", 482: "SUMIFS", 483: "AVERAGEIF", 484: "AVERAGEIFS" }, _c = { 2: 1, 3: 1, 10: 0, 15: 1, 16: 1, 17: 1, 18: 1, 19: 0, 20: 1, 21: 1, 22: 1, 23: 1, 24: 1, 25: 1, 26: 1, 27: 2, 30: 2, 31: 3, 32: 1, 33: 1, 34: 0, 35: 0, 38: 1, 39: 2, 40: 3, 41: 3, 42: 3, 43: 3, 44: 3, 45: 3, 47: 3, 48: 2, 53: 1, 61: 3, 63: 0, 65: 3, 66: 3, 67: 1, 68: 1, 69: 1, 70: 1, 71: 1, 72: 1, 73: 1, 74: 0, 75: 1, 76: 1, 77: 1, 79: 2, 80: 2, 83: 1, 85: 0, 86: 1, 89: 0, 90: 1, 94: 0, 95: 0, 97: 2, 98: 1, 99: 1, 101: 3, 102: 3, 105: 1, 106: 1, 108: 2, 111: 1, 112: 1, 113: 1, 114: 1, 117: 2, 118: 1, 119: 4, 121: 1, 126: 1, 127: 1, 128: 1, 129: 1, 130: 1, 131: 1, 133: 1, 134: 1, 135: 1, 136: 2, 137: 2, 138: 2, 140: 1, 141: 1, 142: 3, 143: 4, 144: 4, 161: 1, 162: 1, 163: 1, 164: 1, 165: 2, 172: 1, 175: 2, 176: 2, 177: 3, 178: 2, 179: 1, 184: 1, 186: 1, 189: 3, 190: 1, 195: 3, 196: 3, 197: 1, 198: 1, 199: 3, 201: 1, 207: 4, 210: 3, 211: 1, 212: 2, 213: 2, 214: 1, 215: 1, 225: 0, 229: 1, 230: 1, 231: 1, 232: 1, 233: 1, 234: 1, 235: 3, 244: 1, 247: 4, 252: 2, 257: 1, 261: 1, 271: 1, 273: 4, 274: 2, 275: 2, 276: 2, 277: 3, 278: 3, 279: 1, 280: 3, 281: 3, 282: 3, 283: 1, 284: 1, 285: 2, 286: 4, 287: 3, 288: 2, 289: 4, 290: 3, 291: 3, 292: 3, 293: 4, 294: 1, 295: 3, 296: 1, 297: 3, 298: 1, 299: 2, 300: 3, 301: 3, 302: 4, 303: 2, 304: 2, 305: 2, 306: 2, 307: 2, 308: 2, 309: 3, 310: 2, 311: 2, 312: 2, 313: 2, 314: 2, 315: 2, 316: 4, 325: 2, 326: 2, 327: 2, 328: 2, 331: 2, 332: 2, 337: 2, 342: 1, 343: 1, 346: 2, 347: 1, 350: 4, 351: 3, 352: 1, 353: 2, 360: 1, 368: 1, 369: 1, 370: 1, 371: 1, 372: 1, 373: 1, 374: 1, 375: 1, 376: 1, 377: 1, 378: 1, 382: 3, 385: 1, 392: 1, 393: 1, 396: 2, 397: 2, 398: 2, 399: 1, 400: 1, 401: 1, 402: 1, 403: 1, 404: 1, 405: 1, 406: 1, 407: 1, 408: 1, 409: 1, 410: 1, 414: 4, 415: 1, 416: 1, 417: 2, 420: 1, 421: 1, 422: 2, 424: 1, 425: 2, 426: 2, 427: 2, 428: 2, 430: 3, 438: 3, 439: 3, 440: 3, 443: 2, 444: 2, 445: 2, 446: 2, 447: 6, 448: 6, 449: 2, 450: 2, 464: 2, 468: 3, 476: 2, 479: 1, 480: 2, 65535: 0 };
function Sc(e2) {
  return "of:" == e2.slice(0, 3) && (e2 = e2.slice(3)), 61 == e2.charCodeAt(0) && 61 == (e2 = e2.slice(1)).charCodeAt(0) && (e2 = e2.slice(1)), (e2 = (e2 = (e2 = (e2 = (e2 = e2.replace(/COM\.MICROSOFT\./g, "")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g, function(e3, t2) {
    return t2.replace(/\./g, "");
  })).replace(/\$'([^']|'')+'/g, function(e3) {
    return e3.slice(1);
  })).replace(/\$([^\]\. #$]+)/g, function(e3, t2) {
    return t2.match(/^([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])?(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})?$/) ? e3 : t2;
  })).replace(/\[.(#[A-Z]*[?!])\]/g, "$1")).replace(/[;~]/g, ",").replace(/\|/g, ";");
}
function xc(e2) {
  return ("of:=" + e2.replace(Fo, "$1[.$2$3$4$5]").replace(/\]:\[/g, ":")).replace(/;/g, "|").replace(/,/g, ";");
}
function Ac(e2) {
  var t2 = (e2 = (e2 = e2.replace(/\$'([^']|'')+'/g, function(e3) {
    return e3.slice(1);
  })).replace(/\$([^\]\. #$]+)/g, function(e3, t3) {
    return t3.match(/^([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])?(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})?$/) ? e3 : t3;
  })).split(":");
  return [t2[0].split(".")[0], t2[0].split(".")[1] + (t2.length > 1 ? ":" + (t2[1].split(".")[1] || t2[1].split(".")[0]) : "")];
}
function Cc(e2) {
  return e2.replace(/!/, ".").replace(/:/, ":.");
}
var Ic = {}, Oc = {}, Rc = "undefined" != typeof Map;
function Nc(e2, t2, r2) {
  var a2 = 0, n2 = e2.length;
  if (r2) {
    if (Rc ? r2.has(t2) : Object.prototype.hasOwnProperty.call(r2, t2)) {
      for (var s2 = Rc ? r2.get(t2) : r2[t2]; a2 < s2.length; ++a2) if (e2[s2[a2]].t === t2) return e2.Count++, s2[a2];
    }
  } else for (; a2 < n2; ++a2) if (e2[a2].t === t2) return e2.Count++, a2;
  return e2[n2] = { t: t2 }, e2.Count++, e2.Unique++, r2 && (Rc ? (r2.has(t2) || r2.set(t2, []), r2.get(t2).push(n2)) : (Object.prototype.hasOwnProperty.call(r2, t2) || (r2[t2] = []), r2[t2].push(n2))), n2;
}
function Fc(e2, t2) {
  var r2 = { min: e2 + 1, max: e2 + 1 }, a2 = -1;
  return t2.MDW && (Wi = t2.MDW), null != t2.width ? r2.customWidth = 1 : null != t2.wpx ? a2 = Hi(t2.wpx) : null != t2.wch && (a2 = t2.wch), a2 > -1 ? (r2.width = Vi(a2), r2.customWidth = 1) : null != t2.width && (r2.width = t2.width), t2.hidden && (r2.hidden = true), null != t2.level && (r2.outlineLevel = r2.level = t2.level), r2;
}
function Dc(e2, t2) {
  if (e2) {
    var r2 = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];
    "xlml" == t2 && (r2 = [1, 1, 1, 1, 0.5, 0.5]), null == e2.left && (e2.left = r2[0]), null == e2.right && (e2.right = r2[1]), null == e2.top && (e2.top = r2[2]), null == e2.bottom && (e2.bottom = r2[3]), null == e2.header && (e2.header = r2[4]), null == e2.footer && (e2.footer = r2[5]);
  }
}
function Pc(e2, t2, r2) {
  var a2 = r2.revssf[null != t2.z ? t2.z : "General"], n2 = 60, s2 = e2.length;
  if (null == a2 && r2.ssf) {
    for (; n2 < 392; ++n2) if (null == r2.ssf[n2]) {
      ke(t2.z, n2), r2.ssf[n2] = t2.z, r2.revssf[t2.z] = a2 = n2;
      break;
    }
  }
  for (n2 = 0; n2 != s2; ++n2) if (e2[n2].numFmtId === a2) return n2;
  return e2[s2] = { numFmtId: a2, fontId: 0, fillId: 0, borderId: 0, xfId: 0, applyNumberFormat: 1 }, s2;
}
function Mc(e2, t2, r2, a2, n2, s2, i2) {
  try {
    a2.cellNF && (e2.z = W[t2]);
  } catch (e3) {
    if (a2.WTF) throw e3;
  }
  if ("z" !== e2.t || a2.cellStyles) {
    if ("d" === e2.t && "string" == typeof e2.v && (e2.v = Ve(e2.v)), (!a2 || false !== a2.cellText) && "z" !== e2.t) try {
      if (null == W[t2] && ke(Te[t2] || "General", t2), "e" === e2.t) e2.w = e2.w || mn[e2.v];
      else if (0 === t2) if ("n" === e2.t) (0 | e2.v) === e2.v ? e2.w = e2.v.toString(10) : e2.w = j(e2.v);
      else if ("d" === e2.t) {
        var o2 = Le(e2.v, !!i2);
        e2.w = (0 | o2) === o2 ? o2.toString(10) : j(o2);
      } else {
        if (void 0 === e2.v) return "";
        e2.w = K(e2.v, Oc);
      }
      else "d" === e2.t ? e2.w = me(t2, Le(e2.v, !!i2), Oc) : e2.w = me(t2, e2.v, Oc);
    } catch (e3) {
      if (a2.WTF) throw e3;
    }
    if (a2.cellStyles && null != r2) try {
      e2.s = s2.Fills[r2], e2.s.fgColor && e2.s.fgColor.theme && !e2.s.fgColor.rgb && (e2.s.fgColor.rgb = Bi(n2.themeElements.clrScheme[e2.s.fgColor.theme].rgb, e2.s.fgColor.tint || 0), a2.WTF && (e2.s.fgColor.raw_rgb = n2.themeElements.clrScheme[e2.s.fgColor.theme].rgb)), e2.s.bgColor && e2.s.bgColor.theme && (e2.s.bgColor.rgb = Bi(n2.themeElements.clrScheme[e2.s.bgColor.theme].rgb, e2.s.bgColor.tint || 0), a2.WTF && (e2.s.bgColor.raw_rgb = n2.themeElements.clrScheme[e2.s.bgColor.theme].rgb));
    } catch (e3) {
      if (a2.WTF && s2.Fills) throw e3;
    }
  }
}
function Lc(e2, t2, r2) {
  if (e2 && e2["!ref"]) {
    var a2 = Aa(e2["!ref"]);
    if (a2.e.c < a2.s.c || a2.e.r < a2.s.r) throw new Error("Bad range (" + r2 + "): " + e2["!ref"]);
  }
}
var Uc = /<(?:\w+:)?mergeCell ref=["'][A-Z0-9:]+['"]\s*[\/]?>/g, Bc = /<(?:\w+:)?hyperlink [^<>]*>/gm, Wc = /"(\w*:\w*)"/, zc = /<(?:\w+:)?col\b[^<>]*[\/]?>/g, Hc = /<(?:\w+:)?autoFilter[^>]*/g, Vc = /<(?:\w+:)?pageMargins[^<>]*\/>/g, $c = /<(?:\w+:)?sheetPr\b[^<>]*?\/>/;
function Gc(e2, t2, r2, a2, n2, s2, i2) {
  if (!e2) return e2;
  a2 || (a2 = { "!id": {} });
  var o2 = {};
  t2.dense && (o2["!data"] = []);
  var c2 = { s: { r: 2e6, c: 2e6 }, e: { r: 0, c: 0 } }, l2 = "", f2 = "", h2 = ct(e2, "sheetData");
  h2 ? (l2 = e2.slice(0, h2.index), f2 = e2.slice(h2.index + h2[0].length)) : l2 = f2 = e2;
  var u2 = l2.match($c);
  u2 ? Xc(u2[0], o2, n2, r2) : (u2 = ct(l2, "sheetPr")) && function(e3, t3, r3, a3, n3) {
    Xc(e3.slice(0, e3.indexOf(">")), r3, a3, n3);
  }(u2[0], u2[1], o2, n2, r2);
  var d2 = (l2.match(/<(?:\w*:)?dimension/) || { index: -1 }).index;
  if (d2 > 0) {
    var p2 = l2.slice(d2, d2 + 50).match(Wc);
    !p2 || t2 && t2.nodim || function(e3, t3) {
      var r3 = Aa(t3);
      r3.s.r <= r3.e.r && r3.s.c <= r3.e.c && r3.s.r >= 0 && r3.s.c >= 0 && (e3["!ref"] = _a(r3));
    }(o2, p2[1]);
  }
  var m2 = ct(l2, "sheetViews");
  m2 && m2[1] && function(e3, t3) {
    t3.Views || (t3.Views = [{}]);
    (e3.match(Yc) || []).forEach(function(e4, r3) {
      var a3 = It(e4);
      t3.Views[r3] || (t3.Views[r3] = {}), +a3.zoomScale && (t3.Views[r3].zoom = +a3.zoomScale), a3.rightToLeft && Ht(a3.rightToLeft) && (t3.Views[r3].RTL = true);
    });
  }(m2[1], n2);
  var v2 = [];
  if (t2.cellStyles) {
    var g2 = l2.match(zc);
    g2 && function(e3, t3) {
      for (var r3 = false, a3 = 0; a3 != t3.length; ++a3) {
        var n3 = It(t3[a3], true);
        n3.hidden && (n3.hidden = Ht(n3.hidden));
        var s3 = parseInt(n3.min, 10) - 1, i3 = parseInt(n3.max, 10) - 1;
        for (n3.outlineLevel && (n3.level = +n3.outlineLevel || 0), delete n3.min, delete n3.max, n3.width = +n3.width, !r3 && n3.width && (r3 = true, Gi(n3.width)), Xi(n3); s3 <= i3; ) e3[s3++] = Ge(n3);
      }
    }(v2, g2);
  }
  h2 && Jc(h2[1], o2, t2, c2, s2, i2, n2);
  var b2 = f2.match(Hc);
  b2 && (o2["!autofilter"] = function(e3) {
    var t3 = { ref: (e3.match(/ref="([^"]*)"/) || [])[1] };
    return t3;
  }(b2[0]));
  var w2 = [], T2 = f2.match(Uc);
  if (T2) for (d2 = 0; d2 != T2.length; ++d2) w2[d2] = Aa(T2[d2].slice(T2[d2].indexOf("=") + 2));
  var y2 = f2.match(Bc);
  y2 && function(e3, t3, r3) {
    for (var a3 = null != e3["!data"], n3 = 0; n3 != t3.length; ++n3) {
      var s3 = It(jt(t3[n3]), true);
      if (!s3.ref) return;
      var i3 = ((r3 || {})["!id"] || [])[s3.id];
      i3 ? (s3.Target = i3.Target, s3.location && (s3.Target += "#" + Dt(s3.location))) : (s3.Target = "#" + Dt(s3.location), i3 = { Target: s3.Target, TargetMode: "Internal" }), s3.Rel = i3, s3.tooltip && (s3.Tooltip = s3.tooltip, delete s3.tooltip);
      for (var o3 = Aa(s3.ref), c3 = o3.s.r; c3 <= o3.e.r; ++c3) for (var l3 = o3.s.c; l3 <= o3.e.c; ++l3) {
        var f3 = Ta(l3) + ba(c3);
        a3 ? (e3["!data"][c3] || (e3["!data"][c3] = []), e3["!data"][c3][l3] || (e3["!data"][c3][l3] = { t: "z", v: void 0 }), e3["!data"][c3][l3].l = s3) : (e3[f3] || (e3[f3] = { t: "z", v: void 0 }), e3[f3].l = s3);
      }
    }
  }(o2, y2, a2);
  var E2, k2, _2, S2 = f2.match(Vc);
  if (S2 && (o2["!margins"] = (E2 = It(S2[0]), k2 = {}, ["left", "right", "top", "bottom", "header", "footer"].forEach(function(e3) {
    E2[e3] && (k2[e3] = parseFloat(E2[e3]));
  }), k2)), (_2 = f2.match(/legacyDrawing r:id="(.*?)"/)) && (o2["!legrel"] = _2[1]), t2 && t2.nodim && (c2.s.c = c2.s.r = 0), !o2["!ref"] && c2.e.c >= c2.s.c && c2.e.r >= c2.s.r && (o2["!ref"] = _a(c2)), t2.sheetRows > 0 && o2["!ref"]) {
    var x2 = Aa(o2["!ref"]);
    t2.sheetRows <= +x2.e.r && (x2.e.r = t2.sheetRows - 1, x2.e.r > c2.e.r && (x2.e.r = c2.e.r), x2.e.r < x2.s.r && (x2.s.r = x2.e.r), x2.e.c > c2.e.c && (x2.e.c = c2.e.c), x2.e.c < x2.s.c && (x2.s.c = x2.e.c), o2["!fullref"] = o2["!ref"], o2["!ref"] = _a(x2));
  }
  return v2.length > 0 && (o2["!cols"] = v2), w2.length > 0 && (o2["!merges"] = w2), a2["!id"][o2["!legrel"]] && (o2["!legdrawel"] = a2["!id"][o2["!legrel"]]), o2;
}
function Xc(e2, t2, r2, a2) {
  var n2 = It(e2);
  r2.Sheets[a2] || (r2.Sheets[a2] = {}), n2.codeName && (r2.Sheets[a2].CodeName = Dt(jt(n2.codeName)));
}
var jc = ["objects", "scenarios", "selectLockedCells", "selectUnlockedCells"], Kc = ["formatColumns", "formatRows", "formatCells", "insertColumns", "insertRows", "insertHyperlinks", "deleteColumns", "deleteRows", "sort", "autoFilter", "pivotTables"];
var Yc = /<(?:\w:)?sheetView(?:[^<>a-z][^<>]*)?\/?>/g;
function Zc(e2, t2, r2, a2, n2, s2, i2) {
  if (e2.c && r2["!comments"].push([t2, e2.c]), (void 0 === e2.v || "z" === e2.t && !(a2 || {}).sheetStubs) && "string" != typeof e2.f && void 0 === e2.z) return "";
  var o2 = "", c2 = e2.t, l2 = e2.v;
  if ("z" !== e2.t) switch (e2.t) {
    case "b":
      o2 = e2.v ? "1" : "0";
      break;
    case "n":
      isNaN(e2.v) ? (e2.t = "e", o2 = mn[e2.v = 36]) : isFinite(e2.v) ? o2 = "" + e2.v : (e2.t = "e", o2 = mn[e2.v = 7]);
      break;
    case "e":
      o2 = mn[e2.v];
      break;
    case "d":
      if (a2 && a2.cellDates) {
        var f2 = Ve(e2.v, i2);
        o2 = f2.toISOString(), f2.getUTCFullYear() < 1900 && (o2 = o2.slice(o2.indexOf("T") + 1).replace("Z", ""));
      } else (e2 = Ge(e2)).t = "n", o2 = "" + (e2.v = Le(Ve(e2.v, i2), i2));
      void 0 === e2.z && (e2.z = W[14]);
      break;
    default:
      o2 = e2.v;
  }
  var h2 = "z" == e2.t || null == e2.v ? "" : er("v", Lt(o2)), u2 = { r: t2 }, d2 = Pc(a2.cellXfs, e2, a2);
  switch (0 !== d2 && (u2.s = d2), e2.t) {
    case "n":
    case "z":
      break;
    case "d":
      u2.t = "d";
      break;
    case "b":
      u2.t = "b";
      break;
    case "e":
      u2.t = "e";
      break;
    default:
      if (null == e2.v) {
        delete e2.t;
        break;
      }
      if (e2.v.length > 32767) throw new Error("Text length must not exceed 32767 characters");
      if (a2 && a2.bookSST) {
        h2 = er("v", "" + Nc(a2.Strings, e2.v, a2.revStrings)), u2.t = "s";
        break;
      }
      u2.t = "str";
  }
  if (e2.t != c2 && (e2.t = c2, e2.v = l2), "string" == typeof e2.f && e2.f) {
    var p2 = e2.F && e2.F.slice(0, t2.length) == t2 ? { t: "array", ref: e2.F } : null;
    h2 = rr("f", Lt(e2.f), p2) + (null != e2.v ? h2 : "");
  }
  return e2.l && (e2.l.display = Lt(o2), r2["!links"].push([t2, e2.l])), e2.D && (u2.cm = 1), rr("c", h2, u2);
}
var Jc = /* @__PURE__ */ function() {
  var e2 = /<(?:\w+:)?c[ \/>]/, t2 = /<\/(?:\w+:)?row>/, r2 = /r=["']([^"']*)["']/, a2 = /ref=["']([^"']*)["']/;
  return function(n2, s2, i2, o2, c2, l2, f2) {
    for (var h2, u2, d2, p2, m2, v2 = 0, g2 = "", b2 = [], w2 = [], T2 = 0, y2 = 0, E2 = 0, k2 = "", _2 = 0, S2 = 0, x2 = 0, A2 = 0, C2 = Array.isArray(l2.CellXf), I2 = [], O2 = [], R2 = null != s2["!data"], N2 = [], F2 = {}, D2 = false, P2 = !!i2.sheetStubs, M2 = !!((f2 || {}).WBProps || {}).date1904, L2 = n2.split(t2), U2 = 0, B2 = L2.length; U2 != B2; ++U2) {
      var z2 = (g2 = L2[U2].trim()).length;
      if (0 !== z2) {
        var H2 = 0;
        e: for (v2 = 0; v2 < z2; ++v2) switch (g2[v2]) {
          case ">":
            if ("/" != g2[v2 - 1]) {
              ++v2;
              break e;
            }
            if (i2 && i2.cellStyles) {
              if (_2 = null != (u2 = It(g2.slice(H2, v2), true)).r ? parseInt(u2.r, 10) : _2 + 1, S2 = -1, i2.sheetRows && i2.sheetRows < _2) continue;
              F2 = {}, D2 = false, u2.ht && (D2 = true, F2.hpt = parseFloat(u2.ht), F2.hpx = Yi(F2.hpt)), u2.hidden && Ht(u2.hidden) && (D2 = true, F2.hidden = true), null != u2.outlineLevel && (D2 = true, F2.level = +u2.outlineLevel), D2 && (N2[_2 - 1] = F2);
            }
            break;
          case "<":
            H2 = v2;
        }
        if (H2 >= v2) break;
        if (_2 = null != (u2 = It(g2.slice(H2, v2), true)).r ? parseInt(u2.r, 10) : _2 + 1, S2 = -1, !(i2.sheetRows && i2.sheetRows < _2)) {
          i2.nodim || (o2.s.r > _2 - 1 && (o2.s.r = _2 - 1), o2.e.r < _2 - 1 && (o2.e.r = _2 - 1)), i2 && i2.cellStyles && (F2 = {}, D2 = false, u2.ht && (D2 = true, F2.hpt = parseFloat(u2.ht), F2.hpx = Yi(F2.hpt)), u2.hidden && Ht(u2.hidden) && (D2 = true, F2.hidden = true), null != u2.outlineLevel && (D2 = true, F2.level = +u2.outlineLevel), D2 && (N2[_2 - 1] = F2)), b2 = g2.slice(v2).split(e2);
          for (var V2 = 0; V2 != b2.length && "<" == b2[V2].trim().charAt(0); ++V2) ;
          for (b2 = b2.slice(V2), v2 = 0; v2 != b2.length; ++v2) if (0 !== (g2 = b2[v2].trim()).length) {
            if (w2 = g2.match(r2), T2 = v2, y2 = 0, E2 = 0, g2 = "<c " + ("<" == g2.slice(0, 1) ? ">" : "") + g2, null != w2 && 2 === w2.length) {
              for (T2 = 0, k2 = w2[1], y2 = 0; y2 != k2.length && !((E2 = k2.charCodeAt(y2) - 64) < 1 || E2 > 26); ++y2) T2 = 26 * T2 + E2;
              S2 = --T2;
            } else ++S2;
            for (y2 = 0; y2 != g2.length && 62 !== g2.charCodeAt(y2); ++y2) ;
            if (++y2, (u2 = It(g2.slice(0, y2), true)).r || (u2.r = Ea({ r: _2 - 1, c: S2 })), k2 = g2.slice(y2), h2 = { t: "" }, null != (w2 = ct(k2, "v")) && "" !== w2[1] && (h2.v = Dt(w2[1])), i2.cellFormula) {
              if (null != (w2 = ct(k2, "f"))) {
                if ("" == w2[1]) w2[0].indexOf('t="shared"') > -1 && O2[(p2 = It(w2[0])).si] && (h2.f = Mo(O2[p2.si][1], O2[p2.si][2], u2.r));
                else if (h2.f = Dt(jt(w2[1]), true), i2.xlfn || (h2.f = Lo(h2.f)), w2[0].indexOf('t="array"') > -1) h2.F = (k2.match(a2) || [])[1], h2.F.indexOf(":") > -1 && I2.push([Aa(h2.F), h2.F]);
                else if (w2[0].indexOf('t="shared"') > -1) {
                  p2 = It(w2[0]);
                  var $2 = Dt(jt(w2[1]));
                  i2.xlfn || ($2 = Lo($2)), O2[parseInt(p2.si, 10)] = [p2, $2, u2.r];
                }
              } else (w2 = k2.match(/<f[^<>]*\/>/)) && O2[(p2 = It(w2[0])).si] && (h2.f = Mo(O2[p2.si][1], O2[p2.si][2], u2.r));
              var G2 = ya(u2.r);
              for (y2 = 0; y2 < I2.length; ++y2) G2.r >= I2[y2][0].s.r && G2.r <= I2[y2][0].e.r && G2.c >= I2[y2][0].s.c && G2.c <= I2[y2][0].e.c && (h2.F = I2[y2][1]);
            }
            if (null == u2.t && void 0 === h2.v) if (h2.f || h2.F) h2.v = 0, h2.t = "n";
            else {
              if (!P2) continue;
              h2.t = "z";
            }
            else h2.t = u2.t || "n";
            switch (o2.s.c > S2 && (o2.s.c = S2), o2.e.c < S2 && (o2.e.c = S2), h2.t) {
              case "n":
                if ("" == h2.v || null == h2.v) {
                  if (!P2) continue;
                  h2.t = "z";
                } else h2.v = parseFloat(h2.v);
                break;
              case "s":
                if (void 0 === h2.v) {
                  if (!P2) continue;
                  h2.t = "z";
                } else d2 = Ic[parseInt(h2.v, 10)], h2.v = d2.t, h2.r = d2.r, i2.cellHTML && (h2.h = d2.h);
                break;
              case "str":
                h2.t = "s", h2.v = null != h2.v ? Dt(jt(h2.v), true) : "", i2.cellHTML && (h2.h = Wt(h2.v));
                break;
              case "inlineStr":
                w2 = ct(k2, "is"), h2.t = "s", null != w2 && (d2 = gi(w2[1])) ? (h2.v = d2.t, i2.cellHTML && (h2.h = d2.h)) : h2.v = "";
                break;
              case "b":
                h2.v = Ht(h2.v);
                break;
              case "d":
                i2.cellDates ? h2.v = Ve(h2.v, M2) : (h2.v = Le(Ve(h2.v, M2), M2), h2.t = "n");
                break;
              case "e":
                i2 && false === i2.cellText || (h2.w = h2.v), h2.v = vn[h2.v];
            }
            if (x2 = A2 = 0, m2 = null, C2 && void 0 !== u2.s && null != (m2 = l2.CellXf[u2.s]) && (null != m2.numFmtId && (x2 = m2.numFmtId), i2.cellStyles && null != m2.fillId && (A2 = m2.fillId)), Mc(h2, x2, A2, i2, c2, l2, M2), i2.cellDates && C2 && "n" == h2.t && he(W[x2]) && (h2.v = Ue(h2.v + (M2 ? 1462 : 0)), h2.t = "number" == typeof h2.v ? "n" : "d"), u2.cm && i2.xlmeta) {
              var X2 = (i2.xlmeta.Cell || [])[+u2.cm - 1];
              X2 && "XLDAPR" == X2.type && (h2.D = true);
            }
            var j2;
            i2.nodim && (j2 = ya(u2.r), o2.s.r > j2.r && (o2.s.r = j2.r), o2.e.r < j2.r && (o2.e.r = j2.r)), R2 ? (j2 = ya(u2.r), s2["!data"][j2.r] || (s2["!data"][j2.r] = []), s2["!data"][j2.r][j2.c] = h2) : s2[u2.r] = h2;
          }
        }
      }
    }
    N2.length > 0 && (s2["!rows"] = N2);
  };
}();
function qc(e2, t2, r2, a2) {
  var n2, s2 = [kt, rr("worksheet", null, { xmlns: wr[0], "xmlns:r": mr })], i2 = r2.SheetNames[e2], o2 = "", c2 = r2.Sheets[i2];
  null == c2 && (c2 = {});
  var l2 = c2["!ref"] || "A1", f2 = Aa(l2);
  if (f2.e.c > 16383 || f2.e.r > 1048575) {
    if (t2.WTF) throw new Error("Range " + l2 + " exceeds format limit A1:XFD1048576");
    f2.e.c = Math.min(f2.e.c, 16383), f2.e.r = Math.min(f2.e.c, 1048575), l2 = _a(f2);
  }
  a2 || (a2 = {}), c2["!comments"] = [];
  var h2 = [];
  !function(e3, t3, r3, a3, n3) {
    var s3 = false, i3 = {}, o3 = null;
    if ("xlsx" !== a3.bookType && t3.vbaraw) {
      var c3 = t3.SheetNames[r3];
      try {
        t3.Workbook && (c3 = t3.Workbook.Sheets[r3].CodeName || c3);
      } catch (e4) {
      }
      s3 = true, i3.codeName = Kt(Lt(c3));
    }
    if (e3 && e3["!outline"]) {
      var l3 = { summaryBelow: 1, summaryRight: 1 };
      e3["!outline"].above && (l3.summaryBelow = 0), e3["!outline"].left && (l3.summaryRight = 0), o3 = (o3 || "") + rr("outlinePr", null, l3);
    }
    (s3 || o3) && (n3[n3.length] = rr("sheetPr", o3, i3));
  }(c2, r2, e2, t2, s2), s2[s2.length] = rr("dimension", null, { ref: l2 }), s2[s2.length] = function(e3, t3, r3, a3) {
    var n3 = { workbookViewId: "0" };
    return (((a3 || {}).Workbook || {}).Views || [])[0] && (n3.rightToLeft = a3.Workbook.Views[0].RTL ? "1" : "0"), rr("sheetViews", rr("sheetView", null, n3), {});
  }(0, 0, 0, r2), t2.sheetFormat && (s2[s2.length] = rr("sheetFormatPr", null, { defaultRowHeight: t2.sheetFormat.defaultRowHeight || "16", baseColWidth: t2.sheetFormat.baseColWidth || "10", outlineLevelRow: t2.sheetFormat.outlineLevelRow || "7" })), null != c2["!cols"] && c2["!cols"].length > 0 && (s2[s2.length] = function(e3, t3) {
    for (var r3, a3 = ["<cols>"], n3 = 0; n3 != t3.length; ++n3) (r3 = t3[n3]) && (a3[a3.length] = rr("col", null, Fc(n3, r3)));
    return a3[a3.length] = "</cols>", a3.join("");
  }(0, c2["!cols"])), s2[n2 = s2.length] = "<sheetData/>", c2["!links"] = [], null != c2["!ref"] && (o2 = function(e3, t3, r3, a3) {
    var n3, s3, i3 = [], o3 = [], c3 = Aa(e3["!ref"]), l3 = "", f3 = "", h3 = [], u3 = 0, d3 = 0, p3 = e3["!rows"], m3 = null != e3["!data"], v2 = m3 ? e3["!data"] : [], g2 = { r: f3 }, b2 = -1, w2 = (((a3 || {}).Workbook || {}).WBProps || {}).date1904;
    for (d3 = c3.s.c; d3 <= c3.e.c; ++d3) h3[d3] = Ta(d3);
    for (u3 = c3.s.r; u3 <= c3.e.r; ++u3) {
      o3 = [], f3 = ba(u3);
      var T2 = m3 ? v2[u3] : [];
      for (d3 = c3.s.c; d3 <= c3.e.c; ++d3) {
        n3 = h3[d3] + f3;
        var y2 = m3 ? T2[d3] : e3[n3];
        void 0 !== y2 && null != (l3 = Zc(y2, n3, e3, t3, 0, 0, w2)) && o3.push(l3);
      }
      (o3.length > 0 || p3 && p3[u3]) && (g2 = { r: f3 }, p3 && p3[u3] && ((s3 = p3[u3]).hidden && (g2.hidden = 1), b2 = -1, s3.hpx ? b2 = Ki(s3.hpx) : s3.hpt && (b2 = s3.hpt), b2 > -1 && (g2.ht = b2, g2.customHeight = 1), s3.level && (g2.outlineLevel = s3.level)), i3[i3.length] = rr("row", o3.join(""), g2));
    }
    if (p3) for (; u3 < p3.length; ++u3) p3 && p3[u3] && (g2 = { r: u3 + 1 }, (s3 = p3[u3]).hidden && (g2.hidden = 1), b2 = -1, s3.hpx ? b2 = Ki(s3.hpx) : s3.hpt && (b2 = s3.hpt), b2 > -1 && (g2.ht = b2, g2.customHeight = 1), s3.level && (g2.outlineLevel = s3.level), i3[i3.length] = rr("row", "", g2));
    return i3.join("");
  }(c2, t2, 0, r2), o2.length > 0 && (s2[s2.length] = o2)), s2.length > n2 + 1 && (s2[s2.length] = "</sheetData>", s2[n2] = s2[n2].replace("/>", ">")), c2["!protect"] && (s2[s2.length] = function(e3) {
    var t3 = { sheet: 1 };
    return jc.forEach(function(r3) {
      null != e3[r3] && e3[r3] && (t3[r3] = "1");
    }), Kc.forEach(function(r3) {
      null == e3[r3] || e3[r3] || (t3[r3] = "0");
    }), e3.password && (t3.password = Ni(e3.password).toString(16).toUpperCase()), rr("sheetProtection", null, t3);
  }(c2["!protect"])), null != c2["!autofilter"] && (s2[s2.length] = function(e3, t3, r3, a3) {
    var n3 = "string" == typeof e3.ref ? e3.ref : _a(e3.ref);
    r3.Workbook || (r3.Workbook = { Sheets: [] }), r3.Workbook.Names || (r3.Workbook.Names = []);
    var s3 = r3.Workbook.Names, i3 = ka(n3);
    i3.s.r == i3.e.r && (i3.e.r = ka(t3["!ref"]).e.r, n3 = _a(i3));
    for (var o3 = 0; o3 < s3.length; ++o3) {
      var c3 = s3[o3];
      if ("_xlnm._FilterDatabase" == c3.Name && c3.Sheet == a3) {
        c3.Ref = xa(r3.SheetNames[a3]) + "!" + Sa(n3);
        break;
      }
    }
    return o3 == s3.length && s3.push({ Name: "_xlnm._FilterDatabase", Sheet: a3, Ref: "'" + r3.SheetNames[a3] + "'!" + n3 }), rr("autoFilter", null, { ref: n3 });
  }(c2["!autofilter"], c2, r2, e2)), null != c2["!merges"] && c2["!merges"].length > 0 && (s2[s2.length] = function(e3) {
    if (0 === e3.length) return "";
    for (var t3 = '<mergeCells count="' + e3.length + '">', r3 = 0; r3 != e3.length; ++r3) t3 += '<mergeCell ref="' + _a(e3[r3]) + '"/>';
    return t3 + "</mergeCells>";
  }(c2["!merges"]));
  var u2, d2, p2 = -1, m2 = -1;
  return c2["!links"].length > 0 && (s2[s2.length] = "<hyperlinks>", c2["!links"].forEach(function(e3) {
    e3[1].Target && (u2 = { ref: e3[0] }, "#" != e3[1].Target.charAt(0) && (m2 = Sn(a2, -1, Lt(e3[1].Target).replace(/#[\s\S]*$/, ""), yn.HLINK), u2["r:id"] = "rId" + m2), (p2 = e3[1].Target.indexOf("#")) > -1 && (u2.location = Lt(e3[1].Target.slice(p2 + 1))), e3[1].Tooltip && (u2.tooltip = Lt(e3[1].Tooltip)), u2.display = e3[1].display, s2[s2.length] = rr("hyperlink", null, u2));
  }), s2[s2.length] = "</hyperlinks>"), delete c2["!links"], null != c2["!margins"] && (s2[s2.length] = (Dc(d2 = c2["!margins"]), rr("pageMargins", null, d2))), t2 && !t2.ignoreEC && null != t2.ignoreEC || (s2[s2.length] = er("ignoredErrors", rr("ignoredError", null, { numberStoredAsText: 1, sqref: l2 }))), h2.length > 0 && (m2 = Sn(a2, -1, "../drawings/drawing" + (e2 + 1) + ".xml", yn.DRAW), s2[s2.length] = rr("drawing", null, { "r:id": "rId" + m2 }), c2["!drawing"] = h2), c2["!comments"].length > 0 && (m2 = Sn(a2, -1, "../drawings/vmlDrawing" + (e2 + 1) + ".vml", yn.VML), s2[s2.length] = rr("legacyDrawing", null, { "r:id": "rId" + m2 }), c2["!legacy"] = m2), s2.length > 1 && (s2[s2.length] = "</worksheet>", s2[1] = s2[1].replace("/>", ">")), s2.join("");
}
function Qc(e2, t2, r2, a2) {
  var n2 = function(e3, t3, r3) {
    var a3 = la(145), n3 = (r3["!rows"] || [])[e3] || {};
    a3.write_shift(4, e3), a3.write_shift(4, 0);
    var s2 = 320;
    n3.hpx ? s2 = 20 * Ki(n3.hpx) : n3.hpt && (s2 = 20 * n3.hpt), a3.write_shift(2, s2), a3.write_shift(1, 0);
    var i2 = 0;
    n3.level && (i2 |= n3.level), n3.hidden && (i2 |= 16), (n3.hpx || n3.hpt) && (i2 |= 32), a3.write_shift(1, i2), a3.write_shift(1, 0);
    var o2 = 0, c2 = a3.l;
    a3.l += 4;
    for (var l2 = { r: e3, c: 0 }, f2 = null != r3["!data"], h2 = 0; h2 < 16; ++h2) if (!(t3.s.c > h2 + 1 << 10 || t3.e.c < h2 << 10)) {
      for (var u2 = -1, d2 = -1, p2 = h2 << 10; p2 < h2 + 1 << 10; ++p2) l2.c = p2, (f2 ? (r3["!data"][l2.r] || [])[l2.c] : r3[Ea(l2)]) && (u2 < 0 && (u2 = p2), d2 = p2);
      u2 < 0 || (++o2, a3.write_shift(4, u2), a3.write_shift(4, d2));
    }
    var m2 = a3.l;
    return a3.l = c2, a3.write_shift(4, o2), a3.l = m2, a3.length > a3.l ? a3.slice(0, a3.l) : a3;
  }(a2, r2, t2);
  (n2.length > 17 || (t2["!rows"] || [])[a2]) && ua(e2, 0, n2);
}
var el = en, tl = tn;
function rl(e2, t2, r2) {
  return null == r2 && (r2 = la(9)), za(t2, r2), r2.write_shift(1, e2.v), r2;
}
function al(e2, t2, r2) {
  return null == r2 && (r2 = la(8)), Va(t2, r2), r2.write_shift(1, e2.v), r2.write_shift(2, 0), r2.write_shift(1, 0), r2;
}
function nl(e2) {
  return [Ha(e2), rn(e2), "n"];
}
var sl = en, il = tn;
var ol = ["left", "right", "top", "bottom", "header", "footer"];
function cl(e2, t2, r2, a2, n2, s2, i2, o2) {
  var c2 = { r: r2, c: a2 };
  if (t2.c && s2["!comments"].push([Ea(c2), t2.c]), void 0 === t2.v) return false;
  var l2 = "";
  switch (t2.t) {
    case "b":
      l2 = t2.v ? "1" : "0";
      break;
    case "d":
      (t2 = Ge(t2)).z = t2.z || W[14], t2.v = Le(Ve(t2.v, o2), o2), t2.t = "n";
      break;
    case "n":
    case "e":
      l2 = "" + t2.v;
      break;
    default:
      l2 = t2.v;
  }
  switch (c2.s = Pc(n2.cellXfs, t2, n2), t2.l && s2["!links"].push([Ea(c2), t2.l]), t2.t) {
    case "s":
    case "str":
      return n2.bookSST ? (l2 = Nc(n2.Strings, null == t2.v ? "" : String(t2.v), n2.revStrings), c2.t = "s", c2.v = l2, i2 ? ua(e2, 18, function(e3, t3, r3) {
        return null == r3 && (r3 = la(8)), Va(t3, r3), r3.write_shift(4, t3.v), r3;
      }(0, c2)) : ua(e2, 7, function(e3, t3, r3) {
        return null == r3 && (r3 = la(12)), za(t3, r3), r3.write_shift(4, t3.v), r3;
      }(0, c2))) : (c2.t = "str", i2 ? ua(e2, 17, function(e3, t3, r3) {
        var a3 = null == e3.v ? "" : String(e3.v);
        return null == r3 && (r3 = la(8 + 4 * a3.length)), Va(t3, r3), Pa(a3, r3), r3.length > r3.l ? r3.slice(0, r3.l) : r3;
      }(t2, c2)) : ua(e2, 6, function(e3, t3, r3) {
        var a3 = null == e3.v ? "" : String(e3.v);
        return null == r3 && (r3 = la(12 + 4 * e3.v.length)), za(t3, r3), Pa(a3, r3), r3.length > r3.l ? r3.slice(0, r3.l) : r3;
      }(t2, c2))), true;
    case "n":
      return t2.v == (0 | t2.v) && t2.v > -1e3 && t2.v < 1e3 ? i2 ? ua(e2, 13, function(e3, t3, r3) {
        return null == r3 && (r3 = la(8)), Va(t3, r3), qa(e3.v, r3), r3;
      }(t2, c2)) : ua(e2, 2, function(e3, t3, r3) {
        return null == r3 && (r3 = la(12)), za(t3, r3), qa(e3.v, r3), r3;
      }(t2, c2)) : isFinite(t2.v) ? i2 ? ua(e2, 16, function(e3, t3, r3) {
        return null == r3 && (r3 = la(12)), Va(t3, r3), an(e3.v, r3), r3;
      }(t2, c2)) : ua(e2, 5, function(e3, t3, r3) {
        return null == r3 && (r3 = la(16)), za(t3, r3), an(e3.v, r3), r3;
      }(t2, c2)) : (c2.t = "e", isNaN(t2.v) ? i2 ? ua(e2, 14, al({ v: 36 }, c2)) : ua(e2, 3, rl({ v: 36 }, c2)) : i2 ? ua(e2, 14, al({ v: 7 }, c2)) : ua(e2, 3, rl({ v: 7 }, c2))), true;
    case "b":
      return c2.t = "b", i2 ? ua(e2, 15, function(e3, t3, r3) {
        return null == r3 && (r3 = la(5)), Va(t3, r3), r3.write_shift(1, e3.v ? 1 : 0), r3;
      }(t2, c2)) : ua(e2, 4, function(e3, t3, r3) {
        return null == r3 && (r3 = la(9)), za(t3, r3), r3.write_shift(1, e3.v ? 1 : 0), r3;
      }(t2, c2)), true;
    case "e":
      return c2.t = "e", i2 ? ua(e2, 14, al(t2, c2)) : ua(e2, 3, rl(t2, c2)), true;
  }
  return i2 ? ua(e2, 12, function(e3, t3, r3) {
    return null == r3 && (r3 = la(4)), Va(t3, r3);
  }(0, c2)) : ua(e2, 1, function(e3, t3, r3) {
    return null == r3 && (r3 = la(8)), za(t3, r3);
  }(0, c2)), true;
}
function ll(e2, t2) {
  var r2, a2;
  t2 && t2["!merges"] && (ua(e2, 177, (r2 = t2["!merges"].length, null == a2 && (a2 = la(4)), a2.write_shift(4, r2), a2)), t2["!merges"].forEach(function(t3) {
    ua(e2, 176, il(t3));
  }), ua(e2, 178));
}
function fl(e2, t2) {
  t2 && t2["!cols"] && (ua(e2, 390), t2["!cols"].forEach(function(t3, r2) {
    t3 && ua(e2, 60, function(e3, t4, r3) {
      null == r3 && (r3 = la(18));
      var a2 = Fc(e3, t4);
      r3.write_shift(-4, e3), r3.write_shift(-4, e3), r3.write_shift(4, 256 * (a2.width || 10)), r3.write_shift(4, 0);
      var n2 = 0;
      return t4.hidden && (n2 |= 1), "number" == typeof a2.width && (n2 |= 2), t4.level && (n2 |= t4.level << 8), r3.write_shift(2, n2), r3;
    }(r2, t3));
  }), ua(e2, 391));
}
function hl(e2, t2) {
  var r2, a2;
  t2 && t2["!ref"] && (ua(e2, 648), ua(e2, 649, (r2 = Aa(t2["!ref"]), (a2 = la(24)).write_shift(4, 4), a2.write_shift(4, 1), tn(r2, a2), a2)), ua(e2, 650));
}
function ul(e2, t2, r2) {
  t2["!links"].forEach(function(t3) {
    if (t3[1].Target) {
      var a2 = Sn(r2, -1, t3[1].Target.replace(/#[\s\S]*$/, ""), yn.HLINK);
      ua(e2, 494, function(e3, t4) {
        var r3 = la(50 + 4 * (e3[1].Target.length + (e3[1].Tooltip || "").length));
        tn({ s: ya(e3[0]), e: ya(e3[0]) }, r3), Za("rId" + t4, r3);
        var a3 = e3[1].Target.indexOf("#");
        return Pa((-1 == a3 ? "" : e3[1].Target.slice(a3 + 1)) || "", r3), Pa(e3[1].Tooltip || "", r3), Pa("", r3), r3.slice(0, r3.l);
      }(t3, a2));
    }
  }), delete t2["!links"];
}
function dl(e2, t2, r2) {
  ua(e2, 133), ua(e2, 137, function(e3, t3, r3) {
    null == r3 && (r3 = la(30));
    var a2 = 924;
    return (((t3 || {}).Views || [])[0] || {}).RTL && (a2 |= 32), r3.write_shift(2, a2), r3.write_shift(4, 0), r3.write_shift(4, 0), r3.write_shift(4, 0), r3.write_shift(1, 0), r3.write_shift(1, 0), r3.write_shift(2, 0), r3.write_shift(2, 100), r3.write_shift(2, 0), r3.write_shift(2, 0), r3.write_shift(2, 0), r3.write_shift(4, 0), r3;
  }(0, r2)), ua(e2, 138), ua(e2, 134);
}
function pl(e2, t2) {
  var r2, a2;
  t2["!protect"] && ua(e2, 535, (r2 = t2["!protect"], null == a2 && (a2 = la(66)), a2.write_shift(2, r2.password ? Ni(r2.password) : 0), a2.write_shift(4, 1), [["objects", false], ["scenarios", false], ["formatCells", true], ["formatColumns", true], ["formatRows", true], ["insertColumns", true], ["insertRows", true], ["insertHyperlinks", true], ["deleteColumns", true], ["deleteRows", true], ["selectLockedCells", false], ["sort", true], ["autoFilter", true], ["pivotTables", true], ["selectUnlockedCells", false]].forEach(function(e3) {
    e3[1] ? a2.write_shift(4, null == r2[e3[0]] || r2[e3[0]] ? 0 : 1) : a2.write_shift(4, null != r2[e3[0]] && r2[e3[0]] ? 0 : 1);
  }), a2));
}
function ml(e2, t2, r2, a2) {
  var n2 = ha(), s2 = r2.SheetNames[e2], i2 = r2.Sheets[s2] || {}, o2 = s2;
  try {
    r2 && r2.Workbook && (o2 = r2.Workbook.Sheets[e2].CodeName || o2);
  } catch (e3) {
  }
  var c2, l2, f2 = Aa(i2["!ref"] || "A1");
  if (f2.e.c > 16383 || f2.e.r > 1048575) {
    if (t2.WTF) throw new Error("Range " + (i2["!ref"] || "A1") + " exceeds format limit A1:XFD1048576");
    f2.e.c = Math.min(f2.e.c, 16383), f2.e.r = Math.min(f2.e.c, 1048575);
  }
  return i2["!links"] = [], i2["!comments"] = [], ua(n2, 129), (r2.vbaraw || i2["!outline"]) && ua(n2, 147, function(e3, t3, r3) {
    null == r3 && (r3 = la(84 + 4 * e3.length));
    var a3 = 192;
    t3 && (t3.above && (a3 &= -65), t3.left && (a3 &= -129)), r3.write_shift(1, a3);
    for (var n3 = 1; n3 < 3; ++n3) r3.write_shift(1, 0);
    return nn({ auto: 1 }, r3), r3.write_shift(-4, -1), r3.write_shift(-4, -1), Ga(e3, r3), r3.slice(0, r3.l);
  }(o2, i2["!outline"])), ua(n2, 148, tl(f2)), dl(n2, 0, r2.Workbook), fl(n2, i2), function(e3, t3, r3, a3, n3) {
    var s3 = Aa(t3["!ref"] || "A1"), i3 = "", o3 = [], c3 = (((n3 || {}).Workbook || {}).WBProps || {}).date1904;
    ua(e3, 145);
    var l3 = null != t3["!data"], f3 = l3 ? t3["!data"][s3.s.r] : [], h2 = s3.e.r;
    t3["!rows"] && (h2 = Math.max(s3.e.r, t3["!rows"].length - 1));
    for (var u2 = s3.s.r; u2 <= h2; ++u2) if (i3 = ba(u2), l3 && (f3 = t3["!data"][u2]), Qc(e3, t3, s3, u2), !l3 || f3) {
      var d2 = false;
      if (u2 <= s3.e.r) for (var p2 = s3.s.c; p2 <= s3.e.c; ++p2) {
        u2 === s3.s.r && (o3[p2] = Ta(p2));
        var m2 = l3 ? f3[p2] : t3[o3[p2] + i3];
        d2 = !!m2 && cl(e3, m2, u2, p2, a3, t3, d2, c3);
      }
    }
    ua(e3, 146);
  }(n2, i2, 0, t2, r2), pl(n2, i2), function(e3, t3, r3, a3) {
    if (t3["!autofilter"]) {
      var n3 = t3["!autofilter"], s3 = "string" == typeof n3.ref ? n3.ref : _a(n3.ref);
      r3.Workbook || (r3.Workbook = { Sheets: [] }), r3.Workbook.Names || (r3.Workbook.Names = []);
      var i3 = r3.Workbook.Names, o3 = ka(s3);
      o3.s.r == o3.e.r && (o3.e.r = ka(t3["!ref"]).e.r, s3 = _a(o3));
      for (var c3 = 0; c3 < i3.length; ++c3) {
        var l3 = i3[c3];
        if ("_xlnm._FilterDatabase" == l3.Name && l3.Sheet == a3) {
          l3.Ref = xa(r3.SheetNames[a3]) + "!" + Sa(s3);
          break;
        }
      }
      c3 == i3.length && i3.push({ Name: "_xlnm._FilterDatabase", Sheet: a3, Ref: xa(r3.SheetNames[a3]) + "!" + Sa(s3) }), ua(e3, 161, tn(Aa(s3))), ua(e3, 162);
    }
  }(n2, i2, r2, e2), ll(n2, i2), ul(n2, i2, a2), i2["!margins"] && ua(n2, 476, (c2 = i2["!margins"], null == l2 && (l2 = la(48)), Dc(c2), ol.forEach(function(e3) {
    an(c2[e3], l2);
  }), l2)), t2 && !t2.ignoreEC && null != t2.ignoreEC || hl(n2, i2), function(e3, t3, r3, a3) {
    if (t3["!comments"].length > 0) {
      var n3 = Sn(a3, -1, "../drawings/vmlDrawing" + (r3 + 1) + ".vml", yn.VML);
      ua(e3, 551, Za("rId" + n3)), t3["!legacy"] = n3;
    }
  }(n2, i2, e2, a2), ua(n2, 130), n2.end();
}
function vl(e2, t2, r2, a2, n2, s2) {
  var i2 = s2 || { "!type": "chart" };
  if (!e2) return s2;
  var o2 = 0, c2 = 0, l2 = "A", f2 = { s: { r: 2e6, c: 2e6 }, e: { r: 0, c: 0 } };
  return (nt(e2, "<c:numCache>", "</c:numCache>") || []).forEach(function(e3) {
    var t3 = function(e4) {
      var t4, r3 = [], a3 = e4.match(/^<c:numCache>/);
      (e4.match(/<c:pt idx="(\d*)"[^<>\/]*><c:v>([^<])<\/c:v><\/c:pt>/gm) || []).forEach(function(e5) {
        var t5 = e5.match(/<c:pt idx="(\d*)"[^<>\/]*><c:v>([^<]*)<\/c:v><\/c:pt>/);
        t5 && (r3[+t5[1]] = a3 ? +t5[2] : t5[2]);
      });
      var n3 = Dt((ot(e4, "c:formatCode") || ["", "General"])[1]);
      return (nt(e4, "<c:f>", "</c:f>") || []).forEach(function(e5) {
        t4 = e5.replace(/<[^<>]*>/g, "");
      }), [r3, n3, t4];
    }(e3);
    f2.s.r = f2.s.c = 0, f2.e.c = o2, l2 = Ta(o2), t3[0].forEach(function(e4, r3) {
      i2["!data"] ? (i2["!data"][r3] || (i2["!data"][r3] = []), i2["!data"][r3][o2] = { t: "n", v: e4, z: t3[1] }) : i2[l2 + ba(r3)] = { t: "n", v: e4, z: t3[1] }, c2 = r3;
    }), f2.e.r < c2 && (f2.e.r = c2), ++o2;
  }), o2 > 0 && (i2["!ref"] = _a(f2)), i2;
}
var gl = [["allowRefreshQuery", false, "bool"], ["autoCompressPictures", true, "bool"], ["backupFile", false, "bool"], ["checkCompatibility", false, "bool"], ["CodeName", ""], ["date1904", false, "bool"], ["defaultThemeVersion", 0, "int"], ["filterPrivacy", false, "bool"], ["hidePivotFieldList", false, "bool"], ["promptedSolutions", false, "bool"], ["publishItems", false, "bool"], ["refreshAllConnections", false, "bool"], ["saveExternalLinkValues", true, "bool"], ["showBorderUnselectedTables", true, "bool"], ["showInkAnnotation", true, "bool"], ["showObjects", "all"], ["showPivotChartFilter", false, "bool"], ["updateLinks", "userSet"]], bl = [["activeTab", 0, "int"], ["autoFilterDateGrouping", true, "bool"], ["firstSheet", 0, "int"], ["minimized", false, "bool"], ["showHorizontalScroll", true, "bool"], ["showSheetTabs", true, "bool"], ["showVerticalScroll", true, "bool"], ["tabRatio", 600, "int"], ["visibility", "visible"]], wl = [], Tl = [["calcCompleted", "true"], ["calcMode", "auto"], ["calcOnSave", "true"], ["concurrentCalc", "true"], ["fullCalcOnLoad", "false"], ["fullPrecision", "true"], ["iterate", "false"], ["iterateCount", "100"], ["iterateDelta", "0.001"], ["refMode", "A1"]];
function yl(e2, t2) {
  for (var r2 = 0; r2 != e2.length; ++r2) for (var a2 = e2[r2], n2 = 0; n2 != t2.length; ++n2) {
    var s2 = t2[n2];
    if (null == a2[s2[0]]) a2[s2[0]] = s2[1];
    else switch (s2[2]) {
      case "bool":
        "string" == typeof a2[s2[0]] && (a2[s2[0]] = Ht(a2[s2[0]]));
        break;
      case "int":
        "string" == typeof a2[s2[0]] && (a2[s2[0]] = parseInt(a2[s2[0]], 10));
    }
  }
}
function El(e2, t2) {
  for (var r2 = 0; r2 != t2.length; ++r2) {
    var a2 = t2[r2];
    if (null == e2[a2[0]]) e2[a2[0]] = a2[1];
    else switch (a2[2]) {
      case "bool":
        "string" == typeof e2[a2[0]] && (e2[a2[0]] = Ht(e2[a2[0]]));
        break;
      case "int":
        "string" == typeof e2[a2[0]] && (e2[a2[0]] = parseInt(e2[a2[0]], 10));
    }
  }
}
function kl(e2) {
  El(e2.WBProps, gl), El(e2.CalcPr, Tl), yl(e2.WBView, bl), yl(e2.Sheets, wl), Oc.date1904 = Ht(e2.WBProps.date1904);
}
var _l = ":][*?/\\".split("");
function Sl(e2, t2) {
  try {
    if ("" == e2) throw new Error("Sheet name cannot be blank");
    if (e2.length > 31) throw new Error("Sheet name cannot exceed 31 chars");
    if (39 == e2.charCodeAt(0) || 39 == e2.charCodeAt(e2.length - 1)) throw new Error("Sheet name cannot start or end with apostrophe (')");
    if ("history" == e2.toLowerCase()) throw new Error("Sheet name cannot be 'History'");
    _l.forEach(function(t3) {
      if (-1 != e2.indexOf(t3)) throw new Error("Sheet name cannot contain : \\ / ? * [ ]");
    });
  } catch (e3) {
    throw e3;
  }
  return true;
}
function xl(e2) {
  if (!e2 || !e2.SheetNames || !e2.Sheets) throw new Error("Invalid Workbook");
  if (!e2.SheetNames.length) throw new Error("Workbook is empty");
  var t2, r2, a2, n2 = e2.Workbook && e2.Workbook.Sheets || [];
  t2 = e2.SheetNames, r2 = n2, a2 = !!e2.vbaraw, t2.forEach(function(e3, n3) {
    Sl(e3);
    for (var s3 = 0; s3 < n3; ++s3) if (e3 == t2[s3]) throw new Error("Duplicate Sheet Name: " + e3);
    if (a2) {
      var i2 = r2 && r2[n3] && r2[n3].CodeName || e3;
      if (95 == i2.charCodeAt(0) && i2.length > 22) throw new Error("Bad Code Name: Worksheet" + i2);
    }
  });
  for (var s2 = 0; s2 < e2.SheetNames.length; ++s2) Lc(e2.Sheets[e2.SheetNames[s2]], e2.SheetNames[s2], s2);
  e2.SheetNames.forEach(function(t3, r3) {
    var a3 = e2.Sheets[t3];
    if (a3 && a3["!autofilter"]) {
      var n3;
      e2.Workbook || (e2.Workbook = {}), e2.Workbook.Names || (e2.Workbook.Names = []), e2.Workbook.Names.forEach(function(e3) {
        "_xlnm._FilterDatabase" == e3.Name && e3.Sheet == r3 && (n3 = e3);
      });
      var s3 = xa(t3) + "!" + Sa(a3["!autofilter"].ref);
      n3 ? n3.Ref = s3 : e2.Workbook.Names.push({ Name: "_xlnm._FilterDatabase", Sheet: r3, Ref: s3 });
    }
  });
}
var Al = /<\w+:workbook/;
function Cl(e2, t2) {
  return t2 || (t2 = la(127)), t2.write_shift(4, e2.Hidden), t2.write_shift(4, e2.iTabID), Za(e2.strRelID, t2), Pa(e2.name.slice(0, 31), t2), t2.length > t2.l ? t2.slice(0, t2.l) : t2;
}
function Il(e2, t2) {
  var r2 = {};
  return e2.read_shift(4), r2.ArchID = e2.read_shift(4), e2.l += t2 - 8, r2;
}
function Ol(e2, t2) {
  if (t2.Workbook && t2.Workbook.Sheets) {
    for (var r2, a2, n2 = t2.Workbook.Sheets, s2 = 0, i2 = -1, o2 = -1; s2 < n2.length; ++s2) !n2[s2] || !n2[s2].Hidden && -1 == i2 ? i2 = s2 : 1 == n2[s2].Hidden && -1 == o2 && (o2 = s2);
    if (!(o2 > i2)) ua(e2, 135), ua(e2, 158, (r2 = i2, a2 || (a2 = la(29)), a2.write_shift(-4, 0), a2.write_shift(-4, 460), a2.write_shift(4, 28800), a2.write_shift(4, 17600), a2.write_shift(4, 500), a2.write_shift(4, r2), a2.write_shift(4, r2), a2.write_shift(1, 120), a2.length > a2.l ? a2.slice(0, a2.l) : a2)), ua(e2, 136);
  }
}
function Rl(e2, t2) {
  t2.Workbook && t2.Workbook.Names && t2.Workbook.Names.forEach(function(r2) {
    try {
      if (14 & r2.Flags) return;
      ua(e2, 39, function(e3, t3) {
        var r3 = la(9), a2 = 0, n2 = e3.Name;
        gn.indexOf(n2) > -1 && (a2 |= 32, n2 = n2.slice(6)), r3.write_shift(4, a2), r3.write_shift(1, 0), r3.write_shift(4, null == e3.Sheet ? 4294967295 : e3.Sheet);
        var s2 = [r3, Pa(n2), yc(e3.Ref, t3)];
        if (e3.Comment) s2.push(ja(e3.Comment));
        else {
          var i2 = la(4);
          i2.write_shift(4, 4294967295), s2.push(i2);
        }
        return C(s2);
      }(r2, t2));
    } catch (e3) {
      console.error("Could not serialize defined name " + JSON.stringify(r2));
    }
  });
}
function Nl(e2, t2) {
  ua(e2, 353), ua(e2, 357), ua(e2, 362, function(e3) {
    var t3 = e3.SheetNames.length, r2 = la(12 * t3 + 28);
    r2.write_shift(4, t3 + 2), r2.write_shift(4, 0), r2.write_shift(4, -2), r2.write_shift(4, -2), r2.write_shift(4, 0), r2.write_shift(4, -1), r2.write_shift(4, -1);
    for (var a2 = 0; a2 < t3; ++a2) r2.write_shift(4, 0), r2.write_shift(4, a2), r2.write_shift(4, a2);
    return r2;
  }(t2)), ua(e2, 354);
}
function Fl(e2, r2) {
  var a2 = ha();
  return ua(a2, 131), ua(a2, 128, function(e3, r3) {
    r3 || (r3 = la(127));
    for (var a3 = 0; 4 != a3; ++a3) r3.write_shift(4, 0);
    return Pa("SheetJS", r3), Pa(t.version, r3), Pa(t.version, r3), Pa("7262", r3), r3.length > r3.l ? r3.slice(0, r3.l) : r3;
  }()), ua(a2, 153, function(e3, t2) {
    t2 || (t2 = la(72));
    var r3 = 0;
    return e3 && (e3.date1904 && (r3 |= 1), e3.filterPrivacy && (r3 |= 8)), t2.write_shift(4, r3), t2.write_shift(4, 0), Ga(e3 && e3.CodeName || "ThisWorkbook", t2), t2.slice(0, t2.l);
  }(e2.Workbook && e2.Workbook.WBProps || null)), Ol(a2, e2), function(e3, t2) {
    ua(e3, 143);
    for (var r3 = 0; r3 != t2.SheetNames.length; ++r3) ua(e3, 156, Cl({ Hidden: t2.Workbook && t2.Workbook.Sheets && t2.Workbook.Sheets[r3] && t2.Workbook.Sheets[r3].Hidden || 0, iTabID: r3 + 1, strRelID: "rId" + (r3 + 1), name: t2.SheetNames[r3] }));
    ua(e3, 144);
  }(a2, e2), Nl(a2, e2), (e2.Workbook || {}).Names && Rl(a2, e2), ua(a2, 132), a2.end();
}
function Dl(e2, t2, r2) {
  return ".bin" === t2.slice(-4) ? function(e3, t3) {
    var r3 = { AppVersion: {}, WBProps: {}, WBView: [], Sheets: [], CalcPr: {}, xmlns: "" }, a2 = [], n2 = false;
    t3 || (t3 = {}), t3.biff = 12;
    var s2 = [], i2 = [[]];
    return i2.SheetNames = [], i2.XTI = [], _f[16] = { n: "BrtFRTArchID$", f: Il }, fa(e3, function(e4, o2, c2) {
      switch (c2) {
        case 156:
          i2.SheetNames.push(e4.name), r3.Sheets.push(e4);
          break;
        case 153:
          r3.WBProps = e4;
          break;
        case 39:
          null != e4.Sheet && (t3.SID = e4.Sheet), e4.Ref = e4.Ptg ? fc(e4.Ptg, 0, null, i2, t3) : "#REF!", delete t3.SID, delete e4.Ptg, s2.push(e4);
          break;
        case 1036:
        case 361:
        case 2071:
        case 158:
        case 143:
        case 664:
        case 353:
        case 3072:
        case 3073:
        case 534:
        case 677:
        case 157:
        case 610:
        case 2050:
        case 155:
        case 548:
        case 676:
        case 128:
        case 665:
        case 2128:
        case 2125:
        case 549:
        case 2053:
        case 596:
        case 2076:
        case 2075:
        case 2082:
        case 397:
        case 154:
        case 1117:
        case 553:
        case 2091:
        case 16:
          break;
        case 357:
        case 358:
        case 355:
        case 667:
          i2[0].length ? i2.push([c2, e4]) : i2[0] = [c2, e4], i2[i2.length - 1].XTI = [];
          break;
        case 362:
          0 === i2.length && (i2[0] = [], i2[0].XTI = []), i2[i2.length - 1].XTI = i2[i2.length - 1].XTI.concat(e4), i2.XTI = i2.XTI.concat(e4);
          break;
        case 35:
        case 37:
          a2.push(c2), n2 = true;
          break;
        case 36:
        case 38:
          a2.pop(), n2 = false;
          break;
        default:
          if (o2.T) ;
          else if (!n2 || t3.WTF && 37 != a2[a2.length - 1] && 35 != a2[a2.length - 1]) throw new Error("Unexpected record 0x" + c2.toString(16));
      }
    }, t3), kl(r3), r3.Names = s2, r3.supbooks = i2, r3;
  }(e2, r2) : function(e3, t3) {
    if (!e3) throw new Error("Could not find file");
    var r3 = { AppVersion: {}, WBProps: {}, WBView: [], Sheets: [], CalcPr: {}, Names: [], xmlns: "" }, a2 = false, n2 = "xmlns", s2 = {}, i2 = 0;
    if (e3.replace(xt, function(o2, c2) {
      var l2 = It(o2);
      switch (Rt(l2[0])) {
        case "<?xml":
        case "</workbook>":
        case "<fileVersion/>":
        case "</fileVersion>":
        case "<fileSharing":
        case "<fileSharing/>":
        case "</workbookPr>":
        case "<workbookProtection":
        case "<workbookProtection/>":
        case "<bookViews":
        case "<bookViews>":
        case "</bookViews>":
        case "</workbookView>":
        case "<sheets":
        case "<sheets>":
        case "</sheets>":
        case "</sheet>":
        case "<functionGroups":
        case "<functionGroups/>":
        case "<functionGroup":
        case "<externalReferences":
        case "</externalReferences>":
        case "<externalReferences>":
        case "<externalReference":
        case "<definedNames/>":
        case "<definedName/>":
        case "</calcPr>":
        case "<oleSize":
        case "<customWorkbookViews>":
        case "</customWorkbookViews>":
        case "<customWorkbookViews":
        case "<customWorkbookView":
        case "</customWorkbookView>":
        case "<pivotCaches>":
        case "</pivotCaches>":
        case "<pivotCaches":
        case "<pivotCache":
        case "<smartTagPr":
        case "<smartTagPr/>":
        case "<smartTagTypes":
        case "<smartTagTypes>":
        case "</smartTagTypes>":
        case "<smartTagType":
        case "<webPublishing":
        case "<webPublishing/>":
        case "<fileRecoveryPr":
        case "<fileRecoveryPr/>":
        case "<webPublishObjects>":
        case "<webPublishObjects":
        case "</webPublishObjects>":
        case "<webPublishObject":
        case "<extLst":
        case "<extLst>":
        case "</extLst>":
        case "<extLst/>":
        case "<ArchID":
        case "<revisionPtr":
          break;
        case "<workbook":
          o2.match(Al) && (n2 = "xmlns" + o2.match(/<(\w+):/)[1]), r3.xmlns = l2[n2];
          break;
        case "<fileVersion":
          delete l2[0], r3.AppVersion = l2;
          break;
        case "<workbookPr":
        case "<workbookPr/>":
          gl.forEach(function(e4) {
            if (null != l2[e4[0]]) switch (e4[2]) {
              case "bool":
                r3.WBProps[e4[0]] = Ht(l2[e4[0]]);
                break;
              case "int":
                r3.WBProps[e4[0]] = parseInt(l2[e4[0]], 10);
                break;
              default:
                r3.WBProps[e4[0]] = l2[e4[0]];
            }
          }), l2.codeName && (r3.WBProps.CodeName = jt(l2.codeName));
          break;
        case "<workbookView":
        case "<workbookView/>":
          delete l2[0], r3.WBView.push(l2);
          break;
        case "<sheet":
          switch (l2.state) {
            case "hidden":
              l2.Hidden = 1;
              break;
            case "veryHidden":
              l2.Hidden = 2;
              break;
            default:
              l2.Hidden = 0;
          }
          delete l2.state, l2.name = Dt(jt(l2.name)), delete l2[0], r3.Sheets.push(l2);
          break;
        case "<definedNames>":
        case "<definedNames":
        case "<ext":
        case "<AlternateContent":
        case "<AlternateContent>":
          a2 = true;
          break;
        case "</definedNames>":
        case "</ext>":
        case "</AlternateContent>":
          a2 = false;
          break;
        case "<definedName":
          (s2 = {}).Name = jt(l2.name), l2.comment && (s2.Comment = l2.comment), l2.localSheetId && (s2.Sheet = +l2.localSheetId), Ht(l2.hidden || "0") && (s2.Hidden = true), i2 = c2 + o2.length;
          break;
        case "</definedName>":
          s2.Ref = Dt(jt(e3.slice(i2, c2))), r3.Names.push(s2);
          break;
        case "<calcPr":
        case "<calcPr/>":
          delete l2[0], r3.CalcPr = l2;
          break;
        default:
          if (!a2 && t3.WTF) throw new Error("unrecognized " + l2[0] + " in workbook");
      }
      return o2;
    }), -1 === wr.indexOf(r3.xmlns)) throw new Error("Unknown Namespace: " + r3.xmlns);
    return kl(r3), r3;
  }(e2, r2);
}
function Pl(e2, t2, r2, a2, n2, s2, i2, o2) {
  return ".bin" === t2.slice(-4) ? function(e3, t3, r3, a3, n3, s3, i3) {
    if (!e3) return e3;
    var o3 = t3 || {};
    a3 || (a3 = { "!id": {} });
    var c2, l2 = {};
    o3.dense && (l2["!data"] = []);
    var f2, h2, u2, d2, p2, m2, v2, g2, b2, w2 = { s: { r: 2e6, c: 2e6 }, e: { r: 0, c: 0 } }, T2 = false, y2 = false, E2 = [];
    o3.biff = 12, o3["!row"] = 0;
    var k2 = 0, _2 = false, S2 = [], x2 = {}, A2 = o3.supbooks || n3.supbooks || [[]];
    if (A2.sharedf = x2, A2.arrayf = S2, A2.SheetNames = n3.SheetNames || n3.Sheets.map(function(e4) {
      return e4.name;
    }), !o3.supbooks && (o3.supbooks = A2, n3.Names)) for (var C2 = 0; C2 < n3.Names.length; ++C2) A2[0][C2 + 1] = n3.Names[C2];
    var I2, O2 = [], R2 = [], N2 = false;
    _f[16] = { n: "BrtShortReal", f: nl };
    var F2 = 1462 * +!!((n3 || {}).WBProps || {}).date1904;
    if (fa(e3, function(e4, t4, C3) {
      if (!y2) switch (C3) {
        case 148:
          c2 = e4;
          break;
        case 0:
          f2 = e4, o3.sheetRows && o3.sheetRows <= f2.r && (y2 = true), g2 = ba(d2 = f2.r), o3["!row"] = f2.r, (e4.hidden || e4.hpt || null != e4.level) && (e4.hpt && (e4.hpx = Yi(e4.hpt)), R2[e4.r] = e4);
          break;
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
        case 10:
        case 11:
        case 13:
        case 14:
        case 15:
        case 16:
        case 17:
        case 18:
        case 62:
          switch (h2 = { t: e4[2] }, e4[2]) {
            case "n":
              h2.v = e4[1];
              break;
            case "s":
              v2 = Ic[e4[1]], h2.v = v2.t, h2.r = v2.r;
              break;
            case "b":
              h2.v = !!e4[1];
              break;
            case "e":
              h2.v = e4[1], false !== o3.cellText && (h2.w = mn[h2.v]);
              break;
            case "str":
              h2.t = "s", h2.v = e4[1];
              break;
            case "is":
              h2.t = "s", h2.v = e4[1].t;
          }
          if ((u2 = i3.CellXf[e4[0].iStyleRef]) && Mc(h2, u2.numFmtId, null, o3, s3, i3, F2 > 0), p2 = -1 == e4[0].c ? p2 + 1 : e4[0].c, o3.dense ? (l2["!data"][d2] || (l2["!data"][d2] = []), l2["!data"][d2][p2] = h2) : l2[Ta(p2) + g2] = h2, o3.cellFormula) {
            for (_2 = false, k2 = 0; k2 < S2.length; ++k2) {
              var D3 = S2[k2];
              f2.r >= D3[0].s.r && f2.r <= D3[0].e.r && p2 >= D3[0].s.c && p2 <= D3[0].e.c && (h2.F = _a(D3[0]), _2 = true);
            }
            !_2 && e4.length > 3 && (h2.f = e4[3]);
          }
          if (w2.s.r > f2.r && (w2.s.r = f2.r), w2.s.c > p2 && (w2.s.c = p2), w2.e.r < f2.r && (w2.e.r = f2.r), w2.e.c < p2 && (w2.e.c = p2), o3.cellDates && u2 && "n" == h2.t && he(W[u2.numFmtId])) {
            var P2 = G(h2.v + F2);
            P2 && (h2.t = "d", h2.v = new Date(Date.UTC(P2.y, P2.m - 1, P2.d, P2.H, P2.M, P2.S, P2.u)));
          }
          I2 && ("XLDAPR" == I2.type && (h2.D = true), I2 = void 0);
          break;
        case 1:
        case 12:
          if (!o3.sheetStubs || T2) break;
          h2 = { t: "z", v: void 0 }, p2 = -1 == e4[0].c ? p2 + 1 : e4[0].c, o3.dense ? (l2["!data"][d2] || (l2["!data"][d2] = []), l2["!data"][d2][p2] = h2) : l2[Ta(p2) + g2] = h2, w2.s.r > f2.r && (w2.s.r = f2.r), w2.s.c > p2 && (w2.s.c = p2), w2.e.r < f2.r && (w2.e.r = f2.r), w2.e.c < p2 && (w2.e.c = p2), I2 && ("XLDAPR" == I2.type && (h2.D = true), I2 = void 0);
          break;
        case 176:
          E2.push(e4);
          break;
        case 49:
          I2 = ((o3.xlmeta || {}).Cell || [])[e4 - 1];
          break;
        case 494:
          var M2 = a3["!id"][e4.relId];
          for (M2 ? (e4.Target = M2.Target, e4.loc && (e4.Target += "#" + e4.loc), e4.Rel = M2) : "" == e4.relId && (e4.Target = "#" + e4.loc), d2 = e4.rfx.s.r; d2 <= e4.rfx.e.r; ++d2) for (p2 = e4.rfx.s.c; p2 <= e4.rfx.e.c; ++p2) o3.dense ? (l2["!data"][d2] || (l2["!data"][d2] = []), l2["!data"][d2][p2] || (l2["!data"][d2][p2] = { t: "z", v: void 0 }), l2["!data"][d2][p2].l = e4) : (m2 = Ta(p2) + ba(d2), l2[m2] || (l2[m2] = { t: "z", v: void 0 }), l2[m2].l = e4);
          break;
        case 426:
          if (!o3.cellFormula) break;
          S2.push(e4), (b2 = o3.dense ? l2["!data"][d2][p2] : l2[Ta(p2) + g2]).f = fc(e4[1], 0, { r: f2.r, c: p2 }, A2, o3), b2.F = _a(e4[0]);
          break;
        case 427:
          if (!o3.cellFormula) break;
          x2[Ea(e4[0].s)] = e4[1], (b2 = o3.dense ? l2["!data"][d2][p2] : l2[Ta(p2) + g2]).f = fc(e4[1], 0, { r: f2.r, c: p2 }, A2, o3);
          break;
        case 60:
          if (!o3.cellStyles) break;
          for (; e4.e >= e4.s; ) O2[e4.e--] = { width: e4.w / 256, hidden: !!(1 & e4.flags), level: e4.level }, N2 || (N2 = true, Gi(e4.w / 256)), Xi(O2[e4.e + 1]);
          break;
        case 551:
          e4 && (l2["!legrel"] = e4);
          break;
        case 161:
          l2["!autofilter"] = { ref: _a(e4) };
          break;
        case 476:
          l2["!margins"] = e4;
          break;
        case 147:
          n3.Sheets[r3] || (n3.Sheets[r3] = {}), e4.name && (n3.Sheets[r3].CodeName = e4.name), (e4.above || e4.left) && (l2["!outline"] = { above: e4.above, left: e4.left });
          break;
        case 137:
          n3.Views || (n3.Views = [{}]), n3.Views[0] || (n3.Views[0] = {}), e4.RTL && (n3.Views[0].RTL = true);
          break;
        case 485:
        case 64:
        case 1053:
        case 151:
        case 152:
        case 175:
        case 644:
        case 625:
        case 562:
        case 396:
        case 1112:
        case 1146:
        case 471:
        case 1050:
        case 649:
        case 1105:
        case 589:
        case 607:
        case 564:
        case 1055:
        case 168:
        case 174:
        case 1180:
        case 499:
        case 507:
        case 550:
        case 171:
        case 167:
        case 1177:
        case 169:
        case 1181:
        case 552:
        case 661:
        case 639:
        case 478:
        case 537:
        case 477:
        case 536:
        case 1103:
        case 680:
        case 1104:
        case 1024:
        case 663:
        case 535:
        case 678:
        case 504:
        case 1043:
        case 428:
        case 170:
        case 3072:
        case 50:
        case 2070:
        case 1045:
          break;
        case 35:
        case 37:
          T2 = true;
          break;
        case 36:
        case 38:
          T2 = false;
          break;
        default:
          if (t4.T) ;
          else if (!T2 || o3.WTF) throw new Error("Unexpected record 0x" + C3.toString(16));
      }
    }, o3), delete o3.supbooks, delete o3["!row"], !l2["!ref"] && (w2.s.r < 2e6 || c2 && (c2.e.r > 0 || c2.e.c > 0 || c2.s.r > 0 || c2.s.c > 0)) && (l2["!ref"] = _a(c2 || w2)), o3.sheetRows && l2["!ref"]) {
      var D2 = Aa(l2["!ref"]);
      o3.sheetRows <= +D2.e.r && (D2.e.r = o3.sheetRows - 1, D2.e.r > w2.e.r && (D2.e.r = w2.e.r), D2.e.r < D2.s.r && (D2.s.r = D2.e.r), D2.e.c > w2.e.c && (D2.e.c = w2.e.c), D2.e.c < D2.s.c && (D2.s.c = D2.e.c), l2["!fullref"] = l2["!ref"], l2["!ref"] = _a(D2));
    }
    return E2.length > 0 && (l2["!merges"] = E2), O2.length > 0 && (l2["!cols"] = O2), R2.length > 0 && (l2["!rows"] = R2), a3["!id"][l2["!legrel"]] && (l2["!legdrawel"] = a3["!id"][l2["!legrel"]]), l2;
  }(e2, a2, r2, n2, s2, i2, o2) : Gc(e2, a2, r2, n2, s2, i2, o2);
}
function Ml(e2, t2, r2, a2, n2, s2, i2, o2) {
  return ".bin" === t2.slice(-4) ? function(e3, t3, r3, a3, n3) {
    if (!e3) return e3;
    a3 || (a3 = { "!id": {} });
    var s3 = { "!type": "chart", "!drawel": null, "!rel": "" }, i3 = false;
    return fa(e3, function(e4, a4, o3) {
      switch (o3) {
        case 550:
          s3["!rel"] = e4;
          break;
        case 651:
          n3.Sheets[r3] || (n3.Sheets[r3] = {}), e4.name && (n3.Sheets[r3].CodeName = e4.name);
          break;
        case 562:
        case 652:
        case 669:
        case 679:
        case 551:
        case 552:
        case 476:
        case 3072:
        case 37:
        case 38:
          break;
        case 35:
          i3 = true;
          break;
        case 36:
          i3 = false;
          break;
        default:
          if (a4.T > 0) ;
          else if (a4.T < 0) ;
          else if (!i3 || t3.WTF) throw new Error("Unexpected record 0x" + o3.toString(16));
      }
    }, t3), a3["!id"][s3["!rel"]] && (s3["!drawel"] = a3["!id"][s3["!rel"]]), s3;
  }(e2, a2, r2, n2, s2) : function(e3, t3, r3, a3, n3) {
    if (!e3) return e3;
    a3 || (a3 = { "!id": {} });
    var s3, i3 = { "!type": "chart", "!drawel": null, "!rel": "" }, o3 = e3.match($c);
    return o3 && Xc(o3[0], 0, n3, r3), (s3 = e3.match(/drawing r:id="(.*?)"/)) && (i3["!rel"] = s3[1]), a3["!id"][i3["!rel"]] && (i3["!drawel"] = a3["!id"][i3["!rel"]]), i3;
  }(e2, 0, r2, n2, s2);
}
function Ll(e2, t2, r2, a2) {
  return ".bin" === t2.slice(-4) ? function(e3, t3, r3) {
    var a3 = { NumberFmt: [] };
    for (var n2 in W) a3.NumberFmt[n2] = W[n2];
    a3.CellXf = [], a3.Fonts = [];
    var s2 = [], i2 = false;
    return fa(e3, function(e4, n3, o2) {
      switch (o2) {
        case 44:
          a3.NumberFmt[e4[0]] = e4[1], ke(e4[1], e4[0]);
          break;
        case 43:
          a3.Fonts.push(e4), null != e4.color.theme && t3 && t3.themeElements && t3.themeElements.clrScheme && (e4.color.rgb = Bi(t3.themeElements.clrScheme[e4.color.theme].rgb, e4.color.tint || 0));
          break;
        case 1025:
        case 45:
        case 46:
        case 48:
        case 507:
        case 572:
        case 475:
        case 1171:
        case 2102:
        case 1130:
        case 512:
        case 2095:
        case 3072:
          break;
        case 47:
          617 == s2[s2.length - 1] && a3.CellXf.push(e4);
          break;
        case 35:
          i2 = true;
          break;
        case 36:
          i2 = false;
          break;
        case 37:
          s2.push(o2), i2 = true;
          break;
        case 38:
          s2.pop(), i2 = false;
          break;
        default:
          if (n3.T > 0) s2.push(o2);
          else if (n3.T < 0) s2.pop();
          else if (!i2 || r3.WTF && 37 != s2[s2.length - 1]) throw new Error("Unexpected record 0x" + o2.toString(16));
      }
    }), a3;
  }(e2, r2, a2) : Qi(e2, r2, a2);
}
function Ul(e2, t2, r2) {
  return ".bin" === t2.slice(-4) ? function(e3, t3) {
    var r3 = [], a2 = false;
    return fa(e3, function(e4, n2, s2) {
      switch (s2) {
        case 159:
          r3.Count = e4[0], r3.Unique = e4[1];
          break;
        case 19:
          r3.push(e4);
          break;
        case 160:
          return true;
        case 35:
          a2 = true;
          break;
        case 36:
          a2 = false;
          break;
        default:
          if (n2.T, !a2 || t3.WTF) throw new Error("Unexpected record 0x" + s2.toString(16));
      }
    }), r3;
  }(e2, r2) : function(e3, t3) {
    var r3 = [], a2 = "";
    if (!e3) return r3;
    var n2 = ct(e3, "sst");
    if (n2) {
      a2 = n2[1].replace(bi, "").split(wi);
      for (var s2 = 0; s2 != a2.length; ++s2) {
        var i2 = gi(a2[s2].trim(), t3);
        null != i2 && (r3[r3.length] = i2);
      }
      n2 = It(n2[0].slice(0, n2[0].indexOf(">"))), r3.Count = n2.count, r3.Unique = n2.uniqueCount;
    }
    return r3;
  }(e2, r2);
}
function Bl(e2, t2, r2) {
  return ".bin" === t2.slice(-4) ? function(e3, t3) {
    var r3 = [], a2 = [], n2 = {}, s2 = false;
    return fa(e3, function(e4, i2, o2) {
      switch (o2) {
        case 632:
          a2.push(e4);
          break;
        case 635:
          n2 = e4;
          break;
        case 637:
          n2.t = e4.t, n2.h = e4.h, n2.r = e4.r;
          break;
        case 636:
          if (n2.author = a2[n2.iauthor], delete n2.iauthor, t3.sheetRows && n2.rfx && t3.sheetRows <= n2.rfx.r) break;
          n2.t || (n2.t = ""), delete n2.rfx, r3.push(n2);
          break;
        case 3072:
        case 37:
        case 38:
          break;
        case 35:
          s2 = true;
          break;
        case 36:
          s2 = false;
          break;
        default:
          if (i2.T) ;
          else if (!s2 || t3.WTF) throw new Error("Unexpected record 0x" + o2.toString(16));
      }
    }), r3;
  }(e2, r2) : function(e3, t3) {
    if (e3.match(/<(?:\w+:)?comments *\/>/)) return [];
    var r3 = [], a2 = [], n2 = ct(e3, "authors");
    n2 && n2[1] && n2[1].split(/<\/\w*:?author>/).forEach(function(e4) {
      if ("" !== e4 && "" !== e4.trim()) {
        var t4 = e4.match(/<(?:\w+:)?author[^<>]*>(.*)/);
        t4 && r3.push(t4[1]);
      }
    });
    var s2 = ct(e3, "commentList");
    return s2 && s2[1] && s2[1].split(/<\/\w*:?comment>/).forEach(function(e4) {
      if ("" !== e4 && "" !== e4.trim()) {
        var n3 = e4.match(/<(?:\w+:)?comment[^<>]*>/);
        if (n3) {
          var s3 = It(n3[0]), i2 = { author: s3.authorId && r3[s3.authorId] || "sheetjsghost", ref: s3.ref, guid: s3.guid }, o2 = ya(s3.ref);
          if (!(t3.sheetRows && t3.sheetRows <= o2.r)) {
            var c2 = ct(e4, "text"), l2 = !!c2 && !!c2[1] && gi(c2[1]) || { r: "", t: "", h: "" };
            i2.r = l2.r, "<t></t>" == l2.r && (l2.t = l2.h = ""), i2.t = (l2.t || "").replace(/\r\n/g, "\n").replace(/\r/g, "\n"), t3.cellHTML && (i2.h = l2.h), a2.push(i2);
          }
        }
      }
    }), a2;
  }(e2, r2);
}
function Wl(e2, t2, r2) {
  return ".bin" === t2.slice(-4) ? function(e3) {
    var t3 = [];
    return fa(e3, function(e4, r3, a2) {
      if (63 === a2) t3.push(e4);
      else if (!r3.T) throw new Error("Unexpected record 0x" + a2.toString(16));
    }), t3;
  }(e2) : function(e3) {
    var t3 = [];
    if (!e3) return t3;
    var r3 = 1;
    return (e3.match(xt) || []).forEach(function(e4) {
      var a2 = It(e4);
      switch (a2[0]) {
        case "<?xml":
        case "<calcChain":
        case "<calcChain>":
        case "</calcChain>":
          break;
        case "<c":
          delete a2[0], a2.i ? r3 = a2.i : a2.i = r3, t3.push(a2);
      }
    }), t3;
  }(e2);
}
function zl(e2, t2, r2, a2) {
  if (".bin" === r2.slice(-4)) return function(e3, t3, r3, a3) {
    if (!e3) return e3;
    var n2 = a3 || {}, s2 = false;
    fa(e3, function(e4, t4, r4) {
      switch (r4) {
        case 359:
        case 363:
        case 364:
        case 366:
        case 367:
        case 368:
        case 369:
        case 370:
        case 371:
        case 472:
        case 577:
        case 578:
        case 579:
        case 580:
        case 581:
        case 582:
        case 583:
        case 584:
        case 585:
        case 586:
        case 587:
          break;
        case 35:
          s2 = true;
          break;
        case 36:
          s2 = false;
          break;
        default:
          if (t4.T) ;
          else if (!s2 || n2.WTF) throw new Error("Unexpected record 0x" + r4.toString(16));
      }
    }, n2);
  }(e2, 0, 0, a2);
}
function Hl(e2, t2, r2) {
  return ".bin" === t2.slice(-4) ? function(e3, t3, r3) {
    var a2 = { Types: [], Cell: [], Value: [] }, n2 = r3 || {}, s2 = [], i2 = false, o2 = 2;
    return fa(e3, function(e4, t4, r4) {
      switch (r4) {
        case 335:
          a2.Types.push({ name: e4.name });
          break;
        case 51:
          e4.forEach(function(e5) {
            1 == o2 ? a2.Cell.push({ type: a2.Types[e5[0] - 1].name, index: e5[1] }) : 0 == o2 && a2.Value.push({ type: a2.Types[e5[0] - 1].name, index: e5[1] });
          });
          break;
        case 337:
          o2 = e4 ? 1 : 0;
          break;
        case 338:
          o2 = 2;
          break;
        case 35:
          s2.push(r4), i2 = true;
          break;
        case 36:
          s2.pop(), i2 = false;
          break;
        default:
          if (t4.T) ;
          else if (!i2 || n2.WTF && 35 != s2[s2.length - 1]) throw new Error("Unexpected record 0x" + r4.toString(16));
      }
    }), a2;
  }(e2, 0, r2) : function(e3, t3, r3) {
    var a2 = { Types: [], Cell: [], Value: [] };
    if (!e3) return a2;
    var n2, s2 = false, i2 = 2;
    return e3.replace(xt, function(e4) {
      var t4 = It(e4);
      switch (Rt(t4[0])) {
        case "<?xml":
        case "<metadata":
        case "</metadata>":
        case "<metadataTypes":
        case "</metadataTypes>":
        case "</metadataType>":
        case "</futureMetadata>":
        case "<bk>":
        case "</bk>":
        case "</rc>":
        case "<extLst":
        case "<extLst>":
        case "</extLst>":
        case "<extLst/>":
          break;
        case "<metadataType":
          a2.Types.push({ name: t4.name });
          break;
        case "<futureMetadata":
          for (var o2 = 0; o2 < a2.Types.length; ++o2) a2.Types[o2].name == t4.name && (n2 = a2.Types[o2]);
          break;
        case "<rc":
          1 == i2 ? a2.Cell.push({ type: a2.Types[t4.t - 1].name, index: +t4.v }) : 0 == i2 && a2.Value.push({ type: a2.Types[t4.t - 1].name, index: +t4.v });
          break;
        case "<cellMetadata":
          i2 = 1;
          break;
        case "</cellMetadata>":
        case "</valueMetadata>":
          i2 = 2;
          break;
        case "<valueMetadata":
          i2 = 0;
          break;
        case "<ext":
          s2 = true;
          break;
        case "</ext>":
          s2 = false;
          break;
        case "<rvb":
          if (!n2) break;
          n2.offsets || (n2.offsets = []), n2.offsets.push(+t4.i);
          break;
        default:
          if (!s2 && (null == r3 ? void 0 : r3.WTF)) throw new Error("unrecognized " + t4[0] + " in metadata");
      }
      return e4;
    }), a2;
  }(e2, 0, r2);
}
var Vl, $l = /\b((?:\w+:)?[\w]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g, Gl = /\b((?:\w+:)?[\w]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;
function Xl(e2, t2) {
  var r2 = e2.split(/\s+/), a2 = [];
  if (a2[0] = r2[0], 1 === r2.length) return a2;
  var n2, s2, i2, o2 = e2.match($l);
  if (o2) for (i2 = 0; i2 != o2.length; ++i2) -1 === (s2 = (n2 = o2[i2].match(Gl))[1].indexOf(":")) ? a2[n2[1]] = n2[2].slice(1, n2[2].length - 1) : a2["xmlns:" === n2[1].slice(0, 6) ? "xmlns" + n2[1].slice(6) : n2[1].slice(s2 + 1)] = n2[2].slice(1, n2[2].length - 1);
  return a2;
}
function jl(e2) {
  var t2 = {};
  if (1 === e2.split(/\s+/).length) return t2;
  var r2, a2, n2, s2 = e2.match($l);
  if (s2) for (n2 = 0; n2 != s2.length; ++n2) -1 === (a2 = (r2 = s2[n2].match(Gl))[1].indexOf(":")) ? t2[r2[1]] = r2[2].slice(1, r2[2].length - 1) : t2["xmlns:" === r2[1].slice(0, 6) ? "xmlns" + r2[1].slice(6) : r2[1].slice(a2 + 1)] = r2[2].slice(1, r2[2].length - 1);
  return t2;
}
function Kl(e2, t2, r2, a2) {
  var n2 = a2;
  switch ((r2[0].match(/dt:dt="([\w.]+)"/) || ["", ""])[1]) {
    case "boolean":
      n2 = Ht(a2);
      break;
    case "i2":
    case "int":
      n2 = parseInt(a2, 10);
      break;
    case "r4":
    case "float":
      n2 = parseFloat(a2);
      break;
    case "date":
    case "dateTime.tz":
      n2 = Ve(a2);
      break;
    case "i8":
    case "string":
    case "fixed":
    case "uuid":
    case "bin.base64":
      break;
    default:
      throw new Error("bad custprop:" + r2[0]);
  }
  e2[Dt(t2)] = n2;
}
function Yl(e2, t2, r2, a2) {
  if ("z" !== e2.t) {
    if (!r2 || false !== r2.cellText) try {
      "e" === e2.t ? e2.w = e2.w || mn[e2.v] : "General" === t2 ? "n" === e2.t ? (0 | e2.v) === e2.v ? e2.w = e2.v.toString(10) : e2.w = j(e2.v) : e2.w = K(e2.v) : e2.w = function(e3, t3, r3) {
        var a3 = Vl[e3] || Dt(e3);
        return "General" === a3 ? K(t3) : me(a3, t3, { date1904: !!r3 });
      }(t2 || "General", e2.v, a2);
    } catch (e3) {
      if (r2.WTF) throw e3;
    }
    try {
      var n2 = Vl[t2] || t2 || "General";
      if (r2.cellNF && (e2.z = n2), r2.cellDates && "n" == e2.t && he(n2)) {
        var s2 = G(e2.v + (a2 ? 1462 : 0));
        s2 && (e2.t = "d", e2.v = new Date(Date.UTC(s2.y, s2.m - 1, s2.d, s2.H, s2.M, s2.S, s2.u)));
      }
    } catch (e3) {
      if (r2.WTF) throw e3;
    }
  }
}
function Zl(e2, t2, r2) {
  if (r2.cellStyles && t2.Interior) {
    var a2 = t2.Interior;
    a2.Pattern && (a2.patternType = Zi[a2.Pattern] || a2.Pattern);
  }
  e2[t2.ID] = t2;
}
function Jl(e2, t2, r2, a2, n2, s2, i2, o2, c2, l2, f2) {
  var h2 = "General", u2 = a2.StyleID, d2 = {};
  l2 = l2 || {};
  var p2 = [], m2 = 0;
  for (void 0 === u2 && o2 && (u2 = o2.StyleID), void 0 === u2 && i2 && (u2 = i2.StyleID); void 0 !== s2[u2]; ) {
    var v2 = s2[u2];
    if (v2.nf && (h2 = v2.nf), v2.Interior && p2.push(v2.Interior), !v2.Parent) break;
    u2 = v2.Parent;
  }
  switch (r2.Type) {
    case "Boolean":
      a2.t = "b", a2.v = Ht(e2);
      break;
    case "String":
      a2.t = "s", a2.r = zt(Dt(e2)), a2.v = e2.indexOf("<") > -1 ? Dt(t2 || e2).replace(/<[^<>]*>/g, "") : a2.r;
      break;
    case "DateTime":
      "Z" != e2.slice(-1) && (e2 += "Z"), a2.v = Le(Ve(e2, f2), f2), a2.v != a2.v && (a2.v = Dt(e2)), h2 && "General" != h2 || (h2 = "yyyy-mm-dd");
    case "Number":
      void 0 === a2.v && (a2.v = +e2), a2.t || (a2.t = "n");
      break;
    case "Error":
      a2.t = "e", a2.v = vn[e2], false !== l2.cellText && (a2.w = e2);
      break;
    default:
      "" == e2 && "" == t2 ? a2.t = "z" : (a2.t = "s", a2.v = zt(t2 || e2));
  }
  if (Yl(a2, h2, l2, f2), false !== l2.cellFormula) if (a2.Formula) {
    var g2 = Dt(a2.Formula);
    61 == g2.charCodeAt(0) && (g2 = g2.slice(1)), a2.f = No(g2, n2), delete a2.Formula, "RC" == a2.ArrayRange ? a2.F = No("RC:RC", n2) : a2.ArrayRange && (a2.F = No(a2.ArrayRange, n2), c2.push([Aa(a2.F), a2.F]));
  } else for (m2 = 0; m2 < c2.length; ++m2) n2.r >= c2[m2][0].s.r && n2.r <= c2[m2][0].e.r && n2.c >= c2[m2][0].s.c && n2.c <= c2[m2][0].e.c && (a2.F = c2[m2][1]);
  l2.cellStyles && (p2.forEach(function(e3) {
    !d2.patternType && e3.patternType && (d2.patternType = e3.patternType);
  }), a2.s = d2), void 0 !== a2.StyleID && (a2.ixfe = a2.StyleID);
}
function ql(e2) {
  return gn.indexOf("_xlnm." + e2) > -1 ? "_xlnm." + e2 : e2;
}
function Ql(e2) {
  e2.t = e2.v || "", e2.t = e2.t.replace(/\r\n/g, "\n").replace(/\r/g, "\n"), e2.v = e2.w = e2.ixfe = void 0;
}
function ef(t2, r2) {
  var a2 = r2 || {};
  be();
  var n2 = u(nr(t2));
  "binary" != a2.type && "array" != a2.type && "base64" != a2.type || (n2 = void 0 !== e ? e.utils.decode(65001, l(n2)) : jt(n2));
  var s2, i2 = n2.slice(0, 1024).toLowerCase(), o2 = false;
  if ((1023 & (i2 = i2.replace(/".*?"/g, "")).indexOf(">")) > Math.min(1023 & i2.indexOf(","), 1023 & i2.indexOf(";"))) {
    var c2 = Ge(a2);
    return c2.type = "string", hi.to_workbook(n2, c2);
  }
  if (-1 == i2.indexOf("<?xml") && ["html", "table", "head", "meta", "script", "style", "div"].forEach(function(e2) {
    i2.indexOf("<" + e2) >= 0 && (o2 = true);
  }), o2) return function(e2, t3) {
    var r3 = ht(e2, "table");
    if (!r3 || 0 == r3.length) throw new Error("Invalid HTML: could not find <table>");
    if (1 == r3.length) {
      var a3 = Oa(Bf(r3[0], t3), t3);
      return a3.bookType = "html", a3;
    }
    var n3 = Ou();
    return r3.forEach(function(e3, r4) {
      Ru(n3, Bf(e3, t3), "Sheet" + (r4 + 1));
    }), n3.bookType = "html", n3;
  }(n2, a2);
  Vl = { "General Number": "General", "General Date": W[22], "Long Date": "dddd, mmmm dd, yyyy", "Medium Date": W[15], "Short Date": W[14], "Long Time": W[19], "Medium Time": W[18], "Short Time": W[20], Currency: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', Fixed: W[2], Standard: W[4], Percent: W[10], Scientific: W[11], "Yes/No": '"Yes";"Yes";"No";@', "True/False": '"True";"True";"False";@', "On/Off": '"Yes";"Yes";"No";@' };
  var f2, h2 = [], d2 = {}, p2 = [], m2 = {}, v2 = "";
  a2.dense && (m2["!data"] = []);
  var g2, b2 = {}, w2 = {}, T2 = Xl('<Data ss:Type="String">'), y2 = 0, E2 = 0, k2 = 0, _2 = { s: { r: 2e6, c: 2e6 }, e: { r: 0, c: 0 } }, S2 = {}, x2 = {}, A2 = "", C2 = 0, I2 = [], O2 = {}, R2 = {}, N2 = 0, F2 = [], D2 = [], P2 = {}, M2 = [], L2 = false, U2 = [], B2 = [], z2 = {}, H2 = 0, V2 = 0, $2 = { Sheets: [], WBProps: { date1904: false } }, G2 = {};
  sr.lastIndex = 0, n2 = st(n2, "<!--", "-->");
  for (var X2 = ""; s2 = sr.exec(n2); ) switch (s2[3] = (X2 = s2[3]).toLowerCase()) {
    case "data":
      if ("data" == X2) {
        if ("/" === s2[1]) {
          if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
        } else "/" !== s2[0].charAt(s2[0].length - 2) && h2.push([s2[3], true]);
        break;
      }
      if (h2[h2.length - 1][1]) break;
      "/" === s2[1] ? Jl(n2.slice(y2, s2.index), A2, T2, "comment" == h2[h2.length - 1][0] ? P2 : b2, { c: E2, r: k2 }, S2, M2[E2], w2, U2, a2, $2.WBProps.date1904) : (A2 = "", T2 = Xl(s2[0]), y2 = s2.index + s2[0].length);
      break;
    case "cell":
      if ("/" === s2[1]) if (D2.length > 0 && (b2.c = D2), (!a2.sheetRows || a2.sheetRows > k2) && void 0 !== b2.v && (a2.dense ? (m2["!data"][k2] || (m2["!data"][k2] = []), m2["!data"][k2][E2] = b2) : m2[Ta(E2) + ba(k2)] = b2), b2.HRef && (b2.l = { Target: Dt(b2.HRef) }, b2.HRefScreenTip && (b2.l.Tooltip = b2.HRefScreenTip), delete b2.HRef, delete b2.HRefScreenTip), (b2.MergeAcross || b2.MergeDown) && (H2 = E2 + (0 | parseInt(b2.MergeAcross, 10)), V2 = k2 + (0 | parseInt(b2.MergeDown, 10)), (H2 > E2 || V2 > k2) && I2.push({ s: { c: E2, r: k2 }, e: { c: H2, r: V2 } })), a2.sheetStubs) if (b2.MergeAcross || b2.MergeDown) {
        for (var j2 = E2; j2 <= H2; ++j2) for (var K2 = k2; K2 <= V2; ++K2) (j2 > E2 || K2 > k2) && (a2.dense ? (m2["!data"][K2] || (m2["!data"][K2] = []), m2["!data"][K2][j2] = { t: "z" }) : m2[Ta(j2) + ba(K2)] = { t: "z" });
        E2 = H2 + 1;
      } else ++E2;
      else b2.MergeAcross ? E2 = H2 + 1 : ++E2;
      else (b2 = jl(s2[0])).Index && (E2 = +b2.Index - 1), E2 < _2.s.c && (_2.s.c = E2), E2 > _2.e.c && (_2.e.c = E2), "/>" === s2[0].slice(-2) && ++E2, D2 = [];
      break;
    case "row":
      "/" === s2[1] || "/>" === s2[0].slice(-2) ? (k2 < _2.s.r && (_2.s.r = k2), k2 > _2.e.r && (_2.e.r = k2), "/>" === s2[0].slice(-2) && (w2 = Xl(s2[0])).Index && (k2 = +w2.Index - 1), E2 = 0, ++k2) : ((w2 = Xl(s2[0])).Index && (k2 = +w2.Index - 1), z2 = {}, ("0" == w2.AutoFitHeight || w2.Height) && (z2.hpx = parseInt(w2.Height, 10), z2.hpt = Ki(z2.hpx), B2[k2] = z2), "1" == w2.Hidden && (z2.hidden = true, B2[k2] = z2));
      break;
    case "worksheet":
      if ("/" === s2[1]) {
        if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
        p2.push(v2), _2.s.r <= _2.e.r && _2.s.c <= _2.e.c && (m2["!ref"] = _a(_2), a2.sheetRows && a2.sheetRows <= _2.e.r && (m2["!fullref"] = m2["!ref"], _2.e.r = a2.sheetRows - 1, m2["!ref"] = _a(_2))), I2.length && (m2["!merges"] = I2), M2.length > 0 && (m2["!cols"] = M2), B2.length > 0 && (m2["!rows"] = B2), d2[v2] = m2;
      } else _2 = { s: { r: 2e6, c: 2e6 }, e: { r: 0, c: 0 } }, k2 = E2 = 0, h2.push([s2[3], false]), f2 = Xl(s2[0]), v2 = Dt(f2.Name), m2 = {}, a2.dense && (m2["!data"] = []), I2 = [], U2 = [], B2 = [], G2 = { name: v2, Hidden: 0 }, $2.Sheets.push(G2);
      break;
    case "table":
      if ("/" === s2[1]) {
        if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
      } else {
        if ("/>" == s2[0].slice(-2)) break;
        h2.push([s2[3], false]), M2 = [], L2 = false;
      }
      break;
    case "style":
      "/" === s2[1] ? Zl(S2, x2, a2) : x2 = Xl(s2[0]);
      break;
    case "numberformat":
      x2.nf = Dt(Xl(s2[0]).Format || "General"), Vl[x2.nf] && (x2.nf = Vl[x2.nf]);
      for (var Y2 = 0; 392 != Y2 && W[Y2] != x2.nf; ++Y2) ;
      if (392 == Y2) {
        for (Y2 = 57; 392 != Y2; ++Y2) if (null == W[Y2]) {
          ke(x2.nf, Y2);
          break;
        }
      }
      break;
    case "column":
      if ("table" !== h2[h2.length - 1][0]) break;
      if ("/" === s2[1]) break;
      if ((g2 = Xl(s2[0])).Hidden && (g2.hidden = true, delete g2.Hidden), g2.Width && (g2.wpx = parseInt(g2.Width, 10)), !L2 && g2.wpx > 10) {
        L2 = true, Wi = 6;
        for (var Z2 = 0; Z2 < M2.length; ++Z2) M2[Z2] && Xi(M2[Z2]);
      }
      L2 && Xi(g2), M2[g2.Index - 1 || M2.length] = g2;
      for (var J2 = 0; J2 < +g2.Span; ++J2) M2[M2.length] = Ge(g2);
      break;
    case "namedrange":
      if ("/" === s2[1]) break;
      $2.Names || ($2.Names = []);
      var q2 = It(s2[0]), Q2 = { Name: ql(q2.Name), Ref: No(q2.RefersTo.slice(1), { r: 0, c: 0 }) };
      $2.Sheets.length > 0 && (Q2.Sheet = $2.Sheets.length - 1), $2.Names.push(Q2);
      break;
    case "namedcell":
    case "b":
    case "i":
    case "u":
    case "s":
    case "em":
    case "h2":
    case "h3":
    case "sub":
    case "sup":
    case "span":
    case "alignment":
    case "borders":
    case "border":
    case "protection":
    case "paragraphs":
    case "name":
    case "pixelsperinch":
    case "null":
      break;
    case "font":
      if ("/>" === s2[0].slice(-2)) break;
      "/" === s2[1] ? A2 += n2.slice(C2, s2.index) : C2 = s2.index + s2[0].length;
      break;
    case "interior":
      if (!a2.cellStyles) break;
      x2.Interior = Xl(s2[0]);
      break;
    case "author":
    case "title":
    case "description":
    case "created":
    case "keywords":
    case "subject":
    case "category":
    case "company":
    case "lastauthor":
    case "lastsaved":
    case "lastprinted":
    case "version":
    case "revision":
    case "totaltime":
    case "hyperlinkbase":
    case "manager":
    case "contentstatus":
    case "identifier":
    case "language":
    case "appname":
      if ("/>" === s2[0].slice(-2)) break;
      "/" === s2[1] ? zn(O2, X2, n2.slice(N2, s2.index)) : N2 = s2.index + s2[0].length;
      break;
    case "styles":
    case "workbook":
      if ("/" === s2[1]) {
        if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
      } else h2.push([s2[3], false]);
      break;
    case "comment":
      if ("/" === s2[1]) {
        if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
        Ql(P2), D2.push(P2);
      } else h2.push([s2[3], false]), Ht((f2 = Xl(s2[0])).ShowAlways || "0") || (D2.hidden = true), P2 = { a: f2.Author };
      break;
    case "autofilter":
      if ("/" === s2[1]) {
        if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
      } else if ("/" !== s2[0].charAt(s2[0].length - 2)) {
        var ee2 = Xl(s2[0]);
        m2["!autofilter"] = { ref: No(ee2.Range).replace(/\$/g, "") }, h2.push([s2[3], true]);
      }
      break;
    case "datavalidation":
      if ("/" === s2[1]) {
        if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
      } else "/" !== s2[0].charAt(s2[0].length - 2) && h2.push([s2[3], true]);
      break;
    case "componentoptions":
    case "documentproperties":
    case "customdocumentproperties":
    case "officedocumentsettings":
    case "pivottable":
    case "pivotcache":
    case "names":
    case "mapinfo":
    case "pagebreaks":
    case "querytable":
    case "sorting":
    case "schema":
    case "conditionalformatting":
    case "smarttagtype":
    case "smarttags":
    case "excelworkbook":
    case "workbookoptions":
    case "worksheetoptions":
      if ("/" === s2[1]) {
        if ((f2 = h2.pop())[0] !== s2[3]) throw new Error("Bad state: " + f2.join("|"));
      } else "/" !== s2[0].charAt(s2[0].length - 2) && h2.push([s2[3], true]);
      break;
    default:
      if (0 == h2.length && "document" == s2[3]) return qf(n2, a2);
      if (0 == h2.length && "uof" == s2[3]) return qf(n2, a2);
      var te2 = true;
      switch (h2[h2.length - 1][0]) {
        case "officedocumentsettings":
          switch (s2[3]) {
            case "allowpng":
            case "removepersonalinformation":
            case "downloadcomponents":
            case "locationofcomponents":
            case "colors":
            case "color":
            case "index":
            case "rgb":
            case "targetscreensize":
            case "readonlyrecommended":
              break;
            default:
              te2 = false;
          }
          break;
        case "componentoptions":
          switch (s2[3]) {
            case "toolbar":
            case "hideofficelogo":
            case "spreadsheetautofit":
            case "label":
            case "caption":
            case "maxheight":
            case "maxwidth":
            case "nextsheetnumber":
              break;
            default:
              te2 = false;
          }
          break;
        case "excelworkbook":
          switch (s2[3]) {
            case "date1904":
              $2.WBProps.date1904 = true;
              break;
            case "hidehorizontalscrollbar":
            case "hideverticalscrollbar":
            case "hideworkbooktabs":
            case "windowheight":
            case "windowwidth":
            case "windowtopx":
            case "windowtopy":
            case "tabratio":
            case "protectstructure":
            case "protectwindow":
            case "protectwindows":
            case "activesheet":
            case "displayinknotes":
            case "firstvisiblesheet":
            case "supbook":
            case "sheetname":
            case "sheetindex":
            case "sheetindexfirst":
            case "sheetindexlast":
            case "dll":
            case "acceptlabelsinformulas":
            case "donotsavelinkvalues":
            case "iteration":
            case "maxiterations":
            case "maxchange":
            case "path":
            case "xct":
            case "count":
            case "selectedsheets":
            case "calculation":
            case "uncalced":
            case "startupprompt":
            case "crn":
            case "externname":
            case "formula":
            case "colfirst":
            case "collast":
            case "wantadvise":
            case "boolean":
            case "error":
            case "text":
            case "ole":
            case "noautorecover":
            case "publishobjects":
            case "donotcalculatebeforesave":
            case "number":
            case "refmoder1c1":
            case "embedsavesmarttags":
              break;
            default:
              te2 = false;
          }
          break;
        case "workbookoptions":
          switch (s2[3]) {
            case "owcversion":
            case "height":
            case "width":
              break;
            default:
              te2 = false;
          }
          break;
        case "worksheetoptions":
          switch (s2[3]) {
            case "visible":
              if ("/>" === s2[0].slice(-2)) ;
              else if ("/" === s2[1]) switch (n2.slice(N2, s2.index)) {
                case "SheetHidden":
                  G2.Hidden = 1;
                  break;
                case "SheetVeryHidden":
                  G2.Hidden = 2;
              }
              else N2 = s2.index + s2[0].length;
              break;
            case "header":
              m2["!margins"] || Dc(m2["!margins"] = {}, "xlml"), isNaN(+It(s2[0]).Margin) || (m2["!margins"].header = +It(s2[0]).Margin);
              break;
            case "footer":
              m2["!margins"] || Dc(m2["!margins"] = {}, "xlml"), isNaN(+It(s2[0]).Margin) || (m2["!margins"].footer = +It(s2[0]).Margin);
              break;
            case "pagemargins":
              var re2 = It(s2[0]);
              m2["!margins"] || Dc(m2["!margins"] = {}, "xlml"), isNaN(+re2.Top) || (m2["!margins"].top = +re2.Top), isNaN(+re2.Left) || (m2["!margins"].left = +re2.Left), isNaN(+re2.Right) || (m2["!margins"].right = +re2.Right), isNaN(+re2.Bottom) || (m2["!margins"].bottom = +re2.Bottom);
              break;
            case "displayrighttoleft":
              $2.Views || ($2.Views = []), $2.Views[0] || ($2.Views[0] = {}), $2.Views[0].RTL = true;
              break;
            case "freezepanes":
            case "frozennosplit":
            case "splithorizontal":
            case "splitvertical":
            case "donotdisplaygridlines":
            case "activerow":
            case "activecol":
            case "toprowbottompane":
            case "leftcolumnrightpane":
            case "unsynced":
            case "print":
            case "printerrors":
            case "panes":
            case "scale":
            case "pane":
            case "number":
            case "layout":
            case "pagesetup":
            case "selected":
            case "protectobjects":
            case "enableselection":
            case "protectscenarios":
            case "validprinterinfo":
            case "horizontalresolution":
            case "verticalresolution":
            case "numberofcopies":
            case "activepane":
            case "toprowvisible":
            case "leftcolumnvisible":
            case "fittopage":
            case "rangeselection":
            case "papersizeindex":
            case "pagelayoutzoom":
            case "pagebreakzoom":
            case "filteron":
            case "fitwidth":
            case "fitheight":
            case "commentslayout":
            case "zoom":
            case "lefttoright":
            case "gridlines":
            case "allowsort":
            case "allowfilter":
            case "allowinsertrows":
            case "allowdeleterows":
            case "allowinsertcols":
            case "allowdeletecols":
            case "allowinserthyperlinks":
            case "allowformatcells":
            case "allowsizecols":
            case "allowsizerows":
            case "tabcolorindex":
            case "donotdisplayheadings":
            case "showpagelayoutzoom":
            case "blackandwhite":
            case "donotdisplayzeros":
            case "displaypagebreak":
            case "rowcolheadings":
            case "donotdisplayoutline":
            case "noorientation":
            case "allowusepivottables":
            case "zeroheight":
            case "viewablerange":
            case "selection":
            case "protectcontents":
              break;
            case "nosummaryrowsbelowdetail":
              m2["!outline"] || (m2["!outline"] = {}), m2["!outline"].above = true;
              break;
            case "nosummarycolumnsrightdetail":
              m2["!outline"] || (m2["!outline"] = {}), m2["!outline"].left = true;
              break;
            default:
              te2 = false;
          }
          break;
        case "pivottable":
        case "pivotcache":
          switch (s2[3]) {
            case "immediateitemsondrop":
            case "showpagemultipleitemlabel":
            case "compactrowindent":
            case "location":
            case "pivotfield":
            case "orientation":
            case "layoutform":
            case "layoutsubtotallocation":
            case "layoutcompactrow":
            case "position":
            case "pivotitem":
            case "datatype":
            case "datafield":
            case "sourcename":
            case "parentfield":
            case "ptlineitems":
            case "ptlineitem":
            case "countofsameitems":
            case "item":
            case "itemtype":
            case "ptsource":
            case "cacheindex":
            case "consolidationreference":
            case "filename":
            case "reference":
            case "nocolumngrand":
            case "norowgrand":
            case "blanklineafteritems":
            case "hidden":
            case "subtotal":
            case "basefield":
            case "mapchilditems":
            case "function":
            case "refreshonfileopen":
            case "printsettitles":
            case "mergelabels":
            case "defaultversion":
            case "refreshname":
            case "refreshdate":
            case "refreshdatecopy":
            case "versionlastrefresh":
            case "versionlastupdate":
            case "versionupdateablemin":
            case "versionrefreshablemin":
            case "calculation":
              break;
            default:
              te2 = false;
          }
          break;
        case "pagebreaks":
          switch (s2[3]) {
            case "colbreaks":
            case "colbreak":
            case "rowbreaks":
            case "rowbreak":
            case "colstart":
            case "colend":
            case "rowend":
              break;
            default:
              te2 = false;
          }
          break;
        case "autofilter":
          switch (s2[3]) {
            case "autofiltercolumn":
            case "autofiltercondition":
            case "autofilterand":
            case "autofilteror":
              break;
            default:
              te2 = false;
          }
          break;
        case "querytable":
          switch (s2[3]) {
            case "id":
            case "autoformatfont":
            case "autoformatpattern":
            case "querysource":
            case "querytype":
            case "enableredirections":
            case "refreshedinxl9":
            case "urlstring":
            case "htmltables":
            case "connection":
            case "commandtext":
            case "refreshinfo":
            case "notitles":
            case "nextid":
            case "columninfo":
            case "overwritecells":
            case "donotpromptforfile":
            case "textwizardsettings":
            case "source":
            case "number":
            case "decimal":
            case "thousandseparator":
            case "trailingminusnumbers":
            case "formatsettings":
            case "fieldtype":
            case "delimiters":
            case "tab":
            case "comma":
            case "autoformatname":
            case "versionlastedit":
            case "versionlastrefresh":
              break;
            default:
              te2 = false;
          }
          break;
        case "datavalidation":
          switch (s2[3]) {
            case "range":
            case "type":
            case "min":
            case "max":
            case "sort":
            case "descending":
            case "order":
            case "casesensitive":
            case "value":
            case "errorstyle":
            case "errormessage":
            case "errortitle":
            case "inputmessage":
            case "inputtitle":
            case "combohide":
            case "inputhide":
            case "condition":
            case "qualifier":
            case "useblank":
            case "value1":
            case "value2":
            case "format":
            case "cellrangelist":
              break;
            default:
              te2 = false;
          }
          break;
        case "sorting":
        case "conditionalformatting":
          switch (s2[3]) {
            case "range":
            case "type":
            case "min":
            case "max":
            case "sort":
            case "descending":
            case "order":
            case "casesensitive":
            case "value":
            case "errorstyle":
            case "errormessage":
            case "errortitle":
            case "cellrangelist":
            case "inputmessage":
            case "inputtitle":
            case "combohide":
            case "inputhide":
            case "condition":
            case "qualifier":
            case "useblank":
            case "value1":
            case "value2":
            case "format":
              break;
            default:
              te2 = false;
          }
          break;
        case "mapinfo":
        case "schema":
        case "data":
          switch (s2[3]) {
            case "map":
            case "entry":
            case "range":
            case "xpath":
            case "field":
            case "xsdtype":
            case "filteron":
            case "aggregate":
            case "elementtype":
            case "attributetype":
            case "schema":
            case "element":
            case "complextype":
            case "datatype":
            case "all":
            case "attribute":
            case "extends":
            case "row":
              break;
            default:
              te2 = false;
          }
          break;
        case "smarttags":
          break;
        default:
          te2 = false;
      }
      if (te2) break;
      if (s2[3].match(/!\[CDATA/)) break;
      if (!h2[h2.length - 1][1]) throw "Unrecognized tag: " + s2[3] + "|" + h2.join("|");
      if ("customdocumentproperties" === h2[h2.length - 1][0]) {
        if ("/>" === s2[0].slice(-2)) break;
        "/" === s2[1] ? Kl(R2, X2, F2, n2.slice(N2, s2.index)) : (F2 = s2, N2 = s2.index + s2[0].length);
        break;
      }
      if (a2.WTF) throw "Unrecognized tag: " + s2[3] + "|" + h2.join("|");
  }
  var ae2 = {};
  return a2.bookSheets || a2.bookProps || (ae2.Sheets = d2), ae2.SheetNames = p2, ae2.Workbook = $2, ae2.SSF = Ge(W), ae2.Props = O2, ae2.Custprops = R2, ae2.bookType = "xlml", ae2;
}
function tf(e2, t2) {
  switch (Zh(t2 = t2 || {}), t2.type || "base64") {
    case "base64":
      return ef(b(e2), t2);
    case "binary":
    case "buffer":
    case "file":
      return ef(e2, t2);
    case "array":
      return ef(x(e2), t2);
  }
}
function rf(e2, t2) {
  var r2 = [];
  return e2.Props && r2.push(function(e3, t3) {
    var r3 = [];
    return Oe(Wn).map(function(e4) {
      for (var t4 = 0; t4 < In.length; ++t4) if (In[t4][1] == e4) return In[t4];
      for (t4 = 0; t4 < Fn.length; ++t4) if (Fn[t4][1] == e4) return Fn[t4];
      throw e4;
    }).forEach(function(a2) {
      if (null != e3[a2[1]]) {
        var n2 = t3 && t3.Props && null != t3.Props[a2[1]] ? t3.Props[a2[1]] : e3[a2[1]];
        "date" === a2[2] && (n2 = new Date(n2).toISOString().replace(/\.\d*Z/, "Z")), "number" == typeof n2 ? n2 = String(n2) : true === n2 || false === n2 ? n2 = n2 ? "1" : "0" : n2 instanceof Date && (n2 = new Date(n2).toISOString().replace(/\.\d*Z/, "")), r3.push(er(Wn[a2[1]] || a2[1], n2));
      }
    }), rr("DocumentProperties", r3.join(""), { xmlns: Tr });
  }(e2.Props, t2)), e2.Custprops && r2.push(function(e3, t3) {
    var r3 = ["Worksheets", "SheetNames"], a2 = "CustomDocumentProperties", n2 = [];
    return e3 && Oe(e3).forEach(function(t4) {
      if (Object.prototype.hasOwnProperty.call(e3, t4)) {
        for (var a3 = 0; a3 < In.length; ++a3) if (t4 == In[a3][1]) return;
        for (a3 = 0; a3 < Fn.length; ++a3) if (t4 == Fn[a3][1]) return;
        for (a3 = 0; a3 < r3.length; ++a3) if (t4 == r3[a3]) return;
        var s2 = e3[t4], i2 = "string";
        "number" == typeof s2 ? (i2 = "float", s2 = String(s2)) : true === s2 || false === s2 ? (i2 = "boolean", s2 = s2 ? "1" : "0") : s2 = String(s2), n2.push(rr(Ut(t4), s2, { "dt:dt": i2 }));
      }
    }), t3 && Oe(t3).forEach(function(r4) {
      if (Object.prototype.hasOwnProperty.call(t3, r4) && (!e3 || !Object.prototype.hasOwnProperty.call(e3, r4))) {
        var a3 = t3[r4], s2 = "string";
        "number" == typeof a3 ? (s2 = "float", a3 = String(a3)) : true === a3 || false === a3 ? (s2 = "boolean", a3 = a3 ? "1" : "0") : a3 instanceof Date ? (s2 = "dateTime.tz", a3 = a3.toISOString()) : a3 = String(a3), n2.push(rr(Ut(r4), a3, { "dt:dt": s2 }));
      }
    }), "<" + a2 + ' xmlns="' + Tr + '">' + n2.join("") + "</" + a2 + ">";
  }(e2.Props, e2.Custprops)), r2.join("");
}
function af(e2) {
  return (((e2 || {}).Workbook || {}).WBProps || {}).date1904 ? '<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"><Date1904/></ExcelWorkbook>' : "";
}
function nf(e2, t2) {
  var r2 = ['<Style ss:ID="Default" ss:Name="Normal"><NumberFormat/></Style>'];
  return t2.cellXfs.forEach(function(e3, t3) {
    var a2 = [];
    a2.push(rr("NumberFormat", null, { "ss:Format": Lt(W[e3.numFmtId]) }));
    var n2 = { "ss:ID": "s" + (21 + t3) };
    r2.push(rr("Style", a2.join(""), n2));
  }), rr("Styles", r2.join(""));
}
function sf(e2) {
  return rr("NamedRange", null, { "ss:Name": "_xlnm." == e2.Name.slice(0, 6) ? e2.Name.slice(6) : e2.Name, "ss:RefersTo": "=" + Do(e2.Ref, { r: 0, c: 0 }) });
}
function of(e2) {
  if (!((e2 || {}).Workbook || {}).Names) return "";
  for (var t2 = e2.Workbook.Names, r2 = [], a2 = 0; a2 < t2.length; ++a2) {
    var n2 = t2[a2];
    null == n2.Sheet && (n2.Name.match(/^_xlfn\./) || r2.push(sf(n2)));
  }
  return rr("Names", r2.join(""));
}
function cf(e2, t2, r2, a2) {
  if (!e2) return "";
  if (!((a2 || {}).Workbook || {}).Names) return "";
  for (var n2 = a2.Workbook.Names, s2 = [], i2 = 0; i2 < n2.length; ++i2) {
    var o2 = n2[i2];
    o2.Sheet == r2 && (o2.Name.match(/^_xlfn\./) || s2.push(sf(o2)));
  }
  return s2.join("");
}
function lf(e2, t2, r2, a2) {
  if (!e2) return "";
  var n2 = [];
  if (e2["!margins"] && (n2.push("<PageSetup>"), e2["!margins"].header && n2.push(rr("Header", null, { "x:Margin": e2["!margins"].header })), e2["!margins"].footer && n2.push(rr("Footer", null, { "x:Margin": e2["!margins"].footer })), n2.push(rr("PageMargins", null, { "x:Bottom": e2["!margins"].bottom || "0.75", "x:Left": e2["!margins"].left || "0.7", "x:Right": e2["!margins"].right || "0.7", "x:Top": e2["!margins"].top || "0.75" })), n2.push("</PageSetup>")), a2 && a2.Workbook && a2.Workbook.Sheets && a2.Workbook.Sheets[r2]) if (a2.Workbook.Sheets[r2].Hidden) n2.push(rr("Visible", 1 == a2.Workbook.Sheets[r2].Hidden ? "SheetHidden" : "SheetVeryHidden", {}));
  else {
    for (var s2 = 0; s2 < r2 && (!a2.Workbook.Sheets[s2] || a2.Workbook.Sheets[s2].Hidden); ++s2) ;
    s2 == r2 && n2.push("<Selected/>");
  }
  return ((((a2 || {}).Workbook || {}).Views || [])[0] || {}).RTL && n2.push("<DisplayRightToLeft/>"), e2["!protect"] && (n2.push(er("ProtectContents", "True")), e2["!protect"].objects && n2.push(er("ProtectObjects", "True")), e2["!protect"].scenarios && n2.push(er("ProtectScenarios", "True")), null == e2["!protect"].selectLockedCells || e2["!protect"].selectLockedCells ? null == e2["!protect"].selectUnlockedCells || e2["!protect"].selectUnlockedCells || n2.push(er("EnableSelection", "UnlockedCells")) : n2.push(er("EnableSelection", "NoSelection")), [["formatCells", "AllowFormatCells"], ["formatColumns", "AllowSizeCols"], ["formatRows", "AllowSizeRows"], ["insertColumns", "AllowInsertCols"], ["insertRows", "AllowInsertRows"], ["insertHyperlinks", "AllowInsertHyperlinks"], ["deleteColumns", "AllowDeleteCols"], ["deleteRows", "AllowDeleteRows"], ["sort", "AllowSort"], ["autoFilter", "AllowFilter"], ["pivotTables", "AllowUsePivotTables"]].forEach(function(t3) {
    e2["!protect"][t3[0]] && n2.push("<" + t3[1] + "/>");
  })), 0 == n2.length ? "" : rr("WorksheetOptions", n2.join(""), { xmlns: yr });
}
function ff(e2, t2, r2, a2, n2, s2, i2) {
  if (!e2 || null == e2.v && null == e2.f) return "";
  var o2 = {};
  if (e2.f && (o2["ss:Formula"] = "=" + Lt(Do(e2.f, i2))), e2.F && e2.F.slice(0, t2.length) == t2) {
    var c2 = ya(e2.F.slice(t2.length + 1));
    o2["ss:ArrayRange"] = "RC:R" + (c2.r == i2.r ? "" : "[" + (c2.r - i2.r) + "]") + "C" + (c2.c == i2.c ? "" : "[" + (c2.c - i2.c) + "]");
  }
  if (e2.l && e2.l.Target && (o2["ss:HRef"] = Lt(e2.l.Target), e2.l.Tooltip && (o2["x:HRefScreenTip"] = Lt(e2.l.Tooltip))), r2["!merges"]) for (var l2 = r2["!merges"], f2 = 0; f2 != l2.length; ++f2) l2[f2].s.c == i2.c && l2[f2].s.r == i2.r && (l2[f2].e.c > l2[f2].s.c && (o2["ss:MergeAcross"] = l2[f2].e.c - l2[f2].s.c), l2[f2].e.r > l2[f2].s.r && (o2["ss:MergeDown"] = l2[f2].e.r - l2[f2].s.r));
  var h2 = "", u2 = "";
  switch (e2.t) {
    case "z":
      if (!a2.sheetStubs) return "";
      break;
    case "n":
      isFinite(e2.v) ? (h2 = "Number", u2 = String(e2.v)) : (h2 = "Error", u2 = mn[isNaN(e2.v) ? 36 : 7]);
      break;
    case "b":
      h2 = "Boolean", u2 = e2.v ? "1" : "0";
      break;
    case "e":
      h2 = "Error", u2 = mn[e2.v];
      break;
    case "d":
      h2 = "DateTime", u2 = new Date(e2.v).toISOString(), null == e2.z && (e2.z = e2.z || W[14]);
      break;
    case "s":
      h2 = "String", u2 = ((e2.v || "") + "").replace(Pt, function(e3) {
        return Ft[e3];
      }).replace(Bt, function(e3) {
        return "&#x" + e3.charCodeAt(0).toString(16).toUpperCase() + ";";
      });
  }
  var d2 = Pc(a2.cellXfs, e2, a2);
  o2["ss:StyleID"] = "s" + (21 + d2), o2["ss:Index"] = i2.c + 1;
  var p2, m2 = null != e2.v ? u2 : "", v2 = "z" == e2.t ? "" : '<Data ss:Type="' + h2 + '">' + m2 + "</Data>";
  return (e2.c || []).length > 0 && (v2 += (p2 = e2.c).map(function(e3) {
    var t3 = rr("ss:Data", (e3.t || "").replace(/(\r\n|[\r\n])/g, "&#10;"), { xmlns: "http://www.w3.org/TR/REC-html40" }), r3 = {};
    return e3.a && (r3["ss:Author"] = e3.a), p2.hidden || (r3["ss:ShowAlways"] = "1"), rr("Comment", t3, r3);
  }).join("")), rr("Cell", v2, o2);
}
function hf(e2, t2) {
  var r2 = '<Row ss:Index="' + (e2 + 1) + '"';
  return t2 && (t2.hpt && !t2.hpx && (t2.hpx = Yi(t2.hpt)), t2.hpx && (r2 += ' ss:AutoFitHeight="0" ss:Height="' + t2.hpx + '"'), t2.hidden && (r2 += ' ss:Hidden="1"')), r2 + ">";
}
function uf(e2, t2, r2) {
  var a2 = [], n2 = r2.SheetNames[e2], s2 = r2.Sheets[n2], i2 = s2 ? cf(s2, 0, e2, r2) : "";
  return i2.length > 0 && a2.push("<Names>" + i2 + "</Names>"), i2 = s2 ? function(e3, t3) {
    if (!e3["!ref"]) return "";
    var r3 = Aa(e3["!ref"]), a3 = e3["!merges"] || [], n3 = 0, s3 = [];
    e3["!cols"] && e3["!cols"].forEach(function(e4, t4) {
      Xi(e4);
      var r4 = !!e4.width, a4 = Fc(t4, e4), n4 = { "ss:Index": t4 + 1 };
      r4 && (n4["ss:Width"] = zi(a4.width)), e4.hidden && (n4["ss:Hidden"] = "1"), s3.push(rr("Column", null, n4));
    });
    for (var i3 = null != e3["!data"], o2 = { r: 0, c: 0 }, c2 = r3.s.r; c2 <= r3.e.r; ++c2) {
      var l2 = [hf(c2, (e3["!rows"] || [])[c2])];
      o2.r = c2;
      for (var f2 = r3.s.c; f2 <= r3.e.c; ++f2) {
        o2.c = f2;
        var h2 = false;
        for (n3 = 0; n3 != a3.length; ++n3) if (!(a3[n3].s.c > f2 || a3[n3].s.r > c2 || a3[n3].e.c < f2 || a3[n3].e.r < c2)) {
          a3[n3].s.c == f2 && a3[n3].s.r == c2 || (h2 = true);
          break;
        }
        if (!h2) {
          var u2 = Ta(f2) + ba(c2), d2 = i3 ? (e3["!data"][c2] || [])[f2] : e3[u2];
          l2.push(ff(d2, u2, e3, t3, 0, 0, o2));
        }
      }
      l2.push("</Row>"), l2.length > 2 && s3.push(l2.join(""));
    }
    return s3.join("");
  }(s2, t2) : "", i2.length > 0 && a2.push("<Table>" + i2 + "</Table>"), a2.push(lf(s2, 0, e2, r2)), s2 && s2["!autofilter"] && a2.push('<AutoFilter x:Range="' + Do(Sa(s2["!autofilter"].ref), { r: 0, c: 0 }) + '" xmlns="urn:schemas-microsoft-com:office:excel"></AutoFilter>'), a2.join("");
}
function df(e2) {
  var t2 = {}, r2 = e2.content;
  if (r2.l = 28, t2.AnsiUserType = r2.read_shift(0, "lpstr-ansi"), t2.AnsiClipboardFormat = function(e3) {
    return sn(e3, 1);
  }(r2), r2.length - r2.l <= 4) return t2;
  var a2 = r2.read_shift(4);
  return 0 == a2 || a2 > 40 ? t2 : (r2.l -= 4, t2.Reserved1 = r2.read_shift(0, "lpstr-ansi"), r2.length - r2.l <= 4 || 1907505652 !== (a2 = r2.read_shift(4)) ? t2 : (t2.UnicodeClipboardFormat = function(e3) {
    return sn(e3, 2);
  }(r2), 0 == (a2 = r2.read_shift(4)) || a2 > 40 ? t2 : (r2.l -= 4, void (t2.Reserved2 = r2.read_shift(0, "lpwstr")))));
}
var pf = [60, 1084, 2066, 2165, 2175];
function mf(e2, t2, r2, a2, n2) {
  var s2 = a2, i2 = [], o2 = r2.slice(r2.l, r2.l + s2);
  if (n2 && n2.enc && n2.enc.insitu && o2.length > 0) switch (e2) {
    case 9:
    case 521:
    case 1033:
    case 2057:
    case 47:
    case 405:
    case 225:
    case 406:
    case 312:
    case 404:
    case 10:
    case 133:
      break;
    default:
      n2.enc.insitu(o2);
  }
  i2.push(o2), r2.l += s2;
  for (var c2 = Zr(r2, r2.l), l2 = Sf[c2], f2 = 0; null != l2 && pf.indexOf(c2) > -1; ) s2 = Zr(r2, r2.l + 2), f2 = r2.l + 4, 2066 == c2 ? f2 += 4 : 2165 != c2 && 2175 != c2 || (f2 += 12), o2 = r2.slice(f2, r2.l + 4 + s2), i2.push(o2), r2.l += 4 + s2, l2 = Sf[c2 = Zr(r2, r2.l)];
  var h2 = C(i2);
  oa(h2, 0);
  var u2 = 0;
  h2.lens = [];
  for (var d2 = 0; d2 < i2.length; ++d2) h2.lens.push(u2), u2 += i2[d2].length;
  if (h2.length < a2) throw "XLS Record 0x" + e2.toString(16) + " Truncated: " + h2.length + " < " + a2;
  return t2.f(h2, h2.length, n2);
}
function vf(e2, t2, r2) {
  if ("z" !== e2.t && e2.XF) {
    var a2 = 0;
    try {
      a2 = e2.z || e2.XF.numFmtId || 0, t2.cellNF && null == e2.z && (e2.z = W[a2]);
    } catch (e3) {
      if (t2.WTF) throw e3;
    }
    if (!t2 || false !== t2.cellText) try {
      "e" === e2.t ? e2.w = e2.w || mn[e2.v] : 0 === a2 || "General" == a2 ? "n" === e2.t ? (0 | e2.v) === e2.v ? e2.w = e2.v.toString(10) : e2.w = j(e2.v) : e2.w = K(e2.v) : e2.w = me(a2, e2.v, { date1904: !!r2, dateNF: t2 && t2.dateNF });
    } catch (e3) {
      if (t2.WTF) throw e3;
    }
    if (t2.cellDates && a2 && "n" == e2.t && he(W[a2] || String(a2))) {
      var n2 = G(e2.v + (r2 ? 1462 : 0));
      n2 && (e2.t = "d", e2.v = new Date(Date.UTC(n2.y, n2.m - 1, n2.d, n2.H, n2.M, n2.S, n2.u)));
    }
  }
}
function gf(e2, t2, r2) {
  return { v: e2, ixfe: t2, t: r2 };
}
function bf(e2, t2) {
  var r2 = { opts: {} }, a2 = {}, n2 = {};
  t2.dense && (n2["!data"] = []);
  var s2, i2, c2, l2, f2, h2, u2, d2, p2 = {}, m2 = {}, v2 = null, g2 = [], b2 = "", w2 = {}, T2 = "", y2 = {}, E2 = [], k2 = [], _2 = [], S2 = { Sheets: [], WBProps: { date1904: false }, Views: [{}] }, x2 = {}, A2 = false, C2 = function(e3) {
    return e3 < 8 ? pn[e3] : e3 < 64 && _2[e3 - 8] || pn[e3];
  }, I2 = function(e3, t3, r3) {
    if ((A2 || !(B2 > 1)) && !(r3.sheetRows && e3.r >= r3.sheetRows)) {
      if (r3.cellStyles && t3.XF && t3.XF.data && function(e4, t4) {
        var r4, a4 = e4.XF.data;
        a4 && a4.patternType && t4 && t4.cellStyles && (e4.s = {}, e4.s.patternType = a4.patternType, (r4 = Ui(C2(a4.icvFore))) && (e4.s.fgColor = { rgb: r4 }), (r4 = Ui(C2(a4.icvBack))) && (e4.s.bgColor = { rgb: r4 }));
      }(t3, r3), delete t3.ixfe, delete t3.XF, s2 = e3, T2 = Ea(e3), m2 && m2.s && m2.e || (m2 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }), e3.r < m2.s.r && (m2.s.r = e3.r), e3.c < m2.s.c && (m2.s.c = e3.c), e3.r + 1 > m2.e.r && (m2.e.r = e3.r + 1), e3.c + 1 > m2.e.c && (m2.e.c = e3.c + 1), r3.cellFormula && t3.f) {
        for (var a3 = 0; a3 < E2.length; ++a3) if (!(E2[a3][0].s.c > e3.c || E2[a3][0].s.r > e3.r || E2[a3][0].e.c < e3.c || E2[a3][0].e.r < e3.r)) {
          t3.F = _a(E2[a3][0]), E2[a3][0].s.c == e3.c && E2[a3][0].s.r == e3.r || delete t3.f, t3.f && (t3.f = "" + fc(E2[a3][1], 0, e3, M2, O2));
          break;
        }
      }
      r3.dense ? (n2["!data"][e3.r] || (n2["!data"][e3.r] = []), n2["!data"][e3.r][e3.c] = t3) : n2[T2] = t3;
    }
  }, O2 = { enc: false, sbcch: 0, snames: [], sharedf: y2, arrayf: E2, rrtabid: [], lastuser: "", biff: 8, codepage: 0, winlocked: 0, cellStyles: !!t2 && !!t2.cellStyles, WTF: !!t2 && !!t2.wtf };
  t2.password && (O2.password = t2.password);
  var R2 = [], N2 = [], F2 = [], D2 = [], P2 = false, M2 = [];
  M2.SheetNames = O2.snames, M2.sharedf = O2.sharedf, M2.arrayf = O2.arrayf, M2.names = [], M2.XTI = [];
  var L2, U2 = 0, B2 = 0, z2 = 0, H2 = [], V2 = [];
  O2.codepage = 1200, o(1200);
  for (var $2 = false; e2.l < e2.length - 1; ) {
    var G2 = e2.l, X2 = e2.read_shift(2);
    if (0 === X2 && 10 === U2) break;
    var j2 = e2.l === e2.length ? 0 : e2.read_shift(2), K2 = Sf[X2];
    if (0 == B2 && -1 == [9, 521, 1033, 2057].indexOf(X2)) break;
    if (K2 && K2.f) {
      if (t2.bookSheets && 133 === U2 && 133 !== X2) break;
      if (U2 = X2, 2 === K2.r || 12 == K2.r) {
        var Y2 = e2.read_shift(2);
        if (j2 -= 2, !O2.enc && Y2 !== X2 && ((255 & Y2) << 8 | Y2 >> 8) !== X2) throw new Error("rt mismatch: " + Y2 + "!=" + X2);
        12 == K2.r && (e2.l += 10, j2 -= 10);
      }
      var Z2 = {};
      if (Z2 = 10 === X2 ? K2.f(e2, j2, O2) : mf(X2, K2, e2, j2, O2), 0 == B2 && -1 === [9, 521, 1033, 2057].indexOf(U2)) continue;
      switch (X2) {
        case 34:
          r2.opts.Date1904 = S2.WBProps.date1904 = Z2;
          break;
        case 134:
          r2.opts.WriteProtect = true;
          break;
        case 47:
          if (O2.enc || (e2.l = 0), O2.enc = Z2, !t2.password) throw new Error("File is password-protected");
          if (null == Z2.valid) throw new Error("Encryption scheme unsupported");
          if (!Z2.valid) throw new Error("Password is incorrect");
          break;
        case 92:
          O2.lastuser = Z2;
          break;
        case 66:
          var J2 = Number(Z2);
          switch (J2) {
            case 21010:
              J2 = 1200;
              break;
            case 32768:
              J2 = 1e4;
              break;
            case 32769:
              J2 = 1252;
          }
          o(O2.codepage = J2), $2 = true;
          break;
        case 317:
          O2.rrtabid = Z2;
          break;
        case 25:
          O2.winlocked = Z2;
          break;
        case 439:
          r2.opts.RefreshAll = Z2;
          break;
        case 12:
          r2.opts.CalcCount = Z2;
          break;
        case 16:
          r2.opts.CalcDelta = Z2;
          break;
        case 17:
          r2.opts.CalcIter = Z2;
          break;
        case 13:
          r2.opts.CalcMode = Z2;
          break;
        case 14:
          r2.opts.CalcPrecision = Z2;
          break;
        case 95:
          r2.opts.CalcSaveRecalc = Z2;
          break;
        case 15:
          O2.CalcRefMode = Z2;
          break;
        case 2211:
          r2.opts.FullCalc = Z2;
          break;
        case 129:
          Z2.fDialog && (n2["!type"] = "dialog"), Z2.fBelow || ((n2["!outline"] || (n2["!outline"] = {})).above = true), Z2.fRight || ((n2["!outline"] || (n2["!outline"] = {})).left = true);
          break;
        case 67:
        case 579:
        case 1091:
        case 224:
          k2.push(Z2);
          break;
        case 430:
          M2.push([Z2]), M2[M2.length - 1].XTI = [];
          break;
        case 35:
        case 547:
          M2[M2.length - 1].push(Z2);
          break;
        case 24:
        case 536:
          L2 = { Name: Z2.Name, Ref: fc(Z2.rgce, 0, null, M2, O2) }, Z2.itab > 0 && (L2.Sheet = Z2.itab - 1), M2.names.push(L2), M2[0] || (M2[0] = [], M2[0].XTI = []), M2[M2.length - 1].push(Z2), "_xlnm._FilterDatabase" == Z2.Name && Z2.itab > 0 && Z2.rgce && Z2.rgce[0] && Z2.rgce[0][0] && "PtgArea3d" == Z2.rgce[0][0][0] && (V2[Z2.itab - 1] = { ref: _a(Z2.rgce[0][0][1][2]) });
          break;
        case 22:
          O2.ExternCount = Z2;
          break;
        case 23:
          0 == M2.length && (M2[0] = [], M2[0].XTI = []), M2[M2.length - 1].XTI = M2[M2.length - 1].XTI.concat(Z2), M2.XTI = M2.XTI.concat(Z2);
          break;
        case 2196:
          if (O2.biff < 8) break;
          null != L2 && (L2.Comment = Z2[1]);
          break;
        case 18:
          n2["!protect"] = Z2;
          break;
        case 19:
          0 !== Z2 && O2.WTF && console.error("Password verifier: " + Z2);
          break;
        case 133:
          p2[4 == O2.biff ? O2.snames.length : Z2.pos] = Z2, O2.snames.push(Z2.name);
          break;
        case 10:
          if (--B2 ? !A2 : A2) break;
          if (m2.e) {
            if (m2.e.r > 0 && m2.e.c > 0) {
              if (m2.e.r--, m2.e.c--, n2["!ref"] = _a(m2), t2.sheetRows && t2.sheetRows <= m2.e.r) {
                var q2 = m2.e.r;
                m2.e.r = t2.sheetRows - 1, n2["!fullref"] = n2["!ref"], n2["!ref"] = _a(m2), m2.e.r = q2;
              }
              m2.e.r++, m2.e.c++;
            }
            R2.length > 0 && (n2["!merges"] = R2), N2.length > 0 && (n2["!objects"] = N2), F2.length > 0 && (n2["!cols"] = F2), D2.length > 0 && (n2["!rows"] = D2), S2.Sheets.push(x2);
          }
          "" === b2 ? w2 = n2 : a2[b2] = n2, n2 = {}, t2.dense && (n2["!data"] = []);
          break;
        case 9:
        case 521:
        case 1033:
        case 2057:
          if (8 === O2.biff && (O2.biff = { 9: 2, 521: 3, 1033: 4 }[X2] || { 512: 2, 768: 3, 1024: 4, 1280: 5, 1536: 8, 2: 2, 7: 2 }[Z2.BIFFVer] || 8), O2.biffguess = 0 == Z2.BIFFVer, 0 == Z2.BIFFVer && 4096 == Z2.dt && (O2.biff = 5, $2 = true, o(O2.codepage = 28591)), 4 == O2.biff && 256 & Z2.dt && (A2 = true), 8 == O2.biff && 0 == Z2.BIFFVer && 16 == Z2.dt && (O2.biff = 2), B2++ && !A2) break;
          if (n2 = {}, t2.dense && (n2["!data"] = []), O2.biff < 8 && !$2 && ($2 = true, o(O2.codepage = t2.codepage || 1252)), 4 == O2.biff && A2) b2 = (p2[O2.snames.indexOf(b2) + 1] || { name: "" }).name;
          else if (O2.biff < 5 || 0 == Z2.BIFFVer && 4096 == Z2.dt) {
            "" === b2 && (b2 = "Sheet1"), m2 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
            var Q2 = { pos: e2.l - j2, name: b2 };
            p2[Q2.pos] = Q2, O2.snames.push(b2);
          } else b2 = (p2[G2] || { name: "" }).name;
          32 == Z2.dt && (n2["!type"] = "chart"), 64 == Z2.dt && (n2["!type"] = "macro"), R2 = [], N2 = [], O2.arrayf = E2 = [], F2 = [], D2 = [], P2 = false, x2 = { Hidden: (p2[G2] || { hs: 0 }).hs, name: b2 };
          break;
        case 515:
        case 3:
        case 2:
          "chart" == n2["!type"] && (t2.dense ? (n2["!data"][Z2.r] || [])[Z2.c] : n2[Ta(Z2.c) + ba(Z2.r)]) && ++Z2.c, h2 = { ixfe: Z2.ixfe, XF: k2[Z2.ixfe] || {}, v: Z2.val, t: "n" }, z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: Z2.c, r: Z2.r }, h2, t2);
          break;
        case 5:
        case 517:
          h2 = { ixfe: Z2.ixfe, XF: k2[Z2.ixfe], v: Z2.val, t: Z2.t }, z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: Z2.c, r: Z2.r }, h2, t2);
          break;
        case 638:
          h2 = { ixfe: Z2.ixfe, XF: k2[Z2.ixfe], v: Z2.rknum, t: "n" }, z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: Z2.c, r: Z2.r }, h2, t2);
          break;
        case 189:
          for (var ee2 = Z2.c; ee2 <= Z2.C; ++ee2) {
            var te2 = Z2.rkrec[ee2 - Z2.c][0];
            h2 = { ixfe: te2, XF: k2[te2], v: Z2.rkrec[ee2 - Z2.c][1], t: "n" }, z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: ee2, r: Z2.r }, h2, t2);
          }
          break;
        case 6:
        case 518:
        case 1030:
          if ("String" == Z2.val) {
            v2 = Z2;
            break;
          }
          if ((h2 = gf(Z2.val, Z2.cell.ixfe, Z2.tt)).XF = k2[h2.ixfe], t2.cellFormula) {
            var re2 = Z2.formula;
            if (re2 && re2[0] && re2[0][0] && "PtgExp" == re2[0][0][0]) {
              var ae2 = re2[0][0][1][0], ne2 = re2[0][0][1][1], se2 = Ea({ r: ae2, c: ne2 });
              y2[se2] ? h2.f = "" + fc(Z2.formula, 0, Z2.cell, M2, O2) : h2.F = ((t2.dense ? (n2["!data"][ae2] || [])[ne2] : n2[se2]) || {}).F;
            } else h2.f = "" + fc(Z2.formula, 0, Z2.cell, M2, O2);
          }
          z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2(Z2.cell, h2, t2), v2 = Z2;
          break;
        case 7:
        case 519:
          if (!v2) throw new Error("String record expects Formula");
          v2.val = Z2, (h2 = gf(Z2, v2.cell.ixfe, "s")).XF = k2[h2.ixfe], t2.cellFormula && (h2.f = "" + fc(v2.formula, 0, v2.cell, M2, O2)), z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2(v2.cell, h2, t2), v2 = null;
          break;
        case 33:
        case 545:
          E2.push(Z2);
          var ie2 = Ea(Z2[0].s);
          if (i2 = t2.dense ? (n2["!data"][Z2[0].s.r] || [])[Z2[0].s.c] : n2[ie2], t2.cellFormula && i2) {
            if (!v2) break;
            if (!ie2 || !i2) break;
            i2.f = "" + fc(Z2[1], 0, Z2[0], M2, O2), i2.F = _a(Z2[0]);
          }
          break;
        case 1212:
          if (!t2.cellFormula) break;
          if (T2) {
            if (!v2) break;
            y2[Ea(v2.cell)] = Z2[0], ((i2 = t2.dense ? (n2["!data"][v2.cell.r] || [])[v2.cell.c] : n2[Ea(v2.cell)]) || {}).f = "" + fc(Z2[0], 0, s2, M2, O2);
          }
          break;
        case 253:
          h2 = gf(g2[Z2.isst].t, Z2.ixfe, "s"), g2[Z2.isst].h && (h2.h = g2[Z2.isst].h), h2.XF = k2[h2.ixfe], z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: Z2.c, r: Z2.r }, h2, t2);
          break;
        case 513:
          t2.sheetStubs && (h2 = { ixfe: Z2.ixfe, XF: k2[Z2.ixfe], t: "z" }, z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: Z2.c, r: Z2.r }, h2, t2));
          break;
        case 190:
          if (t2.sheetStubs) for (var oe2 = Z2.c; oe2 <= Z2.C; ++oe2) {
            var ce2 = Z2.ixfe[oe2 - Z2.c];
            h2 = { ixfe: ce2, XF: k2[ce2], t: "z" }, z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: oe2, r: Z2.r }, h2, t2);
          }
          break;
        case 214:
        case 516:
        case 4:
          (h2 = gf(Z2.val, Z2.ixfe, "s")).XF = k2[h2.ixfe], z2 > 0 && (h2.z = h2.XF && h2.XF.numFmtId && H2[h2.XF.numFmtId] || H2[h2.ixfe >> 8 & 63]), vf(h2, t2, r2.opts.Date1904), I2({ c: Z2.c, r: Z2.r }, h2, t2);
          break;
        case 0:
        case 512:
          1 === B2 && (m2 = Z2);
          break;
        case 252:
          g2 = Z2;
          break;
        case 1054:
          if (O2.biff >= 3 && O2.biff <= 4) {
            H2[z2++] = Z2[1];
            for (var le2 = 0; le2 < z2 + 163 && W[le2] != Z2[1]; ++le2) ;
            le2 >= 163 && ke(Z2[1], z2 + 163);
          } else ke(Z2[1], Z2[0]);
          break;
        case 30:
          H2[z2++] = Z2;
          for (var fe2 = 0; fe2 < z2 + 163 && W[fe2] != Z2; ++fe2) ;
          fe2 >= 163 && ke(Z2, z2 + 163);
          break;
        case 229:
          R2 = R2.concat(Z2);
          break;
        case 93:
          N2[Z2.cmo[0]] = O2.lastobj = Z2;
          break;
        case 438:
          O2.lastobj.TxO = Z2;
          break;
        case 127:
          O2.lastobj.ImData = Z2;
          break;
        case 440:
          for (f2 = Z2[0].s.r; f2 <= Z2[0].e.r; ++f2) for (l2 = Z2[0].s.c; l2 <= Z2[0].e.c; ++l2) (i2 = t2.dense ? (n2["!data"][f2] || [])[l2] : n2[Ea({ c: l2, r: f2 })]) && (i2.l = Z2[1]);
          break;
        case 2048:
          for (f2 = Z2[0].s.r; f2 <= Z2[0].e.r; ++f2) for (l2 = Z2[0].s.c; l2 <= Z2[0].e.c; ++l2) (i2 = t2.dense ? (n2["!data"][f2] || [])[l2] : n2[Ea({ c: l2, r: f2 })]) && i2.l && (i2.l.Tooltip = Z2[1]);
          break;
        case 28:
          if ((i2 = t2.dense ? (n2["!data"][Z2[0].r] || [])[Z2[0].c] : n2[Ea(Z2[0])]) || (t2.dense ? (n2["!data"][Z2[0].r] || (n2["!data"][Z2[0].r] = []), i2 = n2["!data"][Z2[0].r][Z2[0].c] = { t: "z" }) : i2 = n2[Ea(Z2[0])] = { t: "z" }, m2.e.r = Math.max(m2.e.r, Z2[0].r), m2.s.r = Math.min(m2.s.r, Z2[0].r), m2.e.c = Math.max(m2.e.c, Z2[0].c), m2.s.c = Math.min(m2.s.c, Z2[0].c)), i2.c || (i2.c = []), O2.biff <= 5 && O2.biff >= 2) c2 = { a: "SheetJ5", t: Z2[1] };
          else {
            var he2 = N2[Z2[2]];
            c2 = { a: Z2[1], t: he2.TxO.t }, null == Z2[3] || 2 & Z2[3] || (i2.c.hidden = true);
          }
          i2.c.push(c2);
          break;
        case 2173:
          yo(k2[Z2.ixfe], Z2.ext);
          break;
        case 125:
          if (!O2.cellStyles) break;
          for (; Z2.e >= Z2.s; ) F2[Z2.e--] = { width: Z2.w / 256, level: Z2.level || 0, hidden: !!(1 & Z2.flags) }, P2 || (P2 = true, Gi(Z2.w / 256)), Xi(F2[Z2.e + 1]);
          break;
        case 520:
          var ue2 = {};
          null != Z2.level && (D2[Z2.r] = ue2, ue2.level = Z2.level), Z2.hidden && (D2[Z2.r] = ue2, ue2.hidden = true), Z2.hpt && (D2[Z2.r] = ue2, ue2.hpt = Z2.hpt, ue2.hpx = Yi(Z2.hpt));
          break;
        case 38:
        case 39:
        case 40:
        case 41:
          n2["!margins"] || Dc(n2["!margins"] = {}), n2["!margins"][{ 38: "left", 39: "right", 40: "top", 41: "bottom" }[X2]] = Z2;
          break;
        case 161:
          n2["!margins"] || Dc(n2["!margins"] = {}), n2["!margins"].header = Z2.header, n2["!margins"].footer = Z2.footer;
          break;
        case 574:
          Z2.RTL && (S2.Views[0].RTL = true);
          break;
        case 146:
          _2 = Z2;
          break;
        case 2198:
          d2 = Z2;
          break;
        case 140:
          u2 = Z2;
          break;
        case 442:
          b2 ? x2.CodeName = Z2 || x2.name : S2.WBProps.CodeName = Z2 || "ThisWorkbook";
      }
    } else K2 || console.error("Missing Info for XLS Record 0x" + X2.toString(16)), e2.l += j2;
  }
  return r2.SheetNames = Oe(p2).sort(function(e3, t3) {
    return Number(e3) - Number(t3);
  }).map(function(e3) {
    return p2[e3].name;
  }), t2.bookSheets || (r2.Sheets = a2), !r2.SheetNames.length && w2["!ref"] ? (r2.SheetNames.push("Sheet1"), r2.Sheets && (r2.Sheets.Sheet1 = w2)) : r2.Preamble = w2, r2.Sheets && V2.forEach(function(e3, t3) {
    r2.Sheets[r2.SheetNames[t3]]["!autofilter"] = e3;
  }), r2.Strings = g2, r2.SSF = Ge(W), O2.enc && (r2.Encryption = O2.enc), d2 && (r2.Themes = d2), r2.Metadata = {}, void 0 !== u2 && (r2.Metadata.Country = u2), M2.names.length > 0 && (S2.Names = M2.names), r2.Workbook = S2, r2;
}
var wf = "e0859ff2f94f6810ab9108002b27b3d9", Tf = "02d5cdd59c2e1b10939708002b2cf9ae", yf = "05d5cdd59c2e1b10939708002b2cf9ae";
function Ef(e2, t2) {
  var r2, a2, n2, s2;
  if (t2 || (t2 = {}), Zh(t2), c(), t2.codepage && i(t2.codepage), e2.FullPaths) {
    if (xe.find(e2, "/encryption")) throw new Error("File is password-protected");
    r2 = xe.find(e2, "!CompObj"), a2 = xe.find(e2, "/Workbook") || xe.find(e2, "/Book");
  } else {
    switch (t2.type) {
      case "base64":
        e2 = _(b(e2));
        break;
      case "binary":
        e2 = _(e2);
        break;
      case "buffer":
        break;
      case "array":
        Array.isArray(e2) || (e2 = Array.prototype.slice.call(e2));
    }
    oa(e2, 0), a2 = { content: e2 };
  }
  if (r2 && df(r2), t2.bookProps && !t2.bookSheets) n2 = {};
  else {
    var o2 = w ? "buffer" : "array";
    if (a2 && a2.content) n2 = bf(a2.content, t2);
    else if ((s2 = xe.find(e2, "PerfectOffice_MAIN")) && s2.content) n2 = ui.to_workbook(s2.content, (t2.type = o2, t2));
    else {
      if (!(s2 = xe.find(e2, "NativeContent_MAIN")) || !s2.content) throw (s2 = xe.find(e2, "MN0")) && s2.content ? new Error("Unsupported Works 4 for Mac file") : new Error("Cannot find Workbook stream");
      n2 = ui.to_workbook(s2.content, (t2.type = o2, t2));
    }
    t2.bookVBA && e2.FullPaths && xe.find(e2, "/_VBA_PROJECT_CUR/VBA/dir") && (n2.vbaraw = function(e3) {
      var t3 = xe.utils.cfb_new({ root: "R" });
      return e3.FullPaths.forEach(function(r3, a3) {
        if ("/" !== r3.slice(-1) && r3.match(/_VBA_PROJECT_CUR/)) {
          var n3 = r3.replace(/^[^\/]*/, "R").replace(/\/_VBA_PROJECT_CUR\u0000*/, "");
          xe.utils.cfb_add(t3, n3, e3.FileIndex[a3].content);
        }
      }), xe.write(t3);
    }(e2));
  }
  var l2 = {};
  return e2.FullPaths && function(e3, t3, r3) {
    var a3 = xe.find(e3, "/!DocumentSummaryInformation");
    if (a3 && a3.size > 0) try {
      var n3 = es(a3, ln, Tf);
      for (var s3 in n3) t3[s3] = n3[s3];
    } catch (e4) {
      if (r3.WTF) throw e4;
    }
    var i2 = xe.find(e3, "/!SummaryInformation");
    if (i2 && i2.size > 0) try {
      var o3 = es(i2, fn, wf);
      for (var c2 in o3) null == t3[c2] && (t3[c2] = o3[c2]);
    } catch (e4) {
      if (r3.WTF) throw e4;
    }
    t3.HeadingPairs && t3.TitlesOfParts && (Pn(t3.HeadingPairs, t3.TitlesOfParts, t3, r3), delete t3.HeadingPairs, delete t3.TitlesOfParts);
  }(e2, l2, t2), n2.Props = n2.Custprops = l2, t2.bookFiles && (n2.cfb = e2), n2;
}
function kf(e2, t2) {
  var r2 = t2 || {}, a2 = xe.utils.cfb_new({ root: "R" }), n2 = "/Workbook";
  switch (r2.bookType || "xls") {
    case "xls":
      r2.bookType = "biff8";
    case "xla":
      r2.bookType || (r2.bookType = "xla");
    case "biff8":
      n2 = "/Workbook", r2.biff = 8;
      break;
    case "biff5":
      n2 = "/Book", r2.biff = 5;
      break;
    default:
      throw new Error("invalid type " + r2.bookType + " for XLS CFB");
  }
  return xe.utils.cfb_add(a2, n2, Uf(e2, r2)), 8 == r2.biff && (e2.Props || e2.Custprops) && function(e3, t3) {
    var r3, a3 = [], n3 = [], s2 = [], i2 = 0, o2 = Re(ln, "n"), c2 = Re(fn, "n");
    if (e3.Props) for (r3 = Oe(e3.Props), i2 = 0; i2 < r3.length; ++i2) (Object.prototype.hasOwnProperty.call(o2, r3[i2]) ? a3 : Object.prototype.hasOwnProperty.call(c2, r3[i2]) ? n3 : s2).push([r3[i2], e3.Props[r3[i2]]]);
    if (e3.Custprops) for (r3 = Oe(e3.Custprops), i2 = 0; i2 < r3.length; ++i2) Object.prototype.hasOwnProperty.call(e3.Props || {}, r3[i2]) || (Object.prototype.hasOwnProperty.call(o2, r3[i2]) ? a3 : Object.prototype.hasOwnProperty.call(c2, r3[i2]) ? n3 : s2).push([r3[i2], e3.Custprops[r3[i2]]]);
    var l2 = [];
    for (i2 = 0; i2 < s2.length; ++i2) Jn.indexOf(s2[i2][0]) > -1 || Dn.indexOf(s2[i2][0]) > -1 || null != s2[i2][1] && l2.push(s2[i2]);
    n3.length && xe.utils.cfb_add(t3, "/SummaryInformation", ts(n3, wf, c2, fn)), (a3.length || l2.length) && xe.utils.cfb_add(t3, "/DocumentSummaryInformation", ts(a3, Tf, o2, ln, l2.length ? l2 : null, yf));
  }(e2, a2), 8 == r2.biff && e2.vbaraw && function(e3, t3) {
    t3.FullPaths.forEach(function(r3, a3) {
      if (0 != a3) {
        var n3 = r3.replace(/^[\/]*[^\/]*[\/]/, "/_VBA_PROJECT_CUR/");
        "/" !== n3.slice(-1) && xe.utils.cfb_add(e3, n3, t3.FileIndex[a3].content);
      }
    });
  }(a2, xe.read(e2.vbaraw, { type: "string" == typeof e2.vbaraw ? "binary" : "buffer" })), a2;
}
var _f = { 0: { f: function(e2, t2) {
  var r2 = {}, a2 = e2.l + t2;
  r2.r = e2.read_shift(4), e2.l += 4;
  var n2 = e2.read_shift(2);
  e2.l += 1;
  var s2 = e2.read_shift(1);
  return e2.l = a2, 7 & s2 && (r2.level = 7 & s2), 16 & s2 && (r2.hidden = true), 32 & s2 && (r2.hpt = n2 / 20), r2;
} }, 1: { f: function(e2) {
  return [Wa(e2)];
} }, 2: { f: function(e2) {
  return [Wa(e2), Ja(e2), "n"];
} }, 3: { f: function(e2) {
  return [Wa(e2), e2.read_shift(1), "e"];
} }, 4: { f: function(e2) {
  return [Wa(e2), e2.read_shift(1), "b"];
} }, 5: { f: function(e2) {
  return [Wa(e2), rn(e2), "n"];
} }, 6: { f: function(e2) {
  return [Wa(e2), Da(e2), "str"];
} }, 7: { f: function(e2) {
  return [Wa(e2), e2.read_shift(4), "s"];
} }, 8: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = Wa(e2);
  n2.r = r2["!row"];
  var s2 = [n2, Da(e2), "str"];
  if (r2.cellFormula) {
    e2.l += 2;
    var i2 = gc(e2, a2 - e2.l, r2);
    s2[3] = fc(i2, 0, n2, r2.supbooks, r2);
  } else e2.l = a2;
  return s2;
} }, 9: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = Wa(e2);
  n2.r = r2["!row"];
  var s2 = [n2, rn(e2), "n"];
  if (r2.cellFormula) {
    e2.l += 2;
    var i2 = gc(e2, a2 - e2.l, r2);
    s2[3] = fc(i2, 0, n2, r2.supbooks, r2);
  } else e2.l = a2;
  return s2;
} }, 10: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = Wa(e2);
  n2.r = r2["!row"];
  var s2 = [n2, e2.read_shift(1), "b"];
  if (r2.cellFormula) {
    e2.l += 2;
    var i2 = gc(e2, a2 - e2.l, r2);
    s2[3] = fc(i2, 0, n2, r2.supbooks, r2);
  } else e2.l = a2;
  return s2;
} }, 11: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = Wa(e2);
  n2.r = r2["!row"];
  var s2 = [n2, e2.read_shift(1), "e"];
  if (r2.cellFormula) {
    e2.l += 2;
    var i2 = gc(e2, a2 - e2.l, r2);
    s2[3] = fc(i2, 0, n2, r2.supbooks, r2);
  } else e2.l = a2;
  return s2;
} }, 12: { f: function(e2) {
  return [Ha(e2)];
} }, 13: { f: function(e2) {
  return [Ha(e2), Ja(e2), "n"];
} }, 14: { f: function(e2) {
  return [Ha(e2), e2.read_shift(1), "e"];
} }, 15: { f: function(e2) {
  return [Ha(e2), e2.read_shift(1), "b"];
} }, 16: { f: nl }, 17: { f: function(e2) {
  return [Ha(e2), Da(e2), "str"];
} }, 18: { f: function(e2) {
  return [Ha(e2), e2.read_shift(4), "s"];
} }, 19: { f: La }, 20: {}, 21: {}, 22: {}, 23: {}, 24: {}, 25: {}, 26: {}, 27: {}, 28: {}, 29: {}, 30: {}, 31: {}, 32: {}, 33: {}, 34: {}, 35: { T: 1 }, 36: { T: -1 }, 37: { T: 1 }, 38: { T: -1 }, 39: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = e2.read_shift(4);
  e2.l += 1;
  var s2, i2 = e2.read_shift(4), o2 = Ka(e2), c2 = "";
  try {
    s2 = bc(e2, 0, r2);
    try {
      c2 = Xa(e2);
    } catch (e3) {
    }
  } catch (e3) {
    console.error("Could not parse defined name " + o2);
  }
  32 & n2 && (o2 = "_xlnm." + o2), e2.l = a2;
  var l2 = { Name: o2, Ptg: s2, Flags: n2 };
  return i2 < 268435455 && (l2.Sheet = i2), c2 && (l2.Comment = c2), l2;
} }, 40: {}, 42: {}, 43: { f: function(e2, t2, r2) {
  var a2 = {};
  a2.sz = e2.read_shift(2) / 20;
  var n2 = function(e3) {
    var t3 = e3.read_shift(1);
    return e3.l++, { fBold: 1 & t3, fItalic: 2 & t3, fUnderline: 4 & t3, fStrikeout: 8 & t3, fOutline: 16 & t3, fShadow: 32 & t3, fCondense: 64 & t3, fExtend: 128 & t3 };
  }(e2);
  switch (n2.fItalic && (a2.italic = 1), n2.fCondense && (a2.condense = 1), n2.fExtend && (a2.extend = 1), n2.fShadow && (a2.shadow = 1), n2.fOutline && (a2.outline = 1), n2.fStrikeout && (a2.strike = 1), 700 === e2.read_shift(2) && (a2.bold = 1), e2.read_shift(2)) {
    case 1:
      a2.vertAlign = "superscript";
      break;
    case 2:
      a2.vertAlign = "subscript";
  }
  var s2 = e2.read_shift(1);
  0 != s2 && (a2.underline = s2);
  var i2 = e2.read_shift(1);
  i2 > 0 && (a2.family = i2);
  var o2 = e2.read_shift(1);
  switch (o2 > 0 && (a2.charset = o2), e2.l++, a2.color = function(e3) {
    var t3 = {}, r3 = e3.read_shift(1) >>> 1, a3 = e3.read_shift(1), n3 = e3.read_shift(2, "i"), s3 = e3.read_shift(1), i3 = e3.read_shift(1), o3 = e3.read_shift(1);
    switch (e3.l++, r3) {
      case 0:
        t3.auto = 1;
        break;
      case 1:
        t3.index = a3;
        var c2 = pn[a3];
        c2 && (t3.rgb = Ui(c2));
        break;
      case 2:
        t3.rgb = Ui([s3, i3, o3]);
        break;
      case 3:
        t3.theme = a3;
    }
    return 0 != n3 && (t3.tint = n3 > 0 ? n3 / 32767 : n3 / 32768), t3;
  }(e2), e2.read_shift(1)) {
    case 1:
      a2.scheme = "major";
      break;
    case 2:
      a2.scheme = "minor";
  }
  return a2.name = Da(e2), a2;
} }, 44: { f: function(e2, t2) {
  return [e2.read_shift(2), Da(e2)];
} }, 45: { f: so }, 46: { f: lo }, 47: { f: function(e2, t2) {
  var r2 = e2.l + t2, a2 = e2.read_shift(2), n2 = e2.read_shift(2);
  return e2.l = r2, { ixfe: a2, numFmtId: n2 };
} }, 48: {}, 49: { f: function(e2) {
  return e2.read_shift(4, "i");
} }, 50: {}, 51: { f: function(e2) {
  for (var t2 = [], r2 = e2.read_shift(4); r2-- > 0; ) t2.push([e2.read_shift(4), e2.read_shift(4)]);
  return t2;
} }, 52: { T: 1 }, 53: { T: -1 }, 54: { T: 1 }, 55: { T: -1 }, 56: { T: 1 }, 57: { T: -1 }, 58: {}, 59: {}, 60: { f: ti }, 62: { f: function(e2) {
  return [Wa(e2), La(e2), "is"];
} }, 63: { f: function(e2) {
  var t2 = {};
  t2.i = e2.read_shift(4);
  var r2 = {};
  r2.r = e2.read_shift(4), r2.c = e2.read_shift(4), t2.r = Ea(r2);
  var a2 = e2.read_shift(1);
  return 2 & a2 && (t2.l = "1"), 8 & a2 && (t2.a = "1"), t2;
} }, 64: { f: function() {
} }, 65: {}, 66: {}, 67: {}, 68: {}, 69: {}, 70: {}, 128: {}, 129: { T: 1 }, 130: { T: -1 }, 131: { T: 1, f: ca, p: 0 }, 132: { T: -1 }, 133: { T: 1 }, 134: { T: -1 }, 135: { T: 1 }, 136: { T: -1 }, 137: { T: 1, f: function(e2) {
  var t2 = e2.read_shift(2);
  return e2.l += 28, { RTL: 32 & t2 };
} }, 138: { T: -1 }, 139: { T: 1 }, 140: { T: -1 }, 141: { T: 1 }, 142: { T: -1 }, 143: { T: 1 }, 144: { T: -1 }, 145: { T: 1 }, 146: { T: -1 }, 147: { f: function(e2, t2) {
  var r2 = {}, a2 = e2[e2.l];
  return ++e2.l, r2.above = !(64 & a2), r2.left = !(128 & a2), e2.l += 18, r2.name = $a(e2), r2;
} }, 148: { f: el, p: 16 }, 151: { f: function() {
} }, 152: {}, 153: { f: function(e2, t2) {
  var r2 = {}, a2 = e2.read_shift(4);
  r2.defaultThemeVersion = e2.read_shift(4);
  var n2 = t2 > 8 ? Da(e2) : "";
  return n2.length > 0 && (r2.CodeName = n2), r2.autoCompressPictures = !!(65536 & a2), r2.backupFile = !!(64 & a2), r2.checkCompatibility = !!(4096 & a2), r2.date1904 = !!(1 & a2), r2.filterPrivacy = !!(8 & a2), r2.hidePivotFieldList = !!(1024 & a2), r2.promptedSolutions = !!(16 & a2), r2.publishItems = !!(2048 & a2), r2.refreshAllConnections = !!(262144 & a2), r2.saveExternalLinkValues = !!(128 & a2), r2.showBorderUnselectedTables = !!(4 & a2), r2.showInkAnnotation = !!(32 & a2), r2.showObjects = ["all", "placeholders", "none"][a2 >> 13 & 3], r2.showPivotChartFilter = !!(32768 & a2), r2.updateLinks = ["userSet", "never", "always"][a2 >> 8 & 3], r2;
} }, 154: {}, 155: {}, 156: { f: function(e2, t2) {
  var r2 = {};
  return r2.Hidden = e2.read_shift(4), r2.iTabID = e2.read_shift(4), r2.strRelID = Ya(e2), r2.name = Da(e2), r2;
} }, 157: {}, 158: {}, 159: { T: 1, f: function(e2) {
  return [e2.read_shift(4), e2.read_shift(4)];
} }, 160: { T: -1 }, 161: { T: 1, f: en }, 162: { T: -1 }, 163: { T: 1 }, 164: { T: -1 }, 165: { T: 1 }, 166: { T: -1 }, 167: {}, 168: {}, 169: {}, 170: {}, 171: {}, 172: { T: 1 }, 173: { T: -1 }, 174: {}, 175: {}, 176: { f: sl }, 177: { T: 1 }, 178: { T: -1 }, 179: { T: 1 }, 180: { T: -1 }, 181: { T: 1 }, 182: { T: -1 }, 183: { T: 1 }, 184: { T: -1 }, 185: { T: 1 }, 186: { T: -1 }, 187: { T: 1 }, 188: { T: -1 }, 189: { T: 1 }, 190: { T: -1 }, 191: { T: 1 }, 192: { T: -1 }, 193: { T: 1 }, 194: { T: -1 }, 195: { T: 1 }, 196: { T: -1 }, 197: { T: 1 }, 198: { T: -1 }, 199: { T: 1 }, 200: { T: -1 }, 201: { T: 1 }, 202: { T: -1 }, 203: { T: 1 }, 204: { T: -1 }, 205: { T: 1 }, 206: { T: -1 }, 207: { T: 1 }, 208: { T: -1 }, 209: { T: 1 }, 210: { T: -1 }, 211: { T: 1 }, 212: { T: -1 }, 213: { T: 1 }, 214: { T: -1 }, 215: { T: 1 }, 216: { T: -1 }, 217: { T: 1 }, 218: { T: -1 }, 219: { T: 1 }, 220: { T: -1 }, 221: { T: 1 }, 222: { T: -1 }, 223: { T: 1 }, 224: { T: -1 }, 225: { T: 1 }, 226: { T: -1 }, 227: { T: 1 }, 228: { T: -1 }, 229: { T: 1 }, 230: { T: -1 }, 231: { T: 1 }, 232: { T: -1 }, 233: { T: 1 }, 234: { T: -1 }, 235: { T: 1 }, 236: { T: -1 }, 237: { T: 1 }, 238: { T: -1 }, 239: { T: 1 }, 240: { T: -1 }, 241: { T: 1 }, 242: { T: -1 }, 243: { T: 1 }, 244: { T: -1 }, 245: { T: 1 }, 246: { T: -1 }, 247: { T: 1 }, 248: { T: -1 }, 249: { T: 1 }, 250: { T: -1 }, 251: { T: 1 }, 252: { T: -1 }, 253: { T: 1 }, 254: { T: -1 }, 255: { T: 1 }, 256: { T: -1 }, 257: { T: 1 }, 258: { T: -1 }, 259: { T: 1 }, 260: { T: -1 }, 261: { T: 1 }, 262: { T: -1 }, 263: { T: 1 }, 264: { T: -1 }, 265: { T: 1 }, 266: { T: -1 }, 267: { T: 1 }, 268: { T: -1 }, 269: { T: 1 }, 270: { T: -1 }, 271: { T: 1 }, 272: { T: -1 }, 273: { T: 1 }, 274: { T: -1 }, 275: { T: 1 }, 276: { T: -1 }, 277: {}, 278: { T: 1 }, 279: { T: -1 }, 280: { T: 1 }, 281: { T: -1 }, 282: { T: 1 }, 283: { T: 1 }, 284: { T: -1 }, 285: { T: 1 }, 286: { T: -1 }, 287: { T: 1 }, 288: { T: -1 }, 289: { T: 1 }, 290: { T: -1 }, 291: { T: 1 }, 292: { T: -1 }, 293: { T: 1 }, 294: { T: -1 }, 295: { T: 1 }, 296: { T: -1 }, 297: { T: 1 }, 298: { T: -1 }, 299: { T: 1 }, 300: { T: -1 }, 301: { T: 1 }, 302: { T: -1 }, 303: { T: 1 }, 304: { T: -1 }, 305: { T: 1 }, 306: { T: -1 }, 307: { T: 1 }, 308: { T: -1 }, 309: { T: 1 }, 310: { T: -1 }, 311: { T: 1 }, 312: { T: -1 }, 313: { T: -1 }, 314: { T: 1 }, 315: { T: -1 }, 316: { T: 1 }, 317: { T: -1 }, 318: { T: 1 }, 319: { T: -1 }, 320: { T: 1 }, 321: { T: -1 }, 322: { T: 1 }, 323: { T: -1 }, 324: { T: 1 }, 325: { T: -1 }, 326: { T: 1 }, 327: { T: -1 }, 328: { T: 1 }, 329: { T: -1 }, 330: { T: 1 }, 331: { T: -1 }, 332: { T: 1 }, 333: { T: -1 }, 334: { T: 1 }, 335: { f: function(e2, t2) {
  return { flags: e2.read_shift(4), version: e2.read_shift(4), name: Da(e2) };
} }, 336: { T: -1 }, 337: { f: function(e2) {
  return e2.l += 4, 0 != e2.read_shift(4);
}, T: 1 }, 338: { T: -1 }, 339: { T: 1 }, 340: { T: -1 }, 341: { T: 1 }, 342: { T: -1 }, 343: { T: 1 }, 344: { T: -1 }, 345: { T: 1 }, 346: { T: -1 }, 347: { T: 1 }, 348: { T: -1 }, 349: { T: 1 }, 350: { T: -1 }, 351: {}, 352: {}, 353: { T: 1 }, 354: { T: -1 }, 355: { f: Ya }, 357: {}, 358: {}, 359: {}, 360: { T: 1 }, 361: {}, 362: { f: Ks }, 363: {}, 364: {}, 366: {}, 367: {}, 368: {}, 369: {}, 370: {}, 371: {}, 372: { T: 1 }, 373: { T: -1 }, 374: { T: 1 }, 375: { T: -1 }, 376: { T: 1 }, 377: { T: -1 }, 378: { T: 1 }, 379: { T: -1 }, 380: { T: 1 }, 381: { T: -1 }, 382: { T: 1 }, 383: { T: -1 }, 384: { T: 1 }, 385: { T: -1 }, 386: { T: 1 }, 387: { T: -1 }, 388: { T: 1 }, 389: { T: -1 }, 390: { T: 1 }, 391: { T: -1 }, 392: { T: 1 }, 393: { T: -1 }, 394: { T: 1 }, 395: { T: -1 }, 396: {}, 397: {}, 398: {}, 399: {}, 400: {}, 401: { T: 1 }, 403: {}, 404: {}, 405: {}, 406: {}, 407: {}, 408: {}, 409: {}, 410: {}, 411: {}, 412: {}, 413: {}, 414: {}, 415: {}, 416: {}, 417: {}, 418: {}, 419: {}, 420: {}, 421: {}, 422: { T: 1 }, 423: { T: 1 }, 424: { T: -1 }, 425: { T: -1 }, 426: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = Qa(e2), s2 = e2.read_shift(1), i2 = [n2];
  if (i2[2] = s2, r2.cellFormula) {
    var o2 = vc(e2, a2 - e2.l, r2);
    i2[1] = o2;
  } else e2.l = a2;
  return i2;
} }, 427: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = [en(e2)];
  if (r2.cellFormula) {
    var s2 = wc(e2, a2 - e2.l, r2);
    n2[1] = s2, e2.l = a2;
  } else e2.l = a2;
  return n2;
} }, 428: {}, 429: { T: 1 }, 430: { T: -1 }, 431: { T: 1 }, 432: { T: -1 }, 433: { T: 1 }, 434: { T: -1 }, 435: { T: 1 }, 436: { T: -1 }, 437: { T: 1 }, 438: { T: -1 }, 439: { T: 1 }, 440: { T: -1 }, 441: { T: 1 }, 442: { T: -1 }, 443: { T: 1 }, 444: { T: -1 }, 445: { T: 1 }, 446: { T: -1 }, 447: { T: 1 }, 448: { T: -1 }, 449: { T: 1 }, 450: { T: -1 }, 451: { T: 1 }, 452: { T: -1 }, 453: { T: 1 }, 454: { T: -1 }, 455: { T: 1 }, 456: { T: -1 }, 457: { T: 1 }, 458: { T: -1 }, 459: { T: 1 }, 460: { T: -1 }, 461: { T: 1 }, 462: { T: -1 }, 463: { T: 1 }, 464: { T: -1 }, 465: { T: 1 }, 466: { T: -1 }, 467: { T: 1 }, 468: { T: -1 }, 469: { T: 1 }, 470: { T: -1 }, 471: {}, 472: {}, 473: { T: 1 }, 474: { T: -1 }, 475: {}, 476: { f: function(e2) {
  var t2 = {};
  return ol.forEach(function(r2) {
    t2[r2] = rn(e2);
  }), t2;
} }, 477: {}, 478: {}, 479: { T: 1 }, 480: { T: -1 }, 481: { T: 1 }, 482: { T: -1 }, 483: { T: 1 }, 484: { T: -1 }, 485: { f: function() {
} }, 486: { T: 1 }, 487: { T: -1 }, 488: { T: 1 }, 489: { T: -1 }, 490: { T: 1 }, 491: { T: -1 }, 492: { T: 1 }, 493: { T: -1 }, 494: { f: function(e2, t2) {
  var r2 = e2.l + t2, a2 = en(e2), n2 = Xa(e2), s2 = Da(e2), i2 = Da(e2), o2 = Da(e2);
  e2.l = r2;
  var c2 = { rfx: a2, relId: n2, loc: s2, display: o2 };
  return i2 && (c2.Tooltip = i2), c2;
} }, 495: { T: 1 }, 496: { T: -1 }, 497: { T: 1 }, 498: { T: -1 }, 499: {}, 500: { T: 1 }, 501: { T: -1 }, 502: { T: 1 }, 503: { T: -1 }, 504: {}, 505: { T: 1 }, 506: { T: -1 }, 507: {}, 508: { T: 1 }, 509: { T: -1 }, 510: { T: 1 }, 511: { T: -1 }, 512: {}, 513: {}, 514: { T: 1 }, 515: { T: -1 }, 516: { T: 1 }, 517: { T: -1 }, 518: { T: 1 }, 519: { T: -1 }, 520: { T: 1 }, 521: { T: -1 }, 522: {}, 523: {}, 524: {}, 525: {}, 526: {}, 527: {}, 528: { T: 1 }, 529: { T: -1 }, 530: { T: 1 }, 531: { T: -1 }, 532: { T: 1 }, 533: { T: -1 }, 534: {}, 535: {}, 536: {}, 537: {}, 538: { T: 1 }, 539: { T: -1 }, 540: { T: 1 }, 541: { T: -1 }, 542: { T: 1 }, 548: {}, 549: {}, 550: { f: Ya }, 551: { f: Xa }, 552: {}, 553: {}, 554: { T: 1 }, 555: { T: -1 }, 556: { T: 1 }, 557: { T: -1 }, 558: { T: 1 }, 559: { T: -1 }, 560: { T: 1 }, 561: { T: -1 }, 562: {}, 564: {}, 565: { T: 1 }, 566: { T: -1 }, 569: { T: 1 }, 570: { T: -1 }, 572: {}, 573: { T: 1 }, 574: { T: -1 }, 577: {}, 578: {}, 579: {}, 580: {}, 581: {}, 582: {}, 583: {}, 584: {}, 585: {}, 586: {}, 587: {}, 588: { T: -1 }, 589: {}, 590: { T: 1 }, 591: { T: -1 }, 592: { T: 1 }, 593: { T: -1 }, 594: { T: 1 }, 595: { T: -1 }, 596: {}, 597: { T: 1 }, 598: { T: -1 }, 599: { T: 1 }, 600: { T: -1 }, 601: { T: 1 }, 602: { T: -1 }, 603: { T: 1 }, 604: { T: -1 }, 605: { T: 1 }, 606: { T: -1 }, 607: {}, 608: { T: 1 }, 609: { T: -1 }, 610: {}, 611: { T: 1 }, 612: { T: -1 }, 613: { T: 1 }, 614: { T: -1 }, 615: { T: 1 }, 616: { T: -1 }, 617: { T: 1 }, 618: { T: -1 }, 619: { T: 1 }, 620: { T: -1 }, 625: {}, 626: { T: 1 }, 627: { T: -1 }, 628: { T: 1 }, 629: { T: -1 }, 630: { T: 1 }, 631: { T: -1 }, 632: { f: Co }, 633: { T: 1 }, 634: { T: -1 }, 635: { T: 1, f: function(e2) {
  var t2 = {};
  t2.iauthor = e2.read_shift(4);
  var r2 = en(e2);
  return t2.rfx = r2.s, t2.ref = Ea(r2.s), e2.l += 16, t2;
} }, 636: { T: -1 }, 637: { f: Ua }, 638: { T: 1 }, 639: {}, 640: { T: -1 }, 641: { T: 1 }, 642: { T: -1 }, 643: { T: 1 }, 644: {}, 645: { T: -1 }, 646: { T: 1 }, 648: { T: 1 }, 649: {}, 650: { T: -1 }, 651: { f: function(e2, t2) {
  return e2.l += 10, { name: Da(e2) };
} }, 652: {}, 653: { T: 1 }, 654: { T: -1 }, 655: { T: 1 }, 656: { T: -1 }, 657: { T: 1 }, 658: { T: -1 }, 659: {}, 660: { T: 1 }, 661: {}, 662: { T: -1 }, 663: {}, 664: { T: 1 }, 665: {}, 666: { T: -1 }, 667: {}, 668: {}, 669: {}, 671: { T: 1 }, 672: { T: -1 }, 673: { T: 1 }, 674: { T: -1 }, 675: {}, 676: {}, 677: {}, 678: {}, 679: {}, 680: {}, 681: {}, 1024: {}, 1025: {}, 1026: { T: 1 }, 1027: { T: -1 }, 1028: { T: 1 }, 1029: { T: -1 }, 1030: {}, 1031: { T: 1 }, 1032: { T: -1 }, 1033: { T: 1 }, 1034: { T: -1 }, 1035: {}, 1036: {}, 1037: {}, 1038: { T: 1 }, 1039: { T: -1 }, 1040: {}, 1041: { T: 1 }, 1042: { T: -1 }, 1043: {}, 1044: {}, 1045: {}, 1046: { T: 1 }, 1047: { T: -1 }, 1048: { T: 1 }, 1049: { T: -1 }, 1050: {}, 1051: { T: 1 }, 1052: { T: 1 }, 1053: { f: function() {
} }, 1054: { T: 1 }, 1055: {}, 1056: { T: 1 }, 1057: { T: -1 }, 1058: { T: 1 }, 1059: { T: -1 }, 1061: {}, 1062: { T: 1 }, 1063: { T: -1 }, 1064: { T: 1 }, 1065: { T: -1 }, 1066: { T: 1 }, 1067: { T: -1 }, 1068: { T: 1 }, 1069: { T: -1 }, 1070: { T: 1 }, 1071: { T: -1 }, 1072: { T: 1 }, 1073: { T: -1 }, 1075: { T: 1 }, 1076: { T: -1 }, 1077: { T: 1 }, 1078: { T: -1 }, 1079: { T: 1 }, 1080: { T: -1 }, 1081: { T: 1 }, 1082: { T: -1 }, 1083: { T: 1 }, 1084: { T: -1 }, 1085: {}, 1086: { T: 1 }, 1087: { T: -1 }, 1088: { T: 1 }, 1089: { T: -1 }, 1090: { T: 1 }, 1091: { T: -1 }, 1092: { T: 1 }, 1093: { T: -1 }, 1094: { T: 1 }, 1095: { T: -1 }, 1096: {}, 1097: { T: 1 }, 1098: {}, 1099: { T: -1 }, 1100: { T: 1 }, 1101: { T: -1 }, 1102: {}, 1103: {}, 1104: {}, 1105: {}, 1111: {}, 1112: {}, 1113: { T: 1 }, 1114: { T: -1 }, 1115: { T: 1 }, 1116: { T: -1 }, 1117: {}, 1118: { T: 1 }, 1119: { T: -1 }, 1120: { T: 1 }, 1121: { T: -1 }, 1122: { T: 1 }, 1123: { T: -1 }, 1124: { T: 1 }, 1125: { T: -1 }, 1126: {}, 1128: { T: 1 }, 1129: { T: -1 }, 1130: {}, 1131: { T: 1 }, 1132: { T: -1 }, 1133: { T: 1 }, 1134: { T: -1 }, 1135: { T: 1 }, 1136: { T: -1 }, 1137: { T: 1 }, 1138: { T: -1 }, 1139: { T: 1 }, 1140: { T: -1 }, 1141: {}, 1142: { T: 1 }, 1143: { T: -1 }, 1144: { T: 1 }, 1145: { T: -1 }, 1146: {}, 1147: { T: 1 }, 1148: { T: -1 }, 1149: { T: 1 }, 1150: { T: -1 }, 1152: { T: 1 }, 1153: { T: -1 }, 1154: { T: -1 }, 1155: { T: -1 }, 1156: { T: -1 }, 1157: { T: 1 }, 1158: { T: -1 }, 1159: { T: 1 }, 1160: { T: -1 }, 1161: { T: 1 }, 1162: { T: -1 }, 1163: { T: 1 }, 1164: { T: -1 }, 1165: { T: 1 }, 1166: { T: -1 }, 1167: { T: 1 }, 1168: { T: -1 }, 1169: { T: 1 }, 1170: { T: -1 }, 1171: {}, 1172: { T: 1 }, 1173: { T: -1 }, 1177: {}, 1178: { T: 1 }, 1180: {}, 1181: {}, 1182: {}, 2048: { T: 1 }, 2049: { T: -1 }, 2050: {}, 2051: { T: 1 }, 2052: { T: -1 }, 2053: {}, 2054: {}, 2055: { T: 1 }, 2056: { T: -1 }, 2057: { T: 1 }, 2058: { T: -1 }, 2060: {}, 2067: {}, 2068: { T: 1 }, 2069: { T: -1 }, 2070: {}, 2071: {}, 2072: { T: 1 }, 2073: { T: -1 }, 2075: {}, 2076: {}, 2077: { T: 1 }, 2078: { T: -1 }, 2079: {}, 2080: { T: 1 }, 2081: { T: -1 }, 2082: {}, 2083: { T: 1 }, 2084: { T: -1 }, 2085: { T: 1 }, 2086: { T: -1 }, 2087: { T: 1 }, 2088: { T: -1 }, 2089: { T: 1 }, 2090: { T: -1 }, 2091: {}, 2092: {}, 2093: { T: 1 }, 2094: { T: -1 }, 2095: {}, 2096: { T: 1 }, 2097: { T: -1 }, 2098: { T: 1 }, 2099: { T: -1 }, 2100: { T: 1 }, 2101: { T: -1 }, 2102: {}, 2103: { T: 1 }, 2104: { T: -1 }, 2105: {}, 2106: { T: 1 }, 2107: { T: -1 }, 2108: {}, 2109: { T: 1 }, 2110: { T: -1 }, 2111: { T: 1 }, 2112: { T: -1 }, 2113: { T: 1 }, 2114: { T: -1 }, 2115: {}, 2116: {}, 2117: {}, 2118: { T: 1 }, 2119: { T: -1 }, 2120: {}, 2121: { T: 1 }, 2122: { T: -1 }, 2123: { T: 1 }, 2124: { T: -1 }, 2125: {}, 2126: { T: 1 }, 2127: { T: -1 }, 2128: {}, 2129: { T: 1 }, 2130: { T: -1 }, 2131: { T: 1 }, 2132: { T: -1 }, 2133: { T: 1 }, 2134: {}, 2135: {}, 2136: {}, 2137: { T: 1 }, 2138: { T: -1 }, 2139: { T: 1 }, 2140: { T: -1 }, 2141: {}, 3072: {}, 3073: {}, 4096: { T: 1 }, 4097: { T: -1 }, 5002: { T: 1 }, 5003: { T: -1 }, 5081: { T: 1 }, 5082: { T: -1 }, 5083: {}, 5084: { T: 1 }, 5085: { T: -1 }, 5086: { T: 1 }, 5087: { T: -1 }, 5088: {}, 5089: {}, 5090: {}, 5092: { T: 1 }, 5093: { T: -1 }, 5094: {}, 5095: { T: 1 }, 5096: { T: -1 }, 5097: {}, 5099: {}, 65535: { n: "" } }, Sf = { 6: { f: dc }, 10: { f: rs }, 12: { f: ss }, 13: { f: ss }, 14: { f: as }, 15: { f: as }, 16: { f: rn }, 17: { f: as }, 18: { f: as }, 19: { f: ss }, 20: { f: Gs }, 21: { f: Gs }, 23: { f: Ks }, 24: { f: js }, 25: { f: as }, 26: {}, 27: {}, 28: { f: function(e2, t2, r2) {
  if (r2 && r2.biff < 8) {
    var a2 = e2.read_shift(2), n2 = e2.read_shift(2);
    if (65535 == a2 || -1 == a2) return;
    var s2 = e2.read_shift(2);
    return [{ r: a2, c: n2 }, e2.read_shift(Math.min(s2, 2048), "cpstr")];
  }
  return function(e3, t3, r3) {
    var a3 = e3.read_shift(2), n3 = e3.read_shift(2), s3 = e3.read_shift(2), i2 = e3.read_shift(2);
    return [{ r: a3, c: n3 }, ms(e3, 0, r3), i2, s3];
  }(e2, 0, r2);
} }, 29: {}, 34: { f: as }, 35: { f: Xs }, 38: { f: rn }, 39: { f: rn }, 40: { f: rn }, 41: { f: rn }, 42: { f: as }, 43: { f: as }, 47: { f: function(e2, t2, r2) {
  var a2 = { Type: r2.biff >= 8 ? e2.read_shift(2) : 0 };
  return a2.Type ? Pi(e2, t2 - 2, a2) : function(e3, t3, r3, a3) {
    var n2 = { key: ss(e3), verificationBytes: ss(e3) };
    r3.password && (n2.verifier = Ni(r3.password)), a3.valid = n2.verificationBytes === n2.verifier, a3.valid && (a3.insitu = Di(r3.password));
  }(e2, r2.biff, r2, a2), a2;
} }, 49: { f: function(e2, t2, r2) {
  var a2 = { dyHeight: e2.read_shift(2), fl: e2.read_shift(2) };
  switch (r2 && r2.biff || 8) {
    case 2:
      break;
    case 3:
    case 4:
      e2.l += 2;
      break;
    default:
      e2.l += 10;
  }
  return a2.name = fs(e2, 0, r2), a2;
} }, 51: { f: ss }, 60: {}, 61: { f: function(e2) {
  return { Pos: [e2.read_shift(2), e2.read_shift(2)], Dim: [e2.read_shift(2), e2.read_shift(2)], Flags: e2.read_shift(2), CurTab: e2.read_shift(2), FirstTab: e2.read_shift(2), Selected: e2.read_shift(2), TabRatio: e2.read_shift(2) };
} }, 64: { f: as }, 65: { f: function() {
} }, 66: { f: ss }, 77: {}, 80: {}, 81: {}, 82: {}, 85: { f: ss }, 89: {}, 90: {}, 91: {}, 92: { f: function(e2, t2, r2) {
  if (r2.enc) return e2.l += t2, "";
  var a2 = e2.l, n2 = ms(e2, 0, r2);
  return e2.read_shift(t2 + a2 - e2.l), n2;
} }, 93: { f: function(e2, t2, r2) {
  if (r2 && r2.biff < 8) return function(e3, t3, r3) {
    e3.l += 4;
    var a3 = e3.read_shift(2), n3 = e3.read_shift(2), s2 = e3.read_shift(2);
    e3.l += 2, e3.l += 2, e3.l += 2, e3.l += 2, e3.l += 2, e3.l += 2, e3.l += 2, e3.l += 2, e3.l += 2, e3.l += 6, t3 -= 36;
    var i2 = [];
    return i2.push((qs[a3] || ca)(e3, t3, r3)), { cmo: [n3, a3, s2], ft: i2 };
  }(e2, t2, r2);
  var a2 = Rs(e2), n2 = function(e3, t3) {
    for (var r3 = e3.l + t3, a3 = []; e3.l < r3; ) {
      var n3 = e3.read_shift(2);
      e3.l -= 2;
      try {
        a3[n3] = Fs[n3](e3, r3 - e3.l);
      } catch (t4) {
        return e3.l = r3, a3;
      }
    }
    return e3.l != r3 && (e3.l = r3), a3;
  }(e2, t2 - 22, a2[1]);
  return { cmo: a2, ft: n2 };
} }, 94: {}, 95: { f: as }, 96: {}, 97: {}, 99: { f: as }, 125: { f: ti }, 128: { f: function(e2) {
  e2.l += 4;
  var t2 = [e2.read_shift(2), e2.read_shift(2)];
  if (0 !== t2[0] && t2[0]--, 0 !== t2[1] && t2[1]--, t2[0] > 7 || t2[1] > 7) throw new Error("Bad Gutters: " + t2.join("|"));
  return t2;
} }, 129: { f: function(e2, t2, r2) {
  var a2 = r2 && 8 == r2.biff || 2 == t2 ? e2.read_shift(2) : (e2.l += t2, 0);
  return { fDialog: 16 & a2, fBelow: 64 & a2, fRight: 128 & a2 };
} }, 130: { f: ss }, 131: { f: as }, 132: { f: as }, 133: { f: function(e2, t2, r2) {
  var a2 = "";
  if (4 == r2.biff) return 0 === (a2 = fs(e2, 0, r2)).length && (a2 = "Sheet1"), { name: a2 };
  var n2 = e2.read_shift(4), s2 = 3 & e2.read_shift(1), i2 = e2.read_shift(1);
  switch (i2) {
    case 0:
      i2 = "Worksheet";
      break;
    case 1:
      i2 = "Macrosheet";
      break;
    case 2:
      i2 = "Chartsheet";
      break;
    case 6:
      i2 = "VBAModule";
  }
  return 0 === (a2 = fs(e2, 0, r2)).length && (a2 = "Sheet1"), { pos: n2, hs: s2, dt: i2, name: a2 };
} }, 134: {}, 140: { f: function(e2) {
  var t2, r2 = [0, 0];
  return t2 = e2.read_shift(2), r2[0] = hn[t2] || t2, t2 = e2.read_shift(2), r2[1] = hn[t2] || t2, r2;
} }, 141: { f: ss }, 144: {}, 146: { f: function(e2) {
  for (var t2 = e2.read_shift(2), r2 = []; t2-- > 0; ) r2.push(Es(e2));
  return r2;
} }, 151: {}, 152: {}, 153: {}, 154: {}, 155: {}, 156: { f: ss }, 157: {}, 158: {}, 160: { f: ai }, 161: { f: function(e2, t2) {
  var r2 = {};
  return t2 < 32 || (e2.l += 16, r2.header = rn(e2), r2.footer = rn(e2), e2.l += 2), r2;
} }, 174: {}, 175: {}, 176: {}, 177: {}, 178: {}, 180: {}, 181: {}, 182: {}, 184: {}, 185: {}, 189: { f: function(e2, t2) {
  for (var r2 = e2.l + t2 - 2, a2 = e2.read_shift(2), n2 = e2.read_shift(2), s2 = []; e2.l < r2; ) s2.push(xs(e2));
  if (e2.l !== r2) throw new Error("MulRK read error");
  var i2 = e2.read_shift(2);
  if (s2.length != i2 - n2 + 1) throw new Error("MulRK length mismatch");
  return { r: a2, c: n2, C: i2, rkrec: s2 };
} }, 190: { f: function(e2, t2) {
  for (var r2 = e2.l + t2 - 2, a2 = e2.read_shift(2), n2 = e2.read_shift(2), s2 = []; e2.l < r2; ) s2.push(e2.read_shift(2));
  if (e2.l !== r2) throw new Error("MulBlank read error");
  var i2 = e2.read_shift(2);
  if (s2.length != i2 - n2 + 1) throw new Error("MulBlank length mismatch");
  return { r: a2, c: n2, C: i2, ixfe: s2 };
} }, 193: { f: rs }, 197: {}, 198: {}, 199: {}, 200: {}, 201: {}, 202: { f: as }, 203: {}, 204: {}, 205: {}, 206: {}, 207: {}, 208: {}, 209: {}, 210: {}, 211: {}, 213: {}, 215: {}, 216: {}, 217: {}, 218: { f: ss }, 220: {}, 221: { f: as }, 222: {}, 224: { f: function(e2, t2, r2) {
  var a2 = {};
  return a2.ifnt = e2.read_shift(2), a2.numFmtId = e2.read_shift(2), a2.flags = e2.read_shift(2), a2.fStyle = a2.flags >> 2 & 1, a2.data = function(e3, t3, r3, a3) {
    var n2 = {}, s2 = e3.read_shift(4), i2 = e3.read_shift(4), o2 = e3.read_shift(4), c2 = e3.read_shift(2);
    return n2.patternType = un[o2 >> 26], a3.cellStyles ? (n2.alc = 7 & s2, n2.fWrap = s2 >> 3 & 1, n2.alcV = s2 >> 4 & 7, n2.fJustLast = s2 >> 7 & 1, n2.trot = s2 >> 8 & 255, n2.cIndent = s2 >> 16 & 15, n2.fShrinkToFit = s2 >> 20 & 1, n2.iReadOrder = s2 >> 22 & 2, n2.fAtrNum = s2 >> 26 & 1, n2.fAtrFnt = s2 >> 27 & 1, n2.fAtrAlc = s2 >> 28 & 1, n2.fAtrBdr = s2 >> 29 & 1, n2.fAtrPat = s2 >> 30 & 1, n2.fAtrProt = s2 >> 31 & 1, n2.dgLeft = 15 & i2, n2.dgRight = i2 >> 4 & 15, n2.dgTop = i2 >> 8 & 15, n2.dgBottom = i2 >> 12 & 15, n2.icvLeft = i2 >> 16 & 127, n2.icvRight = i2 >> 23 & 127, n2.grbitDiag = i2 >> 30 & 3, n2.icvTop = 127 & o2, n2.icvBottom = o2 >> 7 & 127, n2.icvDiag = o2 >> 14 & 127, n2.dgDiag = o2 >> 21 & 15, n2.icvFore = 127 & c2, n2.icvBack = c2 >> 7 & 127, n2.fsxButton = c2 >> 14 & 1, n2) : n2;
  }(e2, 0, a2.fStyle, r2), a2;
} }, 225: { f: function(e2, t2) {
  return 0 === t2 || e2.read_shift(2), 1200;
} }, 226: { f: rs }, 227: {}, 229: { f: function(e2, t2) {
  for (var r2 = [], a2 = e2.read_shift(2); a2--; ) r2.push(As(e2));
  return r2;
} }, 233: {}, 235: {}, 236: {}, 237: {}, 239: {}, 240: {}, 241: {}, 242: {}, 244: {}, 245: {}, 246: {}, 247: {}, 248: {}, 249: {}, 251: {}, 252: { f: function(e2, t2) {
  for (var r2 = e2.l + t2, a2 = e2.read_shift(4), n2 = e2.read_shift(4), s2 = [], i2 = 0; i2 != n2 && e2.l < r2; ++i2) s2.push(hs(e2));
  return s2.Count = a2, s2.Unique = n2, s2;
} }, 253: { f: function(e2, t2, r2) {
  var a2 = ks(e2, t2, r2);
  return a2.isst = e2.read_shift(4), a2;
} }, 255: { f: function(e2, t2) {
  var r2 = {};
  return r2.dsst = e2.read_shift(2), e2.l += t2 - 2, r2;
} }, 256: {}, 259: {}, 290: {}, 311: {}, 312: {}, 315: {}, 317: { f: os }, 318: {}, 319: {}, 320: {}, 330: {}, 331: {}, 333: {}, 334: {}, 335: {}, 336: {}, 337: {}, 338: {}, 339: {}, 340: {}, 351: {}, 352: { f: as }, 353: { f: rs }, 401: {}, 402: {}, 403: {}, 404: {}, 405: {}, 406: {}, 407: {}, 408: {}, 425: {}, 426: {}, 427: {}, 428: {}, 429: {}, 430: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = e2.read_shift(2), s2 = e2.read_shift(2);
  if (r2.sbcch = s2, 1025 == s2 || 14849 == s2) return [s2, n2];
  if (s2 < 1 || s2 > 255) throw new Error("Unexpected SupBook type: " + s2);
  for (var i2 = ds(e2, s2), o2 = []; a2 > e2.l; ) o2.push(ps(e2));
  return [s2, n2, i2, o2];
} }, 431: { f: as }, 432: {}, 433: {}, 434: {}, 437: {}, 438: { f: function(e2, t2, r2) {
  var a2 = e2.l, n2 = "";
  try {
    e2.l += 4;
    var s2 = (r2.lastobj || { cmo: [0, 0] }).cmo[1];
    -1 == [0, 5, 7, 11, 12, 14].indexOf(s2) ? e2.l += 6 : function(e3) {
      var t3 = e3.read_shift(1);
      e3.l++;
      var r3 = e3.read_shift(2);
      return e3.l += 2, [t3, r3];
    }(e2);
    var i2 = e2.read_shift(2);
    e2.read_shift(2), ss(e2);
    var o2 = e2.read_shift(2);
    e2.l += o2;
    for (var c2 = 1; c2 < e2.lens.length - 1; ++c2) {
      if (e2.l - a2 != e2.lens[c2]) throw new Error("TxO: bad continue record");
      var l2 = e2[e2.l];
      if ((n2 += ds(e2, e2.lens[c2 + 1] - e2.lens[c2] - 1)).length >= (l2 ? i2 : 2 * i2)) break;
    }
    if (n2.length !== i2 && n2.length !== 2 * i2) throw new Error("cchText: " + i2 + " != " + n2.length);
    return e2.l = a2 + t2, { t: n2 };
  } catch (r3) {
    return e2.l = a2 + t2, { t: n2 };
  }
} }, 439: { f: as }, 440: { f: function(e2, t2) {
  var r2 = As(e2);
  e2.l += 16;
  var a2 = function(e3, t3) {
    var r3 = e3.l + t3, a3 = e3.read_shift(4);
    if (2 !== a3) throw new Error("Unrecognized streamVersion: " + a3);
    var n2 = e3.read_shift(2);
    e3.l += 2;
    var s2, i2, o2, c2, l2, f2, h2 = "";
    16 & n2 && (s2 = bs(e3, e3.l)), 128 & n2 && (i2 = bs(e3, e3.l)), 257 & ~n2 || (o2 = bs(e3, e3.l)), 1 == (257 & n2) && (c2 = gs(e3, e3.l)), 8 & n2 && (h2 = bs(e3, e3.l)), 32 & n2 && (l2 = e3.read_shift(16)), 64 & n2 && (f2 = Hn(e3)), e3.l = r3;
    var u2 = i2 || o2 || c2 || "";
    u2 && h2 && (u2 += "#" + h2), u2 || (u2 = "#" + h2), 2 & n2 && "/" == u2.charAt(0) && "/" != u2.charAt(1) && (u2 = "file://" + u2);
    var d2 = { Target: u2 };
    return l2 && (d2.guid = l2), f2 && (d2.time = f2), s2 && (d2.Tooltip = s2), d2;
  }(e2, t2 - 24);
  return [r2, a2];
} }, 441: {}, 442: { f: ps }, 443: {}, 444: { f: ss }, 445: {}, 446: {}, 448: { f: rs }, 449: { f: function(e2) {
  return e2.read_shift(2), e2.read_shift(4);
}, r: 2 }, 450: { f: rs }, 512: { f: Ws }, 513: { f: ri }, 515: { f: function(e2, t2, r2) {
  r2.biffguess && 2 == r2.biff && (r2.biff = 5);
  var a2 = ks(e2, 6, r2), n2 = rn(e2);
  return a2.val = n2, a2;
} }, 516: { f: function(e2, t2, r2) {
  r2.biffguess && 2 == r2.biff && (r2.biff = 5), e2.l;
  var a2 = ks(e2, t2, r2), n2 = ps(e2, e2.l, r2);
  return a2.val = n2, a2;
} }, 517: { f: function(e2, t2, r2) {
  var a2 = ks(e2, 6, r2), n2 = cs(e2);
  return a2.val = n2, a2.t = true === n2 || false === n2 ? "b" : "e", a2;
} }, 519: { f: ni }, 520: { f: function(e2) {
  var t2 = {};
  t2.r = e2.read_shift(2), t2.c = e2.read_shift(2), t2.cnt = e2.read_shift(2) - t2.c;
  var r2 = e2.read_shift(2);
  e2.l += 4;
  var a2 = e2.read_shift(1);
  return e2.l += 3, 7 & a2 && (t2.level = 7 & a2), 32 & a2 && (t2.hidden = true), 64 & a2 && (t2.hpt = r2 / 20), t2;
} }, 523: {}, 545: { f: Zs }, 549: { f: Ls }, 566: {}, 574: { f: function(e2, t2, r2) {
  return r2 && r2.biff >= 2 && r2.biff < 5 ? {} : { RTL: 64 & e2.read_shift(2) };
} }, 638: { f: function(e2) {
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2), a2 = xs(e2);
  return { r: t2, c: r2, ixfe: a2[0], rknum: a2[1] };
} }, 659: {}, 1048: {}, 1054: { f: function(e2, t2, r2) {
  return [e2.read_shift(2), ms(e2, 0, r2)];
} }, 1084: {}, 1212: { f: function(e2, t2, r2) {
  var a2 = Is(e2);
  e2.l++;
  var n2 = e2.read_shift(1);
  return [uc(e2, t2 -= 8, r2), n2, a2];
} }, 2048: { f: function(e2, t2) {
  e2.read_shift(2);
  var r2 = As(e2), a2 = e2.read_shift((t2 - 10) / 2, "dbcs-cont");
  return [r2, a2 = a2.replace(I, "")];
} }, 2049: {}, 2050: {}, 2051: {}, 2052: {}, 2053: {}, 2054: {}, 2055: {}, 2056: {}, 2057: { f: Ds }, 2058: {}, 2059: {}, 2060: {}, 2061: {}, 2062: {}, 2063: {}, 2064: {}, 2066: {}, 2067: {}, 2128: {}, 2129: {}, 2130: {}, 2131: {}, 2132: {}, 2133: {}, 2134: {}, 2135: {}, 2136: {}, 2137: {}, 2138: {}, 2146: {}, 2147: { r: 12 }, 2148: {}, 2149: {}, 2150: {}, 2151: { f: rs }, 2152: {}, 2154: {}, 2155: {}, 2156: {}, 2161: {}, 2162: {}, 2164: {}, 2165: {}, 2166: {}, 2167: {}, 2168: {}, 2169: {}, 2170: {}, 2171: {}, 2172: { f: function(e2) {
  e2.l += 2;
  var t2 = { cxfs: 0, crc: 0 };
  return t2.cxfs = e2.read_shift(2), t2.crc = e2.read_shift(4), t2;
}, r: 12 }, 2173: { f: function(e2, t2) {
  e2.l, e2.l += 2;
  var r2 = e2.read_shift(2);
  e2.l += 2;
  for (var a2 = e2.read_shift(2), n2 = []; a2-- > 0; ) n2.push(To(e2, e2.l));
  return { ixfe: r2, ext: n2 };
}, r: 12 }, 2174: {}, 2175: {}, 2180: {}, 2181: {}, 2182: {}, 2183: {}, 2184: {}, 2185: {}, 2186: {}, 2187: {}, 2188: { f: as, r: 12 }, 2189: {}, 2190: { r: 12 }, 2191: {}, 2192: {}, 2194: {}, 2195: {}, 2196: { f: function(e2, t2, r2) {
  if (!(r2.biff < 8)) {
    var a2 = e2.read_shift(2), n2 = e2.read_shift(2);
    return [ds(e2, a2, r2), ds(e2, n2, r2)];
  }
  e2.l += t2;
}, r: 12 }, 2197: {}, 2198: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2;
  if (124226 !== e2.read_shift(4)) if (r2.cellStyles) {
    var n2, s2 = e2.slice(e2.l);
    e2.l = a2;
    try {
      n2 = yt(s2, { type: "array" });
    } catch (e3) {
      return;
    }
    var i2 = gt(n2, "theme/theme/theme1.xml", true);
    if (i2) return go(i2, r2);
  } else e2.l = a2;
}, r: 12 }, 2199: {}, 2200: {}, 2201: {}, 2202: { f: function(e2) {
  return [0 !== e2.read_shift(4), 0 !== e2.read_shift(4), e2.read_shift(4)];
}, r: 12 }, 2203: { f: rs }, 2204: {}, 2205: {}, 2206: {}, 2207: {}, 2211: { f: function(e2) {
  var t2 = function(e3) {
    var t3 = e3.read_shift(2), r2 = e3.read_shift(2);
    return e3.l += 8, { type: t3, flags: r2 };
  }(e2);
  if (2211 != t2.type) throw new Error("Invalid Future Record " + t2.type);
  return 0 !== e2.read_shift(4);
} }, 2212: {}, 2213: {}, 2214: {}, 2215: {}, 4097: {}, 4098: {}, 4099: {}, 4102: {}, 4103: {}, 4105: {}, 4106: {}, 4107: {}, 4108: {}, 4109: {}, 4116: {}, 4117: {}, 4118: {}, 4119: {}, 4120: {}, 4121: {}, 4122: {}, 4123: {}, 4124: {}, 4125: {}, 4126: {}, 4127: {}, 4128: {}, 4129: {}, 4130: {}, 4132: {}, 4133: {}, 4134: { f: ss }, 4135: {}, 4146: {}, 4147: {}, 4148: {}, 4149: {}, 4154: {}, 4156: {}, 4157: {}, 4158: {}, 4159: {}, 4160: {}, 4161: {}, 4163: {}, 4164: { f: function(e2, t2, r2) {
  var a2 = { area: false };
  if (5 != r2.biff) return e2.l += t2, a2;
  var n2 = e2.read_shift(1);
  return e2.l += 3, 16 & n2 && (a2.area = true), a2;
} }, 4165: {}, 4166: {}, 4168: {}, 4170: {}, 4171: {}, 4174: {}, 4175: {}, 4176: {}, 4177: {}, 4187: {}, 4188: { f: function(e2) {
  for (var t2 = e2.read_shift(2), r2 = []; t2-- > 0; ) r2.push(Es(e2));
  return r2;
} }, 4189: {}, 4191: {}, 4192: {}, 4193: {}, 4194: {}, 4195: {}, 4196: {}, 4197: {}, 4198: {}, 4199: {}, 4200: {}, 0: { f: Ws }, 1: {}, 2: { f: function(e2, t2, r2) {
  var a2 = ks(e2, 7, r2), n2 = e2.read_shift(2);
  return a2.t = "n", a2.val = n2, a2;
} }, 3: { f: function(e2, t2, r2) {
  var a2 = ks(e2, 7, r2), n2 = rn(e2);
  return a2.t = "n", a2.val = n2, a2;
} }, 4: { f: function(e2, t2, r2) {
  r2.biffguess && 5 == r2.biff && (r2.biff = 2);
  var a2 = ks(e2, 7, r2), n2 = ms(e2, 0, r2);
  return a2.t = "str", a2.val = n2, a2;
} }, 5: { f: function(e2, t2, r2) {
  var a2 = e2.l + 7, n2 = ks(e2, 6, r2);
  e2.l = a2;
  var s2 = cs(e2);
  return n2.val = s2, n2.t = true === s2 || false === s2 ? "b" : "e", n2;
} }, 7: { f: function(e2) {
  var t2 = e2.read_shift(1);
  return 0 === t2 ? (e2.l++, "") : e2.read_shift(t2, "sbcs-cont");
} }, 8: {}, 9: { f: Ds }, 11: {}, 22: { f: ss }, 30: { f: Bs }, 31: {}, 32: {}, 33: { f: Zs }, 36: {}, 37: { f: Ls }, 50: { f: function(e2, t2) {
  e2.l += 6, e2.l += 2, e2.l += 1, e2.l += 3, e2.l += 1, e2.l += t2 - 13;
} }, 62: {}, 52: {}, 67: { f: function(e2) {
  var t2 = {};
  return t2.ifnt = e2.read_shift(1), e2.l++, t2.flags = e2.read_shift(1), t2.numFmtId = 63 & t2.flags, t2.flags >>= 6, t2.fStyle = 0, t2.data = {}, t2;
} }, 68: { f: ss }, 69: {}, 86: {}, 126: {}, 127: { f: function(e2) {
  var t2 = e2.read_shift(2), r2 = e2.read_shift(2), a2 = e2.read_shift(4), n2 = { fmt: t2, env: r2, len: a2, data: e2.slice(e2.l, e2.l + a2) };
  return e2.l += a2, n2;
} }, 135: {}, 136: {}, 137: {}, 143: { f: function(e2) {
  var t2 = e2.read_shift(4), r2 = e2.read_shift(1), a2 = e2.read_shift(r2, "sbcs");
  return 0 === a2.length && (a2 = "Sheet1"), { flags: t2, name: a2 };
} }, 145: {}, 148: {}, 149: {}, 150: {}, 169: {}, 171: {}, 188: {}, 191: {}, 192: {}, 194: {}, 195: {}, 214: { f: function(e2, t2, r2) {
  var a2 = e2.l + t2, n2 = ks(e2, 6, r2), s2 = e2.read_shift(2), i2 = ds(e2, s2, r2);
  return e2.l = a2, n2.t = "str", n2.val = i2, n2;
} }, 223: {}, 234: {}, 354: {}, 421: {}, 518: { f: dc }, 521: { f: Ds }, 536: { f: js }, 547: { f: Xs }, 561: {}, 579: { f: function(e2) {
  var t2 = {};
  return t2.ifnt = e2.read_shift(1), t2.numFmtId = e2.read_shift(1), t2.flags = e2.read_shift(2), t2.fStyle = t2.flags >> 2 & 1, t2.data = {}, t2;
} }, 1030: { f: dc }, 1033: { f: Ds }, 1091: { f: function(e2) {
  var t2 = {};
  return t2.ifnt = e2.read_shift(1), t2.numFmtId = e2.read_shift(1), t2.flags = e2.read_shift(2), t2.fStyle = t2.flags >> 2 & 1, t2.data = {}, t2;
} }, 2157: {}, 2163: {}, 2177: {}, 2240: {}, 2241: {}, 2242: {}, 2243: {}, 2244: {}, 2245: {}, 2246: {}, 2247: {}, 2248: {}, 2249: {}, 2250: {}, 2251: {}, 2262: { r: 12 }, 101: {}, 102: {}, 105: {}, 106: {}, 107: {}, 109: {}, 112: {}, 114: {}, 29282: {} };
function xf(e2, t2, r2, a2) {
  var n2 = t2;
  if (!isNaN(n2)) {
    var s2 = a2 || (r2 || []).length || 0, i2 = e2.next(4);
    i2.write_shift(2, n2), i2.write_shift(2, s2), s2 > 0 && jr(r2) && e2.push(r2);
  }
}
function Af(e2, t2, r2, a2) {
  var n2 = la(9);
  return si(n2, e2, t2), ls(r2, a2 || "b", n2), n2;
}
function Cf(e2, t2) {
  t2.forEach(function(t3) {
    var r2 = t3[0].map(function(e3) {
      return e3.t;
    }).join("");
    if (r2.length <= 2048) return xf(e2, 28, Js(r2, t3[1], t3[2]));
    xf(e2, 28, Js(r2.slice(0, 2048), t3[1], t3[2], r2.length));
    for (var a2 = 2048; a2 < r2.length; a2 += 2048) xf(e2, 28, Js(r2.slice(a2, Math.min(a2 + 2048, r2.length)), -1, -1, Math.min(2048, r2.length - a2)));
  });
}
function If(e2, t2, r2, a2, n2, s2) {
  var i2 = 0;
  null != t2.z && -1 == (i2 = n2._BIFF2FmtTable.indexOf(t2.z)) && (n2._BIFF2FmtTable.push(t2.z), i2 = n2._BIFF2FmtTable.length - 1);
  var o2 = 0;
  if (null != t2.z) {
    for (; o2 < n2.cellXfs.length && n2.cellXfs[o2].numFmtId != i2; ++o2) ;
    o2 == n2.cellXfs.length && n2.cellXfs.push({ numFmtId: i2 });
  }
  if (null != t2.v) switch (t2.t) {
    case "d":
    case "n":
      var c2 = "d" == t2.t ? Le(Ve(t2.v, s2), s2) : t2.v;
      return void (2 == n2.biff && c2 == (0 | c2) && c2 >= 0 && c2 < 65536 ? xf(e2, 2, function(e3, t3, r3, a3, n3) {
        var s3 = la(9);
        return si(s3, e3, t3, a3 || 0, n3 || 0), s3.write_shift(2, r3), s3;
      }(r2, a2, c2, o2, i2)) : isNaN(c2) ? xf(e2, 5, Af(r2, a2, 36, "e")) : isFinite(c2) ? xf(e2, 3, function(e3, t3, r3, a3, n3) {
        var s3 = la(15);
        return si(s3, e3, t3, a3 || 0, n3 || 0), s3.write_shift(8, r3, "f"), s3;
      }(r2, a2, c2, o2, i2)) : xf(e2, 5, Af(r2, a2, 7, "e")));
    case "b":
    case "e":
      return void xf(e2, 5, Af(r2, a2, t2.v, t2.t));
    case "s":
    case "str":
      return void xf(e2, 4, function(e3, t3, r3) {
        var a3 = la(8 + 2 * r3.length);
        return si(a3, e3, t3), a3.write_shift(1, r3.length), a3.write_shift(r3.length, r3, "sbcs"), a3.l < a3.length ? a3.slice(0, a3.l) : a3;
      }(r2, a2, null == t2.v ? "" : String(t2.v).slice(0, 255)));
  }
  xf(e2, 1, si(null, r2, a2));
}
function Of(e2, t2) {
  for (var r2 = t2 || {}, a2 = ha(), n2 = 0, s2 = 0; s2 < e2.SheetNames.length; ++s2) e2.SheetNames[s2] == r2.sheet && (n2 = s2);
  if (0 == n2 && r2.sheet && e2.SheetNames[0] != r2.sheet) throw new Error("Sheet not found: " + r2.sheet);
  xf(a2, 4 == r2.biff ? 1033 : 3 == r2.biff ? 521 : 9, Ps(0, 16, r2)), ((e2.Workbook || {}).WBProps || {}).date1904 && xf(a2, 34, ns(true)), r2.cellXfs = [{ numFmtId: 0 }], r2._BIFF2FmtTable = ["General"], r2._Fonts = [];
  var i2 = ha();
  return function(e3, t3, r3, a3, n3) {
    var s3 = null != t3["!data"], i3 = Aa(t3["!ref"] || "A1"), o2 = "", c2 = [];
    if (i3.e.c > 255 || i3.e.r > 16383) {
      if (a3.WTF) throw new Error("Range " + (t3["!ref"] || "A1") + " exceeds format limit A1:IV16384");
      i3.e.c = Math.min(i3.e.c, 255), i3.e.r = Math.min(i3.e.r, 16383);
    }
    for (var l2 = (((n3 || {}).Workbook || {}).WBProps || {}).date1904, f2 = [], h2 = [], u2 = i3.s.c; u2 <= i3.e.c; ++u2) c2[u2] = Ta(u2);
    for (var d2 = i3.s.r; d2 <= i3.e.r; ++d2) for (s3 && (f2 = t3["!data"][d2] || []), o2 = ba(d2), u2 = i3.s.c; u2 <= i3.e.c; ++u2) {
      var p2 = s3 ? f2[u2] : t3[c2[u2] + o2];
      p2 && (If(e3, p2, d2, u2, a3, l2), p2.c && h2.push([p2.c, d2, u2]));
    }
    Cf(e3, h2);
  }(i2, e2.Sheets[e2.SheetNames[n2]], 0, r2, e2), r2._BIFF2FmtTable.forEach(function(e3) {
    r2.biff <= 3 ? xf(a2, 30, function(e4) {
      var t3 = la(1 + e4.length);
      return t3.write_shift(1, e4.length), t3.write_shift(e4.length, e4, "sbcs"), t3;
    }(e3)) : xf(a2, 1054, function(e4) {
      var t3 = la(3 + e4.length);
      return t3.l += 2, t3.write_shift(1, e4.length), t3.write_shift(e4.length, e4, "sbcs"), t3;
    }(e3));
  }), r2.cellXfs.forEach(function(e3) {
    switch (r2.biff) {
      case 2:
        xf(a2, 67, function(e4) {
          var t3 = la(4);
          return t3.l += 2, t3.write_shift(1, e4.numFmtId), t3.l++, t3;
        }(e3));
        break;
      case 3:
        xf(a2, 579, Hs(e3));
        break;
      case 4:
        xf(a2, 1091, Vs(e3));
    }
  }), delete r2._BIFF2FmtTable, delete r2.cellXfs, delete r2._Fonts, a2.push(i2.end()), xf(a2, 10), a2.end();
}
var Rf = 1, Nf = [];
function Ff(e2, t2, r2) {
  xf(e2, 49, function(e3, t3) {
    var r3 = e3.name || "Arial", a2 = t3 && 5 == t3.biff, n2 = la(a2 ? 15 + r3.length : 16 + 2 * r3.length);
    return n2.write_shift(2, 20 * e3.sz), n2.write_shift(4, 0), n2.write_shift(2, 400), n2.write_shift(4, 0), n2.write_shift(2, 0), n2.write_shift(1, r3.length), a2 || n2.write_shift(1, 1), n2.write_shift((a2 ? 1 : 2) * r3.length, r3, a2 ? "sbcs" : "utf16le"), n2;
  }({ sz: 12, name: "Arial" }, r2));
}
function Df(e2, t2) {
  if (t2) {
    var r2 = 0;
    t2.forEach(function(t3, a2) {
      ++r2 <= 256 && t3 && xf(e2, 125, function(e3, t4) {
        var r3 = la(12);
        r3.write_shift(2, t4), r3.write_shift(2, t4), r3.write_shift(2, 256 * e3.width), r3.write_shift(2, 0);
        var a3 = 0;
        return e3.hidden && (a3 |= 1), r3.write_shift(1, a3), a3 = e3.level || 0, r3.write_shift(1, a3), r3.write_shift(2, 0), r3;
      }(Fc(a2, t3), a2));
    });
  }
}
function Pf(e2, t2, r2, a2, n2, s2) {
  var i2 = 16 + Pc(n2.cellXfs, t2, n2);
  if (null != t2.v || t2.bf) if (t2.bf) xf(e2, 6, pc(t2, r2, a2, 0, i2));
  else switch (t2.t) {
    case "d":
    case "n":
      var o2 = "d" == t2.t ? Le(Ve(t2.v, s2), s2) : t2.v;
      isNaN(o2) ? xf(e2, 517, $s(r2, a2, 36, i2, 0, "e")) : isFinite(o2) ? xf(e2, 515, function(e3, t3, r3, a3) {
        var n3 = la(14);
        return _s(e3, t3, a3, n3), an(r3, n3), n3;
      }(r2, a2, o2, i2)) : xf(e2, 517, $s(r2, a2, 7, i2, 0, "e"));
      break;
    case "b":
    case "e":
      xf(e2, 517, $s(r2, a2, t2.v, i2, 0, t2.t));
      break;
    case "s":
    case "str":
      if (n2.bookSST) xf(e2, 253, function(e3, t3, r3, a3) {
        var n3 = la(10);
        return _s(e3, t3, a3, n3), n3.write_shift(4, r3), n3;
      }(r2, a2, Nc(n2.Strings, null == t2.v ? "" : String(t2.v), n2.revStrings), i2));
      else xf(e2, 516, function(e3, t3, r3, a3, n3) {
        var s3 = !n3 || 8 == n3.biff, i3 = la(+s3 + 8 + (1 + s3) * r3.length);
        return _s(e3, t3, a3, i3), i3.write_shift(2, r3.length), s3 && i3.write_shift(1, 1), i3.write_shift((1 + s3) * r3.length, r3, s3 ? "utf16le" : "sbcs"), i3;
      }(r2, a2, (null == t2.v ? "" : String(t2.v)).slice(0, 255), i2, n2));
      break;
    default:
      xf(e2, 513, _s(r2, a2, i2));
  }
  else xf(e2, 513, _s(r2, a2, i2));
}
function Mf(e2, t2, r2) {
  var a2, n2 = ha(), s2 = r2.SheetNames[e2], i2 = r2.Sheets[s2] || {}, o2 = (r2 || {}).Workbook || {}, c2 = (o2.Sheets || [])[e2] || {}, l2 = null != i2["!data"], f2 = 8 == t2.biff, h2 = "", u2 = [], d2 = Aa(i2["!ref"] || "A1"), p2 = f2 ? 65536 : 16384;
  if (d2.e.c > 255 || d2.e.r >= p2) {
    if (t2.WTF) throw new Error("Range " + (i2["!ref"] || "A1") + " exceeds format limit A1:IV" + p2);
    d2.e.c = Math.min(d2.e.c, 255), d2.e.r = Math.min(d2.e.r, p2 - 1);
  }
  xf(n2, 2057, Ps(0, 16, t2)), xf(n2, 13, is(1)), xf(n2, 12, is(100)), xf(n2, 15, ns(true)), xf(n2, 17, ns(false)), xf(n2, 16, an(1e-3)), xf(n2, 95, ns(true)), xf(n2, 42, ns(false)), xf(n2, 43, ns(false)), xf(n2, 130, is(1)), xf(n2, 128, ((a2 = la(8)).write_shift(4, 0), a2.write_shift(2, 0), a2.write_shift(2, 0), a2)), xf(n2, 131, ns(false)), xf(n2, 132, ns(false)), f2 && Df(n2, i2["!cols"]), xf(n2, 512, function(e3, t3) {
    var r3 = 8 != t3.biff && t3.biff ? 2 : 4, a3 = la(2 * r3 + 6);
    return a3.write_shift(r3, e3.s.r), a3.write_shift(r3, e3.e.r + 1), a3.write_shift(2, e3.s.c), a3.write_shift(2, e3.e.c + 1), a3.write_shift(2, 0), a3;
  }(d2, t2));
  var m2 = (((r2 || {}).Workbook || {}).WBProps || {}).date1904;
  f2 && (i2["!links"] = []);
  for (var v2 = d2.s.c; v2 <= d2.e.c; ++v2) u2[v2] = Ta(v2);
  for (var g2 = [], b2 = [], w2 = d2.s.r; w2 <= d2.e.r; ++w2) for (l2 && (b2 = i2["!data"][w2] || []), h2 = ba(w2), v2 = d2.s.c; v2 <= d2.e.c; ++v2) {
    var T2 = l2 ? b2[v2] : i2[u2[v2] + h2];
    T2 && (Pf(n2, T2, w2, v2, t2, m2), f2 && T2.l && i2["!links"].push([u2[v2] + h2, T2.l]), T2.c && g2.push([T2.c, w2, v2]));
  }
  var y2 = c2.CodeName || c2.name || s2;
  return f2 ? function(e3, t3) {
    var r3, a3 = [], n3 = 0, s3 = ha(), i3 = Rf;
    t3.forEach(function(e4, t4) {
      var i4 = "", o4 = e4[0].map(function(e5) {
        return e5.a && !i4 && (i4 = e5.a), e5.t;
      }).join("");
      ++Rf;
      var c3 = la(150);
      c3.write_shift(2, 15), c3.write_shift(2, 61444), c3.write_shift(4, 150), c3.write_shift(2, 3234), c3.write_shift(2, 61450), c3.write_shift(4, 8), c3.write_shift(4, Rf), c3.write_shift(4, 2560), c3.write_shift(2, 227), c3.write_shift(2, 61451), c3.write_shift(4, 84), c3.write_shift(2, 128), c3.write_shift(4, 0), c3.write_shift(2, 139), c3.write_shift(4, 2), c3.write_shift(2, 191), c3.write_shift(4, 524296), c3.write_shift(2, 344), c3.l += 4, c3.write_shift(2, 385), c3.write_shift(4, 134217808), c3.write_shift(2, 387), c3.write_shift(4, 134217808), c3.write_shift(2, 389), c3.write_shift(4, 268435700), c3.write_shift(2, 447), c3.write_shift(4, 1048592), c3.write_shift(2, 448), c3.write_shift(4, 134217809), c3.write_shift(2, 451), c3.write_shift(4, 268435700), c3.write_shift(2, 513), c3.write_shift(4, 134217809), c3.write_shift(2, 515), c3.write_shift(4, 268435700), c3.write_shift(2, 575), c3.write_shift(4, 196609), c3.write_shift(2, 959), c3.write_shift(4, 131072 | (e4[0].hidden ? 2 : 0)), c3.l += 2, c3.write_shift(2, 61456), c3.write_shift(4, 18), c3.write_shift(2, 3), c3.write_shift(2, e4[2] + 2), c3.l += 2, c3.write_shift(2, e4[1] + 1), c3.l += 2, c3.write_shift(2, e4[2] + 4), c3.l += 2, c3.write_shift(2, e4[1] + 5), c3.l += 2, c3.l += 2, c3.write_shift(2, 61457), c3.l += 4, c3.l = 150, 0 == t4 ? r3 = c3 : xf(s3, 236, c3), n3 += 150;
      var l3 = la(52);
      l3.write_shift(2, 21), l3.write_shift(2, 18), l3.write_shift(2, 25), l3.write_shift(2, Rf), l3.write_shift(2, 0), l3.l = 22, l3.write_shift(2, 13), l3.write_shift(2, 22), l3.write_shift(4, 1651663474), l3.write_shift(4, 2503426821), l3.write_shift(4, 2150634280), l3.write_shift(4, 1768515844 + 256 * Rf), l3.write_shift(2, 0), l3.write_shift(4, 0), l3.l += 4, xf(s3, 93, l3);
      var f3 = la(8);
      f3.l += 2, f3.write_shift(2, 61453), f3.l += 4, xf(s3, 236, f3), n3 += 8;
      var h3 = la(18);
      h3.write_shift(2, 18), h3.l += 8, h3.write_shift(2, o4.length), h3.write_shift(2, 16), h3.l += 4, xf(s3, 438, h3);
      var u3 = la(1 + o4.length);
      u3.write_shift(1, 0), u3.write_shift(o4.length, o4, "sbcs"), xf(s3, 60, u3);
      var d3 = la(16);
      d3.l += 8, d3.write_shift(2, o4.length), d3.l += 6, xf(s3, 60, d3);
      var p3 = la(12 + i4.length);
      p3.write_shift(2, e4[1]), p3.write_shift(2, e4[2]), p3.write_shift(2, 0 | (e4[0].hidden ? 0 : 2)), p3.write_shift(2, Rf), p3.write_shift(2, i4.length), p3.write_shift(1, 0), p3.write_shift(i4.length, i4, "sbcs"), p3.l++, a3.push(p3);
    });
    var o3 = la(80);
    o3.write_shift(2, 15), o3.write_shift(2, 61442), o3.write_shift(4, n3 + o3.length - 8), o3.write_shift(2, 16), o3.write_shift(2, 61448), o3.write_shift(4, 8), o3.write_shift(4, t3.length + 1), o3.write_shift(4, Rf), o3.write_shift(2, 15), o3.write_shift(2, 61443), o3.write_shift(4, n3 + 48), o3.write_shift(2, 15), o3.write_shift(2, 61444), o3.write_shift(4, 40), o3.write_shift(2, 1), o3.write_shift(2, 61449), o3.write_shift(4, 16), o3.l += 16, o3.write_shift(2, 2), o3.write_shift(2, 61450), o3.write_shift(4, 8), o3.write_shift(4, i3), o3.write_shift(4, 5), xf(e3, 236, r3 ? C([o3, r3]) : o3), e3.push(s3.end()), a3.forEach(function(t4) {
      xf(e3, 28, t4);
    }), Nf.push([i3, t3.length + 1, Rf]), ++Rf;
  }(n2, g2) : Cf(n2, g2), f2 && xf(n2, 574, function(e3) {
    var t3 = la(18), r3 = 1718;
    return e3 && e3.RTL && (r3 |= 64), t3.write_shift(2, r3), t3.write_shift(4, 0), t3.write_shift(4, 64), t3.write_shift(4, 0), t3.write_shift(4, 0), t3;
  }((o2.Views || [])[0])), f2 && (i2["!merges"] || []).length && xf(n2, 229, function(e3) {
    var t3 = la(2 + 8 * e3.length);
    t3.write_shift(2, e3.length);
    for (var r3 = 0; r3 < e3.length; ++r3) Cs(e3[r3], t3);
    return t3;
  }(i2["!merges"])), f2 && function(e3, t3) {
    for (var r3 = 0; r3 < t3["!links"].length; ++r3) {
      var a3 = t3["!links"][r3];
      xf(e3, 440, Qs(a3)), a3[1].Tooltip && xf(e3, 2048, ei(a3));
    }
    delete t3["!links"];
  }(n2, i2), xf(n2, 442, vs(y2)), f2 && function(e3, t3) {
    var r3 = la(19);
    r3.write_shift(4, 2151), r3.write_shift(4, 0), r3.write_shift(4, 0), r3.write_shift(2, 3), r3.write_shift(1, 1), r3.write_shift(4, 0), xf(e3, 2151, r3), (r3 = la(39)).write_shift(4, 2152), r3.write_shift(4, 0), r3.write_shift(4, 0), r3.write_shift(2, 3), r3.write_shift(1, 0), r3.write_shift(4, 0), r3.write_shift(2, 1), r3.write_shift(4, 4), r3.write_shift(2, 0), Cs(Aa(t3["!ref"] || "A1"), r3), r3.write_shift(4, 4), xf(e3, 2152, r3);
  }(n2, i2), xf(n2, 10), n2.end();
}
function Lf(e2, t2, r2) {
  var a2, n2 = ha(), s2 = (e2 || {}).Workbook || {}, i2 = s2.Sheets || [], o2 = s2.WBProps || {}, c2 = 8 == r2.biff, l2 = 5 == r2.biff;
  (xf(n2, 2057, Ps(0, 5, r2)), "xla" == r2.bookType && xf(n2, 135), xf(n2, 225, c2 ? is(1200) : null), xf(n2, 193, function(e3, t3) {
    t3 || (t3 = la(e3));
    for (var r3 = 0; r3 < e3; ++r3) t3.write_shift(1, 0);
    return t3;
  }(2)), l2 && xf(n2, 191), l2 && xf(n2, 192), xf(n2, 226), xf(n2, 92, function(e3, t3) {
    var r3 = !t3 || 8 == t3.biff, a3 = la(r3 ? 112 : 54);
    for (a3.write_shift(8 == t3.biff ? 2 : 1, 7), r3 && a3.write_shift(1, 0), a3.write_shift(4, 859007059), a3.write_shift(4, 5458548 | (r3 ? 0 : 536870912)); a3.l < a3.length; ) a3.write_shift(1, r3 ? 0 : 32);
    return a3;
  }(0, r2)), xf(n2, 66, is(c2 ? 1200 : 1252)), c2 && xf(n2, 353, is(0)), c2 && xf(n2, 448), xf(n2, 317, function(e3) {
    for (var t3 = la(2 * e3), r3 = 0; r3 < e3; ++r3) t3.write_shift(2, r3 + 1);
    return t3;
  }(e2.SheetNames.length)), c2 && e2.vbaraw && xf(n2, 211), c2 && e2.vbaraw) && xf(n2, 442, vs(o2.CodeName || "ThisWorkbook"));
  xf(n2, 156, is(17)), xf(n2, 25, ns(false)), xf(n2, 18, ns(false)), xf(n2, 19, is(0)), c2 && xf(n2, 431, ns(false)), c2 && xf(n2, 444, is(0)), xf(n2, 61, ((a2 = la(18)).write_shift(2, 0), a2.write_shift(2, 0), a2.write_shift(2, 29280), a2.write_shift(2, 17600), a2.write_shift(2, 56), a2.write_shift(2, 0), a2.write_shift(2, 0), a2.write_shift(2, 1), a2.write_shift(2, 500), a2)), xf(n2, 64, ns(false)), xf(n2, 141, is(0)), xf(n2, 34, ns("true" == function(e3) {
    return e3.Workbook && e3.Workbook.WBProps && Ht(e3.Workbook.WBProps.date1904) ? "true" : "false";
  }(e2))), xf(n2, 14, ns(true)), c2 && xf(n2, 439, ns(false)), xf(n2, 218, is(0)), Ff(n2, 0, r2), function(e3, t3, r3) {
    t3 && [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(a3) {
      for (var n3 = a3[0]; n3 <= a3[1]; ++n3) null != t3[n3] && xf(e3, 1054, Us(n3, t3[n3], r3));
    });
  }(n2, e2.SSF, r2), function(e3, t3) {
    for (var r3 = 0; r3 < 16; ++r3) xf(e3, 224, zs({ numFmtId: 0, style: true }, 0, t3));
    t3.cellXfs.forEach(function(r4) {
      xf(e3, 224, zs(r4, 0, t3));
    });
  }(n2, r2), c2 && xf(n2, 352, ns(false));
  var f2 = n2.end(), h2 = ha();
  c2 && xf(h2, 140, function(e3) {
    return e3 || (e3 = la(4)), e3.write_shift(2, 1), e3.write_shift(2, 1), e3;
  }()), c2 && Nf.length && xf(h2, 235, function() {
    var e3 = la(82 + 8 * Nf.length);
    e3.write_shift(2, 15), e3.write_shift(2, 61440), e3.write_shift(4, 74 + 8 * Nf.length), e3.write_shift(2, 0), e3.write_shift(2, 61446), e3.write_shift(4, 16 + 8 * Nf.length), e3.write_shift(4, Rf), e3.write_shift(4, Nf.length + 1);
    for (var t3 = 0, r3 = 0; r3 < Nf.length; ++r3) t3 += Nf[r3] && Nf[r3][1] || 0;
    return e3.write_shift(4, t3), e3.write_shift(4, Nf.length), Nf.forEach(function(t4) {
      e3.write_shift(4, t4[0]), e3.write_shift(4, t4[2]);
    }), e3.write_shift(2, 51), e3.write_shift(2, 61451), e3.write_shift(4, 18), e3.write_shift(2, 191), e3.write_shift(4, 524296), e3.write_shift(2, 385), e3.write_shift(4, 134217793), e3.write_shift(2, 448), e3.write_shift(4, 134217792), e3.write_shift(2, 64), e3.write_shift(2, 61726), e3.write_shift(4, 16), e3.write_shift(4, 134217741), e3.write_shift(4, 134217740), e3.write_shift(4, 134217751), e3.write_shift(4, 268435703), e3;
  }()), c2 && r2.Strings && function(e3, t3, r3) {
    var a3 = (r3 || []).length || 0;
    if (a3 <= 8224) return xf(e3, t3, r3, a3);
    var n3 = t3;
    if (!isNaN(n3)) {
      for (var s3 = r3.parts || [], i3 = 0, o3 = 0, c3 = 0; c3 + (s3[i3] || 8224) <= 8224; ) c3 += s3[i3] || 8224, i3++;
      var l3 = e3.next(4);
      for (l3.write_shift(2, n3), l3.write_shift(2, c3), e3.push(r3.slice(o3, o3 + c3)), o3 += c3; o3 < a3; ) {
        for ((l3 = e3.next(4)).write_shift(2, 60), c3 = 0; c3 + (s3[i3] || 8224) <= 8224; ) c3 += s3[i3] || 8224, i3++;
        l3.write_shift(2, c3), e3.push(r3.slice(o3, o3 + c3)), o3 += c3;
      }
    }
  }(h2, 252, function(e3) {
    var t3 = la(8);
    t3.write_shift(4, e3.Count), t3.write_shift(4, e3.Unique);
    for (var r3 = [], a3 = 0; a3 < e3.length; ++a3) r3[a3] = us(e3[a3]);
    var n3 = C([t3].concat(r3));
    return n3.parts = [t3.length].concat(r3.map(function(e4) {
      return e4.length;
    })), n3;
  }(r2.Strings)), xf(h2, 10);
  var u2 = h2.end(), d2 = ha(), p2 = 0, m2 = 0;
  for (m2 = 0; m2 < e2.SheetNames.length; ++m2) p2 += (c2 ? 12 : 11) + (c2 ? 2 : 1) * e2.SheetNames[m2].length;
  var v2 = f2.length + p2 + u2.length;
  for (m2 = 0; m2 < e2.SheetNames.length; ++m2) {
    xf(d2, 133, Ms({ pos: v2, hs: (i2[m2] || {}).Hidden || 0, dt: 0, name: e2.SheetNames[m2] }, r2)), v2 += t2[m2].length;
  }
  var g2 = d2.end();
  if (p2 != g2.length) throw new Error("BS8 " + p2 + " != " + g2.length);
  var b2 = [];
  return f2.length && b2.push(f2), g2.length && b2.push(g2), u2.length && b2.push(u2), C(b2);
}
function Uf(e2, t2) {
  for (var r2 = 0; r2 <= e2.SheetNames.length; ++r2) {
    var a2 = e2.Sheets[e2.SheetNames[r2]];
    if (a2 && a2["!ref"]) {
      var n2 = ka(a2["!ref"]);
      n2.e.c > 255 && "undefined" != typeof console && console.error && console.error("Worksheet '" + e2.SheetNames[r2] + "' extends beyond column IV (255).  Data may be lost."), n2.e.r > 65535 && "undefined" != typeof console && console.error && console.error("Worksheet '" + e2.SheetNames[r2] + "' extends beyond row 65536.  Data may be lost.");
    }
  }
  var s2 = t2 || {};
  switch (s2.biff || 2) {
    case 8:
    case 5:
      return function(e3, t3) {
        var r3 = t3 || {}, a3 = [];
        e3 && !e3.SSF && (e3.SSF = Ge(W)), e3 && e3.SSF && (be(), ge(e3.SSF), r3.revssf = Fe(e3.SSF), r3.revssf[e3.SSF[65535]] = 0, r3.ssf = e3.SSF), Rf = 1, Nf = [], r3.Strings = [], r3.Strings.Count = 0, r3.Strings.Unique = 0, Jh(r3), r3.cellXfs = [], Pc(r3.cellXfs, {}, { revssf: { General: 0 } }), e3.Props || (e3.Props = {});
        for (var n3 = 0; n3 < e3.SheetNames.length; ++n3) a3[a3.length] = Mf(n3, r3, e3);
        return a3.unshift(Lf(e3, a3, r3)), C(a3);
      }(e2, t2);
    case 4:
    case 3:
    case 2:
      return Of(e2, t2);
  }
  throw new Error("invalid type " + s2.bookType + " for BIFF");
}
function Bf(e2, t2) {
  var r2 = t2 || {}, a2 = null != r2.dense ? r2.dense : null, n2 = {};
  a2 && (n2["!data"] = []);
  var s2 = (e2 = st(e2, "<!--", "-->")).match(/<table/i);
  if (!s2) throw new Error("Invalid HTML: could not find <table>");
  var i2 = e2.match(/<\/table/i), o2 = s2.index, c2 = i2 && i2.index || e2.length, l2 = et(e2.slice(o2, c2), /(:?<tr[^<>]*>)/i, "<tr>"), f2 = -1, h2 = 0, u2 = 0, d2 = 0, p2 = { s: { r: 1e7, c: 1e7 }, e: { r: 0, c: 0 } }, m2 = [];
  for (o2 = 0; o2 < l2.length; ++o2) {
    var v2 = l2[o2].trim(), g2 = v2.slice(0, 3).toLowerCase();
    if ("<tr" != g2) {
      if ("<td" == g2 || "<th" == g2) {
        var b2 = v2.split(/<\/t[dh]>/i);
        for (c2 = 0; c2 < b2.length; ++c2) {
          var w2 = b2[c2].trim();
          if (w2.match(/<t[dh]/i)) {
            for (var T2 = w2, y2 = 0; "<" == T2.charAt(0) && (y2 = T2.indexOf(">")) > -1; ) T2 = T2.slice(y2 + 1);
            for (var E2 = 0; E2 < m2.length; ++E2) {
              var k2 = m2[E2];
              k2.s.c == h2 && k2.s.r < f2 && f2 <= k2.e.r && (h2 = k2.e.c + 1, E2 = -1);
            }
            var _2 = It(w2.slice(0, w2.indexOf(">")));
            d2 = _2.colspan ? +_2.colspan : 1, ((u2 = +_2.rowspan) > 1 || d2 > 1) && m2.push({ s: { r: f2, c: h2 }, e: { r: f2 + (u2 || 1) - 1, c: h2 + d2 - 1 } });
            var S2 = _2.t || _2["data-t"] || "";
            if (T2.length) if (T2 = Yt(T2), p2.s.r > f2 && (p2.s.r = f2), p2.e.r < f2 && (p2.e.r = f2), p2.s.c > h2 && (p2.s.c = h2), p2.e.c < h2 && (p2.e.c = h2), T2.length) {
              var x2 = { t: "s", v: T2 };
              r2.raw || !T2.trim().length || "s" == S2 || ("TRUE" === T2 ? x2 = { t: "b", v: true } : "FALSE" === T2 ? x2 = { t: "b", v: false } : isNaN(je(T2)) ? isNaN(Qe(T2).getDate()) ? 35 == T2.charCodeAt(0) && null != vn[T2] && (x2.t = "e", x2.w = T2, x2.v = vn[T2]) : (x2 = { t: "d", v: Ve(T2) }, false === r2.UTC && (x2.v = tt(x2.v)), r2.cellDates || (x2 = { t: "n", v: Le(x2.v) }), x2.z = r2.dateNF || W[14]) : x2 = { t: "n", v: je(T2) }), false !== x2.cellText && (x2.w = T2), a2 ? (n2["!data"][f2] || (n2["!data"][f2] = []), n2["!data"][f2][h2] = x2) : n2[Ea({ r: f2, c: h2 })] = x2, h2 += d2;
            } else h2 += d2;
            else h2 += d2;
          }
        }
      }
    } else {
      if (++f2, r2.sheetRows && r2.sheetRows <= f2) {
        --f2;
        break;
      }
      h2 = 0;
    }
  }
  return n2["!ref"] = _a(p2), m2.length && (n2["!merges"] = m2), n2;
}
function Wf(e2, t2, r2, a2) {
  for (var n2 = e2["!merges"] || [], s2 = [], i2 = {}, o2 = null != e2["!data"], c2 = t2.s.c; c2 <= t2.e.c; ++c2) {
    for (var l2 = 0, f2 = 0, h2 = 0; h2 < n2.length; ++h2) if (!(n2[h2].s.r > r2 || n2[h2].s.c > c2 || n2[h2].e.r < r2 || n2[h2].e.c < c2)) {
      if (n2[h2].s.r < r2 || n2[h2].s.c < c2) {
        l2 = -1;
        break;
      }
      l2 = n2[h2].e.r - n2[h2].s.r + 1, f2 = n2[h2].e.c - n2[h2].s.c + 1;
      break;
    }
    if (!(l2 < 0)) {
      var u2 = Ta(c2) + ba(r2), d2 = o2 ? (e2["!data"][r2] || [])[c2] : e2[u2];
      d2 && "n" == d2.t && null != d2.v && !isFinite(d2.v) && (d2 = isNaN(d2.v) ? { t: "e", v: 36, w: mn[36] } : { t: "e", v: 7, w: mn[7] });
      var p2 = d2 && null != d2.v && (d2.h || Wt(d2.w || (Ia(d2), d2.w) || "")) || "";
      i2 = {}, l2 > 1 && (i2.rowspan = l2), f2 > 1 && (i2.colspan = f2), a2.editable ? p2 = '<span contenteditable="true">' + p2 + "</span>" : d2 && (i2["data-t"] = d2 && d2.t || "z", null != d2.v && (i2["data-v"] = Wt(d2.v instanceof Date ? d2.v.toISOString() : d2.v)), null != d2.z && (i2["data-z"] = d2.z), d2.l && "#" != (d2.l.Target || "#").charAt(0) && (p2 = '<a href="' + Wt(d2.l.Target) + '">' + p2 + "</a>")), i2.id = (a2.id || "sjs") + "-" + u2, s2.push(rr("td", p2, i2));
    }
  }
  return "<tr>" + s2.join("") + "</tr>";
}
var zf = '<html><head><meta charset="utf-8"/><title>SheetJS Table Export</title></head><body>', Hf = "</body></html>";
function Vf(e2, t2, r2) {
  return [].join("") + "<table" + (r2 && r2.id ? ' id="' + r2.id + '"' : "") + ">";
}
function $f(e2, t2) {
  var r2 = t2 || {}, a2 = null != r2.header ? r2.header : zf, n2 = null != r2.footer ? r2.footer : Hf, s2 = [a2], i2 = ka(e2["!ref"] || "A1");
  if (s2.push(Vf(0, 0, r2)), e2["!ref"]) for (var o2 = i2.s.r; o2 <= i2.e.r; ++o2) s2.push(Wf(e2, i2, o2, r2));
  return s2.push("</table>" + n2), s2.join("");
}
function Gf(e2, t2, r2) {
  var a2 = t2.rows;
  if (!a2) throw "Unsupported origin when " + t2.tagName + " is not a TABLE";
  var n2 = r2 || {}, s2 = null != e2["!data"], i2 = 0, o2 = 0;
  if (null != n2.origin) if ("number" == typeof n2.origin) i2 = n2.origin;
  else {
    var c2 = "string" == typeof n2.origin ? ya(n2.origin) : n2.origin;
    i2 = c2.r, o2 = c2.c;
  }
  var l2 = Math.min(n2.sheetRows || 1e7, a2.length), f2 = { s: { r: 0, c: 0 }, e: { r: i2, c: o2 } };
  if (e2["!ref"]) {
    var h2 = ka(e2["!ref"]);
    f2.s.r = Math.min(f2.s.r, h2.s.r), f2.s.c = Math.min(f2.s.c, h2.s.c), f2.e.r = Math.max(f2.e.r, h2.e.r), f2.e.c = Math.max(f2.e.c, h2.e.c), -1 == i2 && (f2.e.r = i2 = h2.e.r + 1);
  }
  var u2 = [], d2 = 0, p2 = e2["!rows"] || (e2["!rows"] = []), m2 = 0, v2 = 0, g2 = 0, b2 = 0, w2 = 0, T2 = 0;
  for (e2["!cols"] || (e2["!cols"] = []); m2 < a2.length && v2 < l2; ++m2) {
    var y2 = a2[m2];
    if (jf(y2)) {
      if (n2.display) continue;
      p2[v2] = { hidden: true };
    }
    var E2 = y2.cells;
    for (g2 = b2 = 0; g2 < E2.length; ++g2) {
      var k2 = E2[g2];
      if (!n2.display || !jf(k2)) {
        var _2 = k2.hasAttribute("data-v") ? k2.getAttribute("data-v") : k2.hasAttribute("v") ? k2.getAttribute("v") : Yt(k2.innerHTML), S2 = k2.getAttribute("data-z") || k2.getAttribute("z");
        for (d2 = 0; d2 < u2.length; ++d2) {
          var x2 = u2[d2];
          x2.s.c == b2 + o2 && x2.s.r < v2 + i2 && v2 + i2 <= x2.e.r && (b2 = x2.e.c + 1 - o2, d2 = -1);
        }
        T2 = +k2.getAttribute("colspan") || 1, ((w2 = +k2.getAttribute("rowspan") || 1) > 1 || T2 > 1) && u2.push({ s: { r: v2 + i2, c: b2 + o2 }, e: { r: v2 + i2 + (w2 || 1) - 1, c: b2 + o2 + (T2 || 1) - 1 } });
        var A2 = { t: "s", v: _2 }, C2 = k2.getAttribute("data-t") || k2.getAttribute("t") || "";
        null != _2 && (0 == _2.length ? A2.t = C2 || "z" : n2.raw || 0 == _2.trim().length || "s" == C2 || ("e" == C2 && mn[+_2] ? A2 = { t: "e", v: +_2, w: mn[+_2] } : "TRUE" === _2 ? A2 = { t: "b", v: true } : "FALSE" === _2 ? A2 = { t: "b", v: false } : isNaN(je(_2)) ? isNaN(Qe(_2).getDate()) ? 35 == _2.charCodeAt(0) && null != vn[_2] && (A2 = { t: "e", v: vn[_2], w: _2 }) : (A2 = { t: "d", v: Ve(_2) }, n2.UTC && (A2.v = rt(A2.v)), n2.cellDates || (A2 = { t: "n", v: Le(A2.v) }), A2.z = n2.dateNF || W[14]) : A2 = { t: "n", v: je(_2) })), void 0 === A2.z && null != S2 && (A2.z = S2);
        var I2 = "", O2 = k2.getElementsByTagName("A");
        if (O2 && O2.length) for (var R2 = 0; R2 < O2.length && (!O2[R2].hasAttribute("href") || "#" == (I2 = O2[R2].getAttribute("href")).charAt(0)); ++R2) ;
        I2 && "#" != I2.charAt(0) && "javascript:" != I2.slice(0, 11).toLowerCase() && (A2.l = { Target: I2 }), s2 ? (e2["!data"][v2 + i2] || (e2["!data"][v2 + i2] = []), e2["!data"][v2 + i2][b2 + o2] = A2) : e2[Ea({ c: b2 + o2, r: v2 + i2 })] = A2, f2.e.c < b2 + o2 && (f2.e.c = b2 + o2), b2 += T2;
      }
    }
    ++v2;
  }
  return u2.length && (e2["!merges"] = (e2["!merges"] || []).concat(u2)), f2.e.r = Math.max(f2.e.r, v2 - 1 + i2), e2["!ref"] = _a(f2), v2 >= l2 && (e2["!fullref"] = _a((f2.e.r = a2.length - m2 + v2 - 1 + i2, f2))), e2;
}
function Xf(e2, t2) {
  var r2 = {};
  return (t2 || {}).dense && (r2["!data"] = []), Gf(r2, e2, t2);
}
function jf(e2) {
  var t2 = "", r2 = function(e3) {
    return e3.ownerDocument.defaultView && "function" == typeof e3.ownerDocument.defaultView.getComputedStyle ? e3.ownerDocument.defaultView.getComputedStyle : "function" == typeof getComputedStyle ? getComputedStyle : null;
  }(e2);
  return r2 && (t2 = r2(e2).getPropertyValue("display")), t2 || (t2 = e2.style && e2.style.display), "none" === t2;
}
function Kf(e2) {
  var t2 = e2.replace(/[\t\r\n]/g, " ").trim().replace(/ +/g, " ").replace(/<text:s\/>/g, " ").replace(/<text:s text:c="(\d+)"\/>/g, function(e3, t3) {
    return Array(parseInt(t3, 10) + 1).join(" ");
  }).replace(/<text:tab[^<>]*\/>/g, "	").replace(/<text:line-break\/>/g, "\n");
  return [Dt(t2.replace(/<[^<>]*>/g, ""))];
}
function Yf(e2, t2, r2) {
  var a2 = r2 || {}, n2 = nr(e2);
  sr.lastIndex = 0, n2 = at(st(n2, "<!--", "-->"));
  for (var s2, i2, o2, c2 = "", l2 = "", f2 = 0, h2 = -1, u2 = ""; s2 = sr.exec(n2); ) switch (s2[3] = s2[3].replace(/_[\s\S]*$/, "")) {
    case "number-style":
    case "currency-style":
    case "percentage-style":
    case "date-style":
    case "time-style":
    case "text-style":
      "/" === s2[1] ? ("false" == i2["truncate-on-overflow"] && (c2.match(/h/) ? c2 = c2.replace(/h+/, "[$&]") : c2.match(/m/) ? c2 = c2.replace(/m+/, "[$&]") : c2.match(/s/) && (c2 = c2.replace(/s+/, "[$&]"))), a2[i2.name] = c2, c2 = "") : "/" !== s2[0].charAt(s2[0].length - 2) && (c2 = "", i2 = It(s2[0], false));
      break;
    case "boolean-style":
      "/" === s2[1] ? (a2[i2.name] = "General", c2 = "") : "/" !== s2[0].charAt(s2[0].length - 2) && (c2 = "", i2 = It(s2[0], false));
      break;
    case "boolean":
      c2 += "General";
      break;
    case "text":
      "/" === s2[1] ? "%" == (u2 = n2.slice(h2, sr.lastIndex - s2[0].length)) && "<number:percentage-style" == i2[0] ? c2 += "%" : c2 += '"' + u2.replace(/"/g, '""') + '"' : "/" !== s2[0].charAt(s2[0].length - 2) && (h2 = sr.lastIndex);
      break;
    case "day":
      if ("short" === (o2 = It(s2[0], false)).style) c2 += "d";
      else c2 += "dd";
      break;
    case "day-of-week":
      switch ((o2 = It(s2[0], false)).style) {
        case "short":
        default:
          c2 += "ddd";
          break;
        case "long":
          c2 += "dddd";
      }
      break;
    case "era":
      if ("short" === (o2 = It(s2[0], false)).style) c2 += "ee";
      else c2 += "eeee";
      break;
    case "hours":
      if ("short" === (o2 = It(s2[0], false)).style) c2 += "h";
      else c2 += "hh";
      break;
    case "minutes":
      if ("short" === (o2 = It(s2[0], false)).style) c2 += "m";
      else c2 += "mm";
      break;
    case "month":
      switch ((o2 = It(s2[0], false)).textual && (c2 += "mm"), o2.style) {
        case "short":
        default:
          c2 += "m";
          break;
        case "long":
          c2 += "mm";
      }
      break;
    case "seconds":
      if ("short" === (o2 = It(s2[0], false)).style) c2 += "s";
      else c2 += "ss";
      o2["decimal-places"] && (c2 += "." + Xe("0", +o2["decimal-places"]));
      break;
    case "year":
      switch ((o2 = It(s2[0], false)).style) {
        case "short":
        default:
          c2 += "yy";
          break;
        case "long":
          c2 += "yyyy";
      }
      break;
    case "am-pm":
      c2 += "AM/PM";
      break;
    case "week-of-year":
    case "quarter":
      console.error("Excel does not support ODS format token " + s2[3]);
      break;
    case "fill-character":
      "/" === s2[1] ? c2 += '"' + (u2 = n2.slice(h2, sr.lastIndex - s2[0].length)).replace(/"/g, '""') + '"*' : "/" !== s2[0].charAt(s2[0].length - 2) && (h2 = sr.lastIndex);
      break;
    case "scientific-number":
      c2 += "0." + Xe("0", +(o2 = It(s2[0], false))["min-decimal-places"] || +o2["decimal-places"] || 2) + Xe("?", +o2["decimal-places"] - +o2["min-decimal-places"] || 0) + "E" + (Ht(o2["forced-exponent-sign"]) ? "+" : "") + Xe("0", +o2["min-exponent-digits"] || 2);
      break;
    case "fraction":
      +(o2 = It(s2[0], false))["min-integer-digits"] ? c2 += Xe("0", +o2["min-integer-digits"]) : c2 += "#", c2 += " ", c2 += Xe("?", +o2["min-numerator-digits"] || 1), c2 += "/", +o2["denominator-value"] ? c2 += o2["denominator-value"] : c2 += Xe("?", +o2["min-denominator-digits"] || 1);
      break;
    case "currency-symbol":
      "/" === s2[1] ? c2 += '"' + n2.slice(h2, sr.lastIndex - s2[0].length).replace(/"/g, '""') + '"' : "/" !== s2[0].charAt(s2[0].length - 2) ? h2 = sr.lastIndex : c2 += "$";
      break;
    case "text-properties":
      switch (((o2 = It(s2[0], false)).color || "").toLowerCase().replace("#", "")) {
        case "ff0000":
        case "red":
          c2 = "[Red]" + c2;
      }
      break;
    case "text-content":
      c2 += "@";
      break;
    case "map":
      o2 = It(s2[0], false), "value()>=0" == Dt(o2.condition) ? c2 = a2[o2["apply-style-name"]] + ";" + c2 : console.error("ODS number format may be incorrect: " + o2.condition);
      break;
    case "number":
      if ("/" === s2[1]) break;
      l2 = "", l2 += Xe("0", +(o2 = It(s2[0], false))["min-integer-digits"] || 1), Ht(o2.grouping) && (l2 = Z(Xe("#", Math.max(0, 4 - l2.length)) + l2)), (+o2["min-decimal-places"] || +o2["decimal-places"]) && (l2 += "."), +o2["min-decimal-places"] && (l2 += Xe("0", +o2["min-decimal-places"] || 1)), +o2["decimal-places"] - (+o2["min-decimal-places"] || 0) && (l2 += Xe("0", +o2["decimal-places"] - (+o2["min-decimal-places"] || 0))), c2 += l2;
      break;
    case "embedded-text":
      "/" === s2[1] ? 0 == f2 ? c2 += '"' + n2.slice(h2, sr.lastIndex - s2[0].length).replace(/"/g, '""') + '"' : c2 = c2.slice(0, f2) + '"' + n2.slice(h2, sr.lastIndex - s2[0].length).replace(/"/g, '""') + '"' + c2.slice(f2) : "/" !== s2[0].charAt(s2[0].length - 2) && (h2 = sr.lastIndex, f2 = -+It(s2[0], false).position || 0);
  }
  return a2;
}
function Zf(e2, t2, r2) {
  var a2, n2, s2, i2, o2, c2, l2, f2 = t2 || {}, h2 = nr(e2), u2 = [], d2 = 0, p2 = {}, m2 = [], v2 = {};
  f2.dense && (v2["!data"] = []);
  var g2 = { value: "" }, b2 = {}, w2 = "", T2 = 0, y2 = "", E2 = 0, k2 = [], _2 = [], S2 = -1, x2 = -1, A2 = { s: { r: 1e6, c: 1e7 }, e: { r: 0, c: 0 } }, C2 = 0, I2 = r2 || {}, O2 = {}, R2 = [], N2 = {}, F2 = 0, D2 = 0, P2 = [], M2 = 1, L2 = 1, U2 = [], B2 = { Names: [], WBProps: {} }, W2 = {}, z2 = ["", ""], H2 = [], V2 = {}, $2 = "", G2 = 0, X2 = false, j2 = false, K2 = 0;
  for (sr.lastIndex = 0, h2 = at(st(h2, "<!--", "-->")); c2 = sr.exec(h2); ) switch (c2[3] = c2[3].replace(/_[\s\S]*$/, "")) {
    case "table":
    case "工作表":
      "/" === c2[1] ? (A2.e.c >= A2.s.c && A2.e.r >= A2.s.r ? v2["!ref"] = _a(A2) : v2["!ref"] = "A1:A1", f2.sheetRows > 0 && f2.sheetRows <= A2.e.r && (v2["!fullref"] = v2["!ref"], A2.e.r = f2.sheetRows - 1, v2["!ref"] = _a(A2)), R2.length && (v2["!merges"] = R2), P2.length && (v2["!rows"] = P2), i2.name = i2["名称"] || i2.name, "undefined" != typeof JSON && JSON.stringify(i2), m2.push(i2.name), p2[i2.name] = v2, j2 = false) : "/" !== c2[0].charAt(c2[0].length - 2) && (i2 = It(c2[0], false), S2 = x2 = -1, A2.s.r = A2.s.c = 1e7, A2.e.r = A2.e.c = 0, v2 = {}, f2.dense && (v2["!data"] = []), R2 = [], P2 = [], j2 = true);
      break;
    case "table-row-group":
      "/" === c2[1] ? --C2 : ++C2;
      break;
    case "table-row":
    case "行":
      if ("/" === c2[1]) {
        S2 += M2, M2 = 1;
        break;
      }
      if ((o2 = It(c2[0], false))["行号"] ? S2 = o2["行号"] - 1 : -1 == S2 && (S2 = 0), (M2 = +o2["number-rows-repeated"] || 1) < 10) for (K2 = 0; K2 < M2; ++K2) C2 > 0 && (P2[S2 + K2] = { level: C2 });
      x2 = -1;
      break;
    case "covered-table-cell":
      if ("/" !== c2[1]) if (++x2, g2 = It(c2[0], false), L2 = parseInt(g2["number-columns-repeated"] || "1", 10) || 1, f2.sheetStubs) {
        for (; L2-- > 0; ) f2.dense ? (v2["!data"][S2] || (v2["!data"][S2] = []), v2["!data"][S2][x2] = { t: "z" }) : v2[Ea({ r: S2, c: x2 })] = { t: "z" }, ++x2;
        --x2;
      } else x2 += L2 - 1;
      w2 = "", k2 = [];
      break;
    case "table-cell":
    case "数据":
      if ("/" === c2[0].charAt(c2[0].length - 2)) ++x2, g2 = It(c2[0], false), L2 = parseInt(g2["number-columns-repeated"] || "1", 10) || 1, l2 = { t: "z", v: null }, g2.formula && 0 != f2.cellFormula && (l2.f = Sc(Dt(g2.formula))), g2["style-name"] && O2[g2["style-name"]] && (l2.z = O2[g2["style-name"]]), "string" == (g2["数据类型"] || g2["value-type"]) && (l2.t = "s", l2.v = Dt(g2["string-value"] || ""), f2.dense ? (v2["!data"][S2] || (v2["!data"][S2] = []), v2["!data"][S2][x2] = l2) : v2[Ta(x2) + ba(S2)] = l2), x2 += L2 - 1;
      else if ("/" !== c2[1]) {
        w2 = y2 = "", T2 = E2 = 0, k2 = [], _2 = [], L2 = 1;
        var Y2 = M2 ? S2 + M2 - 1 : S2;
        if (++x2 > A2.e.c && (A2.e.c = x2), x2 < A2.s.c && (A2.s.c = x2), S2 < A2.s.r && (A2.s.r = S2), Y2 > A2.e.r && (A2.e.r = Y2), g2 = It(c2[0], false), b2 = Ot(c2[0]), H2 = [], V2 = {}, l2 = { t: g2["数据类型"] || g2["value-type"], v: null }, g2["style-name"] && O2[g2["style-name"]] && (l2.z = O2[g2["style-name"]]), f2.cellFormula) if (g2.formula && (g2.formula = Dt(g2.formula)), g2["number-matrix-columns-spanned"] && g2["number-matrix-rows-spanned"] && (N2 = { s: { r: S2, c: x2 }, e: { r: S2 + (F2 = parseInt(g2["number-matrix-rows-spanned"], 10) || 0) - 1, c: x2 + (D2 = parseInt(g2["number-matrix-columns-spanned"], 10) || 0) - 1 } }, l2.F = _a(N2), U2.push([N2, l2.F])), g2.formula) l2.f = Sc(g2.formula);
        else for (K2 = 0; K2 < U2.length; ++K2) S2 >= U2[K2][0].s.r && S2 <= U2[K2][0].e.r && x2 >= U2[K2][0].s.c && x2 <= U2[K2][0].e.c && (l2.F = U2[K2][1]);
        switch ((g2["number-columns-spanned"] || g2["number-rows-spanned"]) && (F2 = parseInt(g2["number-rows-spanned"] || "1", 10) || 1) * (D2 = parseInt(g2["number-columns-spanned"] || "1", 10) || 1) > 1 && (N2 = { s: { r: S2, c: x2 }, e: { r: S2 + F2 - 1, c: x2 + D2 - 1 } }, R2.push(N2)), g2["number-columns-repeated"] && (L2 = parseInt(g2["number-columns-repeated"], 10)), l2.t) {
          case "boolean":
            l2.t = "b", l2.v = Ht(g2["boolean-value"]) || +g2["boolean-value"] >= 1;
            break;
          case "float":
            l2.t = "n", l2.v = parseFloat(g2.value), f2.cellDates && l2.z && he(l2.z) && (l2.v = Ue(l2.v + (B2.WBProps.date1904 ? 1462 : 0)), l2.t = "number" == typeof l2.v ? "n" : "d");
            break;
          case "percentage":
          case "currency":
            l2.t = "n", l2.v = parseFloat(g2.value);
            break;
          case "date":
            l2.t = "d", l2.v = Ve(g2["date-value"], B2.WBProps.date1904), f2.cellDates || (l2.t = "n", l2.v = Le(l2.v, B2.WBProps.date1904)), l2.z || (l2.z = "m/d/yy");
            break;
          case "time":
            l2.t = "n", l2.v = Be(g2["time-value"]) / 86400, f2.cellDates && (l2.v = Ue(l2.v), l2.t = "number" == typeof l2.v ? "n" : "d"), l2.z || (l2.z = "HH:MM:SS");
            break;
          case "number":
            l2.t = "n", l2.v = parseFloat(g2["数据数值"]);
            break;
          default:
            if ("string" !== l2.t && "text" !== l2.t && l2.t) throw new Error("Unsupported value type " + l2.t);
            l2.t = "s", null != g2["string-value"] && (w2 = Dt(g2["string-value"]), k2 = []);
        }
      } else {
        if (X2 = false, "error" == b2["calcext:value-type"] && null != vn[w2] && (l2.t = "e", l2.w = w2, l2.v = vn[w2]), "s" === l2.t && (l2.v = w2 || "", k2.length && (l2.R = k2), X2 = 0 == T2), W2.Target && (l2.l = W2), H2.length > 0 && (l2.c = H2, H2 = []), w2 && false !== f2.cellText && (l2.w = w2), X2 && (l2.t = "z", delete l2.v), (!X2 || f2.sheetStubs) && !(f2.sheetRows && f2.sheetRows <= S2)) for (var Z2 = 0; Z2 < M2; ++Z2) {
          if (L2 = parseInt(g2["number-columns-repeated"] || "1", 10), f2.dense) for (v2["!data"][S2 + Z2] || (v2["!data"][S2 + Z2] = []), v2["!data"][S2 + Z2][x2] = 0 == Z2 ? l2 : Ge(l2); --L2 > 0; ) v2["!data"][S2 + Z2][x2 + L2] = Ge(l2);
          else for (v2[Ea({ r: S2 + Z2, c: x2 })] = l2; --L2 > 0; ) v2[Ea({ r: S2 + Z2, c: x2 + L2 })] = Ge(l2);
          A2.e.c <= x2 && (A2.e.c = x2);
        }
        x2 += (L2 = parseInt(g2["number-columns-repeated"] || "1", 10)) - 1, L2 = 0, l2 = {}, w2 = "", k2 = [];
      }
      W2 = {};
      break;
    case "document":
    case "document-content":
    case "电子表格文档":
    case "spreadsheet":
    case "主体":
    case "scripts":
    case "styles":
    case "font-face-decls":
    case "master-styles":
      if ("/" === c2[1]) {
        if ((a2 = u2.pop())[0] !== c2[3]) throw "Bad state: " + a2;
      } else "/" !== c2[0].charAt(c2[0].length - 2) && u2.push([c2[3], true]);
      break;
    case "annotation":
      if ("/" === c2[1]) {
        if ((a2 = u2.pop())[0] !== c2[3]) throw "Bad state: " + a2;
        V2.t = w2, k2.length && (V2.R = k2), V2.a = $2, H2.push(V2), w2 = y2, T2 = E2, k2 = _2;
      } else if ("/" !== c2[0].charAt(c2[0].length - 2)) {
        u2.push([c2[3], false]);
        var J2 = It(c2[0], true);
        J2.display && Ht(J2.display) || (H2.hidden = true), y2 = w2, E2 = T2, _2 = k2, w2 = "", T2 = 0, k2 = [];
      }
      $2 = "", G2 = 0;
      break;
    case "creator":
      "/" === c2[1] ? $2 = h2.slice(G2, c2.index) : G2 = c2.index + c2[0].length;
      break;
    case "meta":
    case "元数据":
    case "settings":
    case "config-item-set":
    case "config-item-map-indexed":
    case "config-item-map-entry":
    case "config-item-map-named":
    case "shapes":
    case "frame":
    case "text-box":
    case "image":
    case "data-pilot-tables":
    case "list-style":
    case "form":
    case "dde-links":
    case "event-listeners":
    case "chart":
      if ("/" === c2[1]) {
        if ((a2 = u2.pop())[0] !== c2[3]) throw "Bad state: " + a2;
      } else "/" !== c2[0].charAt(c2[0].length - 2) && u2.push([c2[3], false]);
      w2 = "", T2 = 0, k2 = [];
      break;
    case "scientific-number":
    case "currency-symbol":
    case "fill-character":
    case "script":
    case "libraries":
    case "automatic-styles":
    case "default-style":
    case "page-layout":
    case "map":
    case "font-face":
    case "paragraph-properties":
    case "table-properties":
    case "table-column-properties":
    case "table-row-properties":
    case "table-cell-properties":
    case "number":
    case "fraction":
    case "day":
    case "month":
    case "year":
    case "era":
    case "day-of-week":
    case "week-of-year":
    case "quarter":
    case "hours":
    case "minutes":
    case "seconds":
    case "am-pm":
    case "boolean":
    case "text-content":
    case "text-properties":
    case "embedded-text":
    case "body":
    case "电子表格":
    case "forms":
    case "table-column":
    case "table-header-rows":
    case "table-rows":
    case "table-column-group":
    case "table-header-columns":
    case "table-columns":
    case "graphic-properties":
    case "calculation-settings":
    case "named-expressions":
    case "label-range":
    case "label-ranges":
    case "named-expression":
    case "sort":
    case "sort-by":
    case "sort-groups":
    case "tab":
    case "line-break":
    case "span":
    case "s":
    case "date":
    case "object":
    case "title":
    case "标题":
    case "desc":
    case "binary-data":
    case "table-source":
    case "scenario":
    case "iteration":
    case "content-validations":
    case "content-validation":
    case "help-message":
    case "error-message":
    case "database-ranges":
    case "filter":
    case "filter-and":
    case "filter-or":
    case "filter-condition":
    case "filter-set-item":
    case "list-level-style-bullet":
    case "list-level-style-number":
    case "list-level-properties":
    case "sender-firstname":
    case "sender-lastname":
    case "sender-initials":
    case "sender-title":
    case "sender-position":
    case "sender-email":
    case "sender-phone-private":
    case "sender-fax":
    case "sender-company":
    case "sender-phone-work":
    case "sender-street":
    case "sender-city":
    case "sender-postal-code":
    case "sender-country":
    case "sender-state-or-province":
    case "author-name":
    case "author-initials":
    case "chapter":
    case "file-name":
    case "template-name":
    case "sheet-name":
    case "event-listener":
    case "initial-creator":
    case "creation-date":
    case "print-date":
    case "generator":
    case "document-statistic":
    case "user-defined":
    case "editing-duration":
    case "editing-cycles":
    case "config-item":
    case "page-number":
    case "page-count":
    case "time":
    case "cell-range-source":
    case "detective":
    case "operation":
    case "highlighted-range":
    case "data-pilot-table":
    case "source-cell-range":
    case "source-service":
    case "data-pilot-field":
    case "data-pilot-level":
    case "data-pilot-subtotals":
    case "data-pilot-subtotal":
    case "data-pilot-members":
    case "data-pilot-member":
    case "data-pilot-display-info":
    case "data-pilot-sort-info":
    case "data-pilot-layout-info":
    case "data-pilot-field-reference":
    case "data-pilot-groups":
    case "data-pilot-group":
    case "data-pilot-group-member":
    case "rect":
    case "dde-connection-decls":
    case "dde-connection-decl":
    case "dde-link":
    case "dde-source":
    case "properties":
    case "property":
    case "table-protection":
    case "data-pilot-grand-total":
    case "office-document-common-attrs":
      break;
    case "text-style":
    case "boolean-style":
    case "number-style":
    case "currency-style":
    case "percentage-style":
    case "date-style":
    case "time-style":
      if ("/" === c2[1]) {
        var q2 = sr.lastIndex;
        Yf(h2.slice(s2, sr.lastIndex), 0, I2), sr.lastIndex = q2;
      } else "/" !== c2[0].charAt(c2[0].length - 2) && (s2 = sr.lastIndex - c2[0].length);
      break;
    case "style":
      var Q2 = It(c2[0], false);
      "table-cell" == Q2.family && I2[Q2["data-style-name"]] && (O2[Q2.name] = I2[Q2["data-style-name"]]);
      break;
    case "text":
      if ("/>" === c2[0].slice(-2)) break;
      if ("/" === c2[1]) switch (u2[u2.length - 1][0]) {
        case "number-style":
        case "date-style":
        case "time-style":
          h2.slice(d2, c2.index);
      }
      else d2 = c2.index + c2[0].length;
      break;
    case "named-range":
      z2 = Ac((n2 = It(c2[0], false))["cell-range-address"]);
      var ee2 = { Name: n2.name, Ref: z2[0] + "!" + z2[1] };
      j2 && (ee2.Sheet = m2.length), B2.Names.push(ee2);
      break;
    case "null-date":
      if ("1904-01-01" === (n2 = It(c2[0], false))["date-value"]) B2.WBProps.date1904 = true;
      break;
    case "p":
    case "文本串":
      if (["master-styles"].indexOf(u2[u2.length - 1][0]) > -1) break;
      if ("/" !== c2[1] || g2 && g2["string-value"]) "/>" == c2[0].slice(-2) ? w2 += "\n" : (It(c2[0], false), T2 = c2.index + c2[0].length);
      else {
        var te2 = Kf(h2.slice(T2, c2.index));
        w2 = (w2.length > 0 ? w2 + "\n" : "") + te2[0];
      }
      break;
    case "database-range":
      if ("/" === c2[1]) break;
      try {
        p2[(z2 = Ac(It(c2[0])["target-range-address"]))[0]]["!autofilter"] = { ref: z2[1] };
      } catch (e3) {
      }
      break;
    case "a":
      if ("/" !== c2[1]) {
        if (!(W2 = It(c2[0], false)).href) break;
        W2.Target = Dt(W2.href), delete W2.href, "#" == W2.Target.charAt(0) && W2.Target.indexOf(".") > -1 ? (z2 = Ac(W2.Target.slice(1)), W2.Target = "#" + z2[0] + "!" + z2[1]) : W2.Target.match(/^\.\.[\\\/]/) && (W2.Target = W2.Target.slice(3));
      }
      break;
    default:
      switch (c2[2]) {
        case "dc:":
        case "calcext:":
        case "loext:":
        case "ooo:":
        case "chartooo:":
        case "draw:":
        case "style:":
        case "chart:":
        case "form:":
        case "uof:":
        case "表:":
        case "字:":
          break;
        default:
          if (f2.WTF) throw new Error(c2);
      }
  }
  var re2 = { Sheets: p2, SheetNames: m2, Workbook: B2 };
  return f2.bookSheets && delete re2.Sheets, re2;
}
function Jf(e2, t2) {
  t2 = t2 || {}, pt(e2, "META-INF/manifest.xml") && function(e3, t3) {
    for (var r3, a3, n3 = nr(e3); r3 = sr.exec(n3); ) switch (r3[3]) {
      case "manifest":
        break;
      case "file-entry":
        if ("/" == (a3 = It(r3[0], false)).path && "application/vnd.oasis.opendocument.spreadsheet" !== a3.type) throw new Error("This OpenDocument is not a spreadsheet");
        break;
      case "encryption-data":
      case "algorithm":
      case "start-key-generation":
      case "key-derivation":
        throw new Error("Unsupported ODS Encryption");
      default:
        if (t3 && t3.WTF) throw r3;
    }
  }(vt(e2, "META-INF/manifest.xml"), t2);
  var r2 = gt(e2, "styles.xml"), a2 = r2 && Yf(jt(r2)), n2 = gt(e2, "content.xml");
  if (!n2) throw new Error("Missing content.xml in ODS / UOF file");
  var s2 = Zf(jt(n2), t2, a2);
  return pt(e2, "meta.xml") && (s2.Props = On(vt(e2, "meta.xml"))), s2.bookType = "ods", s2;
}
function qf(e2, t2) {
  var r2 = Zf(e2, t2);
  return r2.bookType = "fods", r2;
}
var Qf = function() {
  var e2 = ["<office:master-styles>", '<style:master-page style:name="mp1" style:page-layout-name="mp1">', "<style:header/>", '<style:header-left style:display="false"/>', "<style:footer/>", '<style:footer-left style:display="false"/>', "</style:master-page>", "</office:master-styles>"].join(""), t2 = "<office:document-styles " + tr({ "xmlns:office": "urn:oasis:names:tc:opendocument:xmlns:office:1.0", "xmlns:table": "urn:oasis:names:tc:opendocument:xmlns:table:1.0", "xmlns:style": "urn:oasis:names:tc:opendocument:xmlns:style:1.0", "xmlns:text": "urn:oasis:names:tc:opendocument:xmlns:text:1.0", "xmlns:draw": "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0", "xmlns:fo": "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0", "xmlns:xlink": "http://www.w3.org/1999/xlink", "xmlns:dc": "http://purl.org/dc/elements/1.1/", "xmlns:number": "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0", "xmlns:svg": "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0", "xmlns:of": "urn:oasis:names:tc:opendocument:xmlns:of:1.2", "office:version": "1.2" }) + ">" + e2 + "</office:document-styles>";
  return function() {
    return kt + t2;
  };
}();
function eh(e2, t2) {
  var r2 = "number", a2 = "", n2 = { "style:name": t2 }, s2 = "", i2 = 0;
  e: if ((e2 = e2.replace(/"[$]"/g, "$")).indexOf(";") > -1 && (console.error("Unsupported ODS Style Map exported.  Using first branch of " + e2), e2 = e2.slice(0, e2.indexOf(";"))), "@" != e2) {
    if (e2.indexOf(/\$/) > -1 && (r2 = "currency"), '"' == e2[i2]) {
      for (s2 = ""; '"' != e2[++i2] || '"' == e2[++i2]; ) s2 += e2[i2];
      "*" == e2[--i2 + 1] ? (i2++, a2 += "<number:fill-character>" + Lt(s2.replace(/""/g, '"')) + "</number:fill-character>") : a2 += "<number:text>" + Lt(s2.replace(/""/g, '"')) + "</number:text>", e2 = e2.slice(i2 + 1), i2 = 0;
    }
    var o2 = e2.match(/# (\?+)\/(\?+)/);
    if (o2) a2 += rr("number:fraction", null, { "number:min-integer-digits": 0, "number:min-numerator-digits": o2[1].length, "number:max-denominator-value": Math.max(+o2[1].replace(/./g, "9"), +o2[2].replace(/./g, "9")) });
    else if (o2 = e2.match(/# (\?+)\/(\d+)/)) a2 += rr("number:fraction", null, { "number:min-integer-digits": 0, "number:min-numerator-digits": o2[1].length, "number:denominator-value": +o2[2] });
    else if (o2 = e2.match(/\b(\d+)(|\.\d+)%/)) r2 = "percentage", a2 += rr("number:number", null, { "number:decimal-places": o2[2] && o2.length - 1 || 0, "number:min-decimal-places": o2[2] && o2.length - 1 || 0, "number:min-integer-digits": o2[1].length }) + "<number:text>%</number:text>";
    else {
      var c2 = false;
      if (["y", "m", "d"].indexOf(e2[0]) > -1) {
        r2 = "date";
        t: for (; i2 < e2.length; ++i2) switch (s2 = e2[i2].toLowerCase()) {
          case "h":
          case "s":
            c2 = true, --i2;
            break t;
          case "m":
            r: for (var l2 = i2 + 1; l2 < e2.length; ++l2) switch (e2[l2]) {
              case "y":
              case "d":
                break r;
              case "h":
              case "s":
                c2 = true, --i2;
                break t;
            }
          case "y":
          case "d":
            for (; (e2[++i2] || "").toLowerCase() == s2[0]; ) s2 += s2[0];
            switch (--i2, s2) {
              case "y":
              case "yy":
                a2 += "<number:year/>";
                break;
              case "yyy":
              case "yyyy":
                a2 += '<number:year number:style="long"/>';
                break;
              case "mmmmm":
                console.error("ODS has no equivalent of format |mmmmm|");
              case "m":
              case "mm":
              case "mmm":
              case "mmmm":
                a2 += '<number:month number:style="' + (s2.length % 2 ? "short" : "long") + '" number:textual="' + (s2.length >= 3 ? "true" : "false") + '"/>';
                break;
              case "d":
              case "dd":
                a2 += '<number:day number:style="' + (s2.length % 2 ? "short" : "long") + '"/>';
                break;
              case "ddd":
              case "dddd":
                a2 += '<number:day-of-week number:style="' + (s2.length % 2 ? "short" : "long") + '"/>';
            }
            break;
          case '"':
            for (; '"' != e2[++i2] || '"' == e2[++i2]; ) s2 += e2[i2];
            --i2, a2 += "<number:text>" + Lt(s2.slice(1).replace(/""/g, '"')) + "</number:text>";
            break;
          case "\\":
            a2 += "<number:text>" + Lt(s2 = e2[++i2]) + "</number:text>";
            break;
          case "/":
          case ":":
            a2 += "<number:text>" + Lt(s2) + "</number:text>";
            break;
          default:
            console.error("unrecognized character " + s2 + " in ODF format " + e2);
        }
        if (!c2) break e;
        e2 = e2.slice(i2 + 1), i2 = 0;
      }
      if (e2.match(/^\[?[hms]/)) for ("number" == r2 && (r2 = "time"), e2.match(/\[/) && (e2 = e2.replace(/[\[\]]/g, ""), n2["number:truncate-on-overflow"] = "false"); i2 < e2.length; ++i2) switch (s2 = e2[i2].toLowerCase()) {
        case "h":
        case "m":
        case "s":
          for (; (e2[++i2] || "").toLowerCase() == s2[0]; ) s2 += s2[0];
          switch (--i2, s2) {
            case "h":
            case "hh":
              a2 += '<number:hours number:style="' + (s2.length % 2 ? "short" : "long") + '"/>';
              break;
            case "m":
            case "mm":
              a2 += '<number:minutes number:style="' + (s2.length % 2 ? "short" : "long") + '"/>';
              break;
            case "s":
            case "ss":
              if ("." == e2[i2 + 1]) do {
                s2 += e2[i2 + 1], ++i2;
              } while ("0" == e2[i2 + 1]);
              a2 += '<number:seconds number:style="' + (s2.match("ss") ? "long" : "short") + '"' + (s2.match(/\./) ? ' number:decimal-places="' + (s2.match(/0+/) || [""])[0].length + '"' : "") + "/>";
          }
          break;
        case '"':
          for (; '"' != e2[++i2] || '"' == e2[++i2]; ) s2 += e2[i2];
          --i2, a2 += "<number:text>" + Lt(s2.slice(1).replace(/""/g, '"')) + "</number:text>";
          break;
        case "/":
        case ":":
          a2 += "<number:text>" + Lt(s2) + "</number:text>";
          break;
        case "a":
          if ("a/p" == e2.slice(i2, i2 + 3).toLowerCase()) {
            a2 += "<number:am-pm/>", i2 += 2;
            break;
          }
          if ("am/pm" == e2.slice(i2, i2 + 5).toLowerCase()) {
            a2 += "<number:am-pm/>", i2 += 4;
            break;
          }
        default:
          console.error("unrecognized character " + s2 + " in ODF format " + e2);
      }
      else {
        if (e2.indexOf(/\$/) > -1 && (r2 = "currency"), "$" == e2[0] && (a2 += '<number:currency-symbol number:language="en" number:country="US">$</number:currency-symbol>', e2 = e2.slice(1), i2 = 0), '"' == e2[i2 = 0]) {
          for (; '"' != e2[++i2] || '"' == e2[++i2]; ) s2 += e2[i2];
          "*" == e2[--i2 + 1] ? (i2++, a2 += "<number:fill-character>" + Lt(s2.replace(/""/g, '"')) + "</number:fill-character>") : a2 += "<number:text>" + Lt(s2.replace(/""/g, '"')) + "</number:text>", e2 = e2.slice(i2 + 1), i2 = 0;
        }
        var f2 = e2.match(/([#0][0#,]*)(\.[0#]*|)(E[+]?0*|)/i);
        if (f2 && f2[0]) {
          var h2 = f2[1].replace(/,/g, "");
          a2 += "<number:" + (f2[3] ? "scientific-" : "") + 'number number:min-integer-digits="' + (-1 == h2.indexOf("0") ? "0" : h2.length - h2.indexOf("0")) + '"' + (f2[0].indexOf(",") > -1 ? ' number:grouping="true"' : "") + (f2[2] && ' number:decimal-places="' + (f2[2].length - 1) + '"' || ' number:decimal-places="0"') + (f2[3] && f2[3].indexOf("+") > -1 ? ' number:forced-exponent-sign="true"' : "") + (f2[3] ? ' number:min-exponent-digits="' + f2[3].match(/0+/)[0].length + '"' : "") + "></number:" + (f2[3] ? "scientific-" : "") + "number>", i2 = f2.index + f2[0].length;
        } else console.error("Could not find numeric part of " + e2);
        if ('"' == e2[i2]) {
          for (s2 = ""; '"' != e2[++i2] || '"' == e2[++i2]; ) s2 += e2[i2];
          --i2, a2 += "<number:text>" + Lt(s2.replace(/""/g, '"')) + "</number:text>";
        }
      }
    }
  } else r2 = "text", a2 = "<number:text-content/>";
  return a2 ? rr("number:" + r2 + "-style", a2, n2) : (console.error("Could not generate ODS number format for |" + e2 + "|"), "");
}
function th(e2, t2, r2) {
  for (var a2 = [], n2 = 0; n2 < e2.length; ++n2) {
    var s2 = e2[n2];
    s2 && (s2.Sheet == (-1 == r2 ? null : r2) && a2.push(s2));
  }
  return a2.length ? "      <table:named-expressions>\n" + a2.map(function(e3) {
    var t3 = (-1 == r2 ? "$" : "") + Cc(e3.Ref);
    return "        " + rr("table:named-range", null, { "table:name": e3.Name, "table:cell-range-address": t3, "table:base-cell-address": t3.replace(/[\.][^\.]*$/, ".$A$1") });
  }).join("\n") + "\n      </table:named-expressions>\n" : "";
}
var rh = /* @__PURE__ */ function() {
  var e2 = function(e3, t3) {
    return Lt(e3).replace(/  +/g, function(e4) {
      return '<text:s text:c="' + e4.length + '"/>';
    }).replace(/\t/g, "<text:tab/>").replace(/\n/g, "</text:p><text:p>").replace(/^ /, "<text:s/>").replace(/ $/, "<text:s/>");
  }, t2 = "          <table:table-cell />\n", r2 = function(r3, a2, n2, s2, i2, o2) {
    var c2 = [];
    c2.push('      <table:table table:name="' + Lt(a2.SheetNames[n2]) + '" table:style-name="ta1">\n');
    var l2 = 0, f2 = 0, h2 = ka(r3["!ref"] || "A1"), u2 = r3["!merges"] || [], d2 = 0, p2 = null != r3["!data"];
    if (r3["!cols"]) for (f2 = 0; f2 <= h2.e.c; ++f2) c2.push("        <table:table-column" + (r3["!cols"][f2] ? ' table:style-name="co' + r3["!cols"][f2].ods + '"' : "") + "></table:table-column>\n");
    var m2 = "", v2 = r3["!rows"] || [];
    for (l2 = 0; l2 < h2.s.r; ++l2) m2 = v2[l2] ? ' table:style-name="ro' + v2[l2].ods + '"' : "", c2.push("        <table:table-row" + m2 + "></table:table-row>\n");
    for (; l2 <= h2.e.r; ++l2) {
      for (m2 = v2[l2] ? ' table:style-name="ro' + v2[l2].ods + '"' : "", c2.push("        <table:table-row" + m2 + ">\n"), f2 = 0; f2 < h2.s.c; ++f2) c2.push(t2);
      for (; f2 <= h2.e.c; ++f2) {
        var g2 = false, b2 = {}, w2 = "";
        for (d2 = 0; d2 != u2.length; ++d2) if (!(u2[d2].s.c > f2 || u2[d2].s.r > l2 || u2[d2].e.c < f2 || u2[d2].e.r < l2)) {
          u2[d2].s.c == f2 && u2[d2].s.r == l2 || (g2 = true), b2["table:number-columns-spanned"] = u2[d2].e.c - u2[d2].s.c + 1, b2["table:number-rows-spanned"] = u2[d2].e.r - u2[d2].s.r + 1;
          break;
        }
        if (g2) c2.push("          <table:covered-table-cell/>\n");
        else {
          var T2 = Ea({ r: l2, c: f2 }), y2 = p2 ? (r3["!data"][l2] || [])[f2] : r3[T2];
          if (y2 && y2.f && (b2["table:formula"] = Lt(xc(y2.f)), y2.F && y2.F.slice(0, T2.length) == T2)) {
            var E2 = ka(y2.F);
            b2["table:number-matrix-columns-spanned"] = E2.e.c - E2.s.c + 1, b2["table:number-matrix-rows-spanned"] = E2.e.r - E2.s.r + 1;
          }
          if (y2) {
            switch (y2.t) {
              case "b":
                w2 = y2.v ? "TRUE" : "FALSE", b2["office:value-type"] = "boolean", b2["office:boolean-value"] = y2.v ? "true" : "false";
                break;
              case "n":
                isFinite(y2.v) ? (w2 = y2.w || String(y2.v || 0), b2["office:value-type"] = "float", b2["office:value"] = y2.v || 0) : (isNaN(y2.v) ? (w2 = "#NUM!", b2["table:formula"] = "of:=#NUM!") : (w2 = "#DIV/0!", b2["table:formula"] = "of:=" + (y2.v < 0 ? "-" : "") + "1/0"), b2["office:string-value"] = "", b2["office:value-type"] = "string", b2["calcext:value-type"] = "error");
                break;
              case "s":
              case "str":
                w2 = null == y2.v ? "" : y2.v, b2["office:value-type"] = "string";
                break;
              case "d":
                w2 = y2.w || Ve(y2.v, o2).toISOString(), b2["office:value-type"] = "date", b2["office:date-value"] = Ve(y2.v, o2).toISOString(), b2["table:style-name"] = "ce1";
                break;
              default:
                c2.push(t2);
                continue;
            }
            var k2 = e2(w2);
            if (y2.l && y2.l.Target) {
              var _2 = y2.l.Target;
              "#" == (_2 = "#" == _2.charAt(0) ? "#" + Cc(_2.slice(1)) : _2).charAt(0) || _2.match(/^\w+:/) || (_2 = "../" + _2), k2 = rr("text:a", k2, { "xlink:href": _2.replace(/&/g, "&amp;") });
            }
            i2[y2.z] && (b2["table:style-name"] = "ce" + i2[y2.z].slice(1));
            var S2 = rr("text:p", k2, {});
            if (y2.c) {
              for (var x2 = "", A2 = "", C2 = {}, I2 = 0; I2 < y2.c.length; ++I2) !x2 && y2.c[I2].a && (x2 = y2.c[I2].a), A2 += "<text:p>" + e2(y2.c[I2].t) + "</text:p>";
              y2.c.hidden || (C2["office:display"] = true), S2 = rr("office:annotation", A2, C2) + S2;
            }
            c2.push("          " + rr("table:table-cell", S2, b2) + "\n");
          } else c2.push(t2);
        }
      }
      c2.push("        </table:table-row>\n");
    }
    return (a2.Workbook || {}).Names && c2.push(th(a2.Workbook.Names, a2.SheetNames, n2)), c2.push("      </table:table>\n"), c2.join("");
  };
  return function(e3, t3) {
    var a2 = [kt], n2 = tr({ "xmlns:office": "urn:oasis:names:tc:opendocument:xmlns:office:1.0", "xmlns:table": "urn:oasis:names:tc:opendocument:xmlns:table:1.0", "xmlns:style": "urn:oasis:names:tc:opendocument:xmlns:style:1.0", "xmlns:text": "urn:oasis:names:tc:opendocument:xmlns:text:1.0", "xmlns:draw": "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0", "xmlns:fo": "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0", "xmlns:xlink": "http://www.w3.org/1999/xlink", "xmlns:dc": "http://purl.org/dc/elements/1.1/", "xmlns:meta": "urn:oasis:names:tc:opendocument:xmlns:meta:1.0", "xmlns:number": "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0", "xmlns:presentation": "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0", "xmlns:svg": "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0", "xmlns:chart": "urn:oasis:names:tc:opendocument:xmlns:chart:1.0", "xmlns:dr3d": "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0", "xmlns:math": "http://www.w3.org/1998/Math/MathML", "xmlns:form": "urn:oasis:names:tc:opendocument:xmlns:form:1.0", "xmlns:script": "urn:oasis:names:tc:opendocument:xmlns:script:1.0", "xmlns:ooo": "http://openoffice.org/2004/office", "xmlns:ooow": "http://openoffice.org/2004/writer", "xmlns:oooc": "http://openoffice.org/2004/calc", "xmlns:dom": "http://www.w3.org/2001/xml-events", "xmlns:xforms": "http://www.w3.org/2002/xforms", "xmlns:xsd": "http://www.w3.org/2001/XMLSchema", "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "xmlns:sheet": "urn:oasis:names:tc:opendocument:sh33tjs:1.0", "xmlns:rpt": "http://openoffice.org/2005/report", "xmlns:of": "urn:oasis:names:tc:opendocument:xmlns:of:1.2", "xmlns:xhtml": "http://www.w3.org/1999/xhtml", "xmlns:grddl": "http://www.w3.org/2003/g/data-view#", "xmlns:tableooo": "http://openoffice.org/2009/table", "xmlns:drawooo": "http://openoffice.org/2010/draw", "xmlns:calcext": "urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0", "xmlns:loext": "urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0", "xmlns:field": "urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0", "xmlns:formx": "urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0", "xmlns:css3t": "http://www.w3.org/TR/css3-text/", "office:version": "1.2" }), s2 = tr({ "xmlns:config": "urn:oasis:names:tc:opendocument:xmlns:config:1.0", "office:mimetype": "application/vnd.oasis.opendocument.spreadsheet" });
    "fods" == t3.bookType ? (a2.push("<office:document" + n2 + s2 + ">\n"), a2.push(Cn().replace(/<office:document-meta[^<>]*?>/, "").replace(/<\/office:document-meta>/, "") + "\n")) : a2.push("<office:document-content" + n2 + ">\n");
    var i2 = function(e4, t4) {
      e4.push(" <office:automatic-styles>\n");
      var r3 = 0;
      t4.SheetNames.map(function(e5) {
        return t4.Sheets[e5];
      }).forEach(function(t5) {
        if (t5 && t5["!cols"]) {
          for (var a4 = 0; a4 < t5["!cols"].length; ++a4) if (t5["!cols"][a4]) {
            var n4 = t5["!cols"][a4];
            if (null == n4.width && null == n4.wpx && null == n4.wch) continue;
            Xi(n4), n4.ods = r3;
            var s4 = t5["!cols"][a4].wpx + "px";
            e4.push('  <style:style style:name="co' + r3 + '" style:family="table-column">\n'), e4.push('   <style:table-column-properties fo:break-before="auto" style:column-width="' + s4 + '"/>\n'), e4.push("  </style:style>\n"), ++r3;
          }
        }
      });
      var a3 = 0;
      t4.SheetNames.map(function(e5) {
        return t4.Sheets[e5];
      }).forEach(function(t5) {
        if (t5 && t5["!rows"]) {
          for (var r4 = 0; r4 < t5["!rows"].length; ++r4) if (t5["!rows"][r4]) {
            t5["!rows"][r4].ods = a3;
            var n4 = t5["!rows"][r4].hpx + "px";
            e4.push('  <style:style style:name="ro' + a3 + '" style:family="table-row">\n'), e4.push('   <style:table-row-properties fo:break-before="auto" style:row-height="' + n4 + '"/>\n'), e4.push("  </style:style>\n"), ++a3;
          }
        }
      }), e4.push('  <style:style style:name="ta1" style:family="table" style:master-page-name="mp1">\n'), e4.push('   <style:table-properties table:display="true" style:writing-mode="lr-tb"/>\n'), e4.push("  </style:style>\n"), e4.push('  <number:date-style style:name="N37" number:automatic-order="true">\n'), e4.push('   <number:month number:style="long"/>\n'), e4.push("   <number:text>/</number:text>\n"), e4.push('   <number:day number:style="long"/>\n'), e4.push("   <number:text>/</number:text>\n"), e4.push("   <number:year/>\n"), e4.push("  </number:date-style>\n");
      var n3 = {}, s3 = 69;
      return t4.SheetNames.map(function(e5) {
        return t4.Sheets[e5];
      }).forEach(function(t5) {
        if (t5) {
          var r4 = null != t5["!data"];
          if (t5["!ref"]) for (var a4 = ka(t5["!ref"]), i3 = 0; i3 <= a4.e.r; ++i3) for (var o3 = 0; o3 <= a4.e.c; ++o3) {
            var c2 = r4 ? (t5["!data"][i3] || [])[o3] : t5[Ea({ r: i3, c: o3 })];
            if (c2 && c2.z && "general" != c2.z.toLowerCase() && !n3[c2.z]) {
              var l2 = eh(c2.z, "N" + s3);
              l2 && (n3[c2.z] = "N" + s3, ++s3, e4.push(l2 + "\n"));
            }
          }
        }
      }), e4.push('  <style:style style:name="ce1" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N37"/>\n'), Oe(n3).forEach(function(t5) {
        e4.push('<style:style style:name="ce' + n3[t5].slice(1) + '" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="' + n3[t5] + '"/>\n');
      }), e4.push(" </office:automatic-styles>\n"), n3;
    }(a2, e3);
    a2.push("  <office:body>\n"), a2.push("    <office:spreadsheet>\n"), ((e3.Workbook || {}).WBProps || {}).date1904 && a2.push('      <table:calculation-settings table:case-sensitive="false" table:search-criteria-must-apply-to-whole-cell="true" table:use-wildcards="true" table:use-regular-expressions="false" table:automatic-find-labels="false">\n        <table:null-date table:date-value="1904-01-01"/>\n      </table:calculation-settings>\n');
    for (var o2 = 0; o2 != e3.SheetNames.length; ++o2) a2.push(r2(e3.Sheets[e3.SheetNames[o2]], e3, o2, 0, i2, ((e3.Workbook || {}).WBProps || {}).date1904));
    return (e3.Workbook || {}).Names && a2.push(th(e3.Workbook.Names, e3.SheetNames, -1)), a2.push("    </office:spreadsheet>\n"), a2.push("  </office:body>\n"), "fods" == t3.bookType ? a2.push("</office:document>") : a2.push("</office:document-content>"), a2.join("");
  };
}();
function ah(e2, t2) {
  if ("fods" == t2.bookType) return rh(e2, t2);
  var r2 = Tt(), a2 = "", n2 = [], s2 = [];
  return wt(r2, a2 = "mimetype", "application/vnd.oasis.opendocument.spreadsheet"), wt(r2, a2 = "content.xml", rh(e2, t2)), n2.push([a2, "text/xml"]), s2.push([a2, "ContentFile"]), wt(r2, a2 = "styles.xml", Qf(e2, t2)), n2.push([a2, "text/xml"]), s2.push([a2, "StylesFile"]), wt(r2, a2 = "meta.xml", kt + Cn()), n2.push([a2, "text/xml"]), s2.push([a2, "MetadataFile"]), wt(r2, a2 = "manifest.rdf", function(e3) {
    var t3 = [kt];
    t3.push('<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n');
    for (var r3 = 0; r3 != e3.length; ++r3) t3.push(xn(e3[r3][0], e3[r3][1])), t3.push(An("", e3[r3][0]));
    return t3.push(xn("", "Document", "pkg")), t3.push("</rdf:RDF>"), t3.join("");
  }(s2)), n2.push([a2, "application/rdf+xml"]), wt(r2, a2 = "META-INF/manifest.xml", function(e3) {
    var t3 = [kt];
    t3.push('<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" manifest:version="1.2">\n'), t3.push('  <manifest:file-entry manifest:full-path="/" manifest:version="1.2" manifest:media-type="application/vnd.oasis.opendocument.spreadsheet"/>\n');
    for (var r3 = 0; r3 < e3.length; ++r3) t3.push('  <manifest:file-entry manifest:full-path="' + e3[r3][0] + '" manifest:media-type="' + e3[r3][1] + '"/>\n');
    return t3.push("</manifest:manifest>"), t3.join("");
  }(n2)), r2;
}
var nh = function() {
  try {
    return "undefined" == typeof Uint8Array || void 0 === Uint8Array.prototype.subarray ? "slice" : "undefined" != typeof Buffer ? void 0 === Buffer.prototype.subarray ? "slice" : ("function" == typeof Buffer.from ? Buffer.from([72, 62]) : new Buffer([72, 62])) instanceof Uint8Array ? "subarray" : "slice" : "subarray";
  } catch (e2) {
    return "slice";
  }
}();
function sh(e2) {
  return new DataView(e2.buffer, e2.byteOffset, e2.byteLength);
}
function ih(e2) {
  return "undefined" != typeof TextDecoder ? new TextDecoder().decode(e2) : jt(x(e2));
}
function oh(e2) {
  return "undefined" != typeof TextEncoder ? new TextEncoder().encode(e2) : _(Kt(e2));
}
function ch(e2) {
  for (var t2 = 0, r2 = 0; r2 < e2.length; ++r2) t2 += e2[r2].length;
  var a2 = new Uint8Array(t2), n2 = 0;
  for (r2 = 0; r2 < e2.length; ++r2) {
    var s2 = e2[r2], i2 = s2.length;
    if (i2 < 250) for (var o2 = 0; o2 < i2; ++o2) a2[n2++] = s2[o2];
    else a2.set(s2, n2), n2 += i2;
  }
  return a2;
}
function lh(e2) {
  return 16843009 * ((e2 = (858993459 & (e2 -= e2 >> 1 & 1431655765)) + (e2 >> 2 & 858993459)) + (e2 >> 4) & 252645135) >>> 24;
}
function fh(e2, t2) {
  var r2 = t2.l, a2 = 127 & e2[r2];
  e: if (e2[r2++] >= 128) {
    if (a2 |= (127 & e2[r2]) << 7, e2[r2++] < 128) break e;
    if (a2 |= (127 & e2[r2]) << 14, e2[r2++] < 128) break e;
    if (a2 |= (127 & e2[r2]) << 21, e2[r2++] < 128) break e;
    if (a2 += (127 & e2[r2]) * Math.pow(2, 28), ++r2, e2[r2++] < 128) break e;
    if (a2 += (127 & e2[r2]) * Math.pow(2, 35), ++r2, e2[r2++] < 128) break e;
    if (a2 += (127 & e2[r2]) * Math.pow(2, 42), ++r2, e2[r2++] < 128) break e;
  }
  return t2.l = r2, a2;
}
function hh(e2) {
  var t2 = new Uint8Array(7);
  t2[0] = 127 & e2;
  var r2 = 1;
  e: if (e2 > 127) {
    if (t2[r2 - 1] |= 128, t2[r2] = e2 >> 7 & 127, ++r2, e2 <= 16383) break e;
    if (t2[r2 - 1] |= 128, t2[r2] = e2 >> 14 & 127, ++r2, e2 <= 2097151) break e;
    if (t2[r2 - 1] |= 128, t2[r2] = e2 >> 21 & 127, ++r2, e2 <= 268435455) break e;
    if (t2[r2 - 1] |= 128, t2[r2] = e2 / 256 >>> 21 & 127, ++r2, e2 <= 34359738367) break e;
    if (t2[r2 - 1] |= 128, t2[r2] = e2 / 65536 >>> 21 & 127, ++r2, e2 <= 4398046511103) break e;
    t2[r2 - 1] |= 128, t2[r2] = e2 / 16777216 >>> 21 & 127, ++r2;
  }
  return t2[nh](0, r2);
}
function uh(e2) {
  for (var t2 = { l: 0 }, r2 = []; t2.l < e2.length; ) r2.push(fh(e2, t2));
  return r2;
}
function dh(e2) {
  return ch(e2.map(function(e3) {
    return hh(e3);
  }));
}
function ph(e2) {
  var t2 = 0, r2 = 127 & e2[t2];
  return e2[t2++] < 128 ? r2 : (r2 |= (127 & e2[t2]) << 7, e2[t2++] < 128 ? r2 : (r2 |= (127 & e2[t2]) << 14, e2[t2++] < 128 ? r2 : (r2 |= (127 & e2[t2]) << 21, e2[t2++] < 128 ? r2 : r2 |= (15 & e2[t2]) << 28)));
}
function mh(e2) {
  for (var t2 = [], r2 = { l: 0 }; r2.l < e2.length; ) {
    var a2, n2 = r2.l, s2 = fh(e2, r2), i2 = 7 & s2;
    s2 = s2 / 8 | 0;
    var o2 = r2.l;
    switch (i2) {
      case 0:
        for (; e2[o2++] >= 128; ) ;
        a2 = e2[nh](r2.l, o2), r2.l = o2;
        break;
      case 1:
        a2 = e2[nh](o2, o2 + 8), r2.l = o2 + 8;
        break;
      case 2:
        var c2 = fh(e2, r2);
        a2 = e2[nh](r2.l, r2.l + c2), r2.l += c2;
        break;
      case 5:
        a2 = e2[nh](o2, o2 + 4), r2.l = o2 + 4;
        break;
      default:
        throw new Error("PB Type ".concat(i2, " for Field ").concat(s2, " at offset ").concat(n2));
    }
    var l2 = { data: a2, type: i2 };
    null == t2[s2] && (t2[s2] = []), t2[s2].push(l2);
  }
  return t2;
}
function vh(e2) {
  var t2 = [];
  return e2.forEach(function(e3, r2) {
    0 != r2 && e3.forEach(function(e4) {
      e4.data && (t2.push(hh(8 * r2 + e4.type)), 2 == e4.type && t2.push(hh(e4.data.length)), t2.push(e4.data));
    });
  }), ch(t2);
}
function gh(e2, t2) {
  return (null == e2 ? void 0 : e2.map(function(e3) {
    return t2(e3.data);
  })) || [];
}
function bh(e2) {
  for (var t2, r2 = [], a2 = { l: 0 }; a2.l < e2.length; ) {
    var n2 = fh(e2, a2), s2 = mh(e2[nh](a2.l, a2.l + n2));
    a2.l += n2;
    var i2 = { id: ph(s2[1][0].data), messages: [] };
    s2[2].forEach(function(t3) {
      var r3 = mh(t3.data), n3 = ph(r3[3][0].data);
      i2.messages.push({ meta: r3, data: e2[nh](a2.l, a2.l + n3) }), a2.l += n3;
    }), (null == (t2 = s2[3]) ? void 0 : t2[0]) && (i2.merge = ph(s2[3][0].data) >>> 0 > 0), r2.push(i2);
  }
  return r2;
}
function wh(e2) {
  var t2 = [];
  return e2.forEach(function(e3) {
    var r2 = [[], [{ data: hh(e3.id), type: 0 }], []];
    null != e3.merge && (r2[3] = [{ data: hh(+!!e3.merge), type: 0 }]);
    var a2 = [];
    e3.messages.forEach(function(e4) {
      a2.push(e4.data), e4.meta[3] = [{ type: 0, data: hh(e4.data.length) }], r2[2].push({ data: vh(e4.meta), type: 2 });
    });
    var n2 = vh(r2);
    t2.push(hh(n2.length)), t2.push(n2), a2.forEach(function(e4) {
      return t2.push(e4);
    });
  }), ch(t2);
}
function Th(e2, t2) {
  if (0 != e2) throw new Error("Unexpected Snappy chunk type ".concat(e2));
  for (var r2 = { l: 0 }, a2 = fh(t2, r2), n2 = [], s2 = r2.l; s2 < t2.length; ) {
    var i2 = 3 & t2[s2];
    if (0 != i2) {
      var o2 = 0, c2 = 0;
      if (1 == i2 ? (c2 = 4 + (t2[s2] >> 2 & 7), o2 = (224 & t2[s2++]) << 3, o2 |= t2[s2++]) : (c2 = 1 + (t2[s2++] >> 2), 2 == i2 ? (o2 = t2[s2] | t2[s2 + 1] << 8, s2 += 2) : (o2 = (t2[s2] | t2[s2 + 1] << 8 | t2[s2 + 2] << 16 | t2[s2 + 3] << 24) >>> 0, s2 += 4)), 0 == o2) throw new Error("Invalid offset 0");
      for (var l2 = n2.length - 1, f2 = o2; l2 >= 0 && f2 >= n2[l2].length; ) f2 -= n2[l2].length, --l2;
      if (l2 < 0) {
        if (0 != f2) throw new Error("Invalid offset beyond length");
        f2 = n2[l2 = 0].length;
      }
      if (c2 < f2) n2.push(n2[l2][nh](n2[l2].length - f2, n2[l2].length - f2 + c2));
      else {
        for (f2 > 0 && (n2.push(n2[l2][nh](n2[l2].length - f2)), c2 -= f2), ++l2; c2 >= n2[l2].length; ) n2.push(n2[l2]), c2 -= n2[l2].length, ++l2;
        c2 && n2.push(n2[l2][nh](0, c2));
      }
      n2.length > 25 && (n2 = [ch(n2)]);
    } else {
      var h2 = t2[s2++] >> 2;
      if (h2 < 60) ++h2;
      else {
        var u2 = h2 - 59;
        h2 = t2[s2], u2 > 1 && (h2 |= t2[s2 + 1] << 8), u2 > 2 && (h2 |= t2[s2 + 2] << 16), u2 > 3 && (h2 |= t2[s2 + 3] << 24), h2 >>>= 0, h2++, s2 += u2;
      }
      n2.push(t2[nh](s2, s2 + h2)), s2 += h2;
    }
  }
  for (var d2 = 0, p2 = 0; p2 < n2.length; ++p2) d2 += n2[p2].length;
  if (d2 != a2) throw new Error("Unexpected length: ".concat(d2, " != ").concat(a2));
  return n2;
}
function yh(e2) {
  Array.isArray(e2) && (e2 = new Uint8Array(e2));
  for (var t2 = [], r2 = 0; r2 < e2.length; ) {
    var a2 = e2[r2++], n2 = e2[r2] | e2[r2 + 1] << 8 | e2[r2 + 2] << 16;
    r2 += 3, t2.push.apply(t2, Th(a2, e2[nh](r2, r2 + n2))), r2 += n2;
  }
  if (r2 !== e2.length) throw new Error("data is not a valid framed stream!");
  return 1 == t2.length ? t2[0] : ch(t2);
}
function Eh(e2) {
  for (var t2 = [], r2 = 0; r2 < e2.length; ) {
    var a2 = Math.min(e2.length - r2, 268435455), n2 = new Uint8Array(4);
    t2.push(n2);
    var s2 = hh(a2), i2 = s2.length;
    t2.push(s2), a2 <= 60 ? (i2++, t2.push(new Uint8Array([a2 - 1 << 2]))) : a2 <= 256 ? (i2 += 2, t2.push(new Uint8Array([240, a2 - 1 & 255]))) : a2 <= 65536 ? (i2 += 3, t2.push(new Uint8Array([244, a2 - 1 & 255, a2 - 1 >> 8 & 255]))) : a2 <= 16777216 ? (i2 += 4, t2.push(new Uint8Array([248, a2 - 1 & 255, a2 - 1 >> 8 & 255, a2 - 1 >> 16 & 255]))) : a2 <= 4294967296 && (i2 += 5, t2.push(new Uint8Array([252, a2 - 1 & 255, a2 - 1 >> 8 & 255, a2 - 1 >> 16 & 255, a2 - 1 >>> 24 & 255]))), t2.push(e2[nh](r2, r2 + a2)), i2 += a2, n2[0] = 0, n2[1] = 255 & i2, n2[2] = i2 >> 8 & 255, n2[3] = i2 >> 16 & 255, r2 += a2;
  }
  return ch(t2);
}
function kh(e2, t2, r2, a2, n2) {
  var s2, i2, o2, c2, l2 = 255 & t2, f2 = t2 >> 8, h2 = f2 >= 5 ? n2 : a2;
  e: if (r2 & (f2 > 4 ? 8 : 4) && "n" == e2.t && 7 == l2) {
    var u2 = (null == (s2 = h2[7]) ? void 0 : s2[0]) ? ph(h2[7][0].data) : -1;
    if (-1 == u2) break e;
    var d2 = (null == (i2 = h2[15]) ? void 0 : i2[0]) ? ph(h2[15][0].data) : -1, p2 = (null == (o2 = h2[16]) ? void 0 : o2[0]) ? ph(h2[16][0].data) : -1, m2 = (null == (c2 = h2[40]) ? void 0 : c2[0]) ? ph(h2[40][0].data) : -1, v2 = e2.v, g2 = v2;
    t: if (m2) {
      if (0 == v2) {
        d2 = p2 = 2;
        break t;
      }
      d2 = v2 >= 604800 ? 1 : v2 >= 86400 ? 2 : v2 >= 3600 ? 4 : v2 >= 60 ? 8 : v2 >= 1 ? 16 : 32, Math.floor(v2) != v2 ? p2 = 32 : v2 % 60 ? p2 = 16 : v2 % 3600 ? p2 = 8 : v2 % 86400 ? p2 = 4 : v2 % 604800 && (p2 = 2), p2 < d2 && (p2 = d2);
    }
    if (-1 == d2 || -1 == p2) break e;
    var b2 = [], w2 = [];
    1 == d2 && (g2 = v2 / 604800, 1 == p2 ? w2.push('d"d"') : v2 -= 604800 * (g2 |= 0), b2.push(g2 + (2 == u2 ? " week" + (1 == g2 ? "" : "s") : 1 == u2 ? "w" : ""))), d2 <= 2 && p2 >= 2 && (g2 = v2 / 86400, p2 > 2 && (v2 -= 86400 * (g2 |= 0)), w2.push('d"d"'), b2.push(g2 + (2 == u2 ? " day" + (1 == g2 ? "" : "s") : 1 == u2 ? "d" : ""))), d2 <= 4 && p2 >= 4 && (g2 = v2 / 3600, p2 > 4 && (v2 -= 3600 * (g2 |= 0)), w2.push((d2 >= 4 ? "[h]" : "h") + '"h"'), b2.push(g2 + (2 == u2 ? " hour" + (1 == g2 ? "" : "s") : 1 == u2 ? "h" : ""))), d2 <= 8 && p2 >= 8 && (g2 = v2 / 60, p2 > 8 && (v2 -= 60 * (g2 |= 0)), w2.push((d2 >= 8 ? "[m]" : "m") + '"m"'), 0 == u2 ? b2.push((8 == d2 && 8 == p2 || g2 >= 10 ? "" : "0") + g2) : b2.push(g2 + (2 == u2 ? " minute" + (1 == g2 ? "" : "s") : 1 == u2 ? "m" : ""))), d2 <= 16 && p2 >= 16 && (g2 = v2, p2 > 16 && (v2 -= g2 |= 0), w2.push((d2 >= 16 ? "[s]" : "s") + '"s"'), 0 == u2 ? b2.push((16 == p2 && 16 == d2 || g2 >= 10 ? "" : "0") + g2) : b2.push(g2 + (2 == u2 ? " second" + (1 == g2 ? "" : "s") : 1 == u2 ? "s" : ""))), p2 >= 32 && (g2 = Math.round(1e3 * v2), d2 < 32 && w2.push('.000"ms"'), 0 == u2 ? b2.push((g2 >= 100 ? "" : g2 >= 10 ? "0" : "00") + g2) : b2.push(g2 + (2 == u2 ? " millisecond" + (1 == g2 ? "" : "s") : 1 == u2 ? "ms" : ""))), e2.w = b2.join(0 == u2 ? ":" : " "), e2.z = w2.join(0 == u2 ? '":"' : " "), 0 == u2 && (e2.w = e2.w.replace(/:(\d\d\d)$/, ".$1"));
  }
}
function _h(e2, t2, r2) {
  var a2 = sh(e2);
  a2.getUint32(4, true);
  var n2, s2 = a2.getUint32(8, true), i2 = 12, o2 = -1, c2 = -1, l2 = -1, f2 = NaN, h2 = NaN, u2 = 0, d2 = new Date(Date.UTC(2001, 0, 1));
  1 & s2 && (f2 = function(e3, t3) {
    for (var r3 = (127 & e3[t3 + 15]) << 7 | e3[t3 + 14] >> 1, a3 = 1 & e3[t3 + 14], n3 = t3 + 13; n3 >= t3; --n3) a3 = 256 * a3 + e3[n3];
    return (128 & e3[t3 + 15] ? -a3 : a3) * Math.pow(10, r3 - 6176);
  }(e2, i2), i2 += 16), 2 & s2 && (h2 = a2.getFloat64(i2, true), i2 += 8), 4 & s2 && (d2.setTime(d2.getTime() + 1e3 * (u2 = a2.getFloat64(i2, true))), i2 += 8), 8 & s2 && (c2 = a2.getUint32(i2, true), i2 += 4), 16 & s2 && (o2 = a2.getUint32(i2, true), i2 += 4), i2 += 4 * lh(480 & s2), 512 & s2 && (a2.getUint32(i2, true), i2 += 4), i2 += 4 * lh(1024 & s2), 2048 & s2 && (a2.getUint32(i2, true), i2 += 4);
  var p2 = e2[1];
  switch (p2) {
    case 0:
      n2 = { t: "z" };
      break;
    case 2:
    case 10:
      n2 = { t: "n", v: f2 };
      break;
    case 3:
      n2 = { t: "s", v: t2.sst[c2] };
      break;
    case 5:
      n2 = (null == r2 ? void 0 : r2.cellDates) ? { t: "d", v: d2 } : { t: "n", v: u2 / 86400 + 35430, z: W[14] };
      break;
    case 6:
      n2 = { t: "b", v: h2 > 0 };
      break;
    case 7:
      n2 = { t: "n", v: h2 };
      break;
    case 8:
      n2 = { t: "e", v: 0 };
      break;
    case 9:
      if (!(o2 > -1)) throw new Error("Unsupported cell type ".concat(e2[1], " : ").concat(31 & s2, " : ").concat(e2[nh](0, 4)));
      var m2 = t2.rsst[o2];
      n2 = { t: "s", v: m2.v }, m2.l && (n2.l = { Target: m2.l });
      break;
    default:
      throw new Error("Unsupported cell type ".concat(e2[1], " : ").concat(31 & s2, " : ").concat(e2[nh](0, 4)));
  }
  if (i2 += 4 * lh(4096 & s2), 516096 & s2 && (-1 == l2 && (l2 = a2.getUint32(i2, true)), i2 += 4), 524288 & s2) {
    var v2 = a2.getUint32(i2, true);
    i2 += 4, t2.cmnt[v2] && (n2.c = function(e3) {
      var t3 = [];
      t3.push({ t: e3.t || "", a: e3.a, T: e3.replies && e3.replies.length > 0 }), e3.replies && e3.replies.forEach(function(e4) {
        t3.push({ t: e4.t || "", a: e4.a, T: true });
      });
      return t3;
    }(t2.cmnt[v2]));
  }
  return l2 > -1 && kh(n2, 1280 | p2, s2 >> 13, t2.ofmt[l2], t2.nfmt[l2]), 7 == p2 && (n2.v /= 86400), n2;
}
function Sh(e2, t2) {
  var r2 = new Uint8Array(32), a2 = sh(r2), n2 = 12, s2 = 0;
  switch (r2[0] = 5, e2.t) {
    case "n":
      if (e2.z && he(e2.z)) {
        r2[1] = 5, a2.setFloat64(n2, (Ue(e2.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true), s2 |= 4, n2 += 8;
        break;
      }
      r2[1] = 2, function(e3, t3, r3) {
        var a3 = Math.floor(0 == r3 ? 0 : Math.LOG10E * Math.log(Math.abs(r3))) + 6176 - 16, n3 = r3 / Math.pow(10, a3 - 6176);
        e3[t3 + 15] |= a3 >> 7, e3[t3 + 14] |= (127 & a3) << 1;
        for (var s3 = 0; n3 >= 1; ++s3, n3 /= 256) e3[t3 + s3] = 255 & n3;
        e3[t3 + 15] |= r3 >= 0 ? 0 : 128;
      }(r2, n2, e2.v), s2 |= 1, n2 += 16;
      break;
    case "b":
      r2[1] = 6, a2.setFloat64(n2, e2.v ? 1 : 0, true), s2 |= 2, n2 += 8;
      break;
    case "s":
      var i2 = null == e2.v ? "" : String(e2.v);
      if (e2.l) {
        var o2 = t2.rsst.findIndex(function(t3) {
          var r3;
          return t3.v == i2 && t3.l == (null == (r3 = e2.l) ? void 0 : r3.Target);
        });
        -1 == o2 && (t2.rsst[o2 = t2.rsst.length] = { v: i2, l: e2.l.Target }), r2[1] = 9, a2.setUint32(n2, o2, true), s2 |= 16, n2 += 4;
      } else {
        var c2 = t2.sst.indexOf(i2);
        -1 == c2 && (t2.sst[c2 = t2.sst.length] = i2), r2[1] = 3, a2.setUint32(n2, c2, true), s2 |= 8, n2 += 4;
      }
      break;
    case "d":
      r2[1] = 5, a2.setFloat64(n2, (e2.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true), s2 |= 4, n2 += 8;
      break;
    case "z":
      r2[1] = 0;
      break;
    default:
      throw "unsupported cell type " + e2.t;
  }
  return e2.c && (t2.cmnt.push(function(e3) {
    for (var t3 = { a: "", t: "", replies: [] }, r3 = 0; r3 < e3.length; ++r3) 0 == r3 ? (t3.a = e3[r3].a, t3.t = e3[r3].t) : t3.replies.push({ a: e3[r3].a, t: e3[r3].t });
    return t3;
  }(e2.c)), a2.setUint32(n2, t2.cmnt.length - 1, true), s2 |= 524288, n2 += 4), a2.setUint32(8, s2, true), r2[nh](0, n2);
}
function xh(e2, t2) {
  var r2 = new Uint8Array(32), a2 = sh(r2), n2 = 12, s2 = 0, i2 = "";
  switch (r2[0] = 4, e2.t) {
    case "n":
    case "b":
    case "d":
    case "e":
    case "z":
      break;
    case "s":
      if (i2 = null == e2.v ? "" : String(e2.v), e2.l) {
        var o2 = t2.rsst.findIndex(function(t3) {
          var r3;
          return t3.v == i2 && t3.l == (null == (r3 = e2.l) ? void 0 : r3.Target);
        });
        -1 == o2 && (t2.rsst[o2 = t2.rsst.length] = { v: i2, l: e2.l.Target }), r2[1] = 9, a2.setUint32(n2, o2, true), s2 |= 512, n2 += 4;
      }
      break;
    default:
      throw "unsupported cell type " + e2.t;
  }
  switch (e2.c && (a2.setUint32(n2, t2.cmnt.length - 1, true), s2 |= 4096, n2 += 4), e2.t) {
    case "n":
      r2[1] = 2, a2.setFloat64(n2, e2.v, true), s2 |= 32, n2 += 8;
      break;
    case "b":
      r2[1] = 6, a2.setFloat64(n2, e2.v ? 1 : 0, true), s2 |= 32, n2 += 8;
      break;
    case "s":
      if (i2 = null == e2.v ? "" : String(e2.v), e2.l) ;
      else {
        var c2 = t2.sst.indexOf(i2);
        -1 == c2 && (t2.sst[c2 = t2.sst.length] = i2), r2[1] = 3, a2.setUint32(n2, c2, true), s2 |= 16, n2 += 4;
      }
      break;
    case "d":
      r2[1] = 5, a2.setFloat64(n2, (e2.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true), s2 |= 64, n2 += 8;
      break;
    case "z":
      r2[1] = 0;
      break;
    default:
      throw "unsupported cell type " + e2.t;
  }
  return a2.setUint32(8, s2, true), r2[nh](0, n2);
}
function Ah(e2, t2, r2) {
  switch (e2[0]) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return function(e3, t3, r3, a2) {
        var n2, s2 = sh(e3), i2 = s2.getUint32(4, true), o2 = -1, c2 = -1, l2 = -1, f2 = NaN, h2 = 0, u2 = new Date(Date.UTC(2001, 0, 1)), d2 = r3 > 1 ? 12 : 8;
        2 & i2 && (l2 = s2.getUint32(d2, true), d2 += 4), d2 += 4 * lh(i2 & (r3 > 1 ? 3468 : 396)), 512 & i2 && (o2 = s2.getUint32(d2, true), d2 += 4), d2 += 4 * lh(i2 & (r3 > 1 ? 12288 : 4096)), 16 & i2 && (c2 = s2.getUint32(d2, true), d2 += 4), 32 & i2 && (f2 = s2.getFloat64(d2, true), d2 += 8), 64 & i2 && (u2.setTime(u2.getTime() + 1e3 * (h2 = s2.getFloat64(d2, true))), d2 += 8), r3 > 1 && 255 & (i2 = s2.getUint32(8, true) >>> 16) && (-1 == l2 && (l2 = s2.getUint32(d2, true)), d2 += 4);
        var p2 = e3[r3 >= 4 ? 1 : 2];
        switch (p2) {
          case 0:
            return;
          case 2:
          case 7:
            n2 = { t: "n", v: f2 };
            break;
          case 3:
            n2 = { t: "s", v: t3.sst[c2] };
            break;
          case 5:
            n2 = (null == a2 ? void 0 : a2.cellDates) ? { t: "d", v: u2 } : { t: "n", v: h2 / 86400 + 35430, z: W[14] };
            break;
          case 6:
            n2 = { t: "b", v: f2 > 0 };
            break;
          case 8:
            n2 = { t: "e", v: 0 };
            break;
          case 9:
            if (!(o2 > -1)) throw new Error("Unsupported cell type ".concat(e3[nh](0, 4)));
            var m2 = t3.rsst[o2];
            n2 = { t: "s", v: m2.v }, m2.l && (n2.l = { Target: m2.l });
            break;
          default:
            throw new Error("Unsupported cell type ".concat(e3[nh](0, 4)));
        }
        return l2 > -1 && kh(n2, p2 | r3 << 8, i2, t3.ofmt[l2], t3.nfmt[l2]), 7 == p2 && (n2.v /= 86400), n2;
      }(e2, t2, e2[0], r2);
    case 5:
      return _h(e2, t2, r2);
    default:
      throw new Error("Unsupported payload version ".concat(e2[0]));
  }
}
function Ch(e2) {
  return ph(mh(e2)[1][0].data);
}
function Ih(e2) {
  return vh([[], [{ type: 0, data: hh(e2) }]]);
}
function Oh(e2, t2) {
  var r2, a2 = (null == (r2 = e2.messages[0].meta[5]) ? void 0 : r2[0]) ? uh(e2.messages[0].meta[5][0].data) : [];
  -1 == a2.indexOf(t2) && (a2.push(t2), e2.messages[0].meta[5] = [{ type: 2, data: dh(a2) }]);
}
function Rh(e2, t2) {
  var r2, a2 = (null == (r2 = e2.messages[0].meta[5]) ? void 0 : r2[0]) ? uh(e2.messages[0].meta[5][0].data) : [];
  e2.messages[0].meta[5] = [{ type: 2, data: dh(a2.filter(function(e3) {
    return e3 != t2;
  })) }];
}
function Nh(e2, t2) {
  var r2 = mh(t2.data), a2 = ph(r2[1][0].data), n2 = r2[3], s2 = [];
  return (n2 || []).forEach(function(t3) {
    var r3, n3, i2 = mh(t3.data);
    if (i2[1]) {
      var o2 = ph(i2[1][0].data) >>> 0;
      switch (a2) {
        case 1:
          s2[o2] = ih(i2[3][0].data);
          break;
        case 8:
          var c2 = mh(e2[Ch(i2[9][0].data)][0].data), l2 = e2[Ch(c2[1][0].data)][0], f2 = ph(l2.meta[1][0].data);
          if (2001 != f2) throw new Error("2000 unexpected reference to ".concat(f2));
          var h2 = mh(l2.data), u2 = { v: h2[3].map(function(e3) {
            return ih(e3.data);
          }).join("") };
          s2[o2] = u2;
          e: if (null == (r3 = null == h2 ? void 0 : h2[11]) ? void 0 : r3[0]) {
            var d2 = null == (n3 = mh(h2[11][0].data)) ? void 0 : n3[1];
            if (!d2) break e;
            d2.forEach(function(t4) {
              var r4, a3, n4, s3 = mh(t4.data);
              if (null == (r4 = s3[2]) ? void 0 : r4[0]) {
                var i3 = e2[Ch(null == (a3 = s3[2]) ? void 0 : a3[0].data)][0], o3 = ph(i3.meta[1][0].data);
                switch (o3) {
                  case 2032:
                    var c3 = mh(i3.data);
                    (null == (n4 = null == c3 ? void 0 : c3[2]) ? void 0 : n4[0]) && !u2.l && (u2.l = ih(c3[2][0].data));
                    break;
                  case 2039:
                    break;
                  default:
                    console.log("unrecognized ObjectAttribute type ".concat(o3));
                }
              }
            });
          }
          break;
        case 2:
          s2[o2] = mh(i2[6][0].data);
          break;
        case 3:
          s2[o2] = mh(i2[5][0].data);
          break;
        case 10:
          var p2 = e2[Ch(i2[10][0].data)][0];
          s2[o2] = Dh(e2, p2.data);
          break;
        default:
          throw a2;
      }
    }
  }), s2;
}
function Fh(e2, t2) {
  var r2, a2 = mh(t2.data), n2 = -1;
  (null == (r2 = null == a2 ? void 0 : a2[7]) ? void 0 : r2[0]) && (n2 = ph(a2[7][0].data) >>> 0 ? 1 : 0);
  var s2 = gh(a2[5], function(e3) {
    return function(e4, t3) {
      var r3, a3, n3, s3, i2, o2, c2, l2, f2, h2, u2, d2, p2, m2, v2, g2, b2 = mh(e4), w2 = ph(b2[1][0].data) >>> 0, T2 = ph(b2[2][0].data) >>> 0, y2 = (null == (a3 = null == (r3 = b2[8]) ? void 0 : r3[0]) ? void 0 : a3.data) && ph(b2[8][0].data) > 0 || false;
      if ((null == (s3 = null == (n3 = b2[7]) ? void 0 : n3[0]) ? void 0 : s3.data) && 0 != t3) v2 = null == (o2 = null == (i2 = b2[7]) ? void 0 : i2[0]) ? void 0 : o2.data, g2 = null == (l2 = null == (c2 = b2[6]) ? void 0 : c2[0]) ? void 0 : l2.data;
      else {
        if (!(null == (h2 = null == (f2 = b2[4]) ? void 0 : f2[0]) ? void 0 : h2.data) || 1 == t3) throw "NUMBERS Tile missing ".concat(t3, " cell storage");
        v2 = null == (d2 = null == (u2 = b2[4]) ? void 0 : u2[0]) ? void 0 : d2.data, g2 = null == (m2 = null == (p2 = b2[3]) ? void 0 : p2[0]) ? void 0 : m2.data;
      }
      for (var E2 = y2 ? 4 : 1, k2 = sh(v2), _2 = [], S2 = 0; S2 < v2.length / 2; ++S2) {
        var x2 = k2.getUint16(2 * S2, true);
        x2 < 65535 && _2.push([S2, x2]);
      }
      if (_2.length != T2) throw "Expected ".concat(T2, " cells, found ").concat(_2.length);
      var A2 = [];
      for (S2 = 0; S2 < _2.length - 1; ++S2) A2[_2[S2][0]] = g2[nh](_2[S2][1] * E2, _2[S2 + 1][1] * E2);
      return _2.length >= 1 && (A2[_2[_2.length - 1][0]] = g2[nh](_2[_2.length - 1][1] * E2)), { R: w2, cells: A2 };
    }(e3, n2);
  });
  return { nrows: ph(a2[4][0].data) >>> 0, data: s2.reduce(function(e3, t3) {
    return e3[t3.R] || (e3[t3.R] = []), t3.cells.forEach(function(r3, a3) {
      if (e3[t3.R][a3]) throw new Error("Duplicate cell r=".concat(t3.R, " c=").concat(a3));
      e3[t3.R][a3] = r3;
    }), e3;
  }, []) };
}
function Dh(e2, t2) {
  var r2, a2, n2, s2, i2, o2, c2, l2, f2, h2, u2 = { t: "", a: "" }, d2 = mh(t2);
  if ((null == (a2 = null == (r2 = null == d2 ? void 0 : d2[1]) ? void 0 : r2[0]) ? void 0 : a2.data) && (u2.t = ih(null == (s2 = null == (n2 = null == d2 ? void 0 : d2[1]) ? void 0 : n2[0]) ? void 0 : s2.data) || ""), null == (o2 = null == (i2 = null == d2 ? void 0 : d2[3]) ? void 0 : i2[0]) ? void 0 : o2.data) {
    var p2 = mh(e2[Ch(null == (l2 = null == (c2 = null == d2 ? void 0 : d2[3]) ? void 0 : c2[0]) ? void 0 : l2.data)][0].data);
    (null == (h2 = null == (f2 = p2[1]) ? void 0 : f2[0]) ? void 0 : h2.data) && (u2.a = ih(p2[1][0].data));
  }
  return (null == d2 ? void 0 : d2[4]) && (u2.replies = [], d2[4].forEach(function(t3) {
    var r3 = e2[Ch(t3.data)][0];
    u2.replies.push(Dh(e2, r3.data));
  })), u2;
}
function Ph(e2, t2, r2) {
  var a2 = mh(t2.data), n2 = { "!ref": "A1" };
  (null == r2 ? void 0 : r2.dense) && (n2["!data"] = []);
  var s2 = e2[Ch(a2[2][0].data)], i2 = ph(s2[0].meta[1][0].data);
  if (6001 != i2) throw new Error("6000 unexpected reference to ".concat(i2));
  return function(e3, t3, r3, a3) {
    var n3, s3, i3, o2, c2, l2, f2, h2, u2, d2, p2, m2, v2, g2, b2 = mh(t3.data), w2 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
    if (w2.e.r = (ph(b2[6][0].data) >>> 0) - 1, w2.e.r < 0) throw new Error("Invalid row varint ".concat(b2[6][0].data));
    if (w2.e.c = (ph(b2[7][0].data) >>> 0) - 1, w2.e.c < 0) throw new Error("Invalid col varint ".concat(b2[7][0].data));
    r3["!ref"] = _a(w2);
    var T2 = null != r3["!data"], y2 = r3, E2 = mh(b2[4][0].data), k2 = { sst: [], rsst: [], ofmt: [], nfmt: [], fmla: [], ferr: [], cmnt: [] };
    (null == (n3 = E2[4]) ? void 0 : n3[0]) && (k2.sst = Nh(e3, e3[Ch(E2[4][0].data)][0])), (null == (s3 = E2[6]) ? void 0 : s3[0]) && (k2.fmla = Nh(e3, e3[Ch(E2[6][0].data)][0])), (null == (i3 = E2[11]) ? void 0 : i3[0]) && (k2.ofmt = Nh(e3, e3[Ch(E2[11][0].data)][0])), (null == (o2 = E2[12]) ? void 0 : o2[0]) && (k2.ferr = Nh(e3, e3[Ch(E2[12][0].data)][0])), (null == (c2 = E2[17]) ? void 0 : c2[0]) && (k2.rsst = Nh(e3, e3[Ch(E2[17][0].data)][0])), (null == (l2 = E2[19]) ? void 0 : l2[0]) && (k2.cmnt = Nh(e3, e3[Ch(E2[19][0].data)][0])), (null == (f2 = E2[22]) ? void 0 : f2[0]) && (k2.nfmt = Nh(e3, e3[Ch(E2[22][0].data)][0]));
    var _2 = mh(E2[3][0].data), S2 = 0;
    if (!(null == (h2 = E2[9]) ? void 0 : h2[0])) throw "NUMBERS file missing row tree";
    if (mh(E2[9][0].data)[1].map(function(e4) {
      return mh(e4.data);
    }).forEach(function(t4) {
      S2 = ph(t4[1][0].data);
      var n4 = ph(t4[2][0].data), s4 = _2[1][n4];
      if (!s4) throw "NUMBERS missing tile " + n4;
      var i4 = mh(s4.data), o3 = e3[Ch(i4[2][0].data)][0], c3 = ph(o3.meta[1][0].data);
      if (6002 != c3) throw new Error("6001 unexpected reference to ".concat(c3));
      var l3 = Fh(0, o3);
      l3.data.forEach(function(e4, t5) {
        e4.forEach(function(e5, n5) {
          var s5 = Ah(e5, k2, a3);
          s5 && (T2 ? (y2["!data"][S2 + t5] || (y2["!data"][S2 + t5] = []), y2["!data"][S2 + t5][n5] = s5) : r3[Ta(n5) + ba(S2 + t5)] = s5);
        });
      }), S2 += l3.nrows;
    }), null == (u2 = E2[13]) ? void 0 : u2[0]) {
      var x2 = e3[Ch(E2[13][0].data)][0], A2 = ph(x2.meta[1][0].data);
      if (6144 != A2) throw new Error("Expected merge type 6144, found ".concat(A2));
      r3["!merges"] = null == (d2 = mh(x2.data)) ? void 0 : d2[1].map(function(e4) {
        var t4 = mh(e4.data), r4 = sh(mh(t4[1][0].data)[1][0].data), a4 = sh(mh(t4[2][0].data)[1][0].data);
        return { s: { r: r4.getUint16(0, true), c: r4.getUint16(2, true) }, e: { r: r4.getUint16(0, true) + a4.getUint16(0, true) - 1, c: r4.getUint16(2, true) + a4.getUint16(2, true) - 1 } };
      });
    }
    if (!(null == (p2 = r3["!merges"]) ? void 0 : p2.length) && (null == (m2 = b2[47]) ? void 0 : m2[0])) {
      var C2 = mh(b2[47][0].data);
      if (null == (v2 = C2[2]) ? void 0 : v2[0]) {
        var I2 = mh(C2[2][0].data);
        (null == (g2 = I2[3]) ? void 0 : g2[0]) && (r3["!merges"] = gh(I2[3], function(e4) {
          var t4, r4, a4, n4, s4, i4 = mh(e4), o3 = mh(i4[2][0].data), c3 = mh(o3[1][0].data);
          if (null == (t4 = c3[1]) ? void 0 : t4[0]) {
            var l3 = mh(c3[1][0].data);
            if (67 == ph(l3[1][0].data)) {
              var f3 = mh(l3[40][0].data);
              if ((null == (r4 = f3[3]) ? void 0 : r4[0]) && (null == (a4 = f3[4]) ? void 0 : a4[0])) {
                var h3 = mh(f3[3][0].data), u3 = mh(f3[4][0].data), d3 = ph(h3[1][0].data), p3 = (null == (n4 = h3[2]) ? void 0 : n4[0]) ? ph(h3[2][0].data) : d3, m3 = ph(u3[1][0].data);
                return { s: { r: m3, c: d3 }, e: { r: (null == (s4 = u3[2]) ? void 0 : s4[0]) ? ph(u3[2][0].data) : m3, c: p3 } };
              }
            }
          }
        }).filter(function(e4) {
          return null != e4;
        }));
      }
    }
  }(e2, s2[0], n2, r2), n2;
}
function Mh(e2, t2, r2) {
  var a2, n2 = Ou();
  n2.Workbook = { WBProps: { date1904: true } };
  var s2 = mh(t2.data);
  if (null == (a2 = s2[2]) ? void 0 : a2[0]) throw new Error("Keynote presentations are not supported");
  if (gh(s2[1], Ch).forEach(function(t3) {
    e2[t3].forEach(function(t4) {
      if (2 == ph(t4.meta[1][0].data)) {
        var a3 = function(e3, t5, r3) {
          var a4, n3 = mh(t5.data), s3 = { name: (null == (a4 = n3[1]) ? void 0 : a4[0]) ? ih(n3[1][0].data) : "", sheets: [] };
          return gh(n3[2], Ch).forEach(function(t6) {
            e3[t6].forEach(function(t7) {
              6e3 == ph(t7.meta[1][0].data) && s3.sheets.push(Ph(e3, t7, r3));
            });
          }), s3;
        }(e2, t4, r2);
        a3.sheets.forEach(function(e3, t5) {
          Ru(n2, e3, 0 == t5 ? a3.name : a3.name + "_" + t5, true);
        });
      }
    });
  }), 0 == n2.SheetNames.length) throw new Error("Empty NUMBERS file");
  return n2.bookType = "numbers", n2;
}
function Lh(e2, t2) {
  var r2, a2, n2, s2, i2, o2, c2, l2 = {}, f2 = [];
  if (e2.FullPaths.forEach(function(e3) {
    if (e3.match(/\.iwpv2/)) throw new Error("Unsupported password protection");
  }), e2.FileIndex.forEach(function(e3) {
    if (e3.name.match(/\.iwa$/) && 0 == e3.content[0]) {
      var t3, r3;
      try {
        t3 = yh(e3.content);
      } catch (t4) {
        return console.log("?? " + e3.content.length + " " + (t4.message || t4));
      }
      try {
        r3 = bh(t3);
      } catch (e4) {
        return console.log("## " + (e4.message || e4));
      }
      r3.forEach(function(e4) {
        l2[e4.id] = e4.messages, f2.push(e4.id);
      });
    }
  }), !f2.length) throw new Error("File has no messages");
  if ((null == (n2 = null == (a2 = null == (r2 = null == l2 ? void 0 : l2[1]) ? void 0 : r2[0].meta) ? void 0 : a2[1]) ? void 0 : n2[0].data) && 1e4 == ph(l2[1][0].meta[1][0].data)) throw new Error("Pages documents are not supported");
  var h2 = (null == (c2 = null == (o2 = null == (i2 = null == (s2 = null == l2 ? void 0 : l2[1]) ? void 0 : s2[0]) ? void 0 : i2.meta) ? void 0 : o2[1]) ? void 0 : c2[0].data) && 1 == ph(l2[1][0].meta[1][0].data) && l2[1][0];
  if (h2 || f2.forEach(function(e3) {
    l2[e3].forEach(function(e4) {
      if (1 == ph(e4.meta[1][0].data) >>> 0) {
        if (h2) throw new Error("Document has multiple roots");
        h2 = e4;
      }
    });
  }), !h2) throw new Error("Cannot find Document root");
  return Mh(l2, h2, t2);
}
function Uh(e2, t2, r2) {
  var a2, n2, s2, i2 = [[], [{ type: 0, data: hh(0) }], [{ type: 0, data: hh(0) }], [{ type: 2, data: new Uint8Array([]) }], [{ type: 2, data: new Uint8Array(Array.from({ length: 510 }, function() {
    return 255;
  })) }], [{ type: 0, data: hh(5) }], [{ type: 2, data: new Uint8Array([]) }], [{ type: 2, data: new Uint8Array(Array.from({ length: 510 }, function() {
    return 255;
  })) }], [{ type: 0, data: hh(1) }]];
  if (!(null == (a2 = i2[6]) ? void 0 : a2[0]) || !(null == (n2 = i2[7]) ? void 0 : n2[0])) throw "Mutation only works on post-BNC storages!";
  var o2 = 0;
  if (i2[7][0].data.length < 2 * e2.length) {
    var c2 = new Uint8Array(2 * e2.length);
    c2.set(i2[7][0].data), i2[7][0].data = c2;
  }
  if (i2[4][0].data.length < 2 * e2.length) {
    var l2 = new Uint8Array(2 * e2.length);
    l2.set(i2[4][0].data), i2[4][0].data = l2;
  }
  for (var f2 = sh(i2[7][0].data), h2 = 0, u2 = [], d2 = sh(i2[4][0].data), p2 = 0, m2 = [], v2 = 0; v2 < e2.length; ++v2) if (null == e2[v2] || "z" == e2[v2].t && !(null == (s2 = e2[v2].c) ? void 0 : s2.length) || "e" == e2[v2].t) f2.setUint16(2 * v2, 65535, true), d2.setUint16(2 * v2, 65535);
  else {
    var g2, b2;
    switch (f2.setUint16(2 * v2, h2 / 4, true), d2.setUint16(2 * v2, p2 / 4, true), e2[v2].t) {
      case "d":
        if (e2[v2].v instanceof Date) {
          g2 = Sh(e2[v2], t2), b2 = xh(e2[v2], t2);
          break;
        }
        g2 = Sh(e2[v2], t2), b2 = xh(e2[v2], t2);
        break;
      case "s":
      case "n":
      case "b":
      case "z":
        g2 = Sh(e2[v2], t2), b2 = xh(e2[v2], t2);
        break;
      default:
        throw new Error("Unsupported value " + e2[v2]);
    }
    u2.push(g2), h2 += g2.length, m2.push(b2), p2 += b2.length, ++o2;
  }
  for (i2[2][0].data = hh(o2), i2[5][0].data = hh(5); v2 < i2[7][0].data.length / 2; ++v2) f2.setUint16(2 * v2, 65535, true), d2.setUint16(2 * v2, 65535, true);
  return i2[6][0].data = ch(u2), i2[3][0].data = ch(m2), i2[8] = [{ type: 0, data: hh(1) }], i2;
}
function Bh(e2, t2) {
  return { meta: [[], [{ type: 0, data: hh(e2) }]], data: t2 };
}
function Wh(e2, t2) {
  t2.last || (t2.last = 927262);
  for (var r2 = t2.last; r2 < 2e6; ++r2) if (!t2[r2]) return t2[t2.last = r2] = e2, r2;
  throw new Error("Too many messages");
}
function zh(e2, t2, r2) {
  return vh([[], [{ type: 0, data: hh(1) }], [], [{ type: 5, data: new Uint8Array(Float32Array.from([e2 / 255]).buffer) }], [{ type: 5, data: new Uint8Array(Float32Array.from([t2 / 255]).buffer) }], [{ type: 5, data: new Uint8Array(Float32Array.from([r2 / 255]).buffer) }], [{ type: 5, data: new Uint8Array(Float32Array.from([1]).buffer) }], [], [], [], [], [], [{ type: 0, data: hh(1) }]]);
}
function Hh(e2) {
  switch (e2) {
    case 0:
      return zh(99, 222, 171);
    case 1:
      return zh(162, 197, 240);
    case 2:
      return zh(255, 189, 189);
  }
  return zh(255 * Math.random(), 255 * Math.random(), 255 * Math.random());
}
function Vh(e2, t2) {
  if (!t2 || !t2.numbers) throw new Error("Must pass a `numbers` option -- check the README");
  var r2 = xe.read(t2.numbers, { type: "base64" }), a2 = function(e3) {
    var t3 = {}, r3 = [];
    return e3.FileIndex.map(function(t4, r4) {
      return [t4, e3.FullPaths[r4]];
    }).forEach(function(e4) {
      var a3 = e4[0], n3 = e4[1];
      2 == a3.type && a3.name.match(/\.iwa/) && 0 == a3.content[0] && bh(yh(a3.content)).forEach(function(e5) {
        r3.push(e5.id), t3[e5.id] = { deps: [], location: n3, type: ph(e5.messages[0].meta[1][0].data) };
      });
    }), e3.FileIndex.forEach(function(e4) {
      e4.name.match(/\.iwa/) && 0 == e4.content[0] && bh(yh(e4.content)).forEach(function(e5) {
        e5.messages.forEach(function(r4) {
          [5, 6].forEach(function(a3) {
            r4.meta[a3] && r4.meta[a3].forEach(function(r5) {
              t3[e5.id].deps.push(ph(r5.data));
            });
          });
        });
      });
    }), t3;
  }(r2), n2 = Gh(r2, a2, 1);
  if (null == n2) throw "Could not find message ".concat(1, " in Numbers template");
  var s2 = gh(mh(n2.messages[0].data)[1], Ch);
  if (s2.length > 1) throw new Error("Template NUMBERS file must have exactly one sheet");
  return e2.SheetNames.forEach(function(t3, i2) {
    i2 >= 1 && (!function(e3, t4, r3) {
      var a3 = -1, n3 = -1, s3 = {};
      $h(e3, t4, 1, function(r4, i4) {
        var o3 = mh(r4.messages[0].data);
        a3 = Ch(mh(r4.messages[0].data)[1][0].data), n3 = Wh({ deps: [1], location: t4[a3].location, type: 2 }, t4), s3[a3] = n3, Oh(r4, n3), o3[1].push({ type: 2, data: Ih(n3) });
        var c2 = Gh(e3, t4, a3);
        c2.id = n3, t4[1].location == t4[n3].location ? i4.push(c2) : $h(e3, t4, n3, function(e4, t5) {
          return t5.push(c2);
        }), r4.messages[0].data = vh(o3);
      });
      var i3 = -1;
      $h(e3, t4, n3, function(r4, a4) {
        for (var o3 = mh(r4.messages[0].data), c2 = 3; c2 <= 69; ++c2) delete o3[c2];
        var l2 = gh(o3[2], Ch);
        l2.forEach(function(e4) {
          return Rh(r4, e4);
        }), i3 = Wh({ deps: [n3], location: t4[l2[0]].location, type: t4[l2[0]].type }, t4), Oh(r4, i3), s3[l2[0]] = i3, o3[2] = [{ type: 2, data: Ih(i3) }];
        var f2 = Gh(e3, t4, l2[0]);
        f2.id = i3, t4[l2[0]].location == t4[n3].location ? a4.push(f2) : ($h(e3, t4, 2, function(e4) {
          var r5 = mh(e4.messages[0].data);
          Kh(r5, t4, n3, i3), e4.messages[0].data = vh(r5);
        }), $h(e3, t4, i3, function(e4, t5) {
          return t5.push(f2);
        })), r4.messages[0].data = vh(o3);
      });
      var o2 = -1;
      $h(e3, t4, i3, function(r4, a4) {
        for (var n4 = mh(r4.messages[0].data), c2 = mh(n4[1][0].data), l2 = 3; l2 <= 69; ++l2) delete c2[l2];
        var f2 = Ch(c2[2][0].data);
        c2[2][0].data = Ih(s3[f2]), n4[1][0].data = vh(c2);
        var h2 = Ch(n4[2][0].data);
        Rh(r4, h2), Oh(r4, o2 = Wh({ deps: [i3], location: t4[h2].location, type: t4[h2].type }, t4)), s3[h2] = o2, n4[2][0].data = Ih(o2);
        var u2 = Gh(e3, t4, h2);
        u2.id = o2, t4[i3].location == t4[o2].location ? a4.push(u2) : $h(e3, t4, o2, function(e4, t5) {
          return t5.push(u2);
        }), r4.messages[0].data = vh(n4);
      }), $h(e3, t4, o2, function(a4, n4) {
        var i4, c2, l2 = mh(a4.messages[0].data), f2 = ih(l2[1][0].data).replace(/-[A-Z0-9]*/, "-".concat(("0000" + r3.toString(16)).slice(-4)));
        if (l2[1][0].data = oh(f2), [12, 13, 29, 31, 32, 33, 39, 44, 47, 81, 82, 84].forEach(function(e4) {
          return delete l2[e4];
        }), l2[45]) {
          var h2 = Ch(mh(l2[45][0].data)[1][0].data);
          Rh(a4, h2), delete l2[45];
        }
        l2[70] && (null == (i4 = mh(l2[70][0].data)[2]) || i4.forEach(function(e4) {
          var t5 = mh(e4.data);
          [2, 3].map(function(e5) {
            return t5[e5][0];
          }).forEach(function(e5) {
            var t6 = mh(e5.data);
            if (t6[8]) {
              var r4 = Ch(t6[8][0].data);
              Rh(a4, r4);
            }
          });
        }), delete l2[70]);
        [46, 30, 34, 35, 36, 38, 48, 49, 60, 61, 62, 63, 64, 71, 72, 73, 74, 75, 85, 86, 87, 88, 89].forEach(function(e4) {
          if (l2[e4]) {
            var t5 = Ch(l2[e4][0].data);
            delete l2[e4], Rh(a4, t5);
          }
        });
        var u2 = mh(l2[4][0].data);
        [2, 4, 5, 6, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22].forEach(function(r4) {
          var i5;
          if (null == (i5 = u2[r4]) ? void 0 : i5[0]) {
            var c3 = Ch(u2[r4][0].data), l3 = Wh({ deps: [o2], location: t4[c3].location, type: t4[c3].type }, t4);
            Rh(a4, c3), Oh(a4, l3), s3[c3] = l3;
            var f3 = Gh(e3, t4, c3);
            if (f3.id = l3, t4[c3].location == t4[o2].location) n4.push(f3);
            else {
              t4[l3].location = t4[c3].location.replace(c3.toString(), l3.toString()), t4[l3].location == t4[c3].location && (t4[l3].location = t4[l3].location.replace(/\.iwa/, "-".concat(l3, ".iwa"))), xe.utils.cfb_add(e3, t4[l3].location, Eh(wh([f3])));
              var h3 = t4[l3].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, "");
              $h(e3, t4, 2, function(e4) {
                var r5 = mh(e4.messages[0].data);
                Xh(r5, l3, h3), Kh(r5, t4, o2, l3), e4.messages[0].data = vh(r5);
              });
            }
            u2[r4][0].data = Ih(l3);
          }
        });
        var d2 = mh(u2[1][0].data);
        null == (c2 = d2[2]) || c2.forEach(function(r4) {
          var i5 = Ch(r4.data), c3 = Wh({ deps: [o2], location: t4[i5].location, type: t4[i5].type }, t4);
          Rh(a4, i5), Oh(a4, c3), s3[i5] = c3;
          var l3 = Gh(e3, t4, i5);
          if (l3.id = c3, t4[i5].location == t4[o2].location) n4.push(l3);
          else {
            t4[c3].location = t4[i5].location.replace(i5.toString(), c3.toString()), t4[c3].location == t4[i5].location && (t4[c3].location = t4[c3].location.replace(/\.iwa/, "-".concat(c3, ".iwa"))), xe.utils.cfb_add(e3, t4[c3].location, Eh(wh([l3])));
            var f3 = t4[c3].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, "");
            $h(e3, t4, 2, function(e4) {
              var r5 = mh(e4.messages[0].data);
              Xh(r5, c3, f3), Kh(r5, t4, o2, c3), e4.messages[0].data = vh(r5);
            });
          }
          r4.data = Ih(c3);
        }), u2[1][0].data = vh(d2);
        var p2 = mh(u2[3][0].data);
        p2[1].forEach(function(r4) {
          var n5 = mh(r4.data), i5 = Ch(n5[2][0].data), c3 = s3[i5];
          if (!s3[i5]) {
            c3 = Wh({ deps: [o2], location: "", type: t4[i5].type }, t4), t4[c3].location = "Root Entry/Index/Tables/Tile-".concat(c3, ".iwa"), s3[i5] = c3;
            var l3 = Gh(e3, t4, i5);
            l3.id = c3, Rh(a4, i5), Oh(a4, c3), xe.utils.cfb_add(e3, "/Index/Tables/Tile-".concat(c3, ".iwa"), Eh(wh([l3]))), $h(e3, t4, 2, function(e4) {
              var r5 = mh(e4.messages[0].data);
              r5[3].push({ type: 2, data: vh([[], [{ type: 0, data: hh(c3) }], [{ type: 2, data: oh("Tables/Tile") }], [{ type: 2, data: oh("Tables/Tile-".concat(c3)) }], [{ type: 2, data: new Uint8Array([2, 0, 0]) }], [{ type: 2, data: new Uint8Array([2, 0, 0]) }], [], [], [], [], [{ type: 0, data: hh(0) }], [], [{ type: 0, data: hh(0) }]]) }), r5[1] = [{ type: 0, data: hh(Math.max(c3 + 1, ph(r5[1][0].data))) }], Kh(r5, t4, o2, c3), e4.messages[0].data = vh(r5);
            });
          }
          n5[2][0].data = Ih(c3), r4.data = vh(n5);
        }), u2[3][0].data = vh(p2), l2[4][0].data = vh(u2), a4.messages[0].data = vh(l2);
      });
    }(r2, a2, i2 + 1), n2 = Gh(r2, a2, 1), s2 = gh(mh(n2.messages[0].data)[1], Ch)), function(e3, t4, r3, a3, n3, s3) {
      var i3 = [];
      $h(e3, t4, s3, function(e4) {
        var t5 = mh(e4.messages[0].data);
        t5[1] = [{ type: 2, data: oh(a3) }], i3 = gh(t5[2], Ch), e4.messages[0].data = vh(t5);
      });
      var o2 = Gh(e3, t4, i3[0]), c2 = Ch(mh(o2.messages[0].data)[2][0].data);
      $h(e3, t4, c2, function(a4, n4) {
        return function(e4, t5, r4, a5, n5, s4) {
          if (!r4["!ref"]) throw new Error("Cannot export empty sheet to NUMBERS");
          var i4 = ka(r4["!ref"]);
          i4.s.r = i4.s.c = 0;
          var o3 = false;
          i4.e.c > 999 && (o3 = true, i4.e.c = 999);
          i4.e.r > 999999 && (o3 = true, i4.e.r = 999999);
          o3 && console.error("Truncating to ".concat(_a(i4)));
          var c3 = [];
          if (r4["!data"]) c3 = r4["!data"];
          else {
            for (var l2 = [], f2 = 0; f2 <= i4.e.c; ++f2) l2[f2] = Ta(f2);
            for (var h2 = 0; h2 <= i4.e.r; ++h2) {
              c3[h2] = [];
              var u2 = "" + (h2 + 1);
              for (f2 = 0; f2 <= i4.e.c; ++f2) {
                var d2 = r4[l2[f2] + u2];
                d2 && (c3[h2][f2] = d2);
              }
            }
          }
          var p2 = { cmnt: [{ a: "~54ee77S~", t: "... the people who are crazy enough to think they can change the world, are the ones who do." }], rsst: [{ v: "~54ee77S~", l: "https://sheetjs.com/" }], sst: ["~Sh33tJ5~"] }, m2 = mh(a5.messages[0].data);
          m2[6][0].data = hh(i4.e.r + 1), m2[7][0].data = hh(i4.e.c + 1), delete m2[46];
          var v2 = mh(m2[4][0].data), g2 = Ch(mh(v2[1][0].data)[2][0].data);
          $h(e4, t5, g2, function(e5, t6) {
            var r5, a6 = mh(e5.messages[0].data);
            if (null == (r5 = null == a6 ? void 0 : a6[2]) ? void 0 : r5[0]) for (var n6 = 0; n6 < c3.length; ++n6) {
              var s5 = mh(a6[2][0].data);
              s5[1][0].data = hh(n6), s5[4][0].data = hh(c3[n6].length), a6[2][n6] = { type: a6[2][0].type, data: vh(s5) };
            }
            e5.messages[0].data = vh(a6);
          });
          var b2 = Ch(v2[2][0].data);
          $h(e4, t5, b2, function(e5, t6) {
            for (var r5 = mh(e5.messages[0].data), a6 = 0; a6 <= i4.e.c; ++a6) {
              var n6 = mh(r5[2][0].data);
              n6[1][0].data = hh(a6), n6[4][0].data = hh(i4.e.r + 1), r5[2][a6] = { type: r5[2][0].type, data: vh(n6) };
            }
            e5.messages[0].data = vh(r5);
          });
          var w2 = mh(v2[9][0].data);
          w2[1] = [];
          var T2 = mh(v2[3][0].data), y2 = 256;
          T2[2] = [{ type: 0, data: hh(y2) }];
          var E2 = Ch(mh(T2[1][0].data)[2][0].data), k2 = (_2 = mh(Gh(e4, t5, 2).messages[0].data)[3].filter(function(e5) {
            return ph(mh(e5.data)[1][0].data) == E2;
          }), (null == _2 ? void 0 : _2.length) ? ph(mh(_2[0].data)[12][0].data) : 0);
          var _2;
          xe.utils.cfb_del(e4, t5[E2].location), $h(e4, t5, 2, function(e5) {
            var r5 = mh(e5.messages[0].data);
            r5[3] = r5[3].filter(function(e6) {
              return ph(mh(e6.data)[1][0].data) != E2;
            }), function(e6, t6, r6, a6) {
              var n6 = t6[r6].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""), s5 = e6[3].findIndex(function(e7) {
                var t7, r7, a7 = mh(e7.data);
                return (null == (t7 = a7[3]) ? void 0 : t7[0]) ? ih(a7[3][0].data) == n6 : !(!(null == (r7 = a7[2]) ? void 0 : r7[0]) || ih(a7[2][0].data) != n6);
              }), i5 = mh(e6[3][s5].data);
              i5[6] || (i5[6] = []);
              i5[6] = i5[6].filter(function(e7) {
                return ph(mh(e7.data)[1][0].data) != a6;
              }), e6[3][s5].data = vh(i5);
            }(r5, t5, s4, E2), e5.messages[0].data = vh(r5);
          }), Rh(a5, E2), T2[1] = [];
          for (var S2 = Math.ceil((i4.e.r + 1) / y2), x2 = 0; x2 < S2; ++x2) {
            var A2 = Wh({ deps: [], location: "", type: 6002 }, t5);
            t5[A2].location = "Root Entry/Index/Tables/Tile-".concat(A2, ".iwa");
            for (var C2 = [[], [{ type: 0, data: hh(0) }], [{ type: 0, data: hh(Math.min(i4.e.r + 1, (x2 + 1) * y2)) }], [{ type: 0, data: hh(0) }], [{ type: 0, data: hh(Math.min((x2 + 1) * y2, i4.e.r + 1) - x2 * y2) }], [], [{ type: 0, data: hh(5) }], [{ type: 0, data: hh(1) }], [{ type: 0, data: hh(1) }]], I2 = x2 * y2; I2 <= Math.min(i4.e.r, (x2 + 1) * y2 - 1); ++I2) {
              var O2 = Uh(c3[I2], p2);
              O2[1][0].data = hh(I2 - x2 * y2), C2[5].push({ data: vh(O2), type: 2 });
            }
            T2[1].push({ type: 2, data: vh([[], [{ type: 0, data: hh(x2) }], [{ type: 2, data: Ih(A2) }]]) });
            var R2 = Eh(wh([{ id: A2, messages: [Bh(6002, vh(C2))] }]));
            xe.utils.cfb_add(e4, "/Index/Tables/Tile-".concat(A2, ".iwa"), R2), $h(e4, t5, 2, function(e5) {
              var r5 = mh(e5.messages[0].data);
              r5[3].push({ type: 2, data: vh([[], [{ type: 0, data: hh(A2) }], [{ type: 2, data: oh("Tables/Tile") }], [{ type: 2, data: oh("Tables/Tile-".concat(A2)) }], [{ type: 2, data: new Uint8Array([2, 0, 0]) }], [{ type: 2, data: new Uint8Array([2, 0, 0]) }], [], [], [], [], [{ type: 0, data: hh(0) }], [], [{ type: 0, data: hh(k2) }]]) }), r5[1] = [{ type: 0, data: hh(Math.max(A2 + 1, ph(r5[1][0].data))) }], Kh(r5, t5, s4, A2), e5.messages[0].data = vh(r5);
            }), Oh(a5, A2), w2[1].push({ type: 2, data: vh([[], [{ type: 0, data: hh(x2 * y2) }], [{ type: 0, data: hh(x2) }]]) });
          }
          if (v2[3][0].data = vh(T2), v2[9][0].data = vh(w2), v2[10] = [{ type: 2, data: new Uint8Array([]) }], r4["!merges"]) {
            var N2 = Wh({ type: 6144, deps: [s4], location: t5[s4].location }, t5);
            n5.push({ id: N2, messages: [Bh(6144, vh([[], r4["!merges"].map(function(e5) {
              return { type: 2, data: vh([[], [{ type: 2, data: vh([[], [{ type: 5, data: new Uint8Array(new Uint16Array([e5.s.r, e5.s.c]).buffer) }]]) }], [{ type: 2, data: vh([[], [{ type: 5, data: new Uint8Array(new Uint16Array([e5.e.r - e5.s.r + 1, e5.e.c - e5.s.c + 1]).buffer) }]]) }]]) };
            })]))] }), v2[13] = [{ type: 2, data: Ih(N2) }], $h(e4, t5, 2, function(e5) {
              var r5 = mh(e5.messages[0].data);
              Kh(r5, t5, s4, N2), e5.messages[0].data = vh(r5);
            }), Oh(a5, N2);
          } else delete v2[13];
          var F2 = Ch(v2[4][0].data);
          $h(e4, t5, F2, function(e5) {
            var t6 = mh(e5.messages[0].data);
            t6[3] = [], p2.sst.forEach(function(e6, r5) {
              0 != r5 && t6[3].push({ type: 2, data: vh([[], [{ type: 0, data: hh(r5) }], [{ type: 0, data: hh(1) }], [{ type: 2, data: oh(e6) }]]) });
            }), e5.messages[0].data = vh(t6);
          });
          var D2 = Ch(v2[17][0].data);
          if ($h(e4, t5, D2, function(r5) {
            var a6 = mh(r5.messages[0].data);
            a6[3] = [];
            var n6 = [904980, 903835, 903815, 903845];
            p2.rsst.forEach(function(s5, i5) {
              if (0 != i5) {
                var o4 = [[], [{ type: 0, data: new Uint8Array([5]) }], [], [{ type: 2, data: oh(s5.v) }]];
                o4[10] = [{ type: 0, data: new Uint8Array([1]) }], o4[19] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 18, 2, 101, 110]) }], o4[5] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 155, 149, 55]) }], o4[2] = [{ type: 2, data: new Uint8Array([8, 148, 158, 55]) }], o4[6] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }], o4[7] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 135, 149, 55]) }], o4[8] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 165, 149, 55]) }], o4[14] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }], o4[24] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }];
                var c4 = Wh({ deps: [], location: "", type: 2001 }, t5), l3 = [];
                if (s5.l) {
                  var f3 = jh(e4, 2032, [[], [], [{ type: 2, data: oh(s5.l) }]], "/Index/Tables/DataList", t5);
                  o4[11] = [];
                  var h3 = [[], []];
                  h3[1] || (h3[1] = []), h3[1].push({ type: 2, data: vh([[], [{ type: 0, data: hh(0) }], [{ type: 2, data: Ih(f3) }]]) }), o4[11][0] = { type: 2, data: vh(h3) }, l3.push(f3);
                }
                jh(e4, 2001, o4, "/Index/Tables/DataList", t5, c4), $h(e4, t5, c4, function(e5) {
                  n6.forEach(function(t6) {
                    return Oh(e5, t6);
                  }), l3.forEach(function(t6) {
                    return Oh(e5, t6);
                  });
                });
                var u3 = jh(e4, 6218, [[], [{ type: 2, data: Ih(c4) }], [], [{ type: 2, data: new Uint8Array([13, 255, 255, 255, 0, 18, 10, 16, 255, 255, 1, 24, 255, 255, 255, 255, 7]) }]], "/Index/Tables/DataList", t5);
                $h(e4, t5, u3, function(e5) {
                  return Oh(e5, c4);
                }), a6[3].push({ type: 2, data: vh([[], [{ type: 0, data: hh(i5) }], [{ type: 0, data: hh(1) }], [], [], [], [], [], [], [{ type: 2, data: Ih(u3) }]]) }), Oh(r5, u3), $h(e4, t5, 2, function(e5) {
                  var r6 = mh(e5.messages[0].data);
                  Kh(r6, t5, D2, u3), Kh(r6, t5, u3, c4), Kh(r6, t5, c4, l3), Kh(r6, t5, c4, n6), e5.messages[0].data = vh(r6);
                });
              }
            }), r5.messages[0].data = vh(a6);
          }), p2.cmnt.length > 1) {
            var P2 = Ch(v2[19][0].data), M2 = {}, L2 = 0;
            $h(e4, t5, P2, function(r5) {
              var a6 = mh(r5.messages[0].data);
              a6[3] = [], p2.cmnt.forEach(function(n6, s5) {
                if (0 != s5) {
                  var i5 = [];
                  n6.replies && n6.replies.forEach(function(r6) {
                    M2[r6.a || ""] || (M2[r6.a || ""] = jh(e4, 212, [[], [{ type: 2, data: oh(r6.a || "") }], [{ type: 2, data: Hh(++L2) }], [], [{ type: 0, data: hh(0) }]], "/Index/Tables/DataList", t5));
                    var a7 = M2[r6.a || ""], n7 = jh(e4, 3056, [[], [{ type: 2, data: oh(r6.t || "") }], [{ type: 2, data: vh([[], [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }]]) }], [{ type: 2, data: Ih(a7) }]], "/Index/Tables/DataList", t5);
                    $h(e4, t5, n7, function(e5) {
                      return Oh(e5, a7);
                    }), i5.push(n7), $h(e4, t5, 2, function(e5) {
                      var r7 = mh(e5.messages[0].data);
                      Kh(r7, t5, n7, a7), e5.messages[0].data = vh(r7);
                    });
                  }), M2[n6.a || ""] || (M2[n6.a || ""] = jh(e4, 212, [[], [{ type: 2, data: oh(n6.a || "") }], [{ type: 2, data: Hh(++L2) }], [], [{ type: 0, data: hh(0) }]], "/Index/Tables/DataList", t5));
                  var o4 = M2[n6.a || ""], c4 = jh(e4, 3056, [[], [{ type: 2, data: oh(n6.t || "") }], [{ type: 2, data: vh([[], [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }]]) }], [{ type: 2, data: Ih(o4) }], i5.map(function(e5) {
                    return { type: 2, data: Ih(e5) };
                  }), [{ type: 2, data: vh([[], [{ type: 0, data: hh(s5) }], [{ type: 0, data: hh(0) }]]) }]], "/Index/Tables/DataList", t5);
                  $h(e4, t5, c4, function(e5) {
                    Oh(e5, o4), i5.forEach(function(t6) {
                      return Oh(e5, t6);
                    });
                  }), a6[3].push({ type: 2, data: vh([[], [{ type: 0, data: hh(s5) }], [{ type: 0, data: hh(1) }], [], [], [], [], [], [], [], [{ type: 2, data: Ih(c4) }]]) }), Oh(r5, c4), $h(e4, t5, 2, function(e5) {
                    var r6 = mh(e5.messages[0].data);
                    Kh(r6, t5, P2, c4), Kh(r6, t5, c4, o4), i5.length && Kh(r6, t5, c4, i5), e5.messages[0].data = vh(r6);
                  });
                }
              }), a6[2][0].data = hh(p2.cmnt.length + 1), r5.messages[0].data = vh(a6);
            });
          }
          m2[4][0].data = vh(v2), a5.messages[0].data = vh(m2);
        }(e3, t4, r3, a4, n4, c2);
      });
    }(r2, a2, e2.Sheets[t3], t3, 0, s2[i2]);
  }), r2;
}
function $h(e2, t2, r2, a2) {
  var n2 = xe.find(e2, t2[r2].location);
  if (!n2) throw "Could not find ".concat(t2[r2].location, " in Numbers template");
  var s2 = bh(yh(n2.content));
  a2(s2.find(function(e3) {
    return e3.id == r2;
  }), s2), n2.content = Eh(wh(s2)), n2.size = n2.content.length;
}
function Gh(e2, t2, r2) {
  var a2 = xe.find(e2, t2[r2].location);
  if (!a2) throw "Could not find ".concat(t2[r2].location, " in Numbers template");
  return bh(yh(a2.content)).find(function(e3) {
    return e3.id == r2;
  });
}
function Xh(e2, t2, r2) {
  e2[3].push({ type: 2, data: vh([[], [{ type: 0, data: hh(t2) }], [{ type: 2, data: oh(r2.replace(/-[\s\S]*$/, "")) }], [{ type: 2, data: oh(r2) }], [{ type: 2, data: new Uint8Array([2, 0, 0]) }], [{ type: 2, data: new Uint8Array([2, 0, 0]) }], [], [], [], [], [{ type: 0, data: hh(0) }], [], [{ type: 0, data: hh(0) }]]) }), e2[1] = [{ type: 0, data: hh(Math.max(t2 + 1, ph(e2[1][0].data))) }];
}
function jh(e2, t2, r2, a2, n2, s2) {
  s2 || (s2 = Wh({ deps: [], location: "", type: t2 }, n2));
  var i2 = "".concat(a2, "-").concat(s2, ".iwa");
  n2[s2].location = "Root Entry" + i2, xe.utils.cfb_add(e2, i2, Eh(wh([{ id: s2, messages: [Bh(t2, vh(r2))] }])));
  var o2 = i2.replace(/^[\/]/, "").replace(/^Index\//, "").replace(/\.iwa$/, "");
  return $h(e2, n2, 2, function(e3) {
    var t3 = mh(e3.messages[0].data);
    Xh(t3, s2 || 0, o2), e3.messages[0].data = vh(t3);
  }), s2;
}
function Kh(e2, t2, r2, a2) {
  var n2 = t2[r2].location.replace(/^Root Entry\//, "").replace(/^Index\//, "").replace(/\.iwa$/, ""), s2 = e2[3].findIndex(function(e3) {
    var t3, r3, a3 = mh(e3.data);
    return (null == (t3 = a3[3]) ? void 0 : t3[0]) ? ih(a3[3][0].data) == n2 : !(!(null == (r3 = a3[2]) ? void 0 : r3[0]) || ih(a3[2][0].data) != n2);
  }), i2 = mh(e2[3][s2].data);
  i2[6] || (i2[6] = []), (Array.isArray(a2) ? a2 : [a2]).forEach(function(e3) {
    i2[6].push({ type: 2, data: vh([[], [{ type: 0, data: hh(e3) }]]) });
  }), e2[3][s2].data = vh(i2);
}
function Yh(e2) {
  return function(t2) {
    for (var r2 = 0; r2 != e2.length; ++r2) {
      var a2 = e2[r2];
      void 0 === t2[a2[0]] && (t2[a2[0]] = a2[1]), "n" === a2[2] && (t2[a2[0]] = Number(t2[a2[0]]));
    }
  };
}
function Zh(e2) {
  Yh([["cellNF", false], ["cellHTML", true], ["cellFormula", true], ["cellStyles", false], ["cellText", true], ["cellDates", false], ["sheetStubs", false], ["sheetRows", 0, "n"], ["bookDeps", false], ["bookSheets", false], ["bookProps", false], ["bookFiles", false], ["bookVBA", false], ["password", ""], ["WTF", false]])(e2);
}
function Jh(e2) {
  Yh([["cellDates", false], ["bookSST", false], ["bookType", "xlsx"], ["compression", false], ["WTF", false]])(e2);
}
function qh(e2, t2, r2, a2, n2, s2, i2, o2) {
  if (e2 && e2["!legdrawel"]) {
    var c2 = gt(r2, Et(e2["!legdrawel"].Target, a2), true);
    c2 && function(e3, t3, r3) {
      var a3 = 0;
      (lt(e3, "shape") || []).forEach(function(e4) {
        var n3 = "", s3 = true, i3 = -1, o3 = -1, c3 = -1;
        if (e4.replace(xt, function(t4, r4) {
          var a4 = It(t4);
          switch (Rt(a4[0])) {
            case "<ClientData":
              a4.ObjectType && (n3 = a4.ObjectType);
              break;
            case "<Visible":
            case "<Visible/>":
              s3 = false;
              break;
            case "<Row":
            case "<Row>":
            case "<Column":
            case "<Column>":
              i3 = r4 + t4.length;
              break;
            case "</Row>":
              o3 = +e4.slice(i3, r4).trim();
              break;
            case "</Column>":
              c3 = +e4.slice(i3, r4).trim();
          }
          return "";
        }), "Note" === n3) {
          var l2 = Iu(t3, o3 >= 0 && c3 >= 0 ? Ea({ r: o3, c: c3 }) : r3[a3].ref);
          l2.c && (l2.c.hidden = s3), ++a3;
        }
      });
    }(jt(c2), e2, o2 || []);
  }
}
function Qh(e2, t2, r2, a2, n2, s2, i2, o2, c2, l2, f2, h2) {
  try {
    s2[a2] = kn(gt(e2, r2, true), t2);
    var u2, d2 = vt(e2, t2);
    switch (o2) {
      case "sheet":
        u2 = Pl(d2, t2, n2, c2, s2[a2], l2, f2, h2);
        break;
      case "chart":
        if (!(u2 = Ml(d2, t2, n2, c2, s2[a2], l2)) || !u2["!drawel"]) break;
        var p2 = Et(u2["!drawel"].Target, t2), m2 = En(p2), v2 = function(e3, t3) {
          if (!e3) return "??";
          var r3 = (e3.match(/<c:chart [^<>]*r:id="([^<>"]*)"/) || ["", ""])[1];
          return t3["!id"][r3].Target;
        }(gt(e2, p2, true), kn(gt(e2, m2, true), p2)), g2 = Et(v2, p2), b2 = En(g2);
        u2 = vl(gt(e2, g2, true), 0, 0, kn(gt(e2, b2, true), g2), 0, u2);
        break;
      case "macro":
        y2 = t2, s2[a2], y2.slice(-4), u2 = { "!type": "macro" };
        break;
      case "dialog":
        u2 = function(e3, t3) {
          return t3.slice(-4), { "!type": "dialog" };
        }(0, t2, 0, 0, s2[a2]);
        break;
      default:
        throw new Error("Unrecognized sheet type " + o2);
    }
    i2[a2] = u2;
    var w2 = [], T2 = [];
    s2 && s2[a2] && Oe(s2[a2]).forEach(function(r3) {
      var n3 = "";
      if (s2[a2][r3].Type == yn.CMNT) {
        if (n3 = Et(s2[a2][r3].Target, t2), !(w2 = Bl(vt(e2, n3, true), n3, c2)) || !w2.length) return;
        _o(u2, w2, false);
      }
      s2[a2][r3].Type == yn.TCMNT && (n3 = Et(s2[a2][r3].Target, t2), T2 = T2.concat(function(e3, t3) {
        var r4 = [], a3 = false, n4 = {}, s3 = 0;
        return e3.replace(xt, function(i3, o3) {
          var c3 = It(i3);
          switch (Rt(c3[0])) {
            case "<?xml":
            case "<ThreadedComments":
            case "</ThreadedComments>":
            case "<extLst":
            case "<extLst>":
            case "</extLst>":
            case "<extLst/>":
              break;
            case "<threadedComment":
              n4 = { author: c3.personId, guid: c3.id, ref: c3.ref, T: 1 };
              break;
            case "</threadedComment>":
              null != n4.t && r4.push(n4);
              break;
            case "<text>":
            case "<text":
              s3 = o3 + i3.length;
              break;
            case "</text>":
              n4.t = e3.slice(s3, o3).replace(/\r\n/g, "\n").replace(/\r/g, "\n");
              break;
            case "<mentions":
            case "<mentions>":
            case "<ext":
              a3 = true;
              break;
            case "</mentions>":
            case "</ext>":
              a3 = false;
              break;
            default:
              if (!a3 && t3.WTF) throw new Error("unrecognized " + c3[0] + " in threaded comments");
          }
          return i3;
        }), r4;
      }(vt(e2, n3, true), c2)));
    }), T2 && T2.length && _o(u2, T2, true, c2.people || []), qh(u2, 0, e2, t2, 0, 0, 0, w2);
  } catch (e3) {
    if (c2.WTF) throw e3;
  }
  var y2;
}
function eu(e2) {
  return "/" == e2.charAt(0) ? e2.slice(1) : e2;
}
function tu(e2, t2) {
  if (be(), Zh(t2 = t2 || {}), pt(e2, "META-INF/manifest.xml")) return Jf(e2, t2);
  if (pt(e2, "objectdata.xml")) return Jf(e2, t2);
  if (pt(e2, "Index/Document.iwa")) {
    if ("undefined" == typeof Uint8Array) throw new Error("NUMBERS file parsing requires Uint8Array support");
    if (void 0 !== Lh) {
      if (e2.FileIndex) return Lh(e2, t2);
      var r2 = xe.utils.cfb_new();
      return bt(e2).forEach(function(t3) {
        wt(r2, t3, function(e3, t4) {
          return dt(mt(e3, t4));
        }(e2, t3));
      }), Lh(r2, t2);
    }
    throw new Error("Unsupported NUMBERS file");
  }
  if (!pt(e2, "[Content_Types].xml")) {
    if (pt(e2, "index.xml.gz")) throw new Error("Unsupported NUMBERS 08 file");
    if (pt(e2, "index.xml")) throw new Error("Unsupported NUMBERS 09 file");
    var a2 = xe.find(e2, "Index.zip");
    if (a2) return delete (t2 = Ge(t2)).type, "string" == typeof a2.content && (t2.type = "binary"), "undefined" != typeof Bun && Buffer.isBuffer(a2.content) ? cu(new Uint8Array(a2.content), t2) : cu(a2.content, t2);
    throw new Error("Unsupported ZIP file");
  }
  var n2, s2, i2 = bt(e2), o2 = function(e3) {
    var t3 = { workbooks: [], sheets: [], charts: [], dialogs: [], macros: [], rels: [], strs: [], comments: [], threadedcomments: [], links: [], coreprops: [], extprops: [], custprops: [], themes: [], styles: [], calcchains: [], vba: [], drawings: [], metadata: [], people: [], TODO: [], xmlns: "" };
    if (!e3 || !e3.match) return t3;
    var r3 = {};
    if ((e3.match(xt) || []).forEach(function(e4) {
      var a3 = It(e4);
      switch (a3[0].replace(At, "<")) {
        case "<?xml":
          break;
        case "<Types":
          t3.xmlns = a3["xmlns" + (a3[0].match(/<(\w+):/) || ["", ""])[1]];
          break;
        case "<Default":
          r3[a3.Extension.toLowerCase()] = a3.ContentType;
          break;
        case "<Override":
          void 0 !== t3[bn[a3.ContentType]] && t3[bn[a3.ContentType]].push(a3.PartName);
      }
    }), t3.xmlns !== lr) throw new Error("Unknown Namespace: " + t3.xmlns);
    return t3.calcchain = t3.calcchains.length > 0 ? t3.calcchains[0] : "", t3.sst = t3.strs.length > 0 ? t3.strs[0] : "", t3.style = t3.styles.length > 0 ? t3.styles[0] : "", t3.defaults = r3, delete t3.calcchains, t3;
  }(gt(e2, "[Content_Types].xml")), c2 = false;
  if (0 === o2.workbooks.length && vt(e2, s2 = "xl/workbook.xml", true) && o2.workbooks.push(s2), 0 === o2.workbooks.length) {
    if (!vt(e2, s2 = "xl/workbook.bin", true)) throw new Error("Could not find workbook");
    o2.workbooks.push(s2), c2 = true;
  }
  "bin" == o2.workbooks[0].slice(-3) && (c2 = true);
  var l2 = {}, f2 = {};
  if (!t2.bookSheets && !t2.bookProps) {
    if (Ic = [], o2.sst) try {
      Ic = Ul(vt(e2, eu(o2.sst)), o2.sst, t2);
    } catch (e3) {
      if (t2.WTF) throw e3;
    }
    t2.cellStyles && o2.themes.length && (l2 = go(gt(e2, o2.themes[0].replace(/^\//, ""), true) || "", t2)), o2.style && (f2 = Ll(vt(e2, eu(o2.style)), o2.style, l2, t2));
  }
  o2.links.map(function(r3) {
    try {
      kn(gt(e2, En(eu(r3))), r3);
      return zl(vt(e2, eu(r3)), 0, r3, t2);
    } catch (e3) {
    }
  });
  var h2 = Dl(vt(e2, eu(o2.workbooks[0])), o2.workbooks[0], t2), u2 = {}, d2 = "";
  o2.coreprops.length && ((d2 = vt(e2, eu(o2.coreprops[0]), true)) && (u2 = On(d2)), 0 !== o2.extprops.length && (d2 = vt(e2, eu(o2.extprops[0]), true)) && function(e3, t3, r3) {
    var a3 = {};
    t3 || (t3 = {}), e3 = jt(e3), Fn.forEach(function(r4) {
      var n3 = (ct(e3, r4[0]) || [])[1];
      switch (r4[2]) {
        case "string":
          n3 && (t3[r4[1]] = Dt(n3));
          break;
        case "bool":
          t3[r4[1]] = "true" === n3;
          break;
        case "raw":
          var s3 = ot(e3, r4[0]);
          s3 && s3.length > 0 && (a3[r4[1]] = s3[1]);
      }
    }), a3.HeadingPairs && a3.TitlesOfParts && Pn(a3.HeadingPairs, a3.TitlesOfParts, t3, r3);
  }(d2, u2, t2));
  var p2 = {};
  t2.bookSheets && !t2.bookProps || 0 !== o2.custprops.length && (d2 = gt(e2, eu(o2.custprops[0]), true)) && (p2 = function(e3, t3) {
    var r3 = {}, a3 = "", n3 = e3.match(Ln);
    if (n3) for (var s3 = 0; s3 != n3.length; ++s3) {
      var i3 = n3[s3], o3 = It(i3);
      switch (Rt(o3[0])) {
        case "<?xml":
        case "<Properties":
          break;
        case "<property":
          a3 = Dt(o3.name);
          break;
        case "</property>":
          a3 = null;
          break;
        default:
          if (0 === i3.indexOf("<vt:")) {
            var c3 = i3.split(">"), l3 = c3[0].slice(4), f3 = c3[1];
            switch (l3) {
              case "lpstr":
              case "bstr":
              case "lpwstr":
              case "cy":
              case "error":
                r3[a3] = Dt(f3);
                break;
              case "bool":
                r3[a3] = Ht(f3);
                break;
              case "i1":
              case "i2":
              case "i4":
              case "i8":
              case "int":
              case "uint":
                r3[a3] = parseInt(f3, 10);
                break;
              case "r4":
              case "r8":
              case "decimal":
                r3[a3] = parseFloat(f3);
                break;
              case "filetime":
              case "date":
                r3[a3] = Ve(f3);
                break;
              default:
                if ("/" == l3.slice(-1)) break;
                t3.WTF && "undefined" != typeof console && console.warn("Unexpected", i3, l3, c3);
            }
          } else if ("</" === i3.slice(0, 2)) ;
          else if (t3.WTF) throw new Error(i3);
      }
    }
    return r3;
  }(d2, t2));
  var m2 = {};
  if ((t2.bookSheets || t2.bookProps) && (h2.Sheets ? n2 = h2.Sheets.map(function(e3) {
    return e3.name;
  }) : u2.Worksheets && u2.SheetNames.length > 0 && (n2 = u2.SheetNames), t2.bookProps && (m2.Props = u2, m2.Custprops = p2), t2.bookSheets && void 0 !== n2 && (m2.SheetNames = n2), t2.bookSheets ? m2.SheetNames : t2.bookProps)) return m2;
  n2 = {};
  var v2 = {};
  t2.bookDeps && o2.calcchain && (v2 = Wl(vt(e2, eu(o2.calcchain)), o2.calcchain));
  var g2, b2, w2 = 0, T2 = {}, y2 = h2.Sheets;
  u2.Worksheets = y2.length, u2.SheetNames = [];
  for (var E2 = 0; E2 != y2.length; ++E2) u2.SheetNames[E2] = y2[E2].name;
  var k2 = c2 ? "bin" : "xml", _2 = o2.workbooks[0].lastIndexOf("/"), S2 = (o2.workbooks[0].slice(0, _2 + 1) + "_rels/" + o2.workbooks[0].slice(_2 + 1) + ".rels").replace(/^\//, "");
  pt(e2, S2) || (S2 = "xl/_rels/workbook." + k2 + ".rels");
  var x2 = kn(gt(e2, S2, true), S2.replace(/_rels.*/, "s5s"));
  (o2.metadata || []).length >= 1 && (t2.xlmeta = Hl(vt(e2, eu(o2.metadata[0])), o2.metadata[0], t2)), (o2.people || []).length >= 1 && (t2.people = function(e3, t3) {
    var r3 = [], a3 = false;
    return e3.replace(xt, function(e4) {
      var n3 = It(e4);
      switch (Rt(n3[0])) {
        case "<?xml":
        case "<personList":
        case "</personList>":
        case "</person>":
        case "<extLst":
        case "<extLst>":
        case "</extLst>":
        case "<extLst/>":
          break;
        case "<person":
          r3.push({ name: n3.displayname, id: n3.id });
          break;
        case "<ext":
          a3 = true;
          break;
        case "</ext>":
          a3 = false;
          break;
        default:
          if (!a3 && t3.WTF) throw new Error("unrecognized " + n3[0] + " in threaded comments");
      }
      return e4;
    }), r3;
  }(vt(e2, eu(o2.people[0])), t2)), x2 && (x2 = function(e3, t3) {
    if (!e3) return 0;
    try {
      e3 = t3.map(function(t4) {
        return t4.id || (t4.id = t4.strRelID), [t4.name, e3["!id"][t4.id].Target, (r3 = e3["!id"][t4.id].Type, yn.WS.indexOf(r3) > -1 ? "sheet" : r3 == yn.CS ? "chart" : r3 == yn.DS ? "dialog" : r3 == yn.MS ? "macro" : r3 && r3.length ? r3 : "sheet")];
        var r3;
      });
    } catch (e4) {
      return null;
    }
    return e3 && 0 !== e3.length ? e3 : null;
  }(x2, h2.Sheets));
  var A2 = vt(e2, "xl/worksheets/sheet.xml", true) ? 1 : 0;
  e: for (w2 = 0; w2 != u2.Worksheets; ++w2) {
    var C2 = "sheet";
    if (x2 && x2[w2] ? (g2 = "xl/" + x2[w2][1].replace(/[\/]?xl\//, ""), pt(e2, g2) || (g2 = x2[w2][1]), pt(e2, g2) || (g2 = S2.replace(/_rels\/[\S\s]*$/, "") + x2[w2][1]), C2 = x2[w2][2]) : g2 = (g2 = "xl/worksheets/sheet" + (w2 + 1 - A2) + "." + k2).replace(/sheet0\./, "sheet."), b2 = g2.replace(/^(.*)(\/)([^\/]*)$/, "$1/_rels/$3.rels"), t2 && null != t2.sheets) switch (typeof t2.sheets) {
      case "number":
        if (w2 != t2.sheets) continue e;
        break;
      case "string":
        if (u2.SheetNames[w2].toLowerCase() != t2.sheets.toLowerCase()) continue e;
        break;
      default:
        if (Array.isArray && Array.isArray(t2.sheets)) {
          for (var I2 = false, O2 = 0; O2 != t2.sheets.length; ++O2) "number" == typeof t2.sheets[O2] && t2.sheets[O2] == w2 && (I2 = 1), "string" == typeof t2.sheets[O2] && t2.sheets[O2].toLowerCase() == u2.SheetNames[w2].toLowerCase() && (I2 = 1);
          if (!I2) continue e;
        }
    }
    Qh(e2, g2, b2, u2.SheetNames[w2], w2, T2, n2, C2, t2, h2, l2, f2);
  }
  return m2 = { Directory: o2, Workbook: h2, Props: u2, Custprops: p2, Deps: v2, Sheets: n2, SheetNames: u2.SheetNames, Strings: Ic, Styles: f2, Themes: l2, SSF: Ge(W) }, t2 && t2.bookFiles && (e2.files ? (m2.keys = i2, m2.files = e2.files) : (m2.keys = [], m2.files = {}, e2.FullPaths.forEach(function(t3, r3) {
    t3 = t3.replace(/^Root Entry[\/]/, ""), m2.keys.push(t3), m2.files[t3] = e2.FileIndex[r3];
  }))), t2 && t2.bookVBA && (o2.vba.length > 0 ? m2.vbaraw = vt(e2, eu(o2.vba[0]), true) : o2.defaults && "application/vnd.ms-office.vbaProject" === o2.defaults.bin && (m2.vbaraw = vt(e2, "xl/vbaProject.bin", true))), m2.bookType = c2 ? "xlsb" : "xlsx", m2;
}
function ru(e2, t2) {
  var r2, a2, n2 = t2 || {}, s2 = "Workbook", i2 = xe.find(e2, s2);
  try {
    if (s2 = "/!DataSpaces/Version", !(i2 = xe.find(e2, s2)) || !i2.content) throw new Error("ECMA-376 Encrypted file missing " + s2);
    if (r2 = i2.content, (a2 = {}).id = r2.read_shift(0, "lpp4"), a2.R = _i(r2, 4), a2.U = _i(r2, 4), a2.W = _i(r2, 4), s2 = "/!DataSpaces/DataSpaceMap", !(i2 = xe.find(e2, s2)) || !i2.content) throw new Error("ECMA-376 Encrypted file missing " + s2);
    var o2 = function(e3) {
      var t3 = [];
      e3.l += 4;
      for (var r3 = e3.read_shift(4); r3-- > 0; ) t3.push(Si(e3));
      return t3;
    }(i2.content);
    if (1 !== o2.length || 1 !== o2[0].comps.length || 0 !== o2[0].comps[0].t || "StrongEncryptionDataSpace" !== o2[0].name || "EncryptedPackage" !== o2[0].comps[0].v) throw new Error("ECMA-376 Encrypted file bad " + s2);
    if (s2 = "/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace", !(i2 = xe.find(e2, s2)) || !i2.content) throw new Error("ECMA-376 Encrypted file missing " + s2);
    var c2 = function(e3) {
      var t3 = [];
      e3.l += 4;
      for (var r3 = e3.read_shift(4); r3-- > 0; ) t3.push(e3.read_shift(0, "lpp4"));
      return t3;
    }(i2.content);
    if (1 != c2.length || "StrongEncryptionTransform" != c2[0]) throw new Error("ECMA-376 Encrypted file bad " + s2);
    if (s2 = "/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary", !(i2 = xe.find(e2, s2)) || !i2.content) throw new Error("ECMA-376 Encrypted file missing " + s2);
    xi(i2.content);
  } catch (e3) {
  }
  if (s2 = "/EncryptionInfo", !(i2 = xe.find(e2, s2)) || !i2.content) throw new Error("ECMA-376 Encrypted file missing " + s2);
  var l2 = function(e3) {
    var t3 = _i(e3);
    switch (t3.Minor) {
      case 2:
        return [t3.Minor, Ii(e3)];
      case 3:
        return [t3.Minor, Oi()];
      case 4:
        return [t3.Minor, Ri(e3)];
    }
    throw new Error("ECMA-376 Encrypted file unrecognized Version: " + t3.Minor);
  }(i2.content);
  if (s2 = "/EncryptedPackage", !(i2 = xe.find(e2, s2)) || !i2.content) throw new Error("ECMA-376 Encrypted file missing " + s2);
  if (4 == l2[0] && "undefined" != typeof decrypt_agile) return decrypt_agile(l2[1], i2.content, n2.password || "", n2);
  if (2 == l2[0] && "undefined" != typeof decrypt_std76) return decrypt_std76(l2[1], i2.content, n2.password || "", n2);
  throw new Error("File is password-protected");
}
function au(e2, t2) {
  e2 && !e2.SSF && (e2.SSF = Ge(W)), e2 && e2.SSF && (be(), ge(e2.SSF), t2.revssf = Fe(e2.SSF), t2.revssf[e2.SSF[65535]] = 0, t2.ssf = e2.SSF), t2.rels = {}, t2.wbrels = {}, t2.Strings = [], t2.Strings.Count = 0, t2.Strings.Unique = 0, Rc ? t2.revStrings = /* @__PURE__ */ new Map() : (t2.revStrings = {}, t2.revStrings.foo = [], delete t2.revStrings.foo);
  var r2 = "xml", a2 = Ro.indexOf(t2.bookType) > -1, n2 = { workbooks: [], sheets: [], charts: [], dialogs: [], macros: [], rels: [], strs: [], comments: [], threadedcomments: [], links: [], coreprops: [], extprops: [], custprops: [], themes: [], styles: [], calcchains: [], vba: [], drawings: [], metadata: [], people: [], TODO: [], xmlns: "" };
  Jh(t2 = t2 || {});
  var s2 = Tt(), i2 = "", o2 = 0;
  if (t2.cellXfs = [], Pc(t2.cellXfs, {}, { revssf: { General: 0 } }), e2.Props || (e2.Props = {}), wt(s2, i2 = "docProps/core.xml", Nn(e2.Props, t2)), n2.coreprops.push(i2), Sn(t2.rels, 2, i2, yn.CORE_PROPS), i2 = "docProps/app.xml", e2.Props && e2.Props.SheetNames) ;
  else if (e2.Workbook && e2.Workbook.Sheets) {
    for (var c2 = [], l2 = 0; l2 < e2.SheetNames.length; ++l2) 2 != (e2.Workbook.Sheets[l2] || {}).Hidden && c2.push(e2.SheetNames[l2]);
    e2.Props.SheetNames = c2;
  } else e2.Props.SheetNames = e2.SheetNames;
  e2.Props.Worksheets = e2.Props.SheetNames.length, wt(s2, i2, Mn(e2.Props)), n2.extprops.push(i2), Sn(t2.rels, 3, i2, yn.EXT_PROPS), e2.Custprops !== e2.Props && Oe(e2.Custprops || {}).length > 0 && (wt(s2, i2 = "docProps/custom.xml", Un(e2.Custprops)), n2.custprops.push(i2), Sn(t2.rels, 4, i2, yn.CUST_PROPS));
  var f2, h2 = ["SheetJ5"];
  for (t2.tcid = 0, o2 = 1; o2 <= e2.SheetNames.length; ++o2) {
    var u2 = { "!id": {} }, d2 = e2.Sheets[e2.SheetNames[o2 - 1]];
    (d2 || {})["!type"];
    if (wt(s2, i2 = "xl/worksheets/sheet" + o2 + "." + r2, qc(o2 - 1, t2, e2, u2)), n2.sheets.push(i2), Sn(t2.wbrels, -1, "worksheets/sheet" + o2 + "." + r2, yn.WS[0]), d2) {
      var p2 = d2["!comments"], m2 = false, v2 = "";
      if (p2 && p2.length > 0) {
        var g2 = false;
        p2.forEach(function(e3) {
          e3[1].forEach(function(e4) {
            1 == e4.T && (g2 = true);
          });
        }), g2 && (wt(s2, v2 = "xl/threadedComments/threadedComment" + o2 + ".xml", xo(p2, h2, t2)), n2.threadedcomments.push(v2), Sn(u2, -1, "../threadedComments/threadedComment" + o2 + ".xml", yn.TCMNT)), wt(s2, v2 = "xl/comments" + o2 + "." + r2, So(p2)), n2.comments.push(v2), Sn(u2, -1, "../comments" + o2 + "." + r2, yn.CMNT), m2 = true;
      }
      d2["!legacy"] && m2 && wt(s2, "xl/drawings/vmlDrawing" + o2 + ".vml", ko(o2, d2["!comments"])), delete d2["!comments"], delete d2["!legacy"];
    }
    u2["!id"].rId1 && wt(s2, En(i2), _n(u2));
  }
  return null != t2.Strings && t2.Strings.length > 0 && (wt(s2, i2 = "xl/sharedStrings." + r2, function(e3, t3) {
    if (!t3.bookSST) return "";
    var r3 = [kt];
    r3[r3.length] = rr("sst", null, { xmlns: wr[0], count: e3.Count, uniqueCount: e3.Unique });
    for (var a3 = 0; a3 != e3.length; ++a3) if (null != e3[a3]) {
      var n3 = e3[a3], s3 = "<si>";
      n3.r ? s3 += n3.r : (s3 += "<t", n3.t || (n3.t = ""), "string" != typeof n3.t && (n3.t = String(n3.t)), n3.t.match(Ti) && (s3 += ' xml:space="preserve"'), s3 += ">" + Lt(n3.t) + "</t>"), s3 += "</si>", r3[r3.length] = s3;
    }
    return r3.length > 2 && (r3[r3.length] = "</sst>", r3[1] = r3[1].replace("/>", ">")), r3.join("");
  }(t2.Strings, t2)), n2.strs.push(i2), Sn(t2.wbrels, -1, "sharedStrings." + r2, yn.SST)), wt(s2, i2 = "xl/workbook." + r2, function(e3) {
    var t3 = [kt];
    t3[t3.length] = rr("workbook", null, { xmlns: wr[0], "xmlns:r": mr });
    var r3 = e3.Workbook && (e3.Workbook.Names || []).length > 0, a3 = { codeName: "ThisWorkbook" };
    e3.Workbook && e3.Workbook.WBProps && (gl.forEach(function(t4) {
      null != e3.Workbook.WBProps[t4[0]] && e3.Workbook.WBProps[t4[0]] != t4[1] && (a3[t4[0]] = e3.Workbook.WBProps[t4[0]]);
    }), e3.Workbook.WBProps.CodeName && (a3.codeName = e3.Workbook.WBProps.CodeName, delete a3.CodeName)), t3[t3.length] = rr("workbookPr", null, a3);
    var n3 = e3.Workbook && e3.Workbook.Sheets || [], s3 = 0;
    if (n3 && n3[0] && n3[0].Hidden) {
      for (t3[t3.length] = "<bookViews>", s3 = 0; s3 != e3.SheetNames.length && n3[s3] && n3[s3].Hidden; ++s3) ;
      s3 == e3.SheetNames.length && (s3 = 0), t3[t3.length] = '<workbookView firstSheet="' + s3 + '" activeTab="' + s3 + '"/>', t3[t3.length] = "</bookViews>";
    }
    for (t3[t3.length] = "<sheets>", s3 = 0; s3 != e3.SheetNames.length; ++s3) {
      var i3 = { name: Lt(e3.SheetNames[s3].slice(0, 31)) };
      if (i3.sheetId = "" + (s3 + 1), i3["r:id"] = "rId" + (s3 + 1), n3[s3]) switch (n3[s3].Hidden) {
        case 1:
          i3.state = "hidden";
          break;
        case 2:
          i3.state = "veryHidden";
      }
      t3[t3.length] = rr("sheet", null, i3);
    }
    return t3[t3.length] = "</sheets>", r3 && (t3[t3.length] = "<definedNames>", e3.Workbook && e3.Workbook.Names && e3.Workbook.Names.forEach(function(e4) {
      var r4 = { name: e4.Name };
      e4.Comment && (r4.comment = e4.Comment), null != e4.Sheet && (r4.localSheetId = "" + e4.Sheet), e4.Hidden && (r4.hidden = "1"), e4.Ref && (t3[t3.length] = rr("definedName", Lt(e4.Ref), r4));
    }), t3[t3.length] = "</definedNames>"), t3.length > 2 && (t3[t3.length] = "</workbook>", t3[1] = t3[1].replace("/>", ">")), t3.join("");
  }(e2)), n2.workbooks.push(i2), Sn(t2.rels, 1, i2, yn.WB), wt(s2, i2 = "xl/theme/theme1.xml", bo(e2.Themes, t2)), n2.themes.push(i2), Sn(t2.wbrels, -1, "theme/theme1.xml", yn.THEME), wt(s2, i2 = "xl/styles." + r2, eo(e2, t2)), n2.styles.push(i2), Sn(t2.wbrels, -1, "styles." + r2, yn.STY), e2.vbaraw && a2 && (wt(s2, i2 = "xl/vbaProject.bin", e2.vbaraw), n2.vba.push(i2), Sn(t2.wbrels, -1, "vbaProject.bin", yn.VBA)), wt(s2, i2 = "xl/metadata." + r2, ((f2 = [kt]).push('<metadata xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:xlrd="http://schemas.microsoft.com/office/spreadsheetml/2017/richdata" xmlns:xda="http://schemas.microsoft.com/office/spreadsheetml/2017/dynamicarray">\n  <metadataTypes count="1">\n    <metadataType name="XLDAPR" minSupportedVersion="120000" copy="1" pasteAll="1" pasteValues="1" merge="1" splitFirst="1" rowColShift="1" clearFormats="1" clearComments="1" assign="1" coerce="1" cellMeta="1"/>\n  </metadataTypes>\n  <futureMetadata name="XLDAPR" count="1">\n    <bk>\n      <extLst>\n        <ext uri="{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}">\n          <xda:dynamicArrayProperties fDynamic="1" fCollapsed="0"/>\n        </ext>\n      </extLst>\n    </bk>\n  </futureMetadata>\n  <cellMetadata count="1">\n    <bk>\n      <rc t="1" v="0"/>\n    </bk>\n  </cellMetadata>\n</metadata>'), f2.join(""))), n2.metadata.push(i2), Sn(t2.wbrels, -1, "metadata." + r2, yn.XLMETA), h2.length > 1 && (wt(s2, i2 = "xl/persons/person.xml", Ao(h2)), n2.people.push(i2), Sn(t2.wbrels, -1, "persons/person.xml", yn.PEOPLE)), wt(s2, "[Content_Types].xml", Tn(n2, t2)), wt(s2, "_rels/.rels", _n(t2.rels)), wt(s2, "xl/_rels/workbook.xml.rels", _n(t2.wbrels)), delete t2.revssf, delete t2.ssf, s2;
}
function nu(e2, t2) {
  var r2 = "";
  switch ((t2 || {}).type || "base64") {
    case "buffer":
    case "array":
      return [e2[0], e2[1], e2[2], e2[3], e2[4], e2[5], e2[6], e2[7]];
    case "base64":
      r2 = b(e2.slice(0, 12));
      break;
    case "binary":
      r2 = e2;
      break;
    default:
      throw new Error("Unrecognized type " + (t2 && t2.type || "undefined"));
  }
  return [r2.charCodeAt(0), r2.charCodeAt(1), r2.charCodeAt(2), r2.charCodeAt(3), r2.charCodeAt(4), r2.charCodeAt(5), r2.charCodeAt(6), r2.charCodeAt(7)];
}
function su(e2, t2) {
  var r2 = 0;
  e: for (; r2 < e2.length; ) switch (e2.charCodeAt(r2)) {
    case 10:
    case 13:
    case 32:
      ++r2;
      break;
    case 60:
      return tf(e2.slice(r2), t2);
    default:
      break e;
  }
  return hi.to_workbook(e2, t2);
}
function iu(t2, r2) {
  var a2 = t2;
  return "base64" == r2.type && (a2 = b(a2)), "undefined" != typeof ArrayBuffer && t2 instanceof ArrayBuffer && (a2 = new Uint8Array(t2)), a2 = void 0 !== e ? e.utils.decode(1200, a2.slice(2), "str") : w && Buffer.isBuffer(t2) ? t2.slice(2).toString("utf16le") : "undefined" != typeof Uint8Array && a2 instanceof Uint8Array ? "undefined" != typeof TextDecoder ? new TextDecoder("utf-16le").decode(a2.slice(2)) : function(e2) {
    for (var t3 = [], r3 = 0; r3 < e2.length >> 1; ++r3) t3[r3] = String.fromCharCode(e2[2 * r3] + (e2[2 * r3 + 1] << 8));
    return t3.join("");
  }(a2.slice(2)) : f(a2.slice(2)), r2.type = "binary", su(a2, r2);
}
function ou(e2, t2, r2, a2) {
  return a2 ? (r2.type = "string", hi.to_workbook(e2, r2)) : hi.to_workbook(t2, r2);
}
function cu(t2, r2) {
  c();
  var a2 = r2 || {};
  if (a2.codepage && void 0 === e && console.error("Codepage tables are not loaded.  Non-ASCII characters may not give expected results"), "undefined" != typeof ArrayBuffer && t2 instanceof ArrayBuffer) return cu(new Uint8Array(t2), ((a2 = Ge(a2)).type = "array", a2));
  if ("undefined" != typeof Int8Array && t2 instanceof Int8Array) return cu(new Uint8Array(t2.buffer, t2.byteOffset, t2.length), a2);
  "undefined" != typeof Uint8Array && t2 instanceof Uint8Array && !a2.type && (a2.type = "undefined" != typeof Deno ? "buffer" : "array");
  var n2, s2 = t2, i2 = false;
  if (a2.cellStyles && (a2.cellNF = true, a2.sheetStubs = true), Oc = {}, a2.dateNF && (Oc.dateNF = a2.dateNF), a2.type || (a2.type = w && Buffer.isBuffer(t2) ? "buffer" : "base64"), "file" == a2.type && (a2.type = w ? "buffer" : "binary", s2 = function(e2) {
    if (void 0 !== _e) return _e.readFileSync(e2);
    if ("undefined" != typeof Deno) return Deno.readFileSync(e2);
    if ("undefined" != typeof $ && "undefined" != typeof File && "undefined" != typeof Folder) try {
      var t3 = File(e2);
      t3.open("r"), t3.encoding = "binary";
      var r3 = t3.read();
      return t3.close(), r3;
    } catch (e3) {
      if (!e3.message || -1 == e3.message.indexOf("onstruct")) throw e3;
    }
    throw new Error("Cannot access file " + e2);
  }(t2), "undefined" == typeof Uint8Array || w || (a2.type = "array")), "string" == a2.type && (i2 = true, a2.type = "binary", a2.codepage = 65001, s2 = function(e2) {
    return e2.match(/[^\x00-\x7F]/) ? Kt(e2) : e2;
  }(t2)), "array" == a2.type && "undefined" != typeof Uint8Array && t2 instanceof Uint8Array && "undefined" != typeof ArrayBuffer) {
    var o2 = new ArrayBuffer(3), l2 = new Uint8Array(o2);
    if (l2.foo = "bar", !l2.foo) return (a2 = Ge(a2)).type = "array", cu(A(s2), a2);
  }
  switch ((n2 = nu(s2, a2))[0]) {
    case 208:
      if (207 === n2[1] && 17 === n2[2] && 224 === n2[3] && 161 === n2[4] && 177 === n2[5] && 26 === n2[6] && 225 === n2[7]) return function(e2, t3) {
        return xe.find(e2, "EncryptedPackage") ? ru(e2, t3) : Ef(e2, t3);
      }(xe.read(s2, a2), a2);
      break;
    case 9:
      if (n2[1] <= 8) return Ef(s2, a2);
      break;
    case 60:
      return tf(s2, a2);
    case 73:
      if (73 === n2[1] && 42 === n2[2] && 0 === n2[3]) throw new Error("TIFF Image File is not a spreadsheet");
      if (68 === n2[1]) return function(e2, t3) {
        var r3 = t3 || {}, a3 = !!r3.WTF;
        r3.WTF = true;
        try {
          var n3 = ci.to_workbook(e2, r3);
          return r3.WTF = a3, n3;
        } catch (n4) {
          if (r3.WTF = a3, -1 == n4.message.indexOf("SYLK bad record ID") && a3) throw n4;
          return hi.to_workbook(e2, t3);
        }
      }(s2, a2);
      break;
    case 84:
      if (65 === n2[1] && 66 === n2[2] && 76 === n2[3]) return li.to_workbook(s2, a2);
      break;
    case 80:
      return 75 === n2[1] && n2[2] < 9 && n2[3] < 9 ? function(e2, t3) {
        var r3 = e2, a3 = t3 || {};
        return a3.type || (a3.type = w && Buffer.isBuffer(e2) ? "buffer" : "base64"), tu(yt(r3, a3), a3);
      }(s2, a2) : ou(t2, s2, a2, i2);
    case 239:
      return 60 === n2[3] ? tf(s2, a2) : ou(t2, s2, a2, i2);
    case 255:
      if (254 === n2[1]) return iu(s2, a2);
      if (0 === n2[1] && 2 === n2[2] && 0 === n2[3]) return ui.to_workbook(s2, a2);
      break;
    case 0:
      if (0 === n2[1]) {
        if (n2[2] >= 2 && 0 === n2[3]) return ui.to_workbook(s2, a2);
        if (0 === n2[2] && (8 === n2[3] || 9 === n2[3])) return ui.to_workbook(s2, a2);
      }
      break;
    case 3:
    case 131:
    case 139:
    case 140:
      return oi.to_workbook(s2, a2);
    case 123:
      if (92 === n2[1] && 114 === n2[2] && 116 === n2[3]) return Li(s2, a2);
      break;
    case 10:
    case 13:
    case 32:
      return function(e2, t3) {
        var r3 = "", a3 = nu(e2, t3);
        switch (t3.type) {
          case "base64":
            r3 = b(e2);
            break;
          case "binary":
            r3 = e2;
            break;
          case "buffer":
            r3 = e2.toString("binary");
            break;
          case "array":
            r3 = $e(e2);
            break;
          default:
            throw new Error("Unrecognized type " + t3.type);
        }
        return 239 == a3[0] && 187 == a3[1] && 191 == a3[2] && (r3 = jt(r3)), t3.type = "binary", su(r3, t3);
      }(s2, a2);
    case 137:
      if (80 === n2[1] && 78 === n2[2] && 71 === n2[3]) throw new Error("PNG Image File is not a spreadsheet");
      break;
    case 8:
      if (231 === n2[1]) throw new Error("Unsupported Multiplan 1.x file!");
      break;
    case 12:
      if (236 === n2[1]) throw new Error("Unsupported Multiplan 2.x file!");
      if (237 === n2[1]) throw new Error("Unsupported Multiplan 3.x file!");
  }
  return ii.indexOf(n2[0]) > -1 && n2[2] <= 12 && n2[3] <= 31 ? oi.to_workbook(s2, a2) : ou(t2, s2, a2, i2);
}
function lu(e2, t2) {
  var r2 = t2 || {};
  return r2.type = "file", cu(e2, r2);
}
function fu(e2, t2) {
  switch (t2.type) {
    case "base64":
    case "binary":
      break;
    case "buffer":
    case "array":
      t2.type = "";
      break;
    case "file":
      return Ie(t2.file, xe.write(e2, { type: w ? "buffer" : "" }));
    case "string":
      throw new Error("'string' output type invalid for '" + t2.bookType + "' files");
    default:
      throw new Error("Unrecognized type " + t2.type);
  }
  return xe.write(e2, t2);
}
function hu(e2, t2) {
  switch (t2.bookType) {
    case "ods":
      return ah(e2, t2);
    case "numbers":
      return Vh(e2, t2);
    case "xlsb":
      return function(e3, t3) {
        e3 && !e3.SSF && (e3.SSF = Ge(W)), e3 && e3.SSF && (be(), ge(e3.SSF), t3.revssf = Fe(e3.SSF), t3.revssf[e3.SSF[65535]] = 0, t3.ssf = e3.SSF), t3.rels = {}, t3.wbrels = {}, t3.Strings = [], t3.Strings.Count = 0, t3.Strings.Unique = 0, Rc ? t3.revStrings = /* @__PURE__ */ new Map() : (t3.revStrings = {}, t3.revStrings.foo = [], delete t3.revStrings.foo);
        var r2 = "bin", a2 = { workbooks: [], sheets: [], charts: [], dialogs: [], macros: [], rels: [], strs: [], comments: [], threadedcomments: [], links: [], coreprops: [], extprops: [], custprops: [], themes: [], styles: [], calcchains: [], vba: [], drawings: [], metadata: [], people: [], TODO: [], xmlns: "" };
        Jh(t3 = t3 || {});
        var n2 = Tt(), s2 = "", i2 = 0;
        if (t3.cellXfs = [], Pc(t3.cellXfs, {}, { revssf: { General: 0 } }), e3.Props || (e3.Props = {}), wt(n2, s2 = "docProps/core.xml", Nn(e3.Props, t3)), a2.coreprops.push(s2), Sn(t3.rels, 2, s2, yn.CORE_PROPS), s2 = "docProps/app.xml", e3.Props && e3.Props.SheetNames) ;
        else if (e3.Workbook && e3.Workbook.Sheets) {
          for (var o2 = [], c2 = 0; c2 < e3.SheetNames.length; ++c2) 2 != (e3.Workbook.Sheets[c2] || {}).Hidden && o2.push(e3.SheetNames[c2]);
          e3.Props.SheetNames = o2;
        } else e3.Props.SheetNames = e3.SheetNames;
        e3.Props.Worksheets = e3.Props.SheetNames.length, wt(n2, s2, Mn(e3.Props)), a2.extprops.push(s2), Sn(t3.rels, 3, s2, yn.EXT_PROPS), e3.Custprops !== e3.Props && Oe(e3.Custprops || {}).length > 0 && (wt(n2, s2 = "docProps/custom.xml", Un(e3.Custprops)), a2.custprops.push(s2), Sn(t3.rels, 4, s2, yn.CUST_PROPS));
        var l2 = ["SheetJ5"];
        for (t3.tcid = 0, i2 = 1; i2 <= e3.SheetNames.length; ++i2) {
          var f2 = { "!id": {} }, h2 = e3.Sheets[e3.SheetNames[i2 - 1]];
          if ((h2 || {})["!type"], wt(n2, s2 = "xl/worksheets/sheet" + i2 + "." + r2, ml(i2 - 1, t3, e3, f2)), a2.sheets.push(s2), Sn(t3.wbrels, -1, "worksheets/sheet" + i2 + "." + r2, yn.WS[0]), h2) {
            var u2 = h2["!comments"], d2 = false, p2 = "";
            if (u2 && u2.length > 0) {
              var m2 = false;
              u2.forEach(function(e4) {
                e4[1].forEach(function(e5) {
                  1 == e5.T && (m2 = true);
                });
              }), m2 && (wt(n2, p2 = "xl/threadedComments/threadedComment" + i2 + ".xml", xo(u2, l2, t3)), a2.threadedcomments.push(p2), Sn(f2, -1, "../threadedComments/threadedComment" + i2 + ".xml", yn.TCMNT)), wt(n2, p2 = "xl/comments" + i2 + "." + r2, Oo(u2)), a2.comments.push(p2), Sn(f2, -1, "../comments" + i2 + "." + r2, yn.CMNT), d2 = true;
            }
            h2["!legacy"] && d2 && wt(n2, "xl/drawings/vmlDrawing" + i2 + ".vml", ko(i2, h2["!comments"])), delete h2["!comments"], delete h2["!legacy"];
          }
          f2["!id"].rId1 && wt(n2, En(s2), _n(f2));
        }
        return null != t3.Strings && t3.Strings.length > 0 && (wt(n2, s2 = "xl/sharedStrings." + r2, Ei(t3.Strings)), a2.strs.push(s2), Sn(t3.wbrels, -1, "sharedStrings." + r2, yn.SST)), wt(n2, s2 = "xl/workbook." + r2, Fl(e3)), a2.workbooks.push(s2), Sn(t3.rels, 1, s2, yn.WB), wt(n2, s2 = "xl/theme/theme1.xml", bo(e3.Themes, t3)), a2.themes.push(s2), Sn(t3.wbrels, -1, "theme/theme1.xml", yn.THEME), wt(n2, s2 = "xl/styles." + r2, po(e3, t3)), a2.styles.push(s2), Sn(t3.wbrels, -1, "styles." + r2, yn.STY), e3.vbaraw && (wt(n2, s2 = "xl/vbaProject.bin", e3.vbaraw), a2.vba.push(s2), Sn(t3.wbrels, -1, "vbaProject.bin", yn.VBA)), wt(n2, s2 = "xl/metadata." + r2, Eo()), a2.metadata.push(s2), Sn(t3.wbrels, -1, "metadata." + r2, yn.XLMETA), l2.length > 1 && (wt(n2, s2 = "xl/persons/person.xml", Ao(l2)), a2.people.push(s2), Sn(t3.wbrels, -1, "persons/person.xml", yn.PEOPLE)), wt(n2, "[Content_Types].xml", Tn(a2, t3)), wt(n2, "_rels/.rels", _n(t3.rels)), wt(n2, "xl/_rels/workbook.bin.rels", _n(t3.wbrels)), delete t3.revssf, delete t3.ssf, n2;
      }(e2, t2);
    default:
      return au(e2, t2);
  }
}
function uu(e2, t2) {
  var r2 = {}, a2 = w ? "nodebuffer" : "undefined" != typeof Uint8Array ? "array" : "string";
  if (t2.compression && (r2.compression = "DEFLATE"), t2.password) r2.type = a2;
  else switch (t2.type) {
    case "base64":
      r2.type = "base64";
      break;
    case "binary":
      r2.type = "string";
      break;
    case "string":
      throw new Error("'string' output type invalid for '" + t2.bookType + "' files");
    case "buffer":
    case "file":
      r2.type = a2;
      break;
    default:
      throw new Error("Unrecognized type " + t2.type);
  }
  var n2 = e2.FullPaths ? xe.write(e2, { fileType: "zip", type: { nodebuffer: "buffer", string: "binary" }[r2.type] || r2.type, compression: !!t2.compression }) : e2.generate(r2);
  if ("undefined" != typeof Deno && "string" == typeof n2) {
    if ("binary" == t2.type || "base64" == t2.type) return n2;
    n2 = new Uint8Array(S(n2));
  }
  return t2.password && "undefined" != typeof encrypt_agile ? fu(encrypt_agile(n2, t2.password), t2) : "file" === t2.type ? Ie(t2.file, n2) : "string" == t2.type ? jt(n2) : n2;
}
function du(e2, t2, r2) {
  r2 || (r2 = "");
  var a2 = r2 + e2;
  switch (t2.type) {
    case "base64":
      return g(Kt(a2));
    case "binary":
      return Kt(a2);
    case "string":
      return e2;
    case "file":
      return Ie(t2.file, a2, "utf8");
    case "buffer":
      return w ? T(a2, "utf8") : "undefined" != typeof TextEncoder ? new TextEncoder().encode(a2) : du(a2, { type: "binary" }).split("").map(function(e3) {
        return e3.charCodeAt(0);
      });
  }
  throw new Error("Unrecognized type " + t2.type);
}
function pu(e2, t2) {
  switch (t2.type) {
    case "base64":
      return function(e3) {
        for (var t3 = "", r2 = 0, a2 = 0, n2 = 0, s2 = 0, i2 = 0, o2 = 0, c2 = 0, l2 = 0; l2 < e3.length; ) (r2 = e3.charCodeAt(l2++)) > 255 && (r2 = 95), s2 = r2 >> 2, (a2 = e3.charCodeAt(l2++)) > 255 && (a2 = 95), i2 = (3 & r2) << 4 | a2 >> 4, (n2 = e3.charCodeAt(l2++)) > 255 && (n2 = 95), o2 = (15 & a2) << 2 | n2 >> 6, c2 = 63 & n2, isNaN(a2) ? o2 = c2 = 64 : isNaN(n2) && (c2 = 64), t3 += v.charAt(s2) + v.charAt(i2) + v.charAt(o2) + v.charAt(c2);
        return t3;
      }(e2);
    case "binary":
    case "string":
      return e2;
    case "file":
      return Ie(t2.file, e2, "binary");
    case "buffer":
      return w ? T(e2, "binary") : e2.split("").map(function(e3) {
        return e3.charCodeAt(0);
      });
  }
  throw new Error("Unrecognized type " + t2.type);
}
function mu(e2, t2) {
  switch (t2.type) {
    case "string":
    case "base64":
    case "binary":
      for (var r2 = "", a2 = 0; a2 < e2.length; ++a2) r2 += String.fromCharCode(e2[a2]);
      return "base64" == t2.type ? g(r2) : "string" == t2.type ? jt(r2) : r2;
    case "file":
      return Ie(t2.file, e2);
    case "buffer":
      return e2;
    default:
      throw new Error("Unrecognized type " + t2.type);
  }
}
function vu(e2, t2) {
  c(), xl(e2);
  var r2 = Ge(t2 || {});
  if (r2.cellStyles && (r2.cellNF = true, r2.sheetStubs = true), "array" == r2.type) {
    r2.type = "binary";
    var a2 = vu(e2, r2);
    return r2.type = "array", S(a2);
  }
  return function(e3, t3) {
    var r3 = Ge(t3 || {});
    return uu(au(e3, r3), r3);
  }(e2, r2);
}
function gu(e2, t2) {
  c(), xl(e2);
  var r2 = Ge(t2 || {});
  if (r2.cellStyles && (r2.cellNF = true, r2.sheetStubs = true), "array" == r2.type) {
    r2.type = "binary";
    var a2 = gu(e2, r2);
    return r2.type = "array", S(a2);
  }
  var n2 = 0;
  if (r2.sheet && (n2 = "number" == typeof r2.sheet ? r2.sheet : e2.SheetNames.indexOf(r2.sheet), !e2.SheetNames[n2])) throw new Error("Sheet not found: " + r2.sheet + " : " + typeof r2.sheet);
  switch (r2.bookType || "xlsb") {
    case "xml":
    case "xlml":
      return du(function(e3, t3) {
        t3 || (t3 = {}), e3.SSF || (e3.SSF = Ge(W)), e3.SSF && (be(), ge(e3.SSF), t3.revssf = Fe(e3.SSF), t3.revssf[e3.SSF[65535]] = 0, t3.ssf = e3.SSF, t3.cellXfs = [], Pc(t3.cellXfs, {}, { revssf: { General: 0 } }));
        var r3 = [];
        r3.push(rf(e3, t3)), r3.push(af(e3)), r3.push(""), r3.push(of(e3));
        for (var a3 = 0; a3 < e3.SheetNames.length; ++a3) r3.push(rr("Worksheet", uf(a3, t3, e3), { "ss:Name": Lt(e3.SheetNames[a3]) }));
        return r3[2] = nf(0, t3), kt + rr("Workbook", r3.join(""), { xmlns: Er, "xmlns:o": Tr, "xmlns:x": yr, "xmlns:ss": Er, "xmlns:dt": kr, "xmlns:html": xr });
      }(e2, r2), r2);
    case "slk":
    case "sylk":
      return du(ci.from_sheet(e2.Sheets[e2.SheetNames[n2]], r2, e2), r2);
    case "htm":
    case "html":
      return du($f(e2.Sheets[e2.SheetNames[n2]], r2), r2);
    case "txt":
      return pu(Au(e2.Sheets[e2.SheetNames[n2]], r2), r2);
    case "csv":
      return du(xu(e2.Sheets[e2.SheetNames[n2]], r2), r2, "\uFEFF");
    case "dif":
      return du(li.from_sheet(e2.Sheets[e2.SheetNames[n2]], r2), r2);
    case "dbf":
      return mu(oi.from_sheet(e2.Sheets[e2.SheetNames[n2]], r2), r2);
    case "prn":
      return du(hi.from_sheet(e2.Sheets[e2.SheetNames[n2]], r2), r2);
    case "rtf":
      return du(function(e3) {
        var t3 = ["{\\rtf1\\ansi"];
        if (!e3["!ref"]) return t3[0] + "}";
        for (var r3, a3 = Aa(e3["!ref"]), n3 = null != e3["!data"], s2 = [], i2 = a3.s.r; i2 <= a3.e.r; ++i2) {
          t3.push("\\trowd\\trautofit1");
          for (var o2 = a3.s.c; o2 <= a3.e.c; ++o2) t3.push("\\cellx" + (o2 + 1));
          for (t3.push("\\pard\\intbl"), n3 && (s2 = e3["!data"][i2] || []), o2 = a3.s.c; o2 <= a3.e.c; ++o2) {
            var c2 = Ea({ r: i2, c: o2 });
            (r3 = n3 ? s2[o2] : e3[c2]) && (null != r3.v || r3.f && !r3.F) ? (t3.push(" " + (r3.w || (Ia(r3), r3.w) || "").replace(/[\r\n]/g, "\\par ")), t3.push("\\cell")) : t3.push(" \\cell");
          }
          t3.push("\\pard\\intbl\\row");
        }
        return t3.join("") + "}";
      }(e2.Sheets[e2.SheetNames[n2]]), r2);
    case "eth":
      return du(fi.from_sheet(e2.Sheets[e2.SheetNames[n2]], r2), r2);
    case "fods":
      return du(ah(e2, r2), r2);
    case "wk1":
      return mu(ui.sheet_to_wk1(e2.Sheets[e2.SheetNames[n2]], r2), r2);
    case "wk3":
      return mu(ui.book_to_wk3(e2, r2), r2);
    case "biff2":
      r2.biff || (r2.biff = 2);
    case "biff3":
      r2.biff || (r2.biff = 3);
    case "biff4":
      return r2.biff || (r2.biff = 4), mu(Uf(e2, r2), r2);
    case "biff5":
      r2.biff || (r2.biff = 5);
    case "biff8":
    case "xla":
    case "xls":
      return r2.biff || (r2.biff = 8), function(e3, t3) {
        var r3 = t3 || {};
        return fu(kf(e3, r3), r3);
      }(e2, r2);
    case "xlsx":
    case "xlsm":
    case "xlam":
    case "xlsb":
    case "numbers":
    case "ods":
      return function(e3, t3) {
        var r3 = Ge(t3 || {});
        return uu(hu(e3, r3), r3);
      }(e2, r2);
    default:
      throw new Error("Unrecognized bookType |" + r2.bookType + "|");
  }
}
function bu(e2) {
  if (!e2.bookType) {
    var t2 = e2.file.slice(e2.file.lastIndexOf(".")).toLowerCase();
    t2.match(/^\.[a-z]+$/) && (e2.bookType = t2.slice(1)), e2.bookType = { xls: "biff8", htm: "html", slk: "sylk", socialcalc: "eth", Sh33tJS: "WTF" }[e2.bookType] || e2.bookType;
  }
}
function wu(e2, t2, r2) {
  var a2 = r2 || {};
  return a2.type = "file", a2.file = t2, bu(a2), gu(e2, a2);
}
function Tu(e2, t2, r2) {
  var a2 = r2 || {};
  return a2.type = "file", a2.file = t2, bu(a2), vu(e2, a2);
}
function yu(e2, t2, r2, a2) {
  var n2 = r2 || {};
  n2.type = "file", n2.file = e2, bu(n2), n2.type = "buffer";
  var s2 = a2;
  return s2 instanceof Function || (s2 = r2), _e.writeFile(e2, gu(t2, n2), s2);
}
function Eu(e2, t2, r2, a2, n2, s2, i2) {
  var o2 = ba(r2), c2 = i2.defval, l2 = i2.raw || !Object.prototype.hasOwnProperty.call(i2, "raw"), f2 = true, h2 = null != e2["!data"], u2 = 1 === n2 ? [] : {};
  if (1 !== n2) if (Object.defineProperty) try {
    Object.defineProperty(u2, "__rowNum__", { value: r2, enumerable: false });
  } catch (e3) {
    u2.__rowNum__ = r2;
  }
  else u2.__rowNum__ = r2;
  if (!h2 || e2["!data"][r2]) for (var d2 = t2.s.c; d2 <= t2.e.c; ++d2) {
    var p2 = h2 ? (e2["!data"][r2] || [])[d2] : e2[a2[d2] + o2];
    if (null != p2 && void 0 !== p2.t) {
      var m2 = p2.v;
      switch (p2.t) {
        case "z":
          if (null == m2) break;
          continue;
        case "e":
          m2 = 0 == m2 ? null : void 0;
          break;
        case "s":
        case "b":
        case "n":
          if (!p2.z || !he(p2.z)) break;
          if ("number" == typeof (m2 = Ue(m2))) break;
        case "d":
          i2 && (i2.UTC || false === i2.raw) || (m2 = tt(new Date(m2)));
          break;
        default:
          throw new Error("unrecognized type " + p2.t);
      }
      if (null != s2[d2]) {
        if (null == m2) if ("e" == p2.t && null === m2) u2[s2[d2]] = null;
        else if (void 0 !== c2) u2[s2[d2]] = c2;
        else {
          if (!l2 || null !== m2) continue;
          u2[s2[d2]] = null;
        }
        else u2[s2[d2]] = ("n" === p2.t && "boolean" == typeof i2.rawNumbers ? i2.rawNumbers : l2) ? m2 : Ia(p2, m2, i2);
        null != m2 && (f2 = false);
      }
    } else {
      if (void 0 === c2) continue;
      null != s2[d2] && (u2[s2[d2]] = c2);
    }
  }
  return { row: u2, isempty: f2 };
}
function ku(e2, t2) {
  if (null == e2 || null == e2["!ref"]) return [];
  var r2 = { t: "n", v: 0 }, a2 = 0, n2 = 1, s2 = [], i2 = 0, o2 = "", c2 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }, l2 = t2 || {}, f2 = null != l2.range ? l2.range : e2["!ref"];
  switch (1 === l2.header ? a2 = 1 : "A" === l2.header ? a2 = 2 : Array.isArray(l2.header) ? a2 = 3 : null == l2.header && (a2 = 0), typeof f2) {
    case "string":
      c2 = Aa(f2);
      break;
    case "number":
      (c2 = Aa(e2["!ref"])).s.r = f2;
      break;
    default:
      c2 = f2;
  }
  a2 > 0 && (n2 = 0);
  var h2 = ba(c2.s.r), u2 = [], d2 = [], p2 = 0, m2 = 0, v2 = null != e2["!data"], g2 = c2.s.r, b2 = 0, w2 = {};
  v2 && !e2["!data"][g2] && (e2["!data"][g2] = []);
  var T2 = l2.skipHidden && e2["!cols"] || [], y2 = l2.skipHidden && e2["!rows"] || [];
  for (b2 = c2.s.c; b2 <= c2.e.c; ++b2) if (!(T2[b2] || {}).hidden) switch (u2[b2] = Ta(b2), r2 = v2 ? e2["!data"][g2][b2] : e2[u2[b2] + h2], a2) {
    case 1:
      s2[b2] = b2 - c2.s.c;
      break;
    case 2:
      s2[b2] = u2[b2];
      break;
    case 3:
      s2[b2] = l2.header[b2 - c2.s.c];
      break;
    default:
      if (null == r2 && (r2 = { w: "__EMPTY", t: "s" }), o2 = i2 = Ia(r2, null, l2), m2 = w2[i2] || 0) {
        do {
          o2 = i2 + "_" + m2++;
        } while (w2[o2]);
        w2[i2] = m2, w2[o2] = 1;
      } else w2[i2] = 1;
      s2[b2] = o2;
  }
  for (g2 = c2.s.r + n2; g2 <= c2.e.r; ++g2) if (!(y2[g2] || {}).hidden) {
    var E2 = Eu(e2, c2, g2, u2, a2, s2, l2);
    (false === E2.isempty || (1 === a2 ? false !== l2.blankrows : l2.blankrows)) && (d2[p2++] = E2.row);
  }
  return d2.length = p2, d2;
}
var _u = /"/g;
function Su(e2, t2, r2, a2, n2, s2, i2, o2, c2) {
  for (var l2 = true, f2 = [], h2 = "", u2 = ba(r2), d2 = null != e2["!data"], p2 = d2 && e2["!data"][r2] || [], m2 = t2.s.c; m2 <= t2.e.c; ++m2) if (a2[m2]) {
    var v2 = d2 ? p2[m2] : e2[a2[m2] + u2];
    if (null == v2) h2 = "";
    else if (null != v2.v) {
      l2 = false, h2 = "" + (c2.rawNumbers && "n" == v2.t ? v2.v : Ia(v2, null, c2));
      for (var g2 = 0, b2 = 0; g2 !== h2.length; ++g2) if ((b2 = h2.charCodeAt(g2)) === n2 || b2 === s2 || 34 === b2 || c2.forceQuotes) {
        h2 = '"' + h2.replace(_u, '""') + '"';
        break;
      }
      "ID" == h2 && 0 == o2 && 0 == f2.length && (h2 = '"ID"');
    } else null == v2.f || v2.F ? h2 = "" : (l2 = false, (h2 = "=" + v2.f).indexOf(",") >= 0 && (h2 = '"' + h2.replace(_u, '""') + '"'));
    f2.push(h2);
  }
  if (c2.strip) for (; "" === f2[f2.length - 1]; ) --f2.length;
  return false === c2.blankrows && l2 ? null : f2.join(i2);
}
function xu(e2, t2) {
  var r2 = [], a2 = null == t2 ? {} : t2;
  if (null == e2 || null == e2["!ref"]) return "";
  for (var n2 = Aa(e2["!ref"]), s2 = void 0 !== a2.FS ? a2.FS : ",", i2 = s2.charCodeAt(0), o2 = void 0 !== a2.RS ? a2.RS : "\n", c2 = o2.charCodeAt(0), l2 = "", f2 = [], h2 = a2.skipHidden && e2["!cols"] || [], u2 = a2.skipHidden && e2["!rows"] || [], d2 = n2.s.c; d2 <= n2.e.c; ++d2) (h2[d2] || {}).hidden || (f2[d2] = Ta(d2));
  for (var p2 = 0, m2 = n2.s.r; m2 <= n2.e.r; ++m2) (u2[m2] || {}).hidden || null != (l2 = Su(e2, n2, m2, f2, i2, c2, s2, p2, a2)) && (l2 || false !== a2.blankrows) && r2.push((p2++ ? o2 : "") + l2);
  return r2.join("");
}
function Au(t2, r2) {
  r2 || (r2 = {}), r2.FS = "	", r2.RS = "\n";
  var a2 = xu(t2, r2);
  if (void 0 === e || "string" == r2.type) return a2;
  var n2 = e.utils.encode(1200, a2, "str");
  return String.fromCharCode(255) + String.fromCharCode(254) + n2;
}
function Cu(e2, t2, r2) {
  var a2 = r2 || {}, n2 = e2 ? null != e2["!data"] : a2.dense, s2 = +!a2.skipHeader, i2 = e2 || {};
  !e2 && n2 && (i2["!data"] = []);
  var o2 = 0, c2 = 0;
  if (i2 && null != a2.origin) if ("number" == typeof a2.origin) o2 = a2.origin;
  else {
    var l2 = "string" == typeof a2.origin ? ya(a2.origin) : a2.origin;
    o2 = l2.r, c2 = l2.c;
  }
  var f2 = { s: { c: 0, r: 0 }, e: { c: c2, r: o2 + t2.length - 1 + s2 } };
  if (i2["!ref"]) {
    var h2 = Aa(i2["!ref"]);
    f2.e.c = Math.max(f2.e.c, h2.e.c), f2.e.r = Math.max(f2.e.r, h2.e.r), -1 == o2 && (o2 = h2.e.r + 1, f2.e.r = o2 + t2.length - 1 + s2);
  } else -1 == o2 && (o2 = 0, f2.e.r = t2.length - 1 + s2);
  var u2 = a2.header || [], d2 = 0, p2 = [];
  t2.forEach(function(e3, t3) {
    n2 && !i2["!data"][o2 + t3 + s2] && (i2["!data"][o2 + t3 + s2] = []), n2 && (p2 = i2["!data"][o2 + t3 + s2]), Oe(e3).forEach(function(r3) {
      -1 == (d2 = u2.indexOf(r3)) && (u2[d2 = u2.length] = r3);
      var l3 = e3[r3], f3 = "z", h3 = "", m3 = n2 ? "" : Ta(c2 + d2) + ba(o2 + t3 + s2), v2 = n2 ? p2[c2 + d2] : i2[m3];
      !l3 || "object" != typeof l3 || l3 instanceof Date ? ("number" == typeof l3 ? f3 = "n" : "boolean" == typeof l3 ? f3 = "b" : "string" == typeof l3 ? f3 = "s" : l3 instanceof Date ? (f3 = "d", a2.UTC || (l3 = rt(l3)), a2.cellDates || (f3 = "n", l3 = Le(l3)), h3 = null != v2 && v2.z && he(v2.z) ? v2.z : a2.dateNF || W[14]) : null === l3 && a2.nullError && (f3 = "e", l3 = 0), v2 ? (v2.t = f3, v2.v = l3, delete v2.w, delete v2.R, h3 && (v2.z = h3)) : n2 ? p2[c2 + d2] = v2 = { t: f3, v: l3 } : i2[m3] = v2 = { t: f3, v: l3 }, h3 && (v2.z = h3)) : n2 ? p2[c2 + d2] = l3 : i2[m3] = l3;
    });
  }), f2.e.c = Math.max(f2.e.c, c2 + u2.length - 1);
  var m2 = ba(o2);
  if (n2 && !i2["!data"][o2] && (i2["!data"][o2] = []), s2) for (d2 = 0; d2 < u2.length; ++d2) n2 ? i2["!data"][o2][d2 + c2] = { t: "s", v: u2[d2] } : i2[Ta(d2 + c2) + m2] = { t: "s", v: u2[d2] };
  return i2["!ref"] = _a(f2), i2;
}
function Iu(e2, t2, r2) {
  if ("string" == typeof t2) {
    if (null != e2["!data"]) {
      var a2 = ya(t2);
      return e2["!data"][a2.r] || (e2["!data"][a2.r] = []), e2["!data"][a2.r][a2.c] || (e2["!data"][a2.r][a2.c] = { t: "z" });
    }
    return e2[t2] || (e2[t2] = { t: "z" });
  }
  return Iu(e2, "number" != typeof t2 ? Ea(t2) : Ta(r2 || 0) + ba(t2));
}
function Ou(e2, t2) {
  var r2 = { SheetNames: [], Sheets: {} };
  return e2 && Ru(r2, e2, t2 || "Sheet1"), r2;
}
function Ru(e2, t2, r2, a2) {
  var n2 = 1;
  if (!r2) for (; n2 <= 65535 && -1 != e2.SheetNames.indexOf(r2 = "Sheet" + n2); ++n2, r2 = void 0) ;
  if (!r2 || e2.SheetNames.length >= 65535) throw new Error("Too many worksheets");
  if (a2 && e2.SheetNames.indexOf(r2) >= 0 && r2.length < 32) {
    var s2 = r2.match(/\d+$/);
    n2 = s2 && +s2[0] || 0;
    var i2 = s2 && r2.slice(0, s2.index) || r2;
    for (++n2; n2 <= 65535 && -1 != e2.SheetNames.indexOf(r2 = i2 + n2); ++n2) ;
  }
  if (Sl(r2), e2.SheetNames.indexOf(r2) >= 0) throw new Error("Worksheet with name |" + r2 + "| already exists!");
  return e2.SheetNames.push(r2), e2.Sheets[r2] = t2, r2;
}
function Nu(e2, t2, r2) {
  return t2 ? (e2.l = { Target: t2 }, r2 && (e2.l.Tooltip = r2)) : delete e2.l, e2;
}
var Fu, Du = { encode_col: Ta, encode_row: ba, encode_cell: Ea, encode_range: _a, decode_col: wa, decode_row: ga, split_cell: function(e2) {
  return e2.replace(/(\$?[A-Z]*)(\$?\d*)/, "$1,$2").split(",");
}, decode_cell: ya, decode_range: ka, format_cell: Ia, sheet_new: function(e2) {
  var t2 = {};
  return (e2 || {}).dense && (t2["!data"] = []), t2;
}, sheet_add_aoa: Ra, sheet_add_json: Cu, sheet_add_dom: Gf, aoa_to_sheet: Na, json_to_sheet: function(e2, t2) {
  return Cu(null, e2, t2);
}, table_to_sheet: Xf, table_to_book: function(e2, t2) {
  return Oa(Xf(e2, t2), t2);
}, sheet_to_csv: xu, sheet_to_txt: Au, sheet_to_json: ku, sheet_to_html: $f, sheet_to_formulae: function(e2, t2) {
  var r2, a2 = "", n2 = "";
  if (null == e2 || null == e2["!ref"]) return [];
  var s2, i2 = Aa(e2["!ref"]), o2 = "", c2 = [], l2 = [], f2 = null != e2["!data"];
  for (s2 = i2.s.c; s2 <= i2.e.c; ++s2) c2[s2] = Ta(s2);
  for (var h2 = i2.s.r; h2 <= i2.e.r; ++h2) for (o2 = ba(h2), s2 = i2.s.c; s2 <= i2.e.c; ++s2) if (a2 = c2[s2] + o2, n2 = "", void 0 !== (r2 = f2 ? (e2["!data"][h2] || [])[s2] : e2[a2])) {
    if (null != r2.F) {
      if (a2 = r2.F, !r2.f) continue;
      n2 = r2.f, -1 == a2.indexOf(":") && (a2 = a2 + ":" + a2);
    }
    if (null != r2.f) n2 = r2.f;
    else {
      if (t2 && false === t2.values) continue;
      if ("z" == r2.t) continue;
      if ("n" == r2.t && null != r2.v) n2 = "" + r2.v;
      else if ("b" == r2.t) n2 = r2.v ? "TRUE" : "FALSE";
      else if (void 0 !== r2.w) n2 = "'" + r2.w;
      else {
        if (void 0 === r2.v) continue;
        n2 = "s" == r2.t ? "'" + r2.v : "" + r2.v;
      }
    }
    l2[l2.length] = a2 + "=" + n2;
  }
  return l2;
}, sheet_to_row_object_array: ku, sheet_get_cell: Iu, book_new: Ou, book_append_sheet: Ru, book_set_sheet_visibility: function(e2, t2, r2) {
  e2.Workbook || (e2.Workbook = {}), e2.Workbook.Sheets || (e2.Workbook.Sheets = []);
  var a2 = function(e3, t3) {
    if ("number" == typeof t3) {
      if (t3 >= 0 && e3.SheetNames.length > t3) return t3;
      throw new Error("Cannot find sheet # " + t3);
    }
    if ("string" == typeof t3) {
      var r3 = e3.SheetNames.indexOf(t3);
      if (r3 > -1) return r3;
      throw new Error("Cannot find sheet name |" + t3 + "|");
    }
    throw new Error("Cannot find sheet |" + t3 + "|");
  }(e2, t2);
  switch (e2.Workbook.Sheets[a2] || (e2.Workbook.Sheets[a2] = {}), r2) {
    case 0:
    case 1:
    case 2:
      break;
    default:
      throw new Error("Bad sheet visibility setting " + r2);
  }
  e2.Workbook.Sheets[a2].Hidden = r2;
}, cell_set_number_format: function(e2, t2) {
  return e2.z = t2, e2;
}, cell_set_hyperlink: Nu, cell_set_internal_link: function(e2, t2, r2) {
  return Nu(e2, "#" + t2, r2);
}, cell_add_comment: function(e2, t2, r2) {
  e2.c || (e2.c = []), e2.c.push({ t: t2, a: r2 || "SheetJS" });
}, sheet_set_array_formula: function(e2, t2, r2, a2) {
  for (var n2 = "string" != typeof t2 ? t2 : Aa(t2), s2 = "string" == typeof t2 ? t2 : _a(t2), i2 = n2.s.r; i2 <= n2.e.r; ++i2) for (var o2 = n2.s.c; o2 <= n2.e.c; ++o2) {
    var c2 = Iu(e2, i2, o2);
    c2.t = "n", c2.F = s2, delete c2.v, i2 == n2.s.r && o2 == n2.s.c && (c2.f = r2, a2 && (c2.D = true));
  }
  var l2 = ka(e2["!ref"]);
  return l2.s.r > n2.s.r && (l2.s.r = n2.s.r), l2.s.c > n2.s.c && (l2.s.c = n2.s.c), l2.e.r < n2.e.r && (l2.e.r = n2.e.r), l2.e.c < n2.e.c && (l2.e.c = n2.e.c), e2["!ref"] = _a(l2), e2;
}, consts: { SHEET_VISIBLE: 0, SHEET_HIDDEN: 1, SHEET_VERY_HIDDEN: 2 } };
var Pu = { to_json: function(e2, t2) {
  var r2 = Fu({ objectMode: true });
  if (null == e2 || null == e2["!ref"]) return r2.push(null), r2;
  var a2 = { t: "n", v: 0 }, n2 = 0, s2 = 1, i2 = [], o2 = 0, c2 = "", l2 = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }, f2 = t2 || {}, h2 = null != f2.range ? f2.range : e2["!ref"];
  switch (1 === f2.header ? n2 = 1 : "A" === f2.header ? n2 = 2 : Array.isArray(f2.header) && (n2 = 3), typeof h2) {
    case "string":
      l2 = Aa(h2);
      break;
    case "number":
      (l2 = Aa(e2["!ref"])).s.r = h2;
      break;
    default:
      l2 = h2;
  }
  n2 > 0 && (s2 = 0);
  var u2 = ba(l2.s.r), d2 = [], p2 = 0, m2 = null != e2["!data"], v2 = l2.s.r, g2 = 0, b2 = {};
  m2 && !e2["!data"][v2] && (e2["!data"][v2] = []);
  var w2 = f2.skipHidden && e2["!cols"] || [], T2 = f2.skipHidden && e2["!rows"] || [];
  for (g2 = l2.s.c; g2 <= l2.e.c; ++g2) if (!(w2[g2] || {}).hidden) switch (d2[g2] = Ta(g2), a2 = m2 ? e2["!data"][v2][g2] : e2[d2[g2] + u2], n2) {
    case 1:
      i2[g2] = g2 - l2.s.c;
      break;
    case 2:
      i2[g2] = d2[g2];
      break;
    case 3:
      i2[g2] = f2.header[g2 - l2.s.c];
      break;
    default:
      if (null == a2 && (a2 = { w: "__EMPTY", t: "s" }), c2 = o2 = Ia(a2, null, f2), p2 = b2[o2] || 0) {
        do {
          c2 = o2 + "_" + p2++;
        } while (b2[c2]);
        b2[o2] = p2, b2[c2] = 1;
      } else b2[o2] = 1;
      i2[g2] = c2;
  }
  return v2 = l2.s.r + s2, r2._read = function() {
    for (; v2 <= l2.e.r; ) if (!(T2[v2 - 1] || {}).hidden) {
      var t3 = Eu(e2, l2, v2, d2, n2, i2, f2);
      if (++v2, false === t3.isempty || (1 === n2 ? false !== f2.blankrows : f2.blankrows)) return void r2.push(t3.row);
    }
    return r2.push(null);
  }, r2;
}, to_html: function(e2, t2) {
  var r2 = Fu(), a2 = t2 || {}, n2 = null != a2.header ? a2.header : zf, s2 = null != a2.footer ? a2.footer : Hf;
  r2.push(n2);
  var i2 = ka(e2["!ref"]);
  r2.push(Vf(0, 0, a2));
  var o2 = i2.s.r, c2 = false;
  return r2._read = function() {
    if (o2 > i2.e.r) return c2 || (c2 = true, r2.push("</table>" + s2)), r2.push(null);
    for (; o2 <= i2.e.r; ) {
      r2.push(Wf(e2, i2, o2, a2)), ++o2;
      break;
    }
  }, r2;
}, to_csv: function(e2, t2) {
  var r2 = Fu(), a2 = null == t2 ? {} : t2;
  if (null == e2 || null == e2["!ref"]) return r2.push(null), r2;
  for (var n2 = Aa(e2["!ref"]), s2 = void 0 !== a2.FS ? a2.FS : ",", i2 = s2.charCodeAt(0), o2 = void 0 !== a2.RS ? a2.RS : "\n", c2 = o2.charCodeAt(0), l2 = "", f2 = [], h2 = a2.skipHidden && e2["!cols"] || [], u2 = a2.skipHidden && e2["!rows"] || [], d2 = n2.s.c; d2 <= n2.e.c; ++d2) (h2[d2] || {}).hidden || (f2[d2] = Ta(d2));
  var p2 = n2.s.r, m2 = false, v2 = 0;
  return r2._read = function() {
    if (!m2) return m2 = true, r2.push("\uFEFF");
    for (; p2 <= n2.e.r; ) if (++p2, !(u2[p2 - 1] || {}).hidden && null != (l2 = Su(e2, n2, p2 - 1, f2, i2, c2, s2, v2, a2)) && (l2 || false !== a2.blankrows)) return r2.push((v2++ ? o2 : "") + l2);
    return r2.push(null);
  }, r2;
}, to_xlml: function(e2, t2) {
  var r2 = Fu(), a2 = null == t2 ? {} : t2, n2 = +a2.stride || 10;
  e2.SSF || (e2.SSF = Ge(W)), e2.SSF && (be(), ge(e2.SSF), a2.revssf = Fe(e2.SSF), a2.revssf[e2.SSF[65535]] = 0, a2.ssf = e2.SSF, a2.cellXfs = [], Pc(a2.cellXfs, {}, { revssf: { General: 0 } })), e2.SheetNames.forEach(function(t3) {
    var r3 = e2.Sheets[t3];
    if (r3 && r3["!ref"]) {
      for (var n3 = ka(r3["!ref"]), s3 = null != r3["!data"], i3 = s3 ? r3["!data"] : [], o3 = n3.s.r; o3 <= n3.e.r; ++o3) if (!s3 || i3[o3]) for (var c3 = n3.s.c; c3 <= n3.e.c; ++c3) {
        var l3 = s3 ? i3[o3][c3] : r3[Ta(c3) + ba(o3)];
        l3 && ("d" == l3.t && null == l3.z && ((l3 = Ge(l3)).z = W[14]), Pc(a2.cellXfs, l3, a2));
      }
    }
  });
  var s2 = nf(0, a2), i2 = 0, o2 = 0, c2 = e2.Sheets[e2.SheetNames[o2]], l2 = Aa(c2), f2 = -1, h2 = false, u2 = [], d2 = 0, p2 = false, m2 = [], v2 = { r: 0, c: 0 };
  return r2._read = function() {
    switch (i2) {
      case 0:
        i2 = 1, r2.push(kt), r2.push("<Workbook" + tr({ xmlns: Er, "xmlns:o": Tr, "xmlns:x": yr, "xmlns:ss": Er, "xmlns:dt": kr, "xmlns:html": xr }) + ">");
        break;
      case 1:
        i2 = 2, r2.push(rf(e2, a2)), r2.push(af(e2));
        break;
      case 2:
        i2 = 3, r2.push(s2), r2.push(of(e2));
        break;
      case 3:
        if (h2 = false, o2 >= e2.SheetNames.length) {
          i2 = -1, r2.push("");
          break;
        }
        if (r2.push("<Worksheet" + tr({ "ss:Name": Lt(e2.SheetNames[o2]) }) + ">"), !(c2 = e2.Sheets[e2.SheetNames[o2]])) return r2.push("</Worksheet>"), void ++o2;
        var t3 = cf(c2, 0, o2, e2);
        if (t3.length && r2.push("<Names>" + t3 + "</Names>"), !c2["!ref"]) return i2 = 5;
        l2 = Aa(c2["!ref"]), f2 = l2.s.r, i2 = 4;
        break;
      case 4:
        if (f2 < 0 || f2 > l2.e.r) return h2 && r2.push("</Table>"), void (i2 = 5);
        f2 <= l2.s.r && (c2["!cols"] && c2["!cols"].forEach(function(e3, t4) {
          Xi(e3);
          var a3 = !!e3.width, n3 = Fc(t4, e3), s3 = { "ss:Index": t4 + 1 };
          a3 && (s3["ss:Width"] = zi(n3.width)), e3.hidden && (s3["ss:Hidden"] = "1"), h2 || (h2 = true, r2.push("<Table>")), r2.push(rr("Column", null, s3));
        }), (p2 = null != c2["!data"]) && (m2 = c2["!data"]), v2.r = v2.c = 0);
        for (var g2 = 0; f2 <= l2.e.r && g2 < n2; ++f2, ++g2) {
          var b2 = [hf(f2, (c2["!rows"] || [])[f2])];
          if (v2.r = f2, !p2 || m2[f2]) for (var w2 = l2.s.c; w2 <= l2.e.c; ++w2) {
            v2.c = w2;
            var T2 = false;
            for (d2 = 0; d2 != u2.length; ++d2) if (!(u2[d2].s.c > w2 || u2[d2].s.r > f2 || u2[d2].e.c < w2 || u2[d2].e.r < f2)) {
              u2[d2].s.c == w2 && u2[d2].s.r == f2 || (T2 = true);
              break;
            }
            if (!T2) {
              var y2 = Ta(w2) + ba(f2), E2 = p2 ? m2[f2][w2] : c2[y2];
              b2.push(ff(E2, y2, c2, a2, 0, 0, v2));
            }
          }
          b2.push("</Row>"), h2 || (h2 = true, r2.push("<Table>")), r2.push(b2.join(""));
        }
        break;
      case 5:
        return r2.push(lf(c2, 0, o2, e2)), c2 && c2["!autofilter"] && r2.push('<AutoFilter x:Range="' + Do(Sa(c2["!autofilter"].ref), { r: 0, c: 0 }) + '" xmlns="urn:schemas-microsoft-com:office:excel"></AutoFilter>'), r2.push("</Worksheet>"), o2++, f2 = -1, void (i2 = 3);
      case -1:
        i2 = -2, r2.push("</Workbook>");
        break;
      case -2:
        r2.push(null);
    }
  }, r2;
}, set_readable: function(e2) {
  Fu = e2;
} };
const Mu = t.version, Lu = { parse_xlscfb: Ef, parse_zip: tu, read: cu, readFile: lu, readFileSync: lu, write: gu, writeFile: wu, writeFileSync: wu, writeFileAsync: yu, writeXLSX: vu, writeFileXLSX: Tu, utils: Du, set_fs: Ae, set_cptable: m, stream: Pu, SSF: we, CFB: xe };
export {
  xe as CFB,
  we as SSF,
  Lu as default,
  Ef as parse_xlscfb,
  tu as parse_zip,
  cu as read,
  lu as readFile,
  lu as readFileSync,
  m as set_cptable,
  Ae as set_fs,
  Pu as stream,
  Du as utils,
  Mu as version,
  gu as write,
  wu as writeFile,
  yu as writeFileAsync,
  wu as writeFileSync,
  Tu as writeFileXLSX,
  vu as writeXLSX
};