{"ast":null,"code":"/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t = function (r, e) {\n  return (t = Object.setPrototypeOf || {\n    __proto__: []\n  } instanceof Array && function (t, r) {\n    t.__proto__ = r;\n  } || function (t, r) {\n    for (var e in r) Object.prototype.hasOwnProperty.call(r, e) && (t[e] = r[e]);\n  })(r, e);\n};\nfunction r(r, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Class extends value \" + String(e) + \" is not a constructor or null\");\n  function i() {\n    this.constructor = r;\n  }\n  t(r, e), r.prototype = null === e ? Object.create(e) : (i.prototype = e.prototype, new i());\n}\nfunction e(t) {\n  var r = \"\";\n  Array.isArray(t) || (t = [t]);\n  for (var e = 0; e < t.length; e++) {\n    var i = t[e];\n    if (i.type === _.CLOSE_PATH) r += \"z\";else if (i.type === _.HORIZ_LINE_TO) r += (i.relative ? \"h\" : \"H\") + i.x;else if (i.type === _.VERT_LINE_TO) r += (i.relative ? \"v\" : \"V\") + i.y;else if (i.type === _.MOVE_TO) r += (i.relative ? \"m\" : \"M\") + i.x + \" \" + i.y;else if (i.type === _.LINE_TO) r += (i.relative ? \"l\" : \"L\") + i.x + \" \" + i.y;else if (i.type === _.CURVE_TO) r += (i.relative ? \"c\" : \"C\") + i.x1 + \" \" + i.y1 + \" \" + i.x2 + \" \" + i.y2 + \" \" + i.x + \" \" + i.y;else if (i.type === _.SMOOTH_CURVE_TO) r += (i.relative ? \"s\" : \"S\") + i.x2 + \" \" + i.y2 + \" \" + i.x + \" \" + i.y;else if (i.type === _.QUAD_TO) r += (i.relative ? \"q\" : \"Q\") + i.x1 + \" \" + i.y1 + \" \" + i.x + \" \" + i.y;else if (i.type === _.SMOOTH_QUAD_TO) r += (i.relative ? \"t\" : \"T\") + i.x + \" \" + i.y;else {\n      if (i.type !== _.ARC) throw new Error('Unexpected command type \"' + i.type + '\" at index ' + e + \".\");\n      r += (i.relative ? \"a\" : \"A\") + i.rX + \" \" + i.rY + \" \" + i.xRot + \" \" + +i.lArcFlag + \" \" + +i.sweepFlag + \" \" + i.x + \" \" + i.y;\n    }\n  }\n  return r;\n}\nfunction i(t, r) {\n  var e = t[0],\n    i = t[1];\n  return [e * Math.cos(r) - i * Math.sin(r), e * Math.sin(r) + i * Math.cos(r)];\n}\nfunction a() {\n  for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];\n  for (var e = 0; e < t.length; e++) if (\"number\" != typeof t[e]) throw new Error(\"assertNumbers arguments[\" + e + \"] is not a number. \" + typeof t[e] + \" == typeof \" + t[e]);\n  return !0;\n}\nvar n = Math.PI;\nfunction o(t, r, e) {\n  t.lArcFlag = 0 === t.lArcFlag ? 0 : 1, t.sweepFlag = 0 === t.sweepFlag ? 0 : 1;\n  var a = t.rX,\n    o = t.rY,\n    s = t.x,\n    u = t.y;\n  a = Math.abs(t.rX), o = Math.abs(t.rY);\n  var h = i([(r - s) / 2, (e - u) / 2], -t.xRot / 180 * n),\n    c = h[0],\n    y = h[1],\n    p = Math.pow(c, 2) / Math.pow(a, 2) + Math.pow(y, 2) / Math.pow(o, 2);\n  1 < p && (a *= Math.sqrt(p), o *= Math.sqrt(p)), t.rX = a, t.rY = o;\n  var m = Math.pow(a, 2) * Math.pow(y, 2) + Math.pow(o, 2) * Math.pow(c, 2),\n    O = (t.lArcFlag !== t.sweepFlag ? 1 : -1) * Math.sqrt(Math.max(0, (Math.pow(a, 2) * Math.pow(o, 2) - m) / m)),\n    l = a * y / o * O,\n    T = -o * c / a * O,\n    v = i([l, T], t.xRot / 180 * n);\n  t.cX = v[0] + (r + s) / 2, t.cY = v[1] + (e + u) / 2, t.phi1 = Math.atan2((y - T) / o, (c - l) / a), t.phi2 = Math.atan2((-y - T) / o, (-c - l) / a), 0 === t.sweepFlag && t.phi2 > t.phi1 && (t.phi2 -= 2 * n), 1 === t.sweepFlag && t.phi2 < t.phi1 && (t.phi2 += 2 * n), t.phi1 *= 180 / n, t.phi2 *= 180 / n;\n}\nfunction s(t, r, e) {\n  a(t, r, e);\n  var i = t * t + r * r - e * e;\n  if (0 > i) return [];\n  if (0 === i) return [[t * e / (t * t + r * r), r * e / (t * t + r * r)]];\n  var n = Math.sqrt(i);\n  return [[(t * e + r * n) / (t * t + r * r), (r * e - t * n) / (t * t + r * r)], [(t * e - r * n) / (t * t + r * r), (r * e + t * n) / (t * t + r * r)]];\n}\nvar u,\n  h = Math.PI / 180;\nfunction c(t, r, e) {\n  return (1 - e) * t + e * r;\n}\nfunction y(t, r, e, i) {\n  return t + Math.cos(i / 180 * n) * r + Math.sin(i / 180 * n) * e;\n}\nfunction p(t, r, e, i) {\n  var a = 1e-6,\n    n = r - t,\n    o = e - r,\n    s = 3 * n + 3 * (i - e) - 6 * o,\n    u = 6 * (o - n),\n    h = 3 * n;\n  return Math.abs(s) < a ? [-h / u] : function (t, r, e) {\n    void 0 === e && (e = 1e-6);\n    var i = t * t / 4 - r;\n    if (i < -e) return [];\n    if (i <= e) return [-t / 2];\n    var a = Math.sqrt(i);\n    return [-t / 2 - a, -t / 2 + a];\n  }(u / s, h / s, a);\n}\nfunction m(t, r, e, i, a) {\n  var n = 1 - a;\n  return t * (n * n * n) + r * (3 * n * n * a) + e * (3 * n * a * a) + i * (a * a * a);\n}\n!function (t) {\n  function r() {\n    return u(function (t, r, e) {\n      return t.relative && (void 0 !== t.x1 && (t.x1 += r), void 0 !== t.y1 && (t.y1 += e), void 0 !== t.x2 && (t.x2 += r), void 0 !== t.y2 && (t.y2 += e), void 0 !== t.x && (t.x += r), void 0 !== t.y && (t.y += e), t.relative = !1), t;\n    });\n  }\n  function e() {\n    var t = NaN,\n      r = NaN,\n      e = NaN,\n      i = NaN;\n    return u(function (a, n, o) {\n      return a.type & _.SMOOTH_CURVE_TO && (a.type = _.CURVE_TO, t = isNaN(t) ? n : t, r = isNaN(r) ? o : r, a.x1 = a.relative ? n - t : 2 * n - t, a.y1 = a.relative ? o - r : 2 * o - r), a.type & _.CURVE_TO ? (t = a.relative ? n + a.x2 : a.x2, r = a.relative ? o + a.y2 : a.y2) : (t = NaN, r = NaN), a.type & _.SMOOTH_QUAD_TO && (a.type = _.QUAD_TO, e = isNaN(e) ? n : e, i = isNaN(i) ? o : i, a.x1 = a.relative ? n - e : 2 * n - e, a.y1 = a.relative ? o - i : 2 * o - i), a.type & _.QUAD_TO ? (e = a.relative ? n + a.x1 : a.x1, i = a.relative ? o + a.y1 : a.y1) : (e = NaN, i = NaN), a;\n    });\n  }\n  function n() {\n    var t = NaN,\n      r = NaN;\n    return u(function (e, i, a) {\n      if (e.type & _.SMOOTH_QUAD_TO && (e.type = _.QUAD_TO, t = isNaN(t) ? i : t, r = isNaN(r) ? a : r, e.x1 = e.relative ? i - t : 2 * i - t, e.y1 = e.relative ? a - r : 2 * a - r), e.type & _.QUAD_TO) {\n        t = e.relative ? i + e.x1 : e.x1, r = e.relative ? a + e.y1 : e.y1;\n        var n = e.x1,\n          o = e.y1;\n        e.type = _.CURVE_TO, e.x1 = ((e.relative ? 0 : i) + 2 * n) / 3, e.y1 = ((e.relative ? 0 : a) + 2 * o) / 3, e.x2 = (e.x + 2 * n) / 3, e.y2 = (e.y + 2 * o) / 3;\n      } else t = NaN, r = NaN;\n      return e;\n    });\n  }\n  function u(t) {\n    var r = 0,\n      e = 0,\n      i = NaN,\n      a = NaN;\n    return function (n) {\n      if (isNaN(i) && !(n.type & _.MOVE_TO)) throw new Error(\"path must start with moveto\");\n      var o = t(n, r, e, i, a);\n      return n.type & _.CLOSE_PATH && (r = i, e = a), void 0 !== n.x && (r = n.relative ? r + n.x : n.x), void 0 !== n.y && (e = n.relative ? e + n.y : n.y), n.type & _.MOVE_TO && (i = r, a = e), o;\n    };\n  }\n  function O(t, r, e, i, n, o) {\n    return a(t, r, e, i, n, o), u(function (a, s, u, h) {\n      var c = a.x1,\n        y = a.x2,\n        p = a.relative && !isNaN(h),\n        m = void 0 !== a.x ? a.x : p ? 0 : s,\n        O = void 0 !== a.y ? a.y : p ? 0 : u;\n      function l(t) {\n        return t * t;\n      }\n      a.type & _.HORIZ_LINE_TO && 0 !== r && (a.type = _.LINE_TO, a.y = a.relative ? 0 : u), a.type & _.VERT_LINE_TO && 0 !== e && (a.type = _.LINE_TO, a.x = a.relative ? 0 : s), void 0 !== a.x && (a.x = a.x * t + O * e + (p ? 0 : n)), void 0 !== a.y && (a.y = m * r + a.y * i + (p ? 0 : o)), void 0 !== a.x1 && (a.x1 = a.x1 * t + a.y1 * e + (p ? 0 : n)), void 0 !== a.y1 && (a.y1 = c * r + a.y1 * i + (p ? 0 : o)), void 0 !== a.x2 && (a.x2 = a.x2 * t + a.y2 * e + (p ? 0 : n)), void 0 !== a.y2 && (a.y2 = y * r + a.y2 * i + (p ? 0 : o));\n      var T = t * i - r * e;\n      if (void 0 !== a.xRot && (1 !== t || 0 !== r || 0 !== e || 1 !== i)) if (0 === T) delete a.rX, delete a.rY, delete a.xRot, delete a.lArcFlag, delete a.sweepFlag, a.type = _.LINE_TO;else {\n        var v = a.xRot * Math.PI / 180,\n          f = Math.sin(v),\n          N = Math.cos(v),\n          x = 1 / l(a.rX),\n          d = 1 / l(a.rY),\n          E = l(N) * x + l(f) * d,\n          A = 2 * f * N * (x - d),\n          C = l(f) * x + l(N) * d,\n          M = E * i * i - A * r * i + C * r * r,\n          R = A * (t * i + r * e) - 2 * (E * e * i + C * t * r),\n          g = E * e * e - A * t * e + C * t * t,\n          I = (Math.atan2(R, M - g) + Math.PI) % Math.PI / 2,\n          S = Math.sin(I),\n          L = Math.cos(I);\n        a.rX = Math.abs(T) / Math.sqrt(M * l(L) + R * S * L + g * l(S)), a.rY = Math.abs(T) / Math.sqrt(M * l(S) - R * S * L + g * l(L)), a.xRot = 180 * I / Math.PI;\n      }\n      return void 0 !== a.sweepFlag && 0 > T && (a.sweepFlag = +!a.sweepFlag), a;\n    });\n  }\n  function l() {\n    return function (t) {\n      var r = {};\n      for (var e in t) r[e] = t[e];\n      return r;\n    };\n  }\n  t.ROUND = function (t) {\n    function r(r) {\n      return Math.round(r * t) / t;\n    }\n    return void 0 === t && (t = 1e13), a(t), function (t) {\n      return void 0 !== t.x1 && (t.x1 = r(t.x1)), void 0 !== t.y1 && (t.y1 = r(t.y1)), void 0 !== t.x2 && (t.x2 = r(t.x2)), void 0 !== t.y2 && (t.y2 = r(t.y2)), void 0 !== t.x && (t.x = r(t.x)), void 0 !== t.y && (t.y = r(t.y)), void 0 !== t.rX && (t.rX = r(t.rX)), void 0 !== t.rY && (t.rY = r(t.rY)), t;\n    };\n  }, t.TO_ABS = r, t.TO_REL = function () {\n    return u(function (t, r, e) {\n      return t.relative || (void 0 !== t.x1 && (t.x1 -= r), void 0 !== t.y1 && (t.y1 -= e), void 0 !== t.x2 && (t.x2 -= r), void 0 !== t.y2 && (t.y2 -= e), void 0 !== t.x && (t.x -= r), void 0 !== t.y && (t.y -= e), t.relative = !0), t;\n    });\n  }, t.NORMALIZE_HVZ = function (t, r, e) {\n    return void 0 === t && (t = !0), void 0 === r && (r = !0), void 0 === e && (e = !0), u(function (i, a, n, o, s) {\n      if (isNaN(o) && !(i.type & _.MOVE_TO)) throw new Error(\"path must start with moveto\");\n      return r && i.type & _.HORIZ_LINE_TO && (i.type = _.LINE_TO, i.y = i.relative ? 0 : n), e && i.type & _.VERT_LINE_TO && (i.type = _.LINE_TO, i.x = i.relative ? 0 : a), t && i.type & _.CLOSE_PATH && (i.type = _.LINE_TO, i.x = i.relative ? o - a : o, i.y = i.relative ? s - n : s), i.type & _.ARC && (0 === i.rX || 0 === i.rY) && (i.type = _.LINE_TO, delete i.rX, delete i.rY, delete i.xRot, delete i.lArcFlag, delete i.sweepFlag), i;\n    });\n  }, t.NORMALIZE_ST = e, t.QT_TO_C = n, t.INFO = u, t.SANITIZE = function (t) {\n    void 0 === t && (t = 0), a(t);\n    var r = NaN,\n      e = NaN,\n      i = NaN,\n      n = NaN;\n    return u(function (a, o, s, u, h) {\n      var c = Math.abs,\n        y = !1,\n        p = 0,\n        m = 0;\n      if (a.type & _.SMOOTH_CURVE_TO && (p = isNaN(r) ? 0 : o - r, m = isNaN(e) ? 0 : s - e), a.type & (_.CURVE_TO | _.SMOOTH_CURVE_TO) ? (r = a.relative ? o + a.x2 : a.x2, e = a.relative ? s + a.y2 : a.y2) : (r = NaN, e = NaN), a.type & _.SMOOTH_QUAD_TO ? (i = isNaN(i) ? o : 2 * o - i, n = isNaN(n) ? s : 2 * s - n) : a.type & _.QUAD_TO ? (i = a.relative ? o + a.x1 : a.x1, n = a.relative ? s + a.y1 : a.y2) : (i = NaN, n = NaN), a.type & _.LINE_COMMANDS || a.type & _.ARC && (0 === a.rX || 0 === a.rY || !a.lArcFlag) || a.type & _.CURVE_TO || a.type & _.SMOOTH_CURVE_TO || a.type & _.QUAD_TO || a.type & _.SMOOTH_QUAD_TO) {\n        var O = void 0 === a.x ? 0 : a.relative ? a.x : a.x - o,\n          l = void 0 === a.y ? 0 : a.relative ? a.y : a.y - s;\n        p = isNaN(i) ? void 0 === a.x1 ? p : a.relative ? a.x : a.x1 - o : i - o, m = isNaN(n) ? void 0 === a.y1 ? m : a.relative ? a.y : a.y1 - s : n - s;\n        var T = void 0 === a.x2 ? 0 : a.relative ? a.x : a.x2 - o,\n          v = void 0 === a.y2 ? 0 : a.relative ? a.y : a.y2 - s;\n        c(O) <= t && c(l) <= t && c(p) <= t && c(m) <= t && c(T) <= t && c(v) <= t && (y = !0);\n      }\n      return a.type & _.CLOSE_PATH && c(o - u) <= t && c(s - h) <= t && (y = !0), y ? [] : a;\n    });\n  }, t.MATRIX = O, t.ROTATE = function (t, r, e) {\n    void 0 === r && (r = 0), void 0 === e && (e = 0), a(t, r, e);\n    var i = Math.sin(t),\n      n = Math.cos(t);\n    return O(n, i, -i, n, r - r * n + e * i, e - r * i - e * n);\n  }, t.TRANSLATE = function (t, r) {\n    return void 0 === r && (r = 0), a(t, r), O(1, 0, 0, 1, t, r);\n  }, t.SCALE = function (t, r) {\n    return void 0 === r && (r = t), a(t, r), O(t, 0, 0, r, 0, 0);\n  }, t.SKEW_X = function (t) {\n    return a(t), O(1, 0, Math.atan(t), 1, 0, 0);\n  }, t.SKEW_Y = function (t) {\n    return a(t), O(1, Math.atan(t), 0, 1, 0, 0);\n  }, t.X_AXIS_SYMMETRY = function (t) {\n    return void 0 === t && (t = 0), a(t), O(-1, 0, 0, 1, t, 0);\n  }, t.Y_AXIS_SYMMETRY = function (t) {\n    return void 0 === t && (t = 0), a(t), O(1, 0, 0, -1, 0, t);\n  }, t.A_TO_C = function () {\n    return u(function (t, r, e) {\n      return _.ARC === t.type ? function (t, r, e) {\n        var a, n, s, u;\n        t.cX || o(t, r, e);\n        for (var y = Math.min(t.phi1, t.phi2), p = Math.max(t.phi1, t.phi2) - y, m = Math.ceil(p / 90), O = new Array(m), l = r, T = e, v = 0; v < m; v++) {\n          var f = c(t.phi1, t.phi2, v / m),\n            N = c(t.phi1, t.phi2, (v + 1) / m),\n            x = N - f,\n            d = 4 / 3 * Math.tan(x * h / 4),\n            E = [Math.cos(f * h) - d * Math.sin(f * h), Math.sin(f * h) + d * Math.cos(f * h)],\n            A = E[0],\n            C = E[1],\n            M = [Math.cos(N * h), Math.sin(N * h)],\n            R = M[0],\n            g = M[1],\n            I = [R + d * Math.sin(N * h), g - d * Math.cos(N * h)],\n            S = I[0],\n            L = I[1];\n          O[v] = {\n            relative: t.relative,\n            type: _.CURVE_TO\n          };\n          var H = function (r, e) {\n            var a = i([r * t.rX, e * t.rY], t.xRot),\n              n = a[0],\n              o = a[1];\n            return [t.cX + n, t.cY + o];\n          };\n          a = H(A, C), O[v].x1 = a[0], O[v].y1 = a[1], n = H(S, L), O[v].x2 = n[0], O[v].y2 = n[1], s = H(R, g), O[v].x = s[0], O[v].y = s[1], t.relative && (O[v].x1 -= l, O[v].y1 -= T, O[v].x2 -= l, O[v].y2 -= T, O[v].x -= l, O[v].y -= T), l = (u = [O[v].x, O[v].y])[0], T = u[1];\n        }\n        return O;\n      }(t, t.relative ? 0 : r, t.relative ? 0 : e) : t;\n    });\n  }, t.ANNOTATE_ARCS = function () {\n    return u(function (t, r, e) {\n      return t.relative && (r = 0, e = 0), _.ARC === t.type && o(t, r, e), t;\n    });\n  }, t.CLONE = l, t.CALCULATE_BOUNDS = function () {\n    var t = function (t) {\n        var r = {};\n        for (var e in t) r[e] = t[e];\n        return r;\n      },\n      i = r(),\n      a = n(),\n      h = e(),\n      c = u(function (r, e, n) {\n        var u = h(a(i(t(r))));\n        function O(t) {\n          t > c.maxX && (c.maxX = t), t < c.minX && (c.minX = t);\n        }\n        function l(t) {\n          t > c.maxY && (c.maxY = t), t < c.minY && (c.minY = t);\n        }\n        if (u.type & _.DRAWING_COMMANDS && (O(e), l(n)), u.type & _.HORIZ_LINE_TO && O(u.x), u.type & _.VERT_LINE_TO && l(u.y), u.type & _.LINE_TO && (O(u.x), l(u.y)), u.type & _.CURVE_TO) {\n          O(u.x), l(u.y);\n          for (var T = 0, v = p(e, u.x1, u.x2, u.x); T < v.length; T++) {\n            0 < (w = v[T]) && 1 > w && O(m(e, u.x1, u.x2, u.x, w));\n          }\n          for (var f = 0, N = p(n, u.y1, u.y2, u.y); f < N.length; f++) {\n            0 < (w = N[f]) && 1 > w && l(m(n, u.y1, u.y2, u.y, w));\n          }\n        }\n        if (u.type & _.ARC) {\n          O(u.x), l(u.y), o(u, e, n);\n          for (var x = u.xRot / 180 * Math.PI, d = Math.cos(x) * u.rX, E = Math.sin(x) * u.rX, A = -Math.sin(x) * u.rY, C = Math.cos(x) * u.rY, M = u.phi1 < u.phi2 ? [u.phi1, u.phi2] : -180 > u.phi2 ? [u.phi2 + 360, u.phi1 + 360] : [u.phi2, u.phi1], R = M[0], g = M[1], I = function (t) {\n              var r = t[0],\n                e = t[1],\n                i = 180 * Math.atan2(e, r) / Math.PI;\n              return i < R ? i + 360 : i;\n            }, S = 0, L = s(A, -d, 0).map(I); S < L.length; S++) {\n            (w = L[S]) > R && w < g && O(y(u.cX, d, A, w));\n          }\n          for (var H = 0, U = s(C, -E, 0).map(I); H < U.length; H++) {\n            var w;\n            (w = U[H]) > R && w < g && l(y(u.cY, E, C, w));\n          }\n        }\n        return r;\n      });\n    return c.minX = 1 / 0, c.maxX = -1 / 0, c.minY = 1 / 0, c.maxY = -1 / 0, c;\n  };\n}(u || (u = {}));\nvar O,\n  l = function () {\n    function t() {}\n    return t.prototype.round = function (t) {\n      return this.transform(u.ROUND(t));\n    }, t.prototype.toAbs = function () {\n      return this.transform(u.TO_ABS());\n    }, t.prototype.toRel = function () {\n      return this.transform(u.TO_REL());\n    }, t.prototype.normalizeHVZ = function (t, r, e) {\n      return this.transform(u.NORMALIZE_HVZ(t, r, e));\n    }, t.prototype.normalizeST = function () {\n      return this.transform(u.NORMALIZE_ST());\n    }, t.prototype.qtToC = function () {\n      return this.transform(u.QT_TO_C());\n    }, t.prototype.aToC = function () {\n      return this.transform(u.A_TO_C());\n    }, t.prototype.sanitize = function (t) {\n      return this.transform(u.SANITIZE(t));\n    }, t.prototype.translate = function (t, r) {\n      return this.transform(u.TRANSLATE(t, r));\n    }, t.prototype.scale = function (t, r) {\n      return this.transform(u.SCALE(t, r));\n    }, t.prototype.rotate = function (t, r, e) {\n      return this.transform(u.ROTATE(t, r, e));\n    }, t.prototype.matrix = function (t, r, e, i, a, n) {\n      return this.transform(u.MATRIX(t, r, e, i, a, n));\n    }, t.prototype.skewX = function (t) {\n      return this.transform(u.SKEW_X(t));\n    }, t.prototype.skewY = function (t) {\n      return this.transform(u.SKEW_Y(t));\n    }, t.prototype.xSymmetry = function (t) {\n      return this.transform(u.X_AXIS_SYMMETRY(t));\n    }, t.prototype.ySymmetry = function (t) {\n      return this.transform(u.Y_AXIS_SYMMETRY(t));\n    }, t.prototype.annotateArcs = function () {\n      return this.transform(u.ANNOTATE_ARCS());\n    }, t;\n  }(),\n  T = function (t) {\n    return \" \" === t || \"\\t\" === t || \"\\r\" === t || \"\\n\" === t;\n  },\n  v = function (t) {\n    return \"0\".charCodeAt(0) <= t.charCodeAt(0) && t.charCodeAt(0) <= \"9\".charCodeAt(0);\n  },\n  f = function (t) {\n    function e() {\n      var r = t.call(this) || this;\n      return r.curNumber = \"\", r.curCommandType = -1, r.curCommandRelative = !1, r.canParseCommandOrComma = !0, r.curNumberHasExp = !1, r.curNumberHasExpDigits = !1, r.curNumberHasDecimal = !1, r.curArgs = [], r;\n    }\n    return r(e, t), e.prototype.finish = function (t) {\n      if (void 0 === t && (t = []), this.parse(\" \", t), 0 !== this.curArgs.length || !this.canParseCommandOrComma) throw new SyntaxError(\"Unterminated command at the path end.\");\n      return t;\n    }, e.prototype.parse = function (t, r) {\n      var e = this;\n      void 0 === r && (r = []);\n      for (var i = function (t) {\n          r.push(t), e.curArgs.length = 0, e.canParseCommandOrComma = !0;\n        }, a = 0; a < t.length; a++) {\n        var n = t[a],\n          o = !(this.curCommandType !== _.ARC || 3 !== this.curArgs.length && 4 !== this.curArgs.length || 1 !== this.curNumber.length || \"0\" !== this.curNumber && \"1\" !== this.curNumber),\n          s = v(n) && (\"0\" === this.curNumber && \"0\" === n || o);\n        if (!v(n) || s) {\n          if (\"e\" !== n && \"E\" !== n) {\n            if (\"-\" !== n && \"+\" !== n || !this.curNumberHasExp || this.curNumberHasExpDigits) {\n              if (\".\" !== n || this.curNumberHasExp || this.curNumberHasDecimal || o) {\n                if (this.curNumber && -1 !== this.curCommandType) {\n                  var u = Number(this.curNumber);\n                  if (isNaN(u)) throw new SyntaxError(\"Invalid number ending at \" + a);\n                  if (this.curCommandType === _.ARC) if (0 === this.curArgs.length || 1 === this.curArgs.length) {\n                    if (0 > u) throw new SyntaxError('Expected positive number, got \"' + u + '\" at index \"' + a + '\"');\n                  } else if ((3 === this.curArgs.length || 4 === this.curArgs.length) && \"0\" !== this.curNumber && \"1\" !== this.curNumber) throw new SyntaxError('Expected a flag, got \"' + this.curNumber + '\" at index \"' + a + '\"');\n                  this.curArgs.push(u), this.curArgs.length === N[this.curCommandType] && (_.HORIZ_LINE_TO === this.curCommandType ? i({\n                    type: _.HORIZ_LINE_TO,\n                    relative: this.curCommandRelative,\n                    x: u\n                  }) : _.VERT_LINE_TO === this.curCommandType ? i({\n                    type: _.VERT_LINE_TO,\n                    relative: this.curCommandRelative,\n                    y: u\n                  }) : this.curCommandType === _.MOVE_TO || this.curCommandType === _.LINE_TO || this.curCommandType === _.SMOOTH_QUAD_TO ? (i({\n                    type: this.curCommandType,\n                    relative: this.curCommandRelative,\n                    x: this.curArgs[0],\n                    y: this.curArgs[1]\n                  }), _.MOVE_TO === this.curCommandType && (this.curCommandType = _.LINE_TO)) : this.curCommandType === _.CURVE_TO ? i({\n                    type: _.CURVE_TO,\n                    relative: this.curCommandRelative,\n                    x1: this.curArgs[0],\n                    y1: this.curArgs[1],\n                    x2: this.curArgs[2],\n                    y2: this.curArgs[3],\n                    x: this.curArgs[4],\n                    y: this.curArgs[5]\n                  }) : this.curCommandType === _.SMOOTH_CURVE_TO ? i({\n                    type: _.SMOOTH_CURVE_TO,\n                    relative: this.curCommandRelative,\n                    x2: this.curArgs[0],\n                    y2: this.curArgs[1],\n                    x: this.curArgs[2],\n                    y: this.curArgs[3]\n                  }) : this.curCommandType === _.QUAD_TO ? i({\n                    type: _.QUAD_TO,\n                    relative: this.curCommandRelative,\n                    x1: this.curArgs[0],\n                    y1: this.curArgs[1],\n                    x: this.curArgs[2],\n                    y: this.curArgs[3]\n                  }) : this.curCommandType === _.ARC && i({\n                    type: _.ARC,\n                    relative: this.curCommandRelative,\n                    rX: this.curArgs[0],\n                    rY: this.curArgs[1],\n                    xRot: this.curArgs[2],\n                    lArcFlag: this.curArgs[3],\n                    sweepFlag: this.curArgs[4],\n                    x: this.curArgs[5],\n                    y: this.curArgs[6]\n                  })), this.curNumber = \"\", this.curNumberHasExpDigits = !1, this.curNumberHasExp = !1, this.curNumberHasDecimal = !1, this.canParseCommandOrComma = !0;\n                }\n                if (!T(n)) if (\",\" === n && this.canParseCommandOrComma) this.canParseCommandOrComma = !1;else if (\"+\" !== n && \"-\" !== n && \".\" !== n) {\n                  if (s) this.curNumber = n, this.curNumberHasDecimal = !1;else {\n                    if (0 !== this.curArgs.length) throw new SyntaxError(\"Unterminated command at index \" + a + \".\");\n                    if (!this.canParseCommandOrComma) throw new SyntaxError('Unexpected character \"' + n + '\" at index ' + a + \". Command cannot follow comma\");\n                    if (this.canParseCommandOrComma = !1, \"z\" !== n && \"Z\" !== n) {\n                      if (\"h\" === n || \"H\" === n) this.curCommandType = _.HORIZ_LINE_TO, this.curCommandRelative = \"h\" === n;else if (\"v\" === n || \"V\" === n) this.curCommandType = _.VERT_LINE_TO, this.curCommandRelative = \"v\" === n;else if (\"m\" === n || \"M\" === n) this.curCommandType = _.MOVE_TO, this.curCommandRelative = \"m\" === n;else if (\"l\" === n || \"L\" === n) this.curCommandType = _.LINE_TO, this.curCommandRelative = \"l\" === n;else if (\"c\" === n || \"C\" === n) this.curCommandType = _.CURVE_TO, this.curCommandRelative = \"c\" === n;else if (\"s\" === n || \"S\" === n) this.curCommandType = _.SMOOTH_CURVE_TO, this.curCommandRelative = \"s\" === n;else if (\"q\" === n || \"Q\" === n) this.curCommandType = _.QUAD_TO, this.curCommandRelative = \"q\" === n;else if (\"t\" === n || \"T\" === n) this.curCommandType = _.SMOOTH_QUAD_TO, this.curCommandRelative = \"t\" === n;else {\n                        if (\"a\" !== n && \"A\" !== n) throw new SyntaxError('Unexpected character \"' + n + '\" at index ' + a + \".\");\n                        this.curCommandType = _.ARC, this.curCommandRelative = \"a\" === n;\n                      }\n                    } else r.push({\n                      type: _.CLOSE_PATH\n                    }), this.canParseCommandOrComma = !0, this.curCommandType = -1;\n                  }\n                } else this.curNumber = n, this.curNumberHasDecimal = \".\" === n;\n              } else this.curNumber += n, this.curNumberHasDecimal = !0;\n            } else this.curNumber += n;\n          } else this.curNumber += n, this.curNumberHasExp = !0;\n        } else this.curNumber += n, this.curNumberHasExpDigits = this.curNumberHasExp;\n      }\n      return r;\n    }, e.prototype.transform = function (t) {\n      return Object.create(this, {\n        parse: {\n          value: function (r, e) {\n            void 0 === e && (e = []);\n            for (var i = 0, a = Object.getPrototypeOf(this).parse.call(this, r); i < a.length; i++) {\n              var n = a[i],\n                o = t(n);\n              Array.isArray(o) ? e.push.apply(e, o) : e.push(o);\n            }\n            return e;\n          }\n        }\n      });\n    }, e;\n  }(l),\n  _ = function (t) {\n    function i(r) {\n      var e = t.call(this) || this;\n      return e.commands = \"string\" == typeof r ? i.parse(r) : r, e;\n    }\n    return r(i, t), i.prototype.encode = function () {\n      return i.encode(this.commands);\n    }, i.prototype.getBounds = function () {\n      var t = u.CALCULATE_BOUNDS();\n      return this.transform(t), t;\n    }, i.prototype.transform = function (t) {\n      for (var r = [], e = 0, i = this.commands; e < i.length; e++) {\n        var a = t(i[e]);\n        Array.isArray(a) ? r.push.apply(r, a) : r.push(a);\n      }\n      return this.commands = r, this;\n    }, i.encode = function (t) {\n      return e(t);\n    }, i.parse = function (t) {\n      var r = new f(),\n        e = [];\n      return r.parse(t, e), r.finish(e), e;\n    }, i.CLOSE_PATH = 1, i.MOVE_TO = 2, i.HORIZ_LINE_TO = 4, i.VERT_LINE_TO = 8, i.LINE_TO = 16, i.CURVE_TO = 32, i.SMOOTH_CURVE_TO = 64, i.QUAD_TO = 128, i.SMOOTH_QUAD_TO = 256, i.ARC = 512, i.LINE_COMMANDS = i.LINE_TO | i.HORIZ_LINE_TO | i.VERT_LINE_TO, i.DRAWING_COMMANDS = i.HORIZ_LINE_TO | i.VERT_LINE_TO | i.LINE_TO | i.CURVE_TO | i.SMOOTH_CURVE_TO | i.QUAD_TO | i.SMOOTH_QUAD_TO | i.ARC, i;\n  }(l),\n  N = ((O = {})[_.MOVE_TO] = 2, O[_.LINE_TO] = 2, O[_.HORIZ_LINE_TO] = 1, O[_.VERT_LINE_TO] = 1, O[_.CLOSE_PATH] = 0, O[_.QUAD_TO] = 4, O[_.SMOOTH_QUAD_TO] = 2, O[_.CURVE_TO] = 6, O[_.SMOOTH_CURVE_TO] = 4, O[_.ARC] = 7, O);\nexport { N as COMMAND_ARG_COUNTS, _ as SVGPathData, f as SVGPathDataParser, u as SVGPathDataTransformer, e as encodeSVGPath };\n//# sourceMappingURL=SVGPathData.module.js.map","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}