网站
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

před 4 roky
1234567891011121314151617181920212223242526272829303132333435363738394041
  1. !function (t, e) { "object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define.amd ? define(["exports"], e) : e(t.echarts = {}) }(this, function (t) {
  2. "use strict"; function e(t) { var e = {}, i = {}, n = t.match(/Firefox\/([\d.]+)/), r = t.match(/MSIE\s([\d.]+)/) || t.match(/Trident\/.+?rv:(([\d.]+))/), a = t.match(/Edge\/([\d.]+)/), o = /micromessenger/i.test(t); return n && (i.firefox = !0, i.version = n[1]), r && (i.ie = !0, i.version = r[1]), a && (i.edge = !0, i.version = a[1]), o && (i.weChat = !0), { browser: i, os: e, node: !1, canvasSupported: !!document.createElement("canvas").getContext, svgSupported: "undefined" != typeof SVGRect, touchEventsSupported: "ontouchstart" in window && !i.ie && !i.edge, pointerEventsSupported: "onpointerdown" in window && (i.edge || i.ie && i.version >= 11), domSupported: "undefined" != typeof document } } function i(t, e) { "createCanvas" === t && (Yf = null), Xf[t] = e } function n(t) { if (null == t || "object" != typeof t) return t; var e = t, i = Rf.call(t); if ("[object Array]" === i) { if (!B(t)) { e = []; for (var r = 0, a = t.length; a > r; r++)e[r] = n(t[r]) } } else if (Bf[i]) { if (!B(t)) { var o = t.constructor; if (t.constructor.from) e = o.from(t); else { e = new o(t.length); for (var r = 0, a = t.length; a > r; r++)e[r] = n(t[r]) } } } else if (!zf[i] && !B(t) && !T(t)) { e = {}; for (var s in t) t.hasOwnProperty(s) && (e[s] = n(t[s])) } return e } function r(t, e, i) { if (!S(e) || !S(t)) return i ? n(e) : t; for (var a in e) if (e.hasOwnProperty(a)) { var o = t[a], s = e[a]; !S(s) || !S(o) || x(s) || x(o) || T(s) || T(o) || M(s) || M(o) || B(s) || B(o) ? !i && a in t || (t[a] = n(e[a], !0)) : r(o, s, i) } return t } function a(t, e) { for (var i = t[0], n = 1, a = t.length; a > n; n++)i = r(i, t[n], e); return i } function o(t, e) { for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]); return t } function s(t, e, i) { for (var n in e) e.hasOwnProperty(n) && (i ? null != e[n] : null == t[n]) && (t[n] = e[n]); return t } function l() { return Yf || (Yf = Uf().getContext("2d")), Yf } function h(t, e) { if (t) { if (t.indexOf) return t.indexOf(e); for (var i = 0, n = t.length; n > i; i++)if (t[i] === e) return i } return -1 } function u(t, e) { function i() { } var n = t.prototype; i.prototype = e.prototype, t.prototype = new i; for (var r in n) n.hasOwnProperty(r) && (t.prototype[r] = n[r]); t.prototype.constructor = t, t.superClass = e } function c(t, e, i) { t = "prototype" in t ? t.prototype : t, e = "prototype" in e ? e.prototype : e, s(t, e, i) } function d(t) { return t ? "string" == typeof t ? !1 : "number" == typeof t.length : void 0 } function f(t, e, i) { if (t && e) if (t.forEach && t.forEach === Ff) t.forEach(e, i); else if (t.length === +t.length) for (var n = 0, r = t.length; r > n; n++)e.call(i, t[n], n, t); else for (var a in t) t.hasOwnProperty(a) && e.call(i, t[a], a, t) } function p(t, e, i) { if (t && e) { if (t.map && t.map === Gf) return t.map(e, i); for (var n = [], r = 0, a = t.length; a > r; r++)n.push(e.call(i, t[r], r, t)); return n } } function g(t, e, i, n) { if (t && e) { if (t.reduce && t.reduce === Wf) return t.reduce(e, i, n); for (var r = 0, a = t.length; a > r; r++)i = e.call(n, i, t[r], r, t); return i } } function v(t, e, i) { if (t && e) { if (t.filter && t.filter === Vf) return t.filter(e, i); for (var n = [], r = 0, a = t.length; a > r; r++)e.call(i, t[r], r, t) && n.push(t[r]); return n } } function m(t, e, i) { if (t && e) for (var n = 0, r = t.length; r > n; n++)if (e.call(i, t[n], n, t)) return t[n] } function y(t, e) { var i = Hf.call(arguments, 2); return function () { return t.apply(e, i.concat(Hf.call(arguments))) } } function _(t) { var e = Hf.call(arguments, 1); return function () { return t.apply(this, e.concat(Hf.call(arguments))) } } function x(t) { return "[object Array]" === Rf.call(t) } function w(t) { return "function" == typeof t } function b(t) { return "[object String]" === Rf.call(t) } function S(t) { var e = typeof t; return "function" === e || !!t && "object" === e } function M(t) { return !!zf[Rf.call(t)] } function I(t) { return !!Bf[Rf.call(t)] } function T(t) { return "object" == typeof t && "number" == typeof t.nodeType && "object" == typeof
  3. var l = n.rich[i.styleName] || {}; l.text = i.text; var h = i.textVerticalAlign, u = a + r / 2; "top" === h ? u = a + i.height / 2 : "bottom" === h && (u = a + r - i.height / 2), !i.isLineHolder && dn(l) && fn(t, e, l, "right" === s ? o - i.width : "center" === s ? o - i.width / 2 : o, u - i.height / 2, i.width, i.height); var c = i.textPadding; c && (o = xn(o, s, c), u -= i.height / 2 - c[2] - i.textHeight / 2), vn(e, "shadowBlur", k(l.textShadowBlur, n.textShadowBlur, 0)), vn(e, "shadowColor", l.textShadowColor || n.textShadowColor || "transparent"), vn(e, "shadowOffsetX", k(l.textShadowOffsetX, n.textShadowOffsetX, 0)), vn(e, "shadowOffsetY", k(l.textShadowOffsetY, n.textShadowOffsetY, 0)), vn(e, "textAlign", s), vn(e, "textBaseline", "middle"), vn(e, "font", i.font || vg);
  4. var d = mn(l.textStroke || n.textStroke, p), f = yn(l.textFill || n.textFill), p = D(l.textStrokeWidth, n.textStrokeWidth); d && (vn(e, "lineWidth", p), vn(e, "strokeStyle", d), e.strokeText(i.text, o, u)), f && (vn(e, "fillStyle", f), e.fillText(i.text, o, u))
  5. } function dn(t) { return !!(t.textBackgroundColor || t.textBorderWidth && t.textBorderColor) } function fn(t, e, i, n, r, a, o) { var s = i.textBackgroundColor, l = i.textBorderWidth, h = i.textBorderColor, u = b(s); if (vn(e, "shadowBlur", i.textBoxShadowBlur || 0), vn(e, "shadowColor", i.textBoxShadowColor || "transparent"), vn(e, "shadowOffsetX", i.textBoxShadowOffsetX || 0), vn(e, "shadowOffsetY", i.textBoxShadowOffsetY || 0), u || l && h) { e.beginPath(); var c = i.textBorderRadius; c ? nn(e, { x: n, y: r, width: a, height: o, r: c }) : e.rect(n, r, a, o), e.closePath() } if (u) if (vn(e, "fillStyle", s), null != i.fillOpacity) { var d = e.globalAlpha; e.globalAlpha = i.fillOpacity * i.opacity, e.fill(), e.globalAlpha = d } else e.fill(); else if (S(s)) { var f = s.image; f = zi(f, null, t, pn, s), f && Ri(f) && e.drawImage(f, n, r, a, o) } if (l && h) if (vn(e, "lineWidth", l), vn(e, "strokeStyle", h), null != i.strokeOpacity) { var d = e.globalAlpha; e.globalAlpha = i.strokeOpacity * i.opacity, e.stroke(), e.globalAlpha = d } else e.stroke() } function pn(t, e) { e.image = t } function gn(t, e, i, n) { var r = i.x || 0, a = i.y || 0, o = i.textAlign, s = i.textVerticalAlign; if (n) { var l = i.textPosition; if (l instanceof Array) r = n.x + _n(l[0], n.width), a = n.y + _n(l[1], n.height); else { var h = e && e.calculateTextPosition ? e.calculateTextPosition(xg, i, n) : Ui(xg, i, n); r = h.x, a = h.y, o = o || h.textAlign, s = s || h.textVerticalAlign } var u = i.textOffset; u && (r += u[0], a += u[1]) } return t = t || {}, t.baseX = r, t.baseY = a, t.textAlign = o, t.textVerticalAlign = s, t } function vn(t, e, i) { return t[e] = Qp(t, e, i), t[e] } function mn(t, e) { return null == t || 0 >= e || "transparent" === t || "none" === t ? null : t.image || t.colorStops ? "#000" : t } function yn(t) { return null == t || "none" === t ? null : t.image || t.colorStops ? "#000" : t } function _n(t, e) { return "string" == typeof t ? t.lastIndexOf("%") >= 0 ? parseFloat(t) / 100 * e : parseFloat(t) : t } function xn(t, e, i) { return "right" === e ? t - i[1] : "center" === e ? t + i[3] / 2 - i[1] / 2 : t + i[3] } function wn(t, e) { return null != t && (t || e.textBackgroundColor || e.textBorderWidth && e.textBorderColor || e.textPadding) } function bn(t) { t = t || {}, Wp.call(this, t); for (var e in t) t.hasOwnProperty(e) && "style" !== e && (this[e] = t[e]); this.style = new ig(t.style, this), this._rect = null, this.__clipPaths = null } function Sn(t) { bn.call(this, t) } function Mn(t) { return parseInt(t, 10) } function In(t) { return t ? t.__builtin__ ? !0 : "function" != typeof t.resize || "function" != typeof t.refresh ? !1 : !0 : !1 } function Tn(t, e, i) { return Ag.copy(t.getBoundingRect()), t.transform && Ag.applyTransform(t.transform), Dg.width = e, Dg.height = i, !Ag.intersect(Dg) } function Cn(t, e) { if (t === e) return !1; if (!t || !e || t.length !== e.length) return !0; for (var i = 0; i < t.length; i++)if (t[i] !== e[i]) return !0; return !1 } function An(t, e) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.setTransform(e), e.beginPath(), n.buildPath(e, n.shape), e.clip(), n.restoreTransform(e) } } function Dn(t, e) { var i = document.createElement("div"); return i.style.cssText = ["position:relative", "width:" + t + "px", "height:" + e + "px", "padding:0", "margin:0", "border-width:0"].join(";") + ";", i } function kn(t) { return "mousewheel" === t && Ef.browser.firefox ? "DOMMouseScroll" : t } function Pn(t) { t._touching = !0, clearTimeout(t._touchTimer), t._touchTimer = setTimeout(function () { t._touching = !1 }, 700) } function Ln(t) { var e = t.pointerType; return "pen" === e || "touch" === e } function On(t) { function e(t, e) { return function () { return e._touching ? void 0 : t.apply(e, arguments) } } f(Eg, function (e) { t._handlers[e] = y(Rg[e], t) }), f(Bg, function (e) { t._handlers[e] = y(Rg[e], t) }), f(Og, function (i) { t._handlers[i] = e(Rg[i], t) }) } function En(t) { function e(e, i) { f(e, function (e) { _e(t, kn(e), i._handlers[e]) }, i) } ip.call(this), this.dom
  6. return null == e && (e = 10), e = Math.min(Math.max(0, e), 20), t = (+t).toFixed(e), i ? t : +t
  7. } function ho(t) { return t.sort(function (t, e) { return t - e }), t } function uo(t) { if (t = +t, isNaN(t)) return 0; for (var e = 1, i = 0; Math.round(t * e) / e !== t;)e *= 10, i++; return i } function co(t) { var e = t.toString(), i = e.indexOf("e"); if (i > 0) { var n = +e.slice(i + 1); return 0 > n ? -n : 0 } var r = e.indexOf("."); return 0 > r ? 0 : e.length - 1 - r } function fo(t, e) { var i = Math.log, n = Math.LN10, r = Math.floor(i(t[1] - t[0]) / n), a = Math.round(i(Math.abs(e[1] - e[0])) / n), o = Math.min(Math.max(-r + a, 0), 20); return isFinite(o) ? o : 20 } function po(t, e, i) { if (!t[e]) return 0; var n = g(t, function (t, e) { return t + (isNaN(e) ? 0 : e) }, 0); if (0 === n) return 0; for (var r = Math.pow(10, i), a = p(t, function (t) { return (isNaN(t) ? 0 : t) / n * r * 100 }), o = 100 * r, s = p(a, function (t) { return Math.floor(t) }), l = g(s, function (t, e) { return t + e }, 0), h = p(a, function (t, e) { return t - s[e] }); o > l;) { for (var u = Number.NEGATIVE_INFINITY, c = null, d = 0, f = h.length; f > d; ++d)h[d] > u && (u = h[d], c = d); ++s[c], h[c] = 0, ++l } return s[e] / r } function go(t) { var e = 2 * Math.PI; return (t % e + e) % e } function vo(t) { return t > -Qm && Qm > t } function mo(t) { if (t instanceof Date) return t; if ("string" == typeof t) { var e = ty.exec(t); if (!e) return new Date(0 / 0); if (e[8]) { var i = +e[4] || 0; return "Z" !== e[8].toUpperCase() && (i -= e[8].slice(0, 3)), new Date(Date.UTC(+e[1], +(e[2] || 1) - 1, +e[3] || 1, i, +(e[5] || 0), +e[6] || 0, +e[7] || 0)) } return new Date(+e[1], +(e[2] || 1) - 1, +e[3] || 1, +e[4] || 0, +(e[5] || 0), +e[6] || 0, +e[7] || 0) } return new Date(null == t ? 0 / 0 : Math.round(t)) } function yo(t) { return Math.pow(10, _o(t)) } function _o(t) { if (0 === t) return 0; var e = Math.floor(Math.log(t) / Math.LN10); return t / Math.pow(10, e) >= 10 && e++, e } function xo(t, e) { var i, n = _o(t), r = Math.pow(10, n), a = t / r; return i = e ? 1.5 > a ? 1 : 2.5 > a ? 2 : 4 > a ? 3 : 7 > a ? 5 : 10 : 1 > a ? 1 : 2 > a ? 2 : 3 > a ? 3 : 5 > a ? 5 : 10, t = i * r, n >= -20 ? +t.toFixed(0 > n ? -n : 0) : t } function wo(t, e) { var i = (t.length - 1) * e + 1, n = Math.floor(i), r = +t[n - 1], a = i - n; return a ? r + a * (t[n] - r) : r } function bo(t) { function e(t, i, n) { return t.interval[n] < i.interval[n] || t.interval[n] === i.interval[n] && (t.close[n] - i.close[n] === (n ? -1 : 1) || !n && e(t, i, 1)) } t.sort(function (t, i) { return e(t, i, 0) ? -1 : 1 }); for (var i = -1 / 0, n = 1, r = 0; r < t.length;) { for (var a = t[r].interval, o = t[r].close, s = 0; 2 > s; s++)a[s] <= i && (a[s] = i, o[s] = s ? 1 : 1 - n), i = a[s], n = o[s]; a[0] === a[1] && o[0] * o[1] !== 1 ? t.splice(r, 1) : r++ } return t } function So(t) { return t - parseFloat(t) >= 0 } function Mo(t) { return isNaN(t) ? "-" : (t = (t + "").split("."), t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (t.length > 1 ? "." + t[1] : "")) } function Io(t, e) { return t = (t || "").toLowerCase().replace(/-(.)/g, function (t, e) { return e.toUpperCase() }), e && t && (t = t.charAt(0).toUpperCase() + t.slice(1)), t } function To(t) { return null == t ? "" : (t + "").replace(ny, function (t, e) { return ry[e] }) } function Co(t, e, i) { x(e) || (e = [e]); var n = e.length; if (!n) return ""; for (var r = e[0].$vars || [], a = 0; a < r.length; a++) { var o = ay[a]; t = t.replace(oy(o), oy(o, 0)) } for (var s = 0; n > s; s++)for (var l = 0; l < r.length; l++) { var h = e[s][r[l]]; t = t.replace(oy(ay[l], s), i ? To(h) : h) } return t } function Ao(t, e, i) { return f(e, function (e, n) { t = t.replace("{" + n + "}", i ? To(e) : e) }), t } function Do(t, e) { t = b(t) ? { color: t, extraCssText: e } : t || {}; var i = t.color, n = t.type, e = t.extraCssText, r = t.renderMode || "html", a = t.markerId || "X"; return i ? "html" === r ? "subItem" === n ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + To(i) + ";" + (e || "") + '"></span>' :
  8. gh(gx, t, e, Z_)
  9. } function hh(t) { mx.push(t) } function uh(t, e, i) { "function" == typeof e && (i = e, e = ""); var n = X_(t) ? t.type : [t, t = { event: e }][0]; t.event = (t.event || n).toLowerCase(), e = t.event, H_(hx.test(n) && hx.test(e)), fx[n] || (fx[n] = { action: i, actionInfo: t }), px[e] = n } function ch(t, e) { ds.register(t, e) } function dh(t) { var e = ds.get(t); return e ? e.getDimensionsInfo ? e.getDimensionsInfo() : e.dimensions.slice() : void 0 } function fh(t, e) { gh(yx, t, e, J_, "layout") } function ph(t, e) { gh(yx, t, e, ix, "visual") } function gh(t, e, i, n, r) { if ((W_(e) || X_(e)) && (i = e, e = n), kf) { if (isNaN(e) || null == e) throw new Error("Illegal priority"); G_(t, function (t) { H_(t.__raw !== i) }) } var a = al.wrapStageHandler(i, r); return a.__prio = e, a.__raw = i, t.push(a), a } function vh(t, e) { xx[t] = e } function mh(t) { return gy.extend(t) } function yh(t) { return n_.extend(t) } function _h(t) { return i_.extend(t) } function xh(t) { return Qs.extend(t) } function wh(t) { i("createCanvas", t) } function bh(t, e, i) { F_.registerMap(t, e, i) } function Sh(t) { var e = F_.retrieveMap(t); return e && e[0] && { geoJson: e[0].geoJSON, specialAreas: e[0].specialAreas } } function Mh(t) { return t } function Ih(t, e, i, n, r) { this._old = t, this._new = e, this._oldKeyGetter = i || Mh, this._newKeyGetter = n || Mh, this.context = r } function Th(t, e, i, n, r) { for (var a = 0; a < t.length; a++) { var o = "_ec_" + r[n](t[a], a), s = e[o]; null == s ? (i.push(o), e[o] = a) : (s.length || (e[o] = s = [s]), s.push(a)) } } function Ch(t) { var e = {}, i = e.encode = {}, n = N(), r = [], a = [], o = e.userOutput = { dimensionNames: t.dimensions.slice(), encode: {} }; f(t.dimensions, function (e) { var s = t.getDimensionInfo(e), l = s.coordDim; if (l) { kf && O(null == Dx.get(l)); var h = s.coordDimIndex; Ah(i, l)[h] = e, s.isExtraCoord || (n.set(l, 1), kh(s.type) && (r[0] = e), Ah(o.encode, l)[h] = s.index), s.defaultTooltip && a.push(e) } Dx.each(function (t, e) { var n = Ah(i, e), r = s.otherDims[e]; null != r && r !== !1 && (n[r] = s.name) }) }); var s = [], l = {}; n.each(function (t, e) { var n = i[e]; l[e] = n[0], s = s.concat(n) }), e.dataDimsOnCoord = s, e.encodeFirstDimNotExtra = l; var h = i.label; h && h.length && (r = h.slice()); var u = i.tooltip; return u && u.length ? a = u.slice() : a.length || (a = r.slice()), i.defaultedLabel = r, i.defaultedTooltip = a, e } function Ah(t, e) { return t.hasOwnProperty(e) || (t[e] = []), t[e] } function Dh(t) { return "category" === t ? "ordinal" : "time" === t ? "time" : "float" } function kh(t) { return !("ordinal" === t || "time" === t) } function Ph(t) { return t._rawCount > 65535 ? zx : Rx } function Lh(t) { var e = t.constructor; return e === Array ? t.slice() : new e(t) } function Oh(t, e) { f(Nx.concat(e.__wrappedMethods || []), function (i) { e.hasOwnProperty(i) && (t[i] = e[i]) }), t.__wrappedMethods = e.__wrappedMethods, f(Fx, function (i) { t[i] = n(e[i]) }), t._calculationInfo = o(e._calculationInfo) } function Eh(t, e, i, n, r) { var a = Ex[e.type], o = n - 1, s = e.name, l = t[s][o]; if (l && l.length < i) { for (var h = new a(Math.min(r - o * i, i)), u = 0; u < l.length; u++)h[u] = l[u]; t[s][o] = h } for (var c = n * i; r > c; c += i)t[s].push(new a(Math.min(r - c, i))) } function zh(t) { var e = t._invertedIndicesMap; f(e, function (i, n) { var r = t._dimensionInfos[n], a = r.ordinalMeta; if (a) { i = e[n] = new Bx(a.categories.length); for (var o = 0; o < i.length; o++)i[o] = Lx; for (var o = 0; o < t._count; o++)i[t.get(n, o)] = o } }) } function Bh(t, e, i) { var n; if (null != e) { var r = t._chunkSize, a = Math.floor(i / r), o = i % r, s = t.dimensions[e], l = t._storage[s][a]; if (l) { n = l[o]; var h = t._dimensionInfos[s].ordinalMeta; h && h.categories.length && (n = h.categories[n]) } } return n } function Rh(t) { return t } function Nh(t) { return t < this._count && t >= 0 ? this._indices[t] : -1 } function Fh(t, e) { var i = t._idList[e]; return null == i && (i = Bh(t, t._idDimIdx, e)), null == i && (i = Ox
  10. var e = t.hostModel; return { itemStyle: e.getModel("itemStyle").getItemStyle(["color"]), hoverItemStyle: e.getModel("emphasis.itemStyle").getItemStyle(), symbolRotate: e.get("symbolRotate"), symbolOffset: e.get("symbolOffset"), hoverAnimation: e.get("hoverAnimation"), labelModel: e.getModel("label"), hoverLabelModel: e.getModel("emphasis.label"), cursorStyle: e.get("cursor") }
  11. } function nd(t, e, i) { var n, r = t.getBaseAxis(), a = t.getOtherAxis(r), o = rd(a, i), s = r.dim, l = a.dim, h = e.mapDimension(l), u = e.mapDimension(s), c = "x" === l || "radius" === l ? 1 : 0, d = p(t.dimensions, function (t) { return e.mapDimension(t) }), f = e.getCalculationInfo("stackResultDimension"); return (n |= Zh(e, d[0])) && (d[0] = f), (n |= Zh(e, d[1])) && (d[1] = f), { dataDimsForPoint: d, valueStart: o, valueAxisDim: l, baseAxisDim: s, stacked: !!n, valueDim: h, baseDim: u, baseDataOffset: c, stackedOverDimension: e.getCalculationInfo("stackedOverDimension") } } function rd(t, e) { var i = 0, n = t.scale.getExtent(); return "start" === e ? i = n[0] : "end" === e ? i = n[1] : n[0] > 0 ? i = n[0] : n[1] < 0 && (i = n[1]), i } function ad(t, e, i, n) { var r = 0 / 0; t.stacked && (r = i.get(i.getCalculationInfo("stackedOverDimension"), n)), isNaN(r) && (r = t.valueStart); var a = t.baseDataOffset, o = []; return o[a] = i.get(t.baseDim, n), o[1 - a] = r, e.dataToPoint(o) } function od(t, e) { var i = []; return e.diff(t).add(function (t) { i.push({ cmd: "+", idx: t }) }).update(function (t, e) { i.push({ cmd: "=", idx: e, idx1: t }) }).remove(function (t) { i.push({ cmd: "-", idx: t }) }).execute(), i } function sd(t) { return isNaN(t[0]) || isNaN(t[1]) } function ld(t, e, i, n, r, a, o, s, l, h) { return "none" !== h && h ? hd.apply(this, arguments) : ud.apply(this, arguments) } function hd(t, e, i, n, r, a, o, s, l, h, u) { for (var c = 0, d = i, f = 0; n > f; f++) { var p = e[d]; if (d >= r || 0 > d) break; if (sd(p)) { if (u) { d += a; continue } break } if (d === i) t[a > 0 ? "moveTo" : "lineTo"](p[0], p[1]); else if (l > 0) { var g = e[c], v = "y" === h ? 1 : 0, m = (p[v] - g[v]) * l; Pb(Ob, g), Ob[v] = g[v] + m, Pb(Eb, p), Eb[v] = p[v] - m, t.bezierCurveTo(Ob[0], Ob[1], Eb[0], Eb[1], p[0], p[1]) } else t.lineTo(p[0], p[1]); c = d, d += a } return f } function ud(t, e, i, n, r, a, o, s, l, h, u) { for (var c = 0, d = i, f = 0; n > f; f++) { var p = e[d]; if (d >= r || 0 > d) break; if (sd(p)) { if (u) { d += a; continue } break } if (d === i) t[a > 0 ? "moveTo" : "lineTo"](p[0], p[1]), Pb(Ob, p); else if (l > 0) { var g = d + a, v = e[g]; if (u) for (; v && sd(e[g]);)g += a, v = e[g]; var m = .5, y = e[c], v = e[g]; if (!v || sd(v)) Pb(Eb, p); else { sd(v) && !u && (v = p), j(Lb, v, y); var _, x; if ("x" === h || "y" === h) { var w = "x" === h ? 0 : 1; _ = Math.abs(p[w] - y[w]), x = Math.abs(p[w] - v[w]) } else _ = Qf(p, y), x = Qf(p, v); m = x / (x + _), kb(Eb, p, Lb, -l * (1 - m)) } Ab(Ob, Ob, s), Db(Ob, Ob, o), Ab(Eb, Eb, s), Db(Eb, Eb, o), t.bezierCurveTo(Ob[0], Ob[1], Eb[0], Eb[1], p[0], p[1]), kb(Ob, p, Lb, l * m) } else t.lineTo(p[0], p[1]); c = d, d += a } return f } function cd(t, e) { var i = [1 / 0, 1 / 0], n = [-1 / 0, -1 / 0]; if (e) for (var r = 0; r < t.length; r++) { var a = t[r]; a[0] < i[0] && (i[0] = a[0]), a[1] < i[1] && (i[1] = a[1]), a[0] > n[0] && (n[0] = a[0]), a[1] > n[1] && (n[1] = a[1]) } return { min: e ? i : n, max: e ? n : i } } function dd(t, e) { if (t.length === e.length) { for (var i = 0; i < t.length; i++) { var n = t[i], r = e[i]; if (n[0] !== r[0] || n[1] !== r[1]) return } return !0 } } function fd(t) { return "number" == typeof t ? t : t ? .5 : 0 } function pd(t, e, i) { if (!i.valueDim) return []; for (var n = [], r = 0, a = e.count(); a > r; r++)n.push(ad(i, t, e, r)); return n } function gd(t, e, i) { for (var n = e.getBaseAxis(), r = "x" === n.dim || "radius" === n.dim ? 0 : 1, a = [], o = 0; o < t.length - 1; o++) { var s = t[o + 1], l = t[o]; a.push(l); var h = []; switch (i) { case "end": h[r] = s[r], h[1 - r] = l[1 - r], a.push(h); break; case "middle": var u = (l[r] + s[r]) / 2, c = []; h[r] = c[r] = u, h[1 - r] = l[1 - r], c[1 - r] = s[1 - r], a.push(h), a.push(c); break; default: h[r] = l[r], h[1 - r] = s[1 - r], a.push(h) } } return t[o] && a.push(t[o]), a } function vd(t, e) { var i = t.getVisual("visualMeta"); if (i && i.length && t.count()) { if ("cartesian2d" !== e.type) return void (kf && console.warn("Visual map on line style is only suppo
  12. this.head ? (this.tail.next = t, t.prev = this.tail, t.next = null, this.tail = t) : this.head = this.tail = t, this._len++
  13. }, Ip.remove = function (t) { var e = t.prev, i = t.next; e ? e.next = i : this.head = i, i ? i.prev = e : this.tail = e, t.next = t.prev = null, this._len-- }, Ip.len = function () { return this._len }, Ip.clear = function () { this.head = this.tail = null, this._len = 0 }; var Tp = function (t) { this.value = t, this.next, this.prev }, Cp = function (t) { this._list = new Mp, this._map = {}, this._maxSize = t || 10, this._lastRemovedEntry = null }, Ap = Cp.prototype; Ap.put = function (t, e) { var i = this._list, n = this._map, r = null; if (null == n[t]) { var a = i.len(), o = this._lastRemovedEntry; if (a >= this._maxSize && a > 0) { var s = i.head; i.remove(s), delete n[s.key], r = s.value, this._lastRemovedEntry = s } o ? o.value = e : o = new Tp(e), o.key = t, i.insertEntry(o), n[t] = o } return r }, Ap.get = function (t) { var e = this._map[t], i = this._list; return null != e ? (e !== i.tail && (i.remove(e), i.insertEntry(e)), e.value) : void 0 }, Ap.clear = function () { this._list.clear(), this._map = {} }; var Dp = { transparent: [0, 0, 0, 0], aliceblue: [240, 248, 255, 1], antiquewhite: [250, 235, 215, 1], aqua: [0, 255, 255, 1], aquamarine: [127, 255, 212, 1], azure: [240, 255, 255, 1], beige: [245, 245, 220, 1], bisque: [255, 228, 196, 1], black: [0, 0, 0, 1], blanchedalmond: [255, 235, 205, 1], blue: [0, 0, 255, 1], blueviolet: [138, 43, 226, 1], brown: [165, 42, 42, 1], burlywood: [222, 184, 135, 1], cadetblue: [95, 158, 160, 1], chartreuse: [127, 255, 0, 1], chocolate: [210, 105, 30, 1], coral: [255, 127, 80, 1], cornflowerblue: [100, 149, 237, 1], cornsilk: [255, 248, 220, 1], crimson: [220, 20, 60, 1], cyan: [0, 255, 255, 1], darkblue: [0, 0, 139, 1], darkcyan: [0, 139, 139, 1], darkgoldenrod: [184, 134, 11, 1], darkgray: [169, 169, 169, 1], darkgreen: [0, 100, 0, 1], darkgrey: [169, 169, 169, 1], darkkhaki: [189, 183, 107, 1], darkmagenta: [139, 0, 139, 1], darkolivegreen: [85, 107, 47, 1], darkorange: [255, 140, 0, 1], darkorchid: [153, 50, 204, 1], darkred: [139, 0, 0, 1], darksalmon: [233, 150, 122, 1], darkseagreen: [143, 188, 143, 1], darkslateblue: [72, 61, 139, 1], darkslategray: [47, 79, 79, 1], darkslategrey: [47, 79, 79, 1], darkturquoise: [0, 206, 209, 1], darkviolet: [148, 0, 211, 1], deeppink: [255, 20, 147, 1], deepskyblue: [0, 191, 255, 1], dimgray: [105, 105, 105, 1], dimgrey: [105, 105, 105, 1], dodgerblue: [30, 144, 255, 1], firebrick: [178, 34, 34, 1], floralwhite: [255, 250, 240, 1], forestgreen: [34, 139, 34, 1], fuchsia: [255, 0, 255, 1], gainsboro: [220, 220, 220, 1], ghostwhite: [248, 248, 255, 1], gold: [255, 215, 0, 1], goldenrod: [218, 165, 32, 1], gray: [128, 128, 128, 1], green: [0, 128, 0, 1], greenyellow: [173, 255, 47, 1], grey: [128, 128, 128, 1], honeydew: [240, 255, 240, 1], hotpink: [255, 105, 180, 1], indianred: [205, 92, 92, 1], indigo: [75, 0, 130, 1], ivory: [255, 255, 240, 1], khaki: [240, 230, 140, 1], lavender: [230, 230, 250, 1], lavenderblush: [255, 240, 245, 1], lawngreen: [124, 252, 0, 1], lemonchiffon: [255, 250, 205, 1], lightblue: [173, 216, 230, 1], lightcoral: [240, 128, 128, 1], lightcyan: [224, 255, 255, 1], lightgoldenrodyellow: [250, 250, 210, 1], lightgray: [211, 211, 211, 1], lightgreen: [144, 238, 144, 1], lightgrey: [211, 211, 211, 1], lightpink: [255, 182, 193, 1], lightsalmon: [255, 160, 122, 1], lightseagreen: [32, 178, 170, 1], lightskyblue: [135, 206, 250, 1], lightslategray: [119, 136, 153, 1], lightslategrey: [119, 136, 153, 1], lightsteelblue: [176, 196, 222, 1], lightyellow: [255, 255, 224, 1], lime: [0, 255, 0, 1], limegreen: [50, 205, 50, 1], linen: [250, 240, 230, 1], magenta: [255, 0, 255, 1], maroon: [128, 0, 0, 1], mediumaquamarine: [102, 205, 170, 1], mediumblue: [0, 0, 205, 1], mediumorchid: [186, 85, 211, 1], mediumpurple: [147, 112, 219, 1], mediumseagreen: [60, 179, 113, 1], mediumslateblue: [123, 104, 238, 1], mediumspringgreen: [0, 250, 154, 1], mediumturquoise: [72, 209, 204, 1], mediumvioletred: [199, 21, 133, 1], midnightblue: [25, 25, 112, 1], mintcream: [245, 255, 250, 1], mistyrose: [255, 228, 225, 1], moccas
  14. constructor: Pg, addClip: function (t) { this._clips.push(t) }, addAnimator: function (t) { t.animation = this; for (var e = t.getClips(), i = 0; i < e.length; i++)this.addClip(e[i]) }, removeClip: function (t) { var e = h(this._clips, t); e >= 0 && this._clips.splice(e, 1) }, removeAnimator: function (t) { for (var e = t.getClips(), i = 0; i < e.length; i++)this.removeClip(e[i]); t.animation = null }, _update: function () { for (var t = (new Date).getTime() - this._pausedTime, e = t - this._time, i = this._clips, n = i.length, r = [], a = [], o = 0; n > o; o++) { var s = i[o], l = s.step(t, e); l && (r.push(l), a.push(s)) } for (var o = 0; n > o;)i[o]._needsRemove ? (i[o] = i[n - 1], i.pop(), n--) : o++; n = r.length; for (var o = 0; n > o; o++)a[o].fire(r[o]); this._time = t, this.onframe(e), this.trigger("frame", e), this.stage.update && this.stage.update() }, _startLoop: function () { function t() { e._running && (lg(t), !e._paused && e._update()) } var e = this; this._running = !0, lg(t) }, start: function () {
  15. this._time = (new Date).getTime(), this._pausedTime = 0, this._startLoop()
  16. }, stop: function () { this._running = !1 }, pause: function () { this._paused || (this._pauseStart = (new Date).getTime(), this._paused = !0) }, resume: function () { this._paused && (this._pausedTime += (new Date).getTime() - this._pauseStart, this._paused = !1) }, clear: function () { this._clips = [] }, isFinished: function () { return !this._clips.length }, animate: function (t, e) { e = e || {}; var i = new Bp(t, e.loop, e.getter, e.setter); return this.addAnimator(i), i }
  17. }, c(Pg, ip); var Lg = 300, Og = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"], Eg = ["touchstart", "touchend", "touchmove"], zg = { pointerdown: 1, pointerup: 1, pointermove: 1, pointerout: 1 }, Bg = p(Og, function (t) { var e = t.replace("mouse", "pointer"); return zg[e] ? e : t }), Rg = { mousemove: function (t) { t = ye(this.dom, t), this.trigger("mousemove", t) }, mouseout: function (t) { t = ye(this.dom, t); var e = t.toElement || t.relatedTarget; if (e !== this.dom) for (; e && 9 !== e.nodeType;) { if (e === this.dom) return; e = e.parentNode } this.trigger("mouseout", t) }, touchstart: function (t) { t = ye(this.dom, t), t.zrByTouch = !0, this._lastTouchMoment = new Date, this.handler.processGesture(t, "start"), Rg.mousemove.call(this, t), Rg.mousedown.call(this, t), Pn(this) }, touchmove: function (t) { t = ye(this.dom, t), t.zrByTouch = !0, this.handler.processGesture(t, "change"), Rg.mousemove.call(this, t), Pn(this) }, touchend: function (t) { t = ye(this.dom, t), t.zrByTouch = !0, this.handler.processGesture(t, "end"), Rg.mouseup.call(this, t), +new Date - this._lastTouchMoment < Lg && Rg.click.call(this, t), Pn(this) }, pointerdown: function (t) { Rg.mousedown.call(this, t) }, pointermove: function (t) { Ln(t) || Rg.mousemove.call(this, t) }, pointerup: function (t) { Rg.mouseup.call(this, t) }, pointerout: function (t) { Ln(t) || Rg.mouseout.call(this, t) } }; f(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function (t) { Rg[t] = function (e) { e = ye(this.dom, e), this.trigger(t, e) } }); var Ng = En.prototype; Ng.dispose = function () { for (var t = Og.concat(Eg), e = 0; e < t.length; e++) { var i = t[e]; xe(this.dom, kn(i), this._handlers[i]) } }, Ng.setCursor = function (t) { this.dom.style && (this.dom.style.cursor = t || "default") }, c(En, ip); var Fg = !Ef.canvasSupported, Vg = { canvas: kg }, Hg = {}, Gg = "4.1.2", Wg = function (t, e, i) { i = i || {}, this.dom = e, this.id = t; var n = this, r = new Kp, a = i.renderer; if (Fg) { if (!Vg.vml) throw new Error("You need to require 'zrender/vml/vml' to support IE8"); a = "vml" } else a && Vg[a] || (a = "canvas"); var o = new Vg[a](e, r, i, t); this.storage = r, this.painter = o; var s = Ef.node || Ef.worker ? null : new En(o.getViewportRoot()); this.handler = new fp(r, o, s, o.root), this.animation = new Pg({ stage: { update: y(this.flush, this) } }), this.animation.start(), this._needsRefresh; var l = r.delFromStorage, h = r.addToStorage; r.delFromStorage = function (t) { l.call(r, t), t && t.removeSelfFromZr(n) }, r.addToStorage = function (t) { h.call(r, t), t.addSelfToZr(n) } }; Wg.prototype = { constructor: Wg, getId: function () { return this.id }, add: function (t) { this.storage.addRoot(t), this._needsRefresh = !0 }, remove: function (t) { this.storage.delRoot(t), this._needsRefresh = !0 }, configLayer: function (t, e) { this.painter.configLayer && this.painter.configLayer(t, e), this._needsRefresh = !0 }, setBackgroundColor: function (t) { this.painter.setBackgroundColor && this.painter.setBackgroundColor(t), this._needsRefresh = !0 }, refreshImmediately: function () { this._needsRefresh = this._needsRefreshHover = !1, this.painter.refresh(), this._needsRefresh = this._needsRefreshHover = !1 }, refresh: function () { this._needsRefresh = !0 }, flush: function () { var t; this._needsRefresh && (t = !0, this.refreshImmediately()), this._needsRefreshHover && (t = !0, this.refreshHoverImmediately()), t && this.trigger("rendered") }, addHover: function (t, e) { if (this.painter.addHover) { var i = this.painter.addHover(t, e); return this.refreshHover(), i } }, removeHover: function (t) { this.painter.removeHover && (this.painter.removeHover(t), this.refreshHover()) }, clearHover: function () { this.painter.clearHover && (this.painter.clearHover(), this.refreshHover()) }, refreshHover: function () { this._needsRefreshHover = !0 }, refreshHoverImmediately: function () { this._needsRefreshHover = !1, this.painter.refreshHover && this.painter.refreshHover() }, r
  18. cartesian2d: function (t, e, i, n) { var r = t.getReferringComponents("xAxis")[0], a = t.getReferringComponents("yAxis")[0]; if (kf) { if (!r) throw new Error('xAxis "' + A(t.get("xAxisIndex"), t.get("xAxisId"), 0) + '" not found'); if (!a) throw new Error('yAxis "' + A(t.get("xAxisIndex"), t.get("yAxisId"), 0) + '" not found') } e.coordSysDims = ["x", "y"], i.set("x", r), i.set("y", a), Wo(r) && (n.set("x", r), e.firstCategoryDimIndex = 0), Wo(a) && (n.set("y", a), e.firstCategoryDimIndex = 1) }, singleAxis: function (t, e, i, n) {
  19. var r = t.getReferringComponents("singleAxis")[0]; if (kf && !r) throw new Error("singleAxis should be specified."); e.coordSysDims = ["single"], i.set("single", r), Wo(r) && (n.set("single", r), e.firstCategoryDimIndex = 0)
  20. }, polar: function (t, e, i, n) { var r = t.getReferringComponents("polar")[0], a = r.findAxisModel("radiusAxis"), o = r.findAxisModel("angleAxis"); if (kf) { if (!o) throw new Error("angleAxis option not found"); if (!a) throw new Error("radiusAxis option not found") } e.coordSysDims = ["radius", "angle"], i.set("radius", a), i.set("angle", o), Wo(a) && (n.set("radius", a), e.firstCategoryDimIndex = 0), Wo(o) && (n.set("angle", o), e.firstCategoryDimIndex = 1) }, geo: function (t, e) { e.coordSysDims = ["lng", "lat"] }, parallel: function (t, e, i, n) { var r = t.ecModel, a = r.getComponent("parallel", t.get("parallelIndex")), o = e.coordSysDims = a.dimensions.slice(); f(a.parallelAxisIndex, function (t, a) { var s = r.getComponent("parallelAxis", t), l = o[a]; i.set(l, s), Wo(s) && null == e.firstCategoryDimIndex && (n.set(l, s), e.firstCategoryDimIndex = a) }) }
  21. }, wy = "original", by = "arrayRows", Sy = "objectRows", My = "keyedColumns", Iy = "unknown", Ty = "typedArray", Cy = "column", Ay = "row"; Xo.seriesDataToSource = function (t) { return new Xo({ data: t, sourceFormat: I(t) ? Ty : wy, fromDataset: !1 }) }, rr(Xo); var Dy = Zn(), ky = "\x00_ec_inner", Py = Ja.extend({ init: function (t, e, i, n) { i = i || {}, this.option = null, this._theme = new Ja(i), this._optionManager = n }, setOption: function (t, e) { O(!(ky in t), "please use chart.getOption()"), this._optionManager.setOption(t, e), this.resetOption(null) }, resetOption: function (t) { var e = !1, i = this._optionManager; if (!t || "recreate" === t) { var n = i.mountOption("recreate" === t); this.option && "recreate" !== t ? (this.restoreData(), this.mergeOption(n)) : as.call(this, n), e = !0 } if (("timeline" === t || "media" === t) && this.restoreData(), !t || "recreate" === t || "timeline" === t) { var r = i.getTimelineOption(this); r && (this.mergeOption(r), e = !0) } if (!t || "recreate" === t || "media" === t) { var a = i.getMediaOption(this, this._api); a.length && f(a, function (t) { this.mergeOption(t, e = !0) }, this) } return e }, mergeOption: function (t) { function e(e, n) { var r = Vn(t[e]), s = Xn(a.get(e), r); Un(s), f(s, function (t) { var i = t.option; S(i) && (t.keyInfo.mainType = e, t.keyInfo.subType = ss(e, i, t.exist)) }); var l = os(a, n); i[e] = [], a.set(e, []), f(s, function (t, n) { var r = t.exist, s = t.option; if (O(S(s) || r, "Empty component definition"), s) { var h = gy.getClass(e, t.keyInfo.subType, !0); if (r && r.constructor === h) r.name = t.keyInfo.name, r.mergeOption(s, this), r.optionUpdated(s, !1); else { var u = o({ dependentModels: l, componentIndex: n }, t.keyInfo); r = new h(s, this, this, u), o(r, u), r.init(s, this, this, u), r.optionUpdated(null, !0) } } else r.mergeOption({}, this), r.optionUpdated({}, !1); a.get(e)[n] = r, i[e][n] = r.option }, this), "series" === e && ls(this, a.get("series")) } var i = this.option, a = this._componentsMap, s = []; jo(this), f(t, function (t, e) { null != t && (gy.hasClass(e) ? e && s.push(e) : i[e] = null == i[e] ? n(t) : r(i[e], t, !0)) }), gy.topologicalTravel(s, gy.getAllClassMainTypes(), e, this), this._seriesIndicesMap = N(this._seriesIndices = this._seriesIndices || []) }, getOption: function () { var t = n(this.option); return f(t, function (e, i) { if (gy.hasClass(i)) { for (var e = Vn(e), n = e.length - 1; n >= 0; n--)jn(e[n]) && e.splice(n, 1); t[i] = e } }), delete t[ky], t }, getTheme: function () { return this._theme }, getComponent: function (t, e) { var i = this._componentsMap.get(t); return i ? i[e || 0] : void 0 }, queryComponents: function (t) { var e = t.mainType; if (!e) return []; var i = t.index, n = t.id, r = t.name, a = this._componentsMap.get(e); if (!a || !a.length) return []; var o; if (null != i) x(i) || (i = [i]), o = v(p(i, function (t) { return a[t] }), function (t) { return !!t }); else if (null != n) { var s = x(n); o = v(a, function (t) { return s && h(n, t.id) >= 0 || !s && t.id === n }) } else if (null != r) { var l = x(r); o = v(a, function (t) { return l && h(r, t.name) >= 0 || !l && t.name === r }) } else o = a.slice(); return hs(o, t) }, findComponents: function (t) { function e(t) { var e = r + "Index", i = r + "Id", n = r + "Name"; return !t || null == t[e] && null == t[i] && null == t[n] ? null : { mainType: r, index: t[e], id: t[i], name: t[n] } } function i(e) { return t.filter ? v(e, t.filter) : e } var n = t.query, r = t.mainType, a = e(n), o = a ? this.queryComponents(a) : this._componentsMap.get(r); return i(hs(o, t)) }, eachComponent: function (t, e, i) { var n = this._componentsMap; if ("function" == typeof t) i = e, e = t, n.each(function (t, n) { f(t, function (t, r) { e.call(i, n, t, r) }) }); else if (b(t)) f(n.get(t), e, i); else if (S(t)) { var r = this.findComponents(t); f(r, e, i) } }, getSeriesByName: function (t) { var e = this._componentsMap.get("series"); return v(e, function (e) { return e.name === t }) }, getSeriesByIndex: function (t) { return this._components
  22. g: function (t, e) { var i = new jp; return Sl(e, i), Il(t, i, this._defs), i }, rect: function (t, e) { var i = new _m; return Sl(e, i), Il(t, i, this._defs), i.setShape({ x: parseFloat(t.getAttribute("x") || 0), y: parseFloat(t.getAttribute("y") || 0), width: parseFloat(t.getAttribute("width") || 0), height: parseFloat(t.getAttribute("height") || 0) }), i }, circle: function (t, e) { var i = new lm; return Sl(e, i), Il(t, i, this._defs), i.setShape({ cx: parseFloat(t.getAttribute("cx") || 0), cy: parseFloat(t.getAttribute("cy") || 0), r: parseFloat(t.getAttribute("r") || 0) }), i }, line: function (t, e) { var i = new wm; return Sl(e, i), Il(t, i, this._defs), i.setShape({ x1: parseFloat(t.getAttribute("x1") || 0), y1: parseFloat(t.getAttribute("y1") || 0), x2: parseFloat(t.getAttribute("x2") || 0), y2: parseFloat(t.getAttribute("y2") || 0) }), i }, ellipse: function (t, e) { var i = new k_; return Sl(e, i), Il(t, i, this._defs), i.setShape({ cx: parseFloat(t.getAttribute("cx") || 0), cy: parseFloat(t.getAttribute("cy") || 0), rx: parseFloat(t.getAttribute("rx") || 0), ry: parseFloat(t.getAttribute("ry") || 0) }), i }, polygon: function (t, e) { var i = t.getAttribute("points"); i && (i = Ml(i)); var n = new gm({ shape: { points: i || [] } }); return Sl(e, n), Il(t, n, this._defs), n }, polyline: function (t, e) { var i = new Hr; Sl(e, i), Il(t, i, this._defs); var n = t.getAttribute("points"); n && (n = Ml(n)); var r = new vm({ shape: { points: n || [] } }); return r }, image: function (t, e) { var i = new Sn; return Sl(e, i), Il(t, i, this._defs), i.setStyle({ image: t.getAttribute("xlink:href"), x: t.getAttribute("x"), y: t.getAttribute("y"), width: t.getAttribute("width"), height: t.getAttribute("height") }), i }, text: function (t, e) {
  23. var i = t.getAttribute("x") || 0, n = t.getAttribute("y") || 0, r = t.getAttribute("dx") || 0, a = t.getAttribute("dy") || 0; this._textX = parseFloat(i) + parseFloat(r), this._textY = parseFloat(n) + parseFloat(a);
  24. var o = new jp; return Sl(e, o), Il(t, o, this._defs), o
  25. }, tspan: function (t, e) { var i = t.getAttribute("x"), n = t.getAttribute("y"); null != i && (this._textX = parseFloat(i)), null != n && (this._textY = parseFloat(n)); var r = t.getAttribute("dx") || 0, a = t.getAttribute("dy") || 0, o = new jp; return Sl(e, o), Il(t, o, this._defs), this._textX += r, this._textY += a, o }, path: function (t, e) { var i = t.getAttribute("d") || "", n = Ur(i); return Sl(e, n), Il(t, n, this._defs), n }
  26. }, O_ = { lineargradient: function (t) { var e = parseInt(t.getAttribute("x1") || 0, 10), i = parseInt(t.getAttribute("y1") || 0, 10), n = parseInt(t.getAttribute("x2") || 10, 10), r = parseInt(t.getAttribute("y2") || 0, 10), a = new Cm(e, i, n, r); return bl(t, a), a }, radialgradient: function () { } }, E_ = { fill: "fill", stroke: "stroke", "stroke-width": "lineWidth", opacity: "opacity", "fill-opacity": "fillOpacity", "stroke-opacity": "strokeOpacity", "stroke-dasharray": "lineDash", "stroke-dashoffset": "lineDashOffset", "stroke-linecap": "lineCap", "stroke-linejoin": "lineJoin", "stroke-miterlimit": "miterLimit", "font-family": "fontFamily", "font-size": "fontSize", "font-style": "fontStyle", "font-weight": "fontWeight", "text-align": "textAlign", "alignment-baseline": "textBaseline" }, z_ = /url\(\s*#(.*?)\)/, B_ = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g, R_ = /([^\s:;]+)\s*:\s*([^:;]+)/g, N_ = N(), F_ = { registerMap: function (t, e, i) { var n; return x(e) ? n = e : e.svg ? n = [{ type: "svg", source: e.svg, specialAreas: e.specialAreas }] : (e.geoJson && !e.features && (i = e.specialAreas, e = e.geoJson), n = [{ type: "geoJSON", source: e, specialAreas: i }]), f(n, function (t) { var e = t.type; "geoJson" === e && (e = t.type = "geoJSON"); var i = V_[e]; kf && O(i, "Illegal map type: " + e), i(t) }), N_.set(t, n) }, retrieveMap: function (t) { return N_.get(t) } }, V_ = { geoJSON: function (t) { var e = t.source; t.geoJSON = b(e) ? "undefined" != typeof JSON && JSON.parse ? JSON.parse(e) : new Function("return (" + e + ");")() : e }, svg: function (t) { t.svgXML = xl(t.source) } }, H_ = O, G_ = f, W_ = w, X_ = S, U_ = gy.parseClassType, Y_ = "4.5.0", j_ = { zrender: "4.1.2" }, q_ = 1, Z_ = 1e3, K_ = 800, $_ = 900, Q_ = 5e3, J_ = 1e3, tx = 1100, ex = 2e3, ix = 3e3, nx = 3500, rx = 4e3, ax = 5e3, ox = { PROCESSOR: { FILTER: Z_, SERIES_FILTER: K_, STATISTIC: Q_ }, VISUAL: { LAYOUT: J_, PROGRESSIVE_LAYOUT: tx, GLOBAL: ex, CHART: ix, POST_CHART_LAYOUT: nx, COMPONENT: rx, BRUSH: ax } }, sx = "__flagInMainProcess", lx = "__optionUpdated", hx = /^[a-zA-Z0-9_]+$/; Pl.prototype.on = kl("on", !0), Pl.prototype.off = kl("off", !0), Pl.prototype.one = kl("one", !0), c(Pl, ip); var ux = Ll.prototype; ux._onframe = function () { if (!this._disposed) { var t = this._scheduler; if (this[lx]) { var e = this[lx].silent; this[sx] = !0, El(this), cx.update.call(this), this[sx] = !1, this[lx] = !1, Nl.call(this, e), Fl.call(this, e) } else if (t.unfinished) { var i = q_, n = this._model, r = this._api; t.unfinished = !1; do { var a = +new Date; t.performSeriesTasks(n), t.performDataProcessorTasks(n), Bl(this, n), t.performVisualTasks(n), Ul(this, this._model, r, "remain"), i -= +new Date - a } while (i > 0 && t.unfinished); t.unfinished || this._zr.flush() } } }, ux.getDom = function () { return this._dom }, ux.getZr = function () { return this._zr }, ux.setOption = function (t, e, i) { if (kf && H_(!this[sx], "`setOption` should not be called during main process."), this._disposed) return void jl(this.id); var n; if (X_(e) && (i = e.lazyUpdate, n = e.silent, e = e.notMerge), this[sx] = !0, !this._model || e) { var r = new fs(this._api), a = this._theme, o = this._model = new Py; o.scheduler = this._scheduler, o.init(null, null, a, r) } this._model.setOption(t, vx), i ? (this[lx] = { silent: n }, this[sx] = !1) : (El(this), cx.update.call(this), this._zr.flush(), this[lx] = !1, this[sx] = !1, Nl.call(this, n), Fl.call(this, n)) }, ux.setTheme = function () { console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0") }, ux.getModel = function () { return this._model }, ux.getOption = function () { return this._model && this._model.getOption() }, ux.getWidth = function () { return this._zr.getWidth() }, ux.getHeight = function () { return this._zr.getHeight() }, ux.getDevicePixelRatio = function () { return this._zr.painter.dpr || window.devicePixelRatio || 1 }, ux.getRenderedCanvas = function (t) { if (Ef.canvasSupported) { t = t || {}, t.pixelRatio = t.pixelRatio || 1, t.backgroundColor = t.back
  27. lw.create = function (t) { return new lw({ useUTC: t.ecModel.get("useUTC") }) }; var uw = tu.prototype, cw = Zx.prototype, dw = co, fw = lo, pw = Math.floor, gw = Math.ceil, vw = Math.pow, mw = Math.log, yw = tu.extend({ type: "log", base: 10, $constructor: function () { tu.apply(this, arguments), this._originalScale = new Zx }, getTicks: function () { var t = this._originalScale, e = this._extent, i = t.getExtent(); return p(cw.getTicks.call(this), function (n) { var r = lo(vw(this.base, n)); return r = n === e[0] && t.__fixMin ? xu(r, i[0]) : r, r = n === e[1] && t.__fixMax ? xu(r, i[1]) : r }, this) }, getLabel: cw.getLabel, scale: function (t) { return t = uw.scale.call(this, t), vw(this.base, t) }, setExtent: function (t, e) { var i = this.base; t = mw(t) / mw(i), e = mw(e) / mw(i), cw.setExtent.call(this, t, e) }, getExtent: function () { var t = this.base, e = uw.getExtent.call(this); e[0] = vw(t, e[0]), e[1] = vw(t, e[1]); var i = this._originalScale, n = i.getExtent(); return i.__fixMin && (e[0] = xu(e[0], n[0])), i.__fixMax && (e[1] = xu(e[1], n[1])), e }, unionExtent: function (t) { this._originalScale.unionExtent(t); var e = this.base; t[0] = mw(t[0]) / mw(e), t[1] = mw(t[1]) / mw(e), uw.unionExtent.call(this, t) }, unionExtentFromData: function (t, e) { this.unionExtent(t.getApproximateExtent(e)) }, niceTicks: function (t) { t = t || 10; var e = this._extent, i = e[1] - e[0]; if (!(1 / 0 === i || 0 >= i)) { var n = yo(i), r = t / i * n; for (.5 >= r && (n *= 10); !isNaN(n) && Math.abs(n) < 1 && Math.abs(n) > 0;)n *= 10; var a = [lo(gw(e[0] / n) * n), lo(pw(e[1] / n) * n)]; this._interval = n, this._niceExtent = a } }, niceExtent: function (t) { cw.niceExtent.call(this, t); var e = this._originalScale; e.__fixMin = t.fixMin, e.__fixMax = t.fixMax } }); f(["contain", "normalize"], function (t) { yw.prototype[t] = function (e) { return e = mw(e) / mw(this.base), uw[t].call(this, e) } }), yw.create = function () { return new yw }; var _w = { getMin: function (t) { var e = this.option, i = t || null == e.rangeStart ? e.min : e.rangeStart; return this.axis && null != i && "dataMin" !== i && "function" != typeof i && !C(i) && (i = this.axis.scale.parse(i)), i }, getMax: function (t) { var e = this.option, i = t || null == e.rangeEnd ? e.max : e.rangeEnd; return this.axis && null != i && "dataMax" !== i && "function" != typeof i && !C(i) && (i = this.axis.scale.parse(i)), i }, getNeedCrossZero: function () { var t = this.option; return null != t.rangeStart || null != t.rangeEnd ? !1 : !t.scale }, getCoordSysModel: V, setRange: function (t, e) { this.option.rangeStart = t, this.option.rangeEnd = e }, resetRange: function () { this.option.rangeStart = this.option.rangeEnd = null } }, xw = ea({ type: "triangle", shape: { cx: 0, cy: 0, width: 0, height: 0 }, buildPath: function (t, e) { var i = e.cx, n = e.cy, r = e.width / 2, a = e.height / 2; t.moveTo(i, n - a), t.lineTo(i + r, n + a), t.lineTo(i - r, n + a), t.closePath() } }), ww = ea({ type: "diamond", shape: { cx: 0, cy: 0, width: 0, height: 0 }, buildPath: function (t, e) { var i = e.cx, n = e.cy, r = e.width / 2, a = e.height / 2; t.moveTo(i, n - a), t.lineTo(i + r, n), t.lineTo(i, n + a), t.lineTo(i - r, n), t.closePath() } }), bw = ea({ type: "pin", shape: { x: 0, y: 0, width: 0, height: 0 }, buildPath: function (t, e) { var i = e.x, n = e.y, r = e.width / 5 * 3, a = Math.max(r, e.height), o = r / 2, s = o * o / (a - o), l = n - a + o + s, h = Math.asin(s / o), u = Math.cos(h) * o, c = Math.sin(h), d = Math.cos(h), f = .6 * o, p = .7 * o; t.moveTo(i - u, l + s), t.arc(i, l, o, Math.PI - h, 2 * Math.PI + h), t.bezierCurveTo(i + u - c * f, l + s + d * f, i, n - p, i, n), t.bezierCurveTo(i, n - p, i - u + c * f, l + s + d * f, i - u, l + s), t.closePath() } }), Sw = ea({ type: "arrow", shape: { x: 0, y: 0, width: 0, height: 0 }, buildPath: function (t, e) { var i = e.height, n = e.width, r = e.x, a = e.y, o = n / 3 * 2; t.moveTo(r, a), t.lineTo(r + o, a + i), t.lineTo(r, a + i / 4 * 3), t.lineTo(r - o, a + i), t.lineTo(r, a), t.closePath() } }), Mw = { line:
  28. xb._updateCommon = function (t, e, i, n) { function r(e) { return b ? t.getName(e) : pc(t, e) } var a = this.childAt(0), s = t.hostModel, l = t.getItemVisual(e, "color"); "image" !== a.type ? a.useStyle({ strokeNoScale: !0 }) : a.setStyle({ opacity: null, shadowBlur: null, shadowOffsetX: null, shadowOffsetY: null, shadowColor: null }); var h = n && n.itemStyle, u = n && n.hoverItemStyle, c = n && n.symbolRotate, d = n && n.symbolOffset, f = n && n.labelModel, p = n && n.hoverLabelModel, g = n && n.hoverAnimation, v = n && n.cursorStyle; if (!n || t.hasItemOption) { var m = n && n.itemModel ? n.itemModel : t.getItemModel(e); h = m.getModel(bb).getItemStyle(["color"]), u = m.getModel(Sb).getItemStyle(), c = m.getShallow("symbolRotate"), d = m.getShallow("symbolOffset"), f = m.getModel(Mb), p = m.getModel(Ib), g = m.getShallow("hoverAnimation"), v = m.getShallow("cursor") } else u = o({}, u); var y = a.style; a.attr("rotation", (c || 0) * Math.PI / 180 || 0), d && a.attr("position", [so(d[0], i[0]), so(d[1], i[1])]), v && a.attr("cursor", v), a.setColor(l, n && n.symbolInnerColor), a.setStyle(h); var _ = t.getItemVisual(e, "opacity"); null != _ && (y.opacity = _); var x = t.getItemVisual(e, "liftZ"), w = a.__z2Origin; null != x ? null == w && (a.__z2Origin = a.z2, a.z2 += x) : null != w && (a.z2 = w, a.__z2Origin = null); var b = n && n.useNameLabel; Aa(y, u, f, p, { labelFetcher: s, labelDataIndex: e, defaultText: r, isRectText: !0, autoColor: l }), a.__symbolOriginalScale = Kc(i), a.hoverStyle = u, a.highDownOnUpdate = g && s.isAnimationEnabled() ? Qc : null, Ma(a) }, xb.fadeOut = function (t, e) { var i = this.childAt(0); this.silent = i.silent = !0, !(e && e.keepLabel) && (i.style.text = null), Va(i, { style: { opacity: 0 }, scale: [0, 0] }, this._seriesModel, this.dataIndex, t) }, u(Zc, jp); var Tb = Jc.prototype; Tb.updateData = function (t, e) { e = ed(e); var i = this.group, n = t.hostModel, r = this._data, a = this._symbolCtor, o = id(t); r || i.removeAll(), t.diff(r).add(function (n) { var r = t.getItemLayout(n); if (td(t, r, n, e)) { var s = new a(t, n, o); s.attr("position", r), t.setItemGraphicEl(n, s), i.add(s) } }).update(function (s, l) { var h = r.getItemGraphicEl(l), u = t.getItemLayout(s); return td(t, u, s, e) ? (h ? (h.updateData(t, s, o), Va(h, { position: u }, n)) : (h = new a(t, s), h.attr("position", u)), i.add(h), void t.setItemGraphicEl(s, h)) : void i.remove(h) }).remove(function (t) { var e = r.getItemGraphicEl(t); e && e.fadeOut(function () { i.remove(e) }) }).execute(), this._data = t }, Tb.isPersistent = function () { return !0 }, Tb.updateLayout = function () { var t = this._data; t && t.eachItemGraphicEl(function (e, i) { var n = t.getItemLayout(i); e.attr("position", n) }) }, Tb.incrementalPrepareUpdate = function (t) { this._seriesScope = id(t), this._data = null, this.group.removeAll() }, Tb.incrementalUpdate = function (t, e, i) { function n(t) { t.isGroup || (t.incremental = t.useHoverLayer = !0) } i = ed(i); for (var r = t.start; r < t.end; r++) { var a = e.getItemLayout(r); if (td(e, a, r, i)) { var o = new this._symbolCtor(e, r, this._seriesScope); o.traverse(n), o.attr("position", a), this.group.add(o), e.setItemGraphicEl(r, o) } } }, Tb.remove = function (t) { var e = this.group, i = this._data; i && t ? i.eachItemGraphicEl(function (t) { t.fadeOut(function () { e.remove(t) }) }) : e.removeAll() }; var Cb = function (t, e, i, n, r, a, o, s) { for (var l = od(t, e), h = [], u = [], c = [], d = [], f = [], p = [], g = [], v = nd(r, e, o), m = nd(a, t, s), y = 0; y < l.length; y++) { var _ = l[y], x = !0; switch (_.cmd) { case "=": var w = t.getItemLayout(_.idx), b = e.getItemLayout(_.idx1); (isNaN(w[0]) || isNaN(w[1])) && (w = b.slice()), h.push(w), u.push(b), c.push(i[_.idx]), d.push(n[_.idx1]), g.push(e.getRawIndex(_.idx1)); break; case "+": var S = _.idx; h.push(r.dataToPoint([e.get(v.dataDimsForPoint[0], S), e.get(v.dataDimsForPoint[1], S)])), u.push(e.getItemLayout(S).slice()), c.push(ad(v, r, e, S)), d.push(n[S]), g.push(e.getRawIndex(S)); break; case "-": var S = _.idx,
  29. type: "legend.scroll", setScrollDataIndex: function (t) { this.option.scrollDataIndex = t }, defaultOption: { scrollDataIndex: 0, pageButtonItemGap: 5, pageButtonGap: null, pageButtonPosition: "end", pageFormatter: "{current}/{total}", pageIcons: { horizontal: ["M0,0L12,-10L12,10z", "M0,0L-12,-10L-12,10z"], vertical: ["M0,0L20,0L10,-20z", "M0,0L20,0L10,20z"] }, pageIconColor: "#2f4554", pageIconInactiveColor: "#aaa", pageIconSize: 15, pageTextStyle: { color: "#333" }, animationDurationUpdate: 800 }, init: function (t, e, i, n) {
  30. var r = No(t);
  31. lS.superCall(this, "init", t, e, i, n), Ld(this, t, r)
  32. }, mergeOption: function (t, e) { lS.superCall(this, "mergeOption", t, e), Ld(this, this.option, t) }
  33. }), hS = jp, uS = ["width", "height"], cS = ["x", "y"], dS = oS.extend({ type: "legend.scroll", newlineDisabled: !0, init: function () { dS.superCall(this, "init"), this._currentIndex = 0, this.group.add(this._containerGroup = new hS), this._containerGroup.add(this.getContentGroup()), this.group.add(this._controllerGroup = new hS), this._showController }, resetInner: function () { dS.superCall(this, "resetInner"), this._controllerGroup.removeAll(), this._containerGroup.removeClipPath(), this._containerGroup.__rectSize = null }, renderInner: function (t, e, i, n, r, a, o) { function s(t, i) { var r = t + "DataIndex", a = qa(e.get("pageIcons", !0)[e.getOrient().name][i], { onclick: y(l._pageGo, l, r, e, n) }, { x: -u[0] / 2, y: -u[1] / 2, width: u[0], height: u[1] }); a.name = t, h.add(a) } var l = this; dS.superCall(this, "renderInner", t, e, i, n, r, a, o); var h = this._controllerGroup, u = e.get("pageIconSize", !0); x(u) || (u = [u, u]), s("pagePrev", 0); var c = e.getModel("pageTextStyle"); h.add(new sm({ name: "pageText", style: { textFill: c.getTextColor(), font: c.getFont(), textVerticalAlign: "middle", textAlign: "center" }, silent: !0 })), s("pageNext", 1) }, layoutInner: function (t, e, i, r, a, o) { var s = this.getSelectorGroup(), l = t.getOrient().index, h = uS[l], u = cS[l], c = uS[1 - l], d = cS[1 - l]; a && dy("horizontal", s, t.get("selectorItemGap", !0)); var f = t.get("selectorButtonGap", !0), p = s.getBoundingRect(), g = [-p.x, -p.y], v = n(i); a && (v[h] = i[h] - p[h] - f); var m = this._layoutContentAndController(t, r, v, l, h, c, d); if (a) { if ("end" === o) g[l] += m[h] + f; else { var y = p[h] + f; g[l] -= y, m[u] -= y } m[h] += p[h] + f, g[1 - l] += m[d] + m[c] / 2 - p[c] / 2, m[c] = Math.max(m[c], p[c]), m[d] = Math.min(m[d], p[d] + g[1 - l]), s.attr("position", g) } return m }, _layoutContentAndController: function (t, e, i, n, r, a, o) { var s = this.getContentGroup(), l = this._containerGroup, h = this._controllerGroup; dy(t.get("orient"), s, t.get("itemGap"), n ? i.width : null, n ? null : i.height), dy("horizontal", h, t.get("pageButtonItemGap", !0)); var u = s.getBoundingRect(), c = h.getBoundingRect(), d = this._showController = u[r] > i[r], f = [-u.x, -u.y]; e || (f[n] = s.position[n]); var p = [0, 0], g = [-c.x, -c.y], v = D(t.get("pageButtonGap", !0), t.get("itemGap", !0)); if (d) { var m = t.get("pageButtonPosition", !0); "end" === m ? g[n] += i[r] - c[r] : p[n] += c[r] + v } g[1 - n] += u[a] / 2 - c[a] / 2, s.attr("position", f), l.attr("position", p), h.attr("position", g); var y = { x: 0, y: 0 }; if (y[r] = d ? i[r] : u[r], y[a] = Math.max(u[a], c[a]), y[o] = Math.min(0, c[o] + g[1 - n]), l.__rectSize = i[r], d) { var _ = { x: 0, y: 0 }; _[r] = Math.max(i[r] - c[r] - v, 0), _[a] = y[a], l.setClipPath(new _m({ shape: _ })), l.__rectSize = _[r] } else h.eachChild(function (t) { t.attr({ invisible: !0, silent: !0 }) }); var x = this._getPageInfo(t); return null != x.pageIndex && Va(s, { position: x.contentPosition }, d ? t : !1), this._updatePageInfoView(t, x), y }, _pageGo: function (t, e, i) { var n = this._getPageInfo(e)[t]; null != n && i.dispatchAction({ type: "legendScroll", scrollDataIndex: n, legendId: e.id }) }, _updatePageInfoView: function (t, e) { var i = this._controllerGroup; f(["pagePrev", "pageNext"], function (n) { var r = null != e[n + "DataIndex"], a = i.childOfName(n); a && (a.setStyle("fill", r ? t.get("pageIconColor", !0) : t.get("pageIconInactiveColor", !0)), a.cursor = r ? "pointer" : "default") }); var n = i.childOfName("pageText"), r = t.get("pageFormatter"), a = e.pageIndex, o = null != a ? a + 1 : 0, s = e.pageCount; n && r && n.setStyle("text", b(r) ? r.replace("{current}", o).replace("{total}", s) : r({ current: o, total: s })) }, _getPageInfo: function (t) { function e(t) { if (t) { var e = t.getBoundingRect(), i = e[l] + t.position[o]; return { s: i, e: i + e[s], i: t.__legendDataIndex } } } function i(t, e) { return t.e >= e && t.s <= e + a } var n = t.get("scrollDataIndex", !0), r = this.getContentGroup(), a = this._containerGroup.__rectSize, o
  34. var jS = ",", qS = "progid:DXImageTransform.Microsoft", ZS = 21600, KS = ZS / 2, $S = 1e5, QS = 1e3, JS = function (t) { t.style.cssText = "position:absolute;left:0;top:0;width:1px;height:1px;", t.coordsize = ZS + "," + ZS, t.coordorigin = "0,0" }, tM = function (t) { return String(t).replace(/&/g, "&amp;").replace(/"/g, "&quot;") }, eM = function (t, e, i) { return "rgb(" + [t, e, i].join(",") + ")" }, iM = function (t, e) { e && t && e.parentNode !== t && t.appendChild(e) }, nM = function (t, e) { e && t && e.parentNode === t && t.removeChild(e) }, rM = function (t, e, i) { return (parseFloat(t) || 0) * $S + (parseFloat(e) || 0) * QS + i }, aM = _n, oM = function (t, e, i) { var n = qe(e); i = +i, isNaN(i) && (i = 1), n && (t.color = eM(n[0], n[1], n[2]), t.opacity = i * n[3]) }, sM = function (t) { var e = qe(t); return [eM(e[0], e[1], e[2]), e[3]] }, lM = function (t, e, i) { var n = e.fill; if (null != n) if (n instanceof Tm) { var r, a = 0, o = [0, 0], s = 0, l = 1, h = i.getBoundingRect(), u = h.width, c = h.height; if ("linear" === n.type) { r = "gradient"; var d = i.transform, f = [n.x * u, n.y * c], p = [n.x2 * u, n.y2 * c]; d && (ae(f, f, d), ae(p, p, d)); var g = p[0] - f[0], v = p[1] - f[1]; a = 180 * Math.atan2(g, v) / Math.PI, 0 > a && (a += 360), 1e-6 > a && (a = 0) } else { r = "gradientradial"; var f = [n.x * u, n.y * c], d = i.transform, m = i.scale, y = u, _ = c; o = [(f[0] - h.x) / y, (f[1] - h.y) / _], d && ae(f, f, d), y /= m[0] * ZS, _ /= m[1] * ZS; var x = YS(y, _); s = 0 / x, l = 2 * n.r / x - s } var w = n.colorStops.slice(); w.sort(function (t, e) { return t.offset - e.offset }); for (var b = w.length, S = [], M = [], I = 0; b > I; I++) { var T = w[I], C = sM(T.color); M.push(T.offset * l + s + " " + C[0]), (0 === I || I === b - 1) && S.push(C) } if (b >= 2) { var A = S[0][0], D = S[1][0], k = S[0][1] * e.opacity, P = S[1][1] * e.opacity; t.type = r, t.method = "none", t.focus = "100%", t.angle = a, t.color = A, t.color2 = D, t.colors = M.join(","), t.opacity = P, t.opacity2 = k } "radial" === r && (t.focusposition = o.join(",")) } else oM(t, n, e.opacity) }, hM = function (t, e) { e.lineDash && (t.dashstyle = e.lineDash.join(" ")), null == e.stroke || e.stroke instanceof Tm || oM(t, e.stroke, e.opacity) }, uM = function (t, e, i, n) { var r = "fill" === e, a = t.getElementsByTagName(e)[0]; null != i[e] && "none" !== i[e] && (r || !r && i.lineWidth) ? (t[r ? "filled" : "stroked"] = "true", i[e] instanceof Tm && nM(t, a), a || (a = Mf(e)), r ? lM(a, i, n) : hM(a, i), iM(t, a)) : (t[r ? "filled" : "stroked"] = "false", nM(t, a)) }, cM = [[], [], []], dM = function (t, e) { var i, n, r, a, o, s, l = VS.M, h = VS.C, u = VS.L, c = VS.A, d = VS.Q, f = [], p = t.data, g = t.len(); for (a = 0; g > a;) { switch (r = p[a++], n = "", i = 0, r) { case l: n = " m ", i = 1, o = p[a++], s = p[a++], cM[0][0] = o, cM[0][1] = s; break; case u: n = " l ", i = 1, o = p[a++], s = p[a++], cM[0][0] = o, cM[0][1] = s; break; case d: case h: n = " c ", i = 3; var v, m, y = p[a++], _ = p[a++], x = p[a++], w = p[a++]; r === d ? (v = x, m = w, x = (x + 2 * y) / 3, w = (w + 2 * _) / 3, y = (o + 2 * y) / 3, _ = (s + 2 * _) / 3) : (v = p[a++], m = p[a++]), cM[0][0] = y, cM[0][1] = _, cM[1][0] = x, cM[1][1] = w, cM[2][0] = v, cM[2][1] = m, o = v, s = m; break; case c: var b = 0, S = 0, M = 1, I = 1, T = 0; e && (b = e[4], S = e[5], M = GS(e[0] * e[0] + e[1] * e[1]), I = GS(e[2] * e[2] + e[3] * e[3]), T = Math.atan2(-e[1] / I, e[0] / M)); var C = p[a++], A = p[a++], D = p[a++], k = p[a++], P = p[a++] + T, L = p[a++] + P + T; a++; var O = p[a++], E = C + XS(P) * D, z = A + US(P) * k, y = C + XS(L) * D, _ = A + US(L) * k, B = O ? " wa " : " at "; Math.abs(E - y) < 1e-4 && (Math.abs(L - P) > .01 ? O && (E += 270 / ZS) : Math.abs(z - A) < 1e-4 ? O && C > E || !O && E > C ? _ -= 270 / ZS : _ += 270 / ZS : O && A > z || !O && z > A ? y += 270 / ZS : y -= 270 / ZS), f.push(B, HS(((C - D) * M + b) * ZS - KS), jS, HS(((A - k) * I + S) * ZS - KS), jS, HS(((C + D) * M + b) * ZS - KS), jS, HS(((A + k) * I + S) * ZS - KS), jS, HS
  35. var r = this.style; this.__dirty && rn(r, !0); var a = r.text; if (null != a && (a += ""), a) {
  36. if (r.rich) { var o = Ji(a, r); a = []; for (var s = 0; s < o.lines.length; s++) { for (var l = o.lines[s].tokens, h = [], u = 0; u < l.length; u++)h.push(l[u].text); a.push(h.join("")) } a = a.join("\n") } var c, d, f = r.textAlign, p = r.textVerticalAlign, g = xM(r.font), v = g.style + " " + g.variant + " " + g.weight + " " + g.size + 'px "' + g.family + '"';
  37. i = i || Vi(a, v, f, p, r.textPadding, r.textLineHeight); var m = this.transform; if (m && !n && (wM.copy(e), wM.applyTransform(m), e = wM), n) c = e.x, d = e.y; else { var y = r.textPosition; if (y instanceof Array) c = e.x + aM(y[0], e.width), d = e.y + aM(y[1], e.height), f = f || "left"; else { var _ = this.calculateTextPosition ? this.calculateTextPosition({}, r, e) : Ui({}, r, e); c = _.x, d = _.y, f = f || _.textAlign, p = p || _.textVerticalAlign } } c = Wi(c, i.width, f), d = Xi(d, i.height, p), d += i.height / 2; var x, w, b, S = Mf, M = this._textVmlEl; M ? (b = M.firstChild, x = b.nextSibling, w = x.nextSibling) : (M = S("line"), x = S("path"), w = S("textpath"), b = S("skew"), w.style["v-text-align"] = "left", JS(M), x.textpathok = !0, w.on = !0, M.from = "0 0", M.to = "1000 0.05", iM(M, b), iM(M, x), iM(M, w), this._textVmlEl = M); var I = [c, d], T = M.style; m && n ? (ae(I, I, m), b.on = !0, b.matrix = m[0].toFixed(3) + jS + m[2].toFixed(3) + jS + m[1].toFixed(3) + jS + m[3].toFixed(3) + ",0,0", b.offset = (HS(I[0]) || 0) + "," + (HS(I[1]) || 0), b.origin = "0 0", T.left = "0px", T.top = "0px") : (b.on = !1, T.left = HS(c) + "px", T.top = HS(d) + "px"), w.string = tM(a); try { w.style.font = v } catch (C) { } uM(M, "fill", { fill: r.textFill, opacity: r.opacity }, this), uM(M, "stroke", { stroke: r.textStroke, opacity: r.opacity, lineDash: r.lineDash || null }, this), M.style.zIndex = rM(this.zlevel, this.z, this.z2), iM(t, M)
  38. }
  39. }, SM = function (t) { nM(t, this._textVmlEl), this._textVmlEl = null }, MM = function (t) { iM(t, this._textVmlEl) }, IM = [Sg, bn, Sn, Hr, sm], TM = 0; TM < IM.length; TM++) { var CM = IM[TM].prototype; CM.drawRectText = bM, CM.removeRectText = SM, CM.appendRectText = MM } sm.prototype.brushVML = function (t) { var e = this.style; null != e.text ? this.drawRectText(t, { x: e.x || 0, y: e.y || 0, width: 0, height: 0 }, this.getBoundingRect(), !0) : this.removeRectText(t) }, sm.prototype.onRemove = function (t) { this.removeRectText(t) }, sm.prototype.onAdd = function (t) { this.appendRectText(t) }
  40. } Cf.prototype = { constructor: Cf, getType: function () { return "vml" }, getViewportRoot: function () { return this._vmlViewport }, getViewportRootOffset: function () { var t = this.getViewportRoot(); return t ? { offsetLeft: t.offsetLeft || 0, offsetTop: t.offsetTop || 0 } : void 0 }, refresh: function () { var t = this.storage.getDisplayList(!0, !0); this._paintList(t) }, _paintList: function (t) { for (var e = this._vmlRoot, i = 0; i < t.length; i++) { var n = t[i]; n.invisible || n.ignore ? (n.__alreadyNotVisible || n.onRemove(e), n.__alreadyNotVisible = !0) : (n.__alreadyNotVisible && n.onAdd(e), n.__alreadyNotVisible = !1, n.__dirty && (n.beforeBrush && n.beforeBrush(), (n.brushVML || n.brush).call(n, e), n.afterBrush && n.afterBrush())), n.__dirty = !1 } this._firstPaint && (this._vmlViewport.appendChild(e), this._firstPaint = !1) }, resize: function (t, e) { var t = null == t ? this._getWidth() : t, e = null == e ? this._getHeight() : e; if (this._width !== t || this._height !== e) { this._width = t, this._height = e; var i = this._vmlViewport.style; i.width = t + "px", i.height = e + "px" } }, dispose: function () { this.root.innerHTML = "", this._vmlRoot = this._vmlViewport = this.storage = null }, getWidth: function () { return this._width }, getHeight: function () { return this._height }, clear: function () { this._vmlViewport && this.root.removeChild(this._vmlViewport) }, _getWidth: function () { var t = this.root, e = t.currentStyle; return (t.clientWidth || Tf(e.width)) - Tf(e.paddingLeft) - Tf(e.paddingRight) | 0 }, _getHeight: function () { var t = this.root, e = t.currentStyle; return (t.clientHeight || Tf(e.height)) - Tf(e.paddingTop) - Tf(e.paddingBottom) | 0 } }, f(["getLayer", "insertLayer", "eachLayer", "eachBuiltinLayer", "eachOtherLayer", "getLayers", "modLayer", "delLayer", "clearLayer", "toDataURL", "pathToImage"], function (t) { Cf.prototype[t] = Af(t) }), Nn("vml", Cf), t.version = Y_, t.dependencies = j_, t.PRIORITY = ox, t.init = th, t.connect = eh, t.disConnect = ih, t.disconnect = Cx, t.dispose = nh, t.getInstanceByDom = rh, t.getInstanceById = ah, t.registerTheme = oh, t.registerPreprocessor = sh, t.registerProcessor = lh, t.registerPostUpdate = hh, t.registerAction = uh, t.registerCoordinateSystem = ch, t.getCoordinateSystemDimensions = dh, t.registerLayout = fh, t.registerVisual = ph, t.registerLoading = vh, t.extendComponentModel = mh, t.extendComponentView = yh, t.extendSeriesModel = _h, t.extendChartView = xh, t.setCanvasCreator = wh, t.registerMap = bh, t.getMap = Sh, t.dataTool = Ax, t.zrender = Xg, t.number = ey, t.format = ly, t.throttle = nl, t.helper = Dw, t.matrix = gp, t.vector = tp, t.color = Ep, t.parseGeoJSON = Pw, t.parseGeoJson = zw, t.util = Bw, t.graphic = Rw, t.List = Vx, t.Model = Ja, t.Axis = Ew, t.env = Ef
  41. });