1import { r as Kt, R as ZL } from "./chunk-DC5fQwvS.js"; 2import { a2 as qL, a3 as KL, a9 as jL, a4 as JL, a5 as QL, e as Di, V as t2, aR as e2, n as r2, av as a2 } from "./chunk-DWeE5Y0G.js"; 3import { e as Mi } from "./chunk-BK_-Fl4Z.js"; 4const n2 = (r) => { 5 const { value: e, formatter: t, precision: a, decimalSeparator: n, groupSeparator: i = "", prefixCls: o } = r; 6 let s; 7 if (typeof t == "function") s = t(e); 8 else { 9 const l = String(e), u = l.match(/^(-?)(\d*)(\.(\d+))?$/); 10 if (!u || l === "-") s = l; 11 else { 12 const f = u[1]; 13 let h = u[2] || "0", v = u[4] || ""; 14 h = h.replace(/\B(?=(\d{3})+(?!\d))/g, i), typeof a == "number" && (v = v.padEnd(a, "0").slice(0, a > 0 ? a : 0)), v && (v = `${n}${v}`), s = [Kt.createElement("span", { key: "int", className: `${o}-content-value-int` }, f, h), v && Kt.createElement("span", { key: "decimal", className: `${o}-content-value-decimal` }, v)]; 15 } 16 } 17 return Kt.createElement("span", { className: `${o}-content-value` }, s); 18}, i2 = (r) => { 19 const { componentCls: e, marginXXS: t, padding: a, colorTextDescription: n, titleFontSize: i, colorTextHeading: o, contentFontSize: s, fontFamily: l } = r; 20 return { [e]: { ...jL(r), [`${e}-header`]: { paddingBottom: t, [`${e}-title`]: { color: n, fontSize: i } }, [`${e}-skeleton`]: { paddingTop: a }, [`${e}-content`]: { color: o, fontSize: s, fontFamily: l, [`${e}-content-value`]: { display: "inline-block", direction: "ltr" }, [`${e}-content-prefix, ${e}-content-suffix`]: { display: "inline-block" }, [`${e}-content-prefix`]: { marginInlineEnd: t }, [`${e}-content-suffix`]: { marginInlineStart: t } } } }; 21}, o2 = (r) => { 22 const { fontSizeHeading3: e, fontSize: t } = r; 23 return { titleFontSize: t, contentFontSize: e }; 24}, s2 = qL("Statistic", (r) => { 25 const e = KL(r, {}); 26 return i2(e); 27}, o2), Mg = Kt.forwardRef((r, e) => { 28 const { prefixCls: t, className: a, rootClassName: n, style: i, valueStyle: o, value: s = 0, title: l, valueRender: u, prefix: f, suffix: h, loading: v = false, formatter: c, precision: p, decimalSeparator: d = ".", groupSeparator: g = ",", onMouseEnter: y, onMouseLeave: m, styles: _, classNames: S, ...b } = r, { getPrefixCls: x, direction: w, className: T, style: C, classNames: A, styles: M } = JL("statistic"), I = x("statistic", t), [L, P] = s2(I), R = { ...r, decimalSeparator: d, groupSeparator: g, loading: v, value: s }, [E, O] = QL([A, S], [M, _], { props: R }), k = Kt.createElement(n2, { decimalSeparator: d, groupSeparator: g, prefixCls: I, formatter: c, precision: p, value: s }), B = Di(I, { [`${I}-rtl`]: w === "rtl" }, T, a, n, E.root, L, P), F = Di(`${I}-header`, E.header), H = Di(`${I}-title`, E.title), U = Di(`${I}-content`, E.content), K = Di(`${I}-content-prefix`, E.prefix), J = Di(`${I}-content-suffix`, E.suffix), nt = Kt.useRef(null); 29 Kt.useImperativeHandle(e, () => ({ nativeElement: nt.current })); 30 const It = t2(b, { aria: true, data: true }); 31 return Kt.createElement("div", { ...It, className: B, style: { ...O.root, ...C, ...i }, ref: nt, onMouseEnter: y, onMouseLeave: m }, l && Kt.createElement("div", { className: F, style: O.header }, Kt.createElement("div", { className: H, style: O.title }, l)), Kt.createElement(e2, { paragraph: false, loading: v, className: `${I}-skeleton`, active: true }, Kt.createElement("div", { className: U, style: { ...o, ...O.content } }, f && Kt.createElement("span", { className: K, style: O.prefix }, f), u ? u(k) : k, h && Kt.createElement("span", { className: J, style: O.suffix }, h)))); 32}), l2 = [["Y", 1e3 * 60 * 60 * 24 * 365], ["M", 1e3 * 60 * 60 * 24 * 30], ["D", 1e3 * 60 * 60 * 24], ["H", 1e3 * 60 * 60], ["m", 1e3 * 60], ["s", 1e3], ["S", 1]]; 33function u2(r, e) { 34 let t = r; 35 const a = /\[[^\]]*]/g, n = (e.match(a) || []).map((l) => l.slice(1, -1)), i = e.replace(a, "[]"), o = l2.reduce((l, [u, f]) => { 36 if (l.includes(u)) { 37 const h = Math.floor(t / f); 38 return t -= h * f, l.replace(new RegExp(`${u}+`, "g"), (v) => { 39 const c = v.length; 40 return h.toString().padStart(c, "0"); 41 }); 42 } 43 return l; 44 }, i); 45 let s = 0; 46 return o.replace(a, () => { 47 const l = n[s]; 48 return s += 1, l; 49 }); 50} 51function f2(r, e, t) { 52 const { format: a = "" } = e, n = new Date(r).getTime(), i = Date.now(), o = Math.max(t ? n - i : i - n, 0); 53 return u2(o, a); 54} 55const h2 = 1e3 / 60; 56function v2(r) { 57 return new Date(r).getTime(); 58} 59const eT = (r) => { 60 const { value: e, format: t = "HH:mm:ss", onChange: a, onFinish: n, type: i, ...o } = r, s = i === "countdown", [l, u] = Kt.useState(null), f = r2(() => { 61 const c = Date.now(), p = v2(e); 62 u({}); 63 const d = s ? p - c : c - p; 64 return a == null ? void 0 : a(d), s && p < c ? (n == null ? void 0 : n(), false) : true; 65 }); 66 Kt.useEffect(() => {
67 let c; 68 const p = () => { 69 f() || window.clearInterval(c); 70 }, d = () => { 71 c = window.setInterval(p, h2); 72 }, g = () => { 73 window.clearInterval(c); 74 }; 75 return d(), () => { 76 g(); 77 }; 78 }, [e, s]), Kt.useEffect(() => { 79 u({}); 80 }, []); 81 const h = (c, p) => l ? f2(c, { ...p, format: t }, s) : "-", v = (c) => a2(c, { title: void 0 }); 82 return Kt.createElement(Mg, { ...o, value: e, valueRender: v, formatter: h }); 83}, c2 = (r) => Kt.createElement(eT, { ...r, type: "countdown" }), p2 = Kt.memo(c2); 84Mg.Timer = eT; 85Mg.Countdown = p2; 86var Op = function(r, e) { 87 return Op = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, a) { 88 t.__proto__ = a; 89 } || function(t, a) { 90 for (var n in a) Object.prototype.hasOwnProperty.call(a, n) && (t[n] = a[n]); 91 }, Op(r, e); 92}; 93function rT(r, e) { 94 if (typeof e != "function" && e !== null) throw new TypeError("Class extends value " + String(e) + " is not a constructor or null"); 95 Op(r, e); 96 function t() { 97 this.constructor = r; 98 } 99 r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t()); 100} 101var ks = function() { 102 return ks = Object.assign || function(e) { 103 for (var t, a = 1, n = arguments.length; a < n; a++) { 104 t = arguments[a]; 105 for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); 106 } 107 return e; 108 }, ks.apply(this, arguments); 109}; 110function d2(r, e) { 111 var t = {}; 112 for (var a in r) Object.prototype.hasOwnProperty.call(r, a) && e.indexOf(a) < 0 && (t[a] = r[a]); 113 if (r != null && typeof Object.getOwnPropertySymbols == "function") for (var n = 0, a = Object.getOwnPropertySymbols(r); n < a.length; n++) e.indexOf(a[n]) < 0 && Object.prototype.propertyIsEnumerable.call(r, a[n]) && (t[a[n]] = r[a[n]]); 114 return t; 115} 116function t0(r, e, t, a) { 117 function n(i) { 118 return i instanceof t ? i : new t(function(o) { 119 o(i); 120 }); 121 } 122 return new (t || (t = Promise))(function(i, o) { 123 function s(f) { 124 try { 125 u(a.next(f)); 126 } catch (h) { 127 o(h); 128 } 129 } 130 function l(f) { 131 try { 132 u(a.throw(f)); 133 } catch (h) { 134 o(h); 135 } 136 } 137 function u(f) { 138 f.done ? i(f.value) : n(f.value).then(s, l); 139 } 140 u((a = a.apply(r, e || [])).next()); 141 }); 142} 143function e0(r, e) { 144 var t = { label: 0, sent: function() { 145 if (i[0] & 1) throw i[1]; 146 return i[1]; 147 }, trys: [], ops: [] }, a, n, i, o = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype); 148 return o.next = s(0), o.throw = s(1), o.return = s(2), typeof Symbol == "function" && (o[Symbol.iterator] = function() { 149 return this; 150 }), o; 151 function s(u) { 152 return function(f) { 153 return l([u, f]); 154 }; 155 } 156 function l(u) { 157 if (a) throw new TypeError("Generator is already executing."); 158 for (; o && (o = 0, u[0] && (t = 0)), t; ) try { 159 if (a = 1, n && (i = u[0] & 2 ? n.return : u[0] ? n.throw || ((i = n.return) && i.call(n), 0) : n.next) && !(i = i.call(n, u[1])).done) return i; 160 switch (n = 0, i && (u = [u[0] & 2, i.value]), u[0]) { 161 case 0: 162 case 1: 163 i = u; 164 break; 165 case 4: 166 return t.label++, { value: u[1], done: false }; 167 case 5: 168 t.label++, n = u[1], u = [0]; 169 continue; 170 case 7: 171 u = t.ops.pop(), t.trys.pop(); 172 continue; 173 default: 174 if (i = t.trys, !(i = i.length > 0 && i[i.length - 1]) && (u[0] === 6 || u[0] === 2)) { 175 t = 0; 176 continue; 177 } 178 if (u[0] === 3 && (!i || u[1] > i[0] && u[1] < i[3])) { 179 t.label = u[1]; 180 break; 181 } 182 if (u[0] === 6 && t.label < i[1]) { 183 t.label = i[1], i = u; 184 break; 185 } 186 if (i && t.label < i[2]) { 187 t.label = i[2], t.ops.push(u); 188 break; 189 } 190 i[2] && t.ops.pop(), t.trys.pop(); 191 continue; 192 } 193 u = e.call(r, t); 194 } catch (f) { 195 u = [6, f], n = 0; 196 } finally { 197 a = i = 0; 198 } 199 if (u[0] & 5) throw u[1]; 200 return { value: u[0] ? u[1] : void 0, done: true }; 201 } 202} 203/*! ***************************************************************************** 204Copyright (c) Microsoft Corporation. 205 206Permission to use, copy, modify, and/or distribute this software for any 207purpose with or without fee is hereby granted. 208 209THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 210REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 211AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 212INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 213LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 214OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 215PERFORMANCE OF THIS SOFTWARE. 216***************************************************************************** */ 217var Np = function(r, e) { 218 return Np = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, a) { 219 t.__proto__ = a; 220 } || function(t, a) { 221 for (var n in a) Object.prototype.hasOwnProperty.call(a, n) && (t[n] = a[n]); 222 }, Np(r, e); 223}; 224function N(r, e) { 225 if (typeof e != "function" && e !== null) throw new TypeError("Class extends value " + String(e) + " is not a constructor or null"); 226 Np(r, e); 227 function t() { 228 this.constructor = r; 229 } 230 r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t()); 231} 232var g2 = /* @__PURE__ */ function() { 233 function r() { 234 this.firefox = false, this.ie = false, this.edge = false, this.newEdge = false, this.weChat = false;
235 } 236 return r; 237}(), y2 = /* @__PURE__ */ function() { 238 function r() { 239 this.browser = new g2(), this.node = false, this.wxa = false, this.worker = false, this.svgSupported = false, this.touchEventsSupported = false, this.pointerEventsSupported = false, this.domSupported = false, this.transformSupported = false, this.transform3dSupported = false, this.hasGlobalWindow = typeof window < "u"; 240 } 241 return r; 242}(), yt = new y2(); 243typeof wx == "object" && typeof wx.getSystemInfoSync == "function" ? (yt.wxa = true, yt.touchEventsSupported = true) : typeof document > "u" && typeof self < "u" ? yt.worker = true : !yt.hasGlobalWindow || "Deno" in window ? (yt.node = true, yt.svgSupported = true) : m2(navigator.userAgent, yt); 244function m2(r, e) { 245 var t = e.browser, a = r.match(/Firefox\/([\d.]+)/), n = r.match(/MSIE\s([\d.]+)/) || r.match(/Trident\/.+?rv:(([\d.]+))/), i = r.match(/Edge?\/([\d.]+)/), o = /micromessenger/i.test(r); 246 a && (t.firefox = true, t.version = a[1]), n && (t.ie = true, t.version = n[1]), i && (t.edge = true, t.version = i[1], t.newEdge = +i[1].split(".")[0] > 18), o && (t.weChat = true), e.svgSupported = typeof SVGRect < "u", e.touchEventsSupported = "ontouchstart" in window && !t.ie && !t.edge, e.pointerEventsSupported = "onpointerdown" in window && (t.edge || t.ie && +t.version >= 11), e.domSupported = typeof document < "u"; 247 var s = document.documentElement.style; 248 e.transform3dSupported = (t.ie && "transition" in s || t.edge || "WebKitCSSMatrix" in window && "m11" in new WebKitCSSMatrix() || "MozPerspective" in s) && !("OTransition" in s), e.transformSupported = e.transform3dSupported || t.ie && +t.version >= 9; 249} 250var Ig = 12, aT = "sans-serif", tn = Ig + "px " + aT, _2 = 20, S2 = 100, x2 = "007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N"; 251function b2(r) { 252 var e = {}; 253 if (typeof JSON > "u") return e; 254 for (var t = 0; t < r.length; t++) { 255 var a = String.fromCharCode(t + 32), n = (r.charCodeAt(t) - _2) / S2; 256 e[a] = n; 257 } 258 return e; 259} 260var w2 = b2(x2), Lr = { createCanvas: function() { 261 return typeof document < "u" && document.createElement("canvas"); 262}, measureText: /* @__PURE__ */ function() { 263 var r, e; 264 return function(t, a) { 265 if (!r) { 266 var n = Lr.createCanvas(); 267 r = n && n.getContext("2d"); 268 } 269 if (r) return e !== a && (e = r.font = a || tn), r.measureText(t); 270 t = t || "", a = a || tn; 271 var i = /((?:\d+)?\.?\d*)px/.exec(a), o = i && +i[1] || Ig, s = 0; 272 if (a.indexOf("mono") >= 0) s = o * t.length; 273 else for (var l = 0; l < t.length; l++) { 274 var u = w2[t[l]]; 275 s += u == null ? o : u * o; 276 } 277 return { width: s }; 278 }; 279}(), loadImage: function(r, e, t) { 280 var a = new Image(); 281 return a.onload = e, a.onerror = t, a.src = r, a; 282} }; 283function nT(r) { 284 for (var e in Lr) r[e] && (Lr[e] = r[e]); 285} 286var iT = hr(["Function", "RegExp", "Date", "Error", "CanvasGradient", "CanvasPattern", "Image", "Canvas"], function(r, e) { 287 return r["[object " + e + "]"] = true, r; 288}, {}), oT = hr(["Int8", "Uint8", "Uint8Clamped", "Int16", "Uint16", "Int32", "Uint32", "Float32", "Float64"], function(r, e) { 289 return r["[object " + e + "Array]"] = true, r; 290}, {}), Do = Object.prototype.toString, mh = Array.prototype, T2 = mh.forEach, C2 = mh.filter, Lg = mh.slice, A2 = mh.map, r0 = (function() { 291}).constructor, Jl = r0 ? r0.prototype : null, Pg = "__proto__", D2 = 2311; 292function Rg() { 293 return D2++; 294} 295function _h() { 296 for (var r = [], e = 0; e < arguments.length; e++) r[e] = arguments[e]; 297 typeof console < "u" && console.error.apply(console, r); 298} 299function rt(r) { 300 if (r == null || typeof r != "object") return r; 301 var e = r, t = Do.call(r); 302 if (t === "[object Array]") { 303 if (!oo(r)) { 304 e = []; 305 for (var a = 0, n = r.length; a < n; a++) e[a] = rt(r[a]); 306 } 307 } else if (oT[t]) { 308 if (!oo(r)) { 309 var i = r.constructor; 310 if (i.from) e = i.from(r); 311 else { 312 e = new i(r.length); 313 for (var a = 0, n = r.length; a < n; a++) e[a] = r[a]; 314 } 315 } 316 } else if (!iT[t] && !oo(r) && !ui(r)) { 317 e = {}; 318 for (var o in r) r.hasOwnProperty(o) && o !== Pg && (e[o] = rt(r[o
318])); 319 } 320 return e; 321} 322function ut(r, e, t) { 323 if (!tt(e) || !tt(r)) return t ? rt(e) : r; 324 for (var a in e) if (e.hasOwnProperty(a) && a !== Pg) { 325 var n = r[a], i = e[a]; 326 tt(i) && tt(n) && !V(i) && !V(n) && !ui(i) && !ui(n) && !Bp(i) && !Bp(n) && !oo(i) && !oo(n) ? ut(n, i, t) : (t || !(a in r)) && (r[a] = rt(e[a])); 327 } 328 return r; 329} 330function Sh(r, e) { 331 for (var t = r[0], a = 1, n = r.length; a < n; a++) t = ut(t, r[a], e); 332 return t; 333} 334function z(r, e) { 335 if (Object.assign) Object.assign(r, e); 336 else for (var t in e) e.hasOwnProperty(t) && t !== Pg && (r[t] = e[t]); 337 return r; 338} 339function Q(r, e, t) { 340 for (var a = _t(e), n = 0, i = a.length; n < i; n++) { 341 var o = a[n]; 342 (t ? e[o] != null : r[o] == null) && (r[o] = e[o]); 343 } 344 return r; 345} 346var M2 = Lr.createCanvas; 347function vt(r, e) { 348 if (r) { 349 if (r.indexOf) return r.indexOf(e); 350 for (var t = 0, a = r.length; t < a; t++) if (r[t] === e) return t; 351 } 352 return -1; 353} 354function Eg(r, e) { 355 var t = r.prototype; 356 function a() { 357 } 358 a.prototype = e.prototype, r.prototype = new a(); 359 for (var n in t) t.hasOwnProperty(n) && (r.prototype[n] = t[n]); 360 r.prototype.constructor = r, r.superClass = e; 361} 362function Xt(r, e, t) { 363 if (r = "prototype" in r ? r.prototype : r, e = "prototype" in e ? e.prototype : e, Object.getOwnPropertyNames) for (var a = Object.getOwnPropertyNames(e), n = 0; n < a.length; n++) { 364 var i = a[n]; 365 i !== "constructor" && (t ? e[i] != null : r[i] == null) && (r[i] = e[i]); 366 } 367 else Q(r, e, t); 368} 369function ce(r) { 370 return !r || typeof r == "string" ? false : typeof r.length == "number"; 371} 372function D(r, e, t) { 373 if (r && e) if (r.forEach && r.forEach === T2) r.forEach(e, t); 374 else if (r.length === +r.length) for (var a = 0, n = r.length; a < n; a++) e.call(t, r[a], a, r); 375 else for (var i in r) r.hasOwnProperty(i) && e.call(t, r[i], i, r); 376} 377function G(r, e, t) { 378 if (!r) return []; 379 if (!e) return xh(r); 380 if (r.map && r.map === A2) return r.map(e, t); 381 for (var a = [], n = 0, i = r.length; n < i; n++) a.push(e.call(t, r[n], n, r)); 382 return a; 383} 384function hr(r, e, t, a) { 385 if (r && e) { 386 for (var n = 0, i = r.length; n < i; n++) t = e.call(a, t, r[n], n, r); 387 return t; 388 } 389} 390function Ct(r, e, t) { 391 if (!r) return []; 392 if (!e) return xh(r); 393 if (r.filter && r.filter === C2) return r.filter(e, t); 394 for (var a = [], n = 0, i = r.length; n < i; n++) e.call(t, r[n], n, r) && a.push(r[n]); 395 return a; 396} 397function sT(r, e, t) { 398 if (r && e) { 399 for (var a = 0, n = r.length; a < n; a++) if (e.call(t, r[a], a, r)) return r[a]; 400 } 401} 402function _t(r) { 403 if (!r) return []; 404 if (Object.keys) return Object.keys(r); 405 var e = []; 406 for (var t in r) r.hasOwnProperty(t) && e.push(t); 407 return e; 408} 409function I2(r, e) { 410 for (var t = [], a = 2; a < arguments.length; a++) t[a - 2] = arguments[a]; 411 return function() { 412 return r.apply(e, t.concat(Lg.call(arguments))); 413 }; 414} 415var $ = Jl && j(Jl.bind) ? Jl.call.bind(Jl.bind) : I2; 416function lt(r) { 417 for (var e = [], t = 1; t < arguments.length; t++) e[t - 1] = arguments[t]; 418 return function() { 419 return r.apply(this, e.concat(Lg.call(arguments))); 420 }; 421} 422function V(r) { 423 return Array.isArray ? Array.isArray(r) : Do.call(r) === "[object Array]"; 424} 425function j(r) { 426 return typeof r == "function"; 427} 428function Y(r) { 429 return typeof r == "string"; 430} 431function Sf(r) { 432 return Do.call(r) === "[object String]"; 433} 434function wt(r) { 435 return typeof r == "number"; 436} 437function tt(r) { 438 var e = typeof r; 439 return e === "function" || !!r && e === "object"; 440} 441function Bp(r) { 442 return !!iT[Do.call(r)]; 443} 444function ke(r) { 445 return !!oT[Do.call(r)]; 446} 447function ui(r) { 448 return typeof r == "object" && typeof r.nodeType == "number" && typeof r.ownerDocument == "object"; 449} 450function Il(r) { 451 return r.colorStops != null; 452} 453function lT(r) { 454 return r.image != null; 455} 456function uT(r) { 457 return Do.call(r) === "[object RegExp]"; 458} 459function po(r) { 460 return r !== r; 461} 462function ne() { 463 for (var r = [], e = 0; e < arguments.length; e++) r[e] = arguments[e]; 464 for (var t = 0, a = r.length; t < a; t++) if (r[t] != null) return r[t]; 465} 466function st(r, e) { 467 return r ?? e; 468} 469function Ar(r, e, t) { 470 return r ?? e ?? t; 471} 472function xh(r) { 473 for (var e = [], t = 1; t < arguments.length; t++) e[t - 1] = arguments[t]; 474 return Lg.apply(r, e); 475} 476function bh(r) { 477 if (typeof r == "number") return [r, r, r, r]; 478 var e = r.length; 479 return e === 2 ? [r[0], r[1], r[0], r[1]] : e === 3 ? [r[0], r[1], r[2], r[1]] : r; 480} 481function we(r, e) { 482 if (!r) throw new Error(e); 483} 484function ur(r) { 485 return r == null ? null : typeof r.trim == "function" ? r.trim() : r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); 486} 487var fT = "__ec_primitive__"; 488function Qs(r) { 489 r[fT] = true; 490} 491function oo(r) { 492 return r[fT]; 493} 494var L2 = function() { 495 function r() { 496 this.data = {}; 497 } 498 return r.prototype.delete = function(e) { 499 var t = this.has(e); 500 return t && delete this.data[e], t; 501 }, r.prototype.has = function(e) { 502 return this.data.hasOwnProperty(e); 503 }, r.prototype.get = function(e) { 504 return this.data[e]; 505 }, r.prototype.set = function(e, t) { 506 return this.data[e] = t, this; 507 }, r.prototype.keys = function() { 508 return _t(this.data); 509 }, r.prototype.forEach = function(e) { 510 var t = this.data; 511 for (var a in t) t.hasOwnProperty(a) && e(t[a], a); 512 }, r; 513}(), hT = typeof Map == "function"; 514function P2() {
515 return hT ? /* @__PURE__ */ new Map() : new L2(); 516} 517var vT = function() { 518 function r(e) { 519 var t = V(e); 520 this.data = P2(); 521 var a = this; 522 e instanceof r ? e.each(n) : e && D(e, n); 523 function n(i, o) { 524 t ? a.set(i, o) : a.set(o, i); 525 } 526 } 527 return r.prototype.hasKey = function(e) { 528 return this.data.has(e); 529 }, r.prototype.get = function(e) { 530 return this.data.get(e); 531 }, r.prototype.set = function(e, t) { 532 return this.data.set(e, t), t; 533 }, r.prototype.each = function(e, t) { 534 this.data.forEach(function(a, n) { 535 e.call(t, a, n); 536 }); 537 }, r.prototype.keys = function() { 538 var e = this.data.keys(); 539 return hT ? Array.from(e) : e; 540 }, r.prototype.removeKey = function(e) { 541 this.data.delete(e); 542 }, r; 543}(); 544function Z(r) { 545 return new vT(r); 546} 547function go(r, e) { 548 for (var t = new r.constructor(r.length + e.length), a = 0; a < r.length; a++) t[a] = r[a]; 549 for (var n = r.length, a = 0; a < e.length; a++) t[a + n] = e[a]; 550 return t; 551} 552function Ll(r, e) { 553 var t; 554 if (Object.create) t = Object.create(r); 555 else { 556 var a = function() { 557 }; 558 a.prototype = r, t = new a(); 559 } 560 return e && z(t, e), t; 561} 562function kg(r) { 563 var e = r.style; 564 e.webkitUserSelect = "none", e.userSelect = "none", e.webkitTapHighlightColor = "rgba(0,0,0,0)", e["-webkit-touch-callout"] = "none"; 565} 566function X(r, e) { 567 return r.hasOwnProperty(e); 568} 569function $t() { 570} 571var Os = 180 / Math.PI; 572const R2 = Object.freeze(Object.defineProperty({ __proto__: null, HashMap: vT, RADIAN_TO_DEGREE: Os, assert: we, bind: $, clone: rt, concatArray: go, createCanvas: M2, createHashMap: Z, createObject: Ll, curry: lt, defaults: Q, disableUserSelect: kg, each: D, eqNaN: po, extend: z, filter: Ct, find: sT, guid: Rg, hasOwn: X, indexOf: vt, inherits: Eg, isArray: V, isArrayLike: ce, isBuiltInObject: Bp, isDom: ui, isFunction: j, isGradientObject: Il, isImagePatternObject: lT, isNumber: wt, isObject: tt, isPrimitive: oo, isRegExp: uT, isString: Y, isStringSafe: Sf, isTypedArray: ke, keys: _t, logError: _h, map: G, merge: ut, mergeAll: Sh, mixin: Xt, noop: $t, normalizeCssArray: bh, reduce: hr, retrieve: ne, retrieve2: st, retrieve3: Ar, setAsPrimitive: Qs, slice: xh, trim: ur }, Symbol.toStringTag, { value: "Module" })); 573/*! ***************************************************************************** 574Copyright (c) Microsoft Corporation. 575 576Permission to use, copy, modify, and/or distribute this software for any 577purpose with or without fee is hereby granted. 578 579THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 580REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 581AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 582INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 583LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 584OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 585PERFORMANCE OF THIS SOFTWARE. 586***************************************************************************** */ 587var zp = function(r, e) { 588 return zp = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, a) { 589 t.__proto__ = a; 590 } || function(t, a) { 591 for (var n in a) Object.prototype.hasOwnProperty.call(a, n) && (t[n] = a[n]); 592 }, zp(r, e); 593}; 594function Ft(r, e) { 595 if (typeof e != "function" && e !== null) throw new TypeError("Class extends value " + String(e) + " is not a constructor or null"); 596 zp(r, e); 597 function t() { 598 this.constructor = r; 599 } 600 r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t()); 601} 602function sn(r, e) { 603 return r == null && (r = 0), e == null && (e = 0), [r, e]; 604} 605function _e(r, e) { 606 return r[0] = e[0], r[1] = e[1], r; 607} 608function Zr(r) { 609 return [r[0], r[1]]; 610} 611function cT(r, e, t) { 612 return r[0] = e, r[1] = t, r; 613} 614function Vp(r, e, t) { 615 return r[0] = e[0] + t[0], r[1] = e[1] + t[1], r; 616} 617function xf(r, e, t, a) { 618 return r[0] = e[0] + t[0] * a, r[1] = e[1] + t[1] * a, r; 619} 620function Va(r, e, t) { 621 return r[0] = e[0] - t[0], r[1] = e[1] - t[1], r; 622} 623function tl(r) { 624 return Math.sqrt(Og(r)); 625} 626var E2 = tl; 627function Og(r) { 628 return r[0] * r[0] + r[1] * r[1]; 629} 630var k2 = Og; 631function O2(r, e, t) { 632 return r[0] = e[0] * t[0], r[1] = e[1] * t[1], r; 633} 634function N2(r, e, t) { 635 return r[0] = e[0] / t[0], r[1] = e[1] / t[1], r; 636} 637function B2(r, e) { 638 return r[0] * e[0] + r[1] * e[1]; 639} 640function Ns(r, e, t) { 641 return r[0] = e[0] * t, r[1] = e[1] * t, r; 642} 643function mi(r, e) { 644 var t = tl(e); 645 return t === 0 ? (r[0] = 0, r[1] = 0) : (r[0] = e[0] / t, r[1] = e[1] / t), r; 646} 647function bf(r, e) { 648 return Math.sqrt((r[0] - e[0]) * (r[0] - e[0]) + (r[1] - e[1]) * (r[1] - e[1])); 649} 650var fa = bf; 651function pT(r, e) { 652 return (r[0] - e[0]) * (r[0] - e[0]) + (r[1] - e[1]) * (r[1] - e[1]); 653} 654var $a = pT; 655function z2(r, e) { 656 return r[0] = -e[0], r[1] = -e[1], r; 657} 658function Bs(r, e, t, a) { 659 return r[0] = e[0] + a * (t[0] - e[0]), r[1] = e[1] + a * (t[1] - e[1]), r; 660} 661function he(r, e, t) { 662 var a = e[0], n = e[1]; 663 return r[0] = t[0] * a + t[2] * n + t[4], r[1] = t[1] * a + t[3] * n + t[5], r; 664} 665function ha(r, e, t) { 666 return r[0] = Math.min(e[0], t[0]), r[1] = Math.min(e[1], t[1]), r; 667} 668function va(r, e, t) { 669 return r[0] = Math.max(e[0], t[0]), r[1] = Math.max(e[1], t[1]), r; 670} 671const V2 = Object.freeze(Object.defineProperty({ __proto__: null, add: Vp, applyTransform: he, clone: Zr, copy: _e, create: sn, dist: fa, distSquare: $a, distance: bf, distanceSquare: pT, div: N2, dot: B2, len: tl, lenSquare: Og, length: E2, lengthSquare: k2, lerp: Bs, max: va, min: ha, mul: O2, negate: z2, normalize: mi, scale: Ns, scaleAndAdd: xf, set: cT, sub: Va }, Symbol.toStringTag, { value: "Module" })); 672var Ii = /* @__PURE__ */ function() { 673 function r(e, t) { 674 this.target = e, this.topTarget = t && t.topTarget; 675 } 676 return r; 677}(), G2 = function() { 678 function r(e) { 679 this.handler = e, e.on("mousedown", this._dragStart, this), e.on("mousemove", this._drag, this), e.on("mouseup", this._dragEnd, this); 680 } 681 return r.prototype._dragStart = function(e) { 682 for (var t = e.target; t && !t.draggable; ) t = t.parent || t.__hostTarget; 683 t && (this._draggingTarget = t, t.dragging = true, this._x = e.offsetX, this._y = e.offsetY, this.handler.dispatchToElement(new Ii(t, e), "dragstart", e.event)); 684 }, r.prototype._drag = function(e) { 685 var t = this._draggingTarget; 686 if (t) { 687 var a = e.offsetX, n = e.offsetY, i = a - this._x, o = n - this._y; 688 this._x = a, this._y = n, t.drift(i, o, e), this.handler.dispatchToElement(new Ii(t, e), "drag", e.event); 689 var s = this.handler.findHover(a, n, t).target, l = this._dropTarget; 690 this._dropTarget = s, t !== s && (l && s !== l && this.handler.dispatchToElement(new Ii(l, e), "dragleave", e.event), s && s !== l && this.handler.dispatchToElement(new Ii(s, e), "dragenter", e.event)); 691 } 692 }, r.prototype._dragEnd = function(e) { 693 var t = this._draggingTarget; 694 t && (t.dragging = false), this.handler.dispatchToElement(new Ii(t, e), "dragend", e.event), this._dropTarget && this.handler.dispatchToElement(new Ii(this._dropTarget, e), "drop", e.event), this._draggingTarget = null, this._dropTarget = null; 695 }, r; 696}(), cr = function() { 697 function r(e) { 698 e && (this._$eventProcessor = e); 699 } 700 return r.prototype.on = function(e, t, a, n) { 701 this._$handlers || (this._$handlers = {}); 702 var i = this._$handlers; 703 if (typeof t == "function" && (n = a, a = t, t = null), !a || !e) return this; 704 var o = this._$eventProcessor; 705 t != null && o && o.normalizeQuery && (t = o.normalizeQuery(t)), i[e] || (i[e] = []); 706 for (var s = 0; s < i[e].length;
706 s++) if (i[e][s].h === a) return this; 707 var l = { h: a, query: t, ctx: n || this, callAtLast: a.zrEventfulCallAtLast }, u = i[e].length - 1, f = i[e][u]; 708 return f && f.callAtLast ? i[e].splice(u, 0, l) : i[e].push(l), this; 709 }, r.prototype.isSilent = function(e) { 710 var t = this._$handlers; 711 return !t || !t[e] || !t[e].length; 712 }, r.prototype.off = function(e, t) { 713 var a = this._$handlers; 714 if (!a) return this; 715 if (!e) return this._$handlers = {}, this; 716 if (t) { 717 if (a[e]) { 718 for (var n = [], i = 0, o = a[e].length; i < o; i++) a[e][i].h !== t && n.push(a[e][i]); 719 a[e] = n; 720 } 721 a[e] && a[e].length === 0 && delete a[e]; 722 } else delete a[e]; 723 return this; 724 }, r.prototype.trigger = function(e) { 725 for (var t = [], a = 1; a < arguments.length; a++) t[a - 1] = arguments[a]; 726 if (!this._$handlers) return this; 727 var n = this._$handlers[e], i = this._$eventProcessor; 728 if (n) for (var o = t.length, s = n.length, l = 0; l < s; l++) { 729 var u = n[l]; 730 if (!(i && i.filter && u.query != null && !i.filter(e, u.query))) switch (o) { 731 case 0: 732 u.h.call(u.ctx); 733 break; 734 case 1: 735 u.h.call(u.ctx, t[0]); 736 break; 737 case 2: 738 u.h.call(u.ctx, t[0], t[1]); 739 break; 740 default: 741 u.h.apply(u.ctx, t); 742 break; 743 } 744 } 745 return i && i.afterTrigger && i.afterTrigger(e), this; 746 }, r.prototype.triggerWithContext = function(e) { 747 for (var t = [], a = 1; a < arguments.length; a++) t[a - 1] = arguments[a]; 748 if (!this._$handlers) return this; 749 var n = this._$handlers[e], i = this._$eventProcessor; 750 if (n) for (var o = t.length, s = t[o - 1], l = n.length, u = 0; u < l; u++) { 751 var f = n[u]; 752 if (!(i && i.filter && f.query != null && !i.filter(e, f.query))) switch (o) { 753 case 0: 754 f.h.call(s); 755 break; 756 case 1: 757 f.h.call(s, t[0]); 758 break; 759 case 2: 760 f.h.call(s, t[0], t[1]); 761 break; 762 default: 763 f.h.apply(s, t.slice(1, o - 1)); 764 break; 765 } 766 } 767 return i && i.afterTrigger && i.afterTrigger(e), this; 768 }, r; 769}(), F2 = Math.log(2); 770function Gp(r, e, t, a, n, i) { 771 var o = a + "-" + n, s = r.length; 772 if (i.hasOwnProperty(o)) return i[o]; 773 if (e === 1) { 774 var l = Math.round(Math.log((1 << s) - 1 & ~n) / F2); 775 return r[t][l]; 776 } 777 for (var u = a | 1 << t, f = t + 1; a & 1 << f; ) f++; 778 for (var h = 0, v = 0, c = 0; v < s; v++) { 779 var p = 1 << v; 780 p & n || (h += (c % 2 ? -1 : 1) * r[t][v] * Gp(r, e - 1, f, u, n | p, i), c++); 781 } 782 return i[o] = h, h; 783} 784function a0(r, e) { 785 var t = [[r[0], r[1], 1, 0, 0, 0, -e[0] * r[0], -e[0] * r[1]], [0, 0, 0, r[0], r[1], 1, -e[1] * r[0], -e[1] * r[1]], [r[2], r[3], 1, 0, 0, 0, -e[2] * r[2], -e[2] * r[3]], [0, 0, 0, r[2], r[3], 1, -e[3] * r[2], -e[3] * r[3]], [r[4], r[5], 1, 0, 0, 0, -e[4] * r[4], -e[4] * r[5]], [0, 0, 0, r[4], r[5], 1, -e[5] * r[4], -e[5] * r[5]], [r[6], r[7], 1, 0, 0, 0, -e[6] * r[6], -e[6] * r[7]], [0, 0, 0, r[6], r[7], 1, -e[7] * r[6], -e[7] * r[7]]], a = {}, n = Gp(t, 8, 0, 0, 0, a); 786 if (n !== 0) { 787 for (var i = [], o = 0; o < 8; o++) for (var s = 0; s < 8; s++) i[s] == null && (i[s] = 0), i[s] += ((o + s) % 2 ? -1 : 1) * Gp(t, 7, o === 0 ? 1 : 0, 1 << o, 1 << s, a) / n * e[o]; 788 return function(l, u, f) { 789 var h = u * i[6] + f * i[7] + 1; 790 l[0] = (u * i[0] + f * i[1] + i[2]) / h, l[1] = (u * i[3] + f * i[4] + i[5]) / h; 791 }; 792 } 793} 794var n0 = "___zrEVENTSAVED", vv = []; 795function H2(r, e, t, a, n) { 796 return Fp(vv, e, a, n, true) && Fp(r, t, vv[0], vv[1]); 797} 798function Fp(r, e, t, a, n) { 799 if (e.getBoundingClientRect && yt.domSupported && !dT(e)) { 800 var i = e[n0] || (e[n0] = {}), o = W2(e, i), s = U2(o, i, n); 801 if (s) return s(r, t, a), true; 802 } 803 return false; 804} 805function W2(r, e) { 806 var t = e.markers; 807 if (t) return t; 808 t = e.markers = []; 809 for (var a = ["left", "right"], n = ["top", "bottom"], i = 0; i < 4; i++) { 810 var o = document.createElement("div"), s = o.style, l = i % 2, u = (i >> 1) % 2; 811 s.cssText = ["position: absolute", "visibility: hidden", "padding: 0", "margin: 0", "border-width: 0", "user-select: none", "width:0", "height:0", a[l] + ":0", n[u] + ":0", a[1 - l] + ":auto", n[1 - u] + ":auto", ""].join("!important;"), r.appendChild(o), t.push(o); 812 } 813 return t; 814} 815function U2(r, e, t) { 816 for (var a = t ? "invTrans" : "trans", n = e[a], i = e.srcCoords, o = [], s = [], l = true, u = 0; u < 4; u++) { 817 var f = r[u].getBoundingClientRect(), h = 2 * u, v = f.left, c = f.top; 818 o.push(v, c), l = l && i && v === i[h] && c === i[h + 1], s.push(r[u].offsetLeft, r[u].offsetTop); 819 } 820 return l && n ? n : (e.srcCoords = o, e[a] = t ? a0(s, o) : a0(o, s)); 821} 822function dT(r) { 823 return r.nodeName.toUpperCase() === "CANVAS"; 824} 825var Y2 = /([&<>"'])/g, $2 = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }; 826function xe(r) { 827 return r == null ? "" : (r + "").replace(Y2, function(e, t) { 828 return $2[t]; 829 }); 830} 831var X2 = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, cv = [], Z2 = yt.browser.firefox && +yt.browser.version.split(".")[0] < 39; 832function Hp(r, e, t, a) { 833 return t = t || {}, a ? i0(r, e, t) : Z2 && e.layerX != null && e.layerX !== e.offsetX ? (t.zrX = e.layerX, t.zrY = e.layerY) : e.offsetX != null ? (t.zrX = e.offsetX, t.zrY = e.offsetY) : i0(r, e, t), t; 834} 835function i0(r, e, t) { 836 if (yt.domSupported && r.getBoundingClientRect) { 837 var a = e.clientX, n = e.clientY; 838 if (dT(r)) { 839 var i = r.getBoundingClientRect(); 840 t.zrX = a - i.left, t.zrY = n - i.top; 841 return; 842 } else if (Fp(cv, r, a, n)) { 843 t.zrX = cv[0], t.zrY = cv[1]; 844 return; 845 } 846 } 847 t.zrX = t.zrY = 0; 848} 849function Ng(r) { 850 return r || window.event; 851} 852function rr(r, e, t) { 853 if (e = Ng(e), e.zrX != null) return e; 854 var a = e.type, n = a && a.indexOf("touch") >= 0; 855 if (n) { 856 var o = a !== "touchend" ? e.targetTouches[0] : e.changedTouches[0]; 857 o && Hp(r, o, e, t); 858 } else { 859 Hp(r, e, e, t); 860 var i = q2(e); 861 e.zrDelta = i ? i / 120 : -(e.detail || 0) / 3; 862 } 863 var s = e.button; 864 return e.which == null && s !== void 0 && X2.test(e.type) && (e.which = s & 1 ? 1 : s & 2 ? 3 : s & 4 ? 2 : 0), e; 865} 866function q2(r) { 867 var e = r.wheelDelta; 868 if (e) return e; 869 var t = r.deltaX, a = r.deltaY; 870 if (t == null || a == null) return e; 871 var n = Math.abs(a !== 0 ? a : t), i = a > 0 ? -1 : a < 0 ? 1 : t > 0 ? -1 : 1; 872 return 3 * n * i; 873} 874function Wp(r, e, t, a) { 875 r.addEventListener(e, t, a); 876} 877function K2(r, e, t, a) { 878 r.removeEventListener(e, t, a); 879} 880var ya = function(r) { 881 r.preventDefault(), r.stopPropagation(), r.cancelBubble = true; 882}; 883function o0(r) { 884 return r.which === 2 || r.which === 3; 885} 886var j2 = function() { 887 function r() { 888 this._track = []; 889 } 890 return r.prototype.recognize = function(e, t, a) { 891 return this._doTrack(e, t, a), this._recognize(e); 892 }, r.prototype.clear = function() { 893 return this._track.length = 0, this; 894 }, r.prototype._doTrack = function(e, t, a) { 895 var n = e.touches; 896 if (n) { 897 for (var i = { points: [], touches: [], target: t, event: e }, o = 0, s = n.length; o < s; o++) { 898 var l = n[o], u = Hp(a, l, {}); 899 i.points.push([u.zrX, u.zrY]), i.touches.push(l); 900 } 901 this._track.push(i); 902 } 903 }, r.prototype._recognize = function(e) { 904 for (var t in pv) if (pv.hasOwnProperty(t)) { 905 var a = pv[t](this._track, e); 906 if (a) return a; 907 } 908 }, r; 909}(); 910function s0(r) { 911 var e = r[1][0] - r[0][0], t = r[1][1] - r[0][1]; 912 return Math.sqrt(e * e + t * t); 913} 914function J2(r) { 915 return [(r[0][0] + r[1][0]) / 2, (r[0][1] + r[1][1]) / 2]; 916} 917var pv = { pinch: function(r, e) { 918 var t = r.length; 919 if (t) { 920 var a = (r[t - 1] || {}).points, n = (r[t - 2] || {}).points || a; 921 if (n && n.length > 1 && a && a.length > 1) { 922 var i = s0(a) / s0(n); 923 !isFinite(i) && (i = 1), e.pinchScale = i; 924 var o = J2(a); 925 return e.pinchX = o[0], e.pinchY = o[1], { type: "pinch", target: r[0].target, event: e }; 926 } 927 } 928} }; 929function He() { 930 return [1, 0, 0, 1, 0, 0]; 931} 932function Pl(r) { 933 return r[0] = 1, r[1] = 0, r[2] = 0, r[3] = 1, r[4] = 0, r[5] = 0, r; 934} 935function wh(r, e) { 936 return r[0] = e[0], r[1] = e[1], r[2] = e[2], r[3] = e[3], r[4] = e[4], r[5] = e[5], r; 937} 938function qr(r, e, t) { 939 var a = e[0] * t[0] + e[2] * t[1], n = e[1] * t[0] + e[3] * t[1], i = e[0] * t[2] + e[2] * t[3], o = e[1] * t[2] + e[3] * t[3], s = e[0] * t[4] + e[2] * t[5] + e[4], l = e[1] * t[4] + e[3] * t[5] + e[5]; 940 return r[0] = a, r[1] = n, r[2] = i, r[3] = o, r[4] = s, r[5] = l, r; 941} 942function Pr(r, e, t) { 943 return r[0] = e[0], r[1] = e[1], r[2] = e[2], r[3] = e[3], r[4] = e[4] + t[0], r[5] = e[5] + t[1], r; 944} 945function ln(r, e, t, a) { 946 a === void 0 && (a = [0, 0]); 947 var n = e[0], i = e[2], o = e[4], s = e[1], l = e[3], u = e[5], f = Math.sin(t), h = Math.cos(t); 948 return r[0] = n * h + s * f, r[1] = -n * f + s * h, r[2] = i * h + l * f, r[3] = -i * f + h * l, r[4] = h * (o - a[0]) + f * (u - a[1]) + a[0], r[5] = h * (u - a[1]) - f * (o - a[0]) + a[1], r; 949} 950function Th(r, e, t) { 951 var a = t[0], n = t[1]; 952 return r[0] = e[0] * a, r[1] = e[1] * n, r[2] = e[2] * a, r[3] = e[3] * n, r[4] = e[4] * a, r[5] = e[5] * n, r; 953} 954function _i(r, e) { 955 var t = e[0], a = e[2], n = e[4], i = e[1], o = e[3], s = e[5], l = t * o - i * a; 956 return l ? (l = 1 / l, r[0] = o * l, r[1] = -i * l, r[2] = -a * l, r[3] = t * l, r[4] = (a * s - o * n) * l, r[5] = (i * n - t * s) * l, r) : null; 957} 958function gT(r) { 959 var e = He(); 960 return wh(e, r), e; 961} 962const Q2 = Object.freeze(Object.defineProperty({ __proto__: null, clone: gT, copy: wh, create: He, identity: Pl, invert: _i, mul: qr, rotate: ln, scale: Th, translate: Pr }, Symbol.toStringTag, { value: "Module" })); 963var ft = function() { 964 function r(e, t) { 965 this.x = e || 0, this.y = t || 0; 966 } 967 return r.prototype.copy = function(e) { 968 return this.x = e.x, this.y = e.y, this; 969 }, r.prototype.clone = function() { 970 return new r(this.x, this.y); 971 }, r.prototype.set = function(e, t) { 972 return this.x = e, this.y = t, this; 973 }, r.prototype.equal = function(e) { 974 return e.x === this.x && e.y === this.y; 975 }, r.prototype.add = function(e) { 976 return this.x += e.x, this.y += e.y, this; 977 }, r.prototype.scale = function(e) { 978 this.x *= e, this.y *= e; 979 }, r.prototype.scaleAndAdd = function(e, t) { 980 this.x += e.x * t, this.y += e.y * t; 981 }, r.prototype.sub = function(e) { 982 return this.x -= e.x, this.y -= e.y, this; 983 }, r.prototype.dot = function(e) { 984 return this.x * e.x + this.y * e.y; 985 }, r.prototype.len = function() { 986 return Math.sqrt(this.x * this.x + this.y * this.y); 987 }, r.prototype.lenSquare = function() { 988 return this.x * this.x + this.y * this.y; 989 }, r.prototype.normalize = function() { 990 var e = this.len(); 991 return this.x /= e, this.y /= e, this; 992 }, r.prototype.distance = function(e) { 993 var t = this.x - e.x, a = this.y - e.y; 994 return Math.sqrt(t * t + a * a); 995 }, r.prototype.distanceSquare = function(e) { 996 var t = this.x - e.x, a = this.y - e.y; 997 return t * t + a * a; 998 }, r.prototype.negate = function() { 999 return this.x = -this.x, this.y = -this.y, this; 1000 }, r.prototype.transform = function(e) { 1001 if (e) { 1002 var t = this.x, a = this.y; 1003 return this.x = e[0] * t + e[2] * a + e[4], this.y = e[1] * t + e[3] * a + e[5], this; 1004 } 1005 }, r.prototype.toArray = function(e) { 1006 return e[0] = this.x, e[1] = this.y, e; 1007 }, r.prototype.fromArray = function(e) { 1008 this.x = e[0], this.y = e[1]; 1009 }, r.set = function(e, t, a) { 1010 e.x = t, e.y = a; 1011 }, r.copy = function(e, t) { 1012 e.x = t.x, e.y = t.y; 1013 }, r.len = function(e) { 1014 return Math.sqrt(e.x * e.x + e.y * e.y); 1015 }, r.lenSquare = function(e) { 1016 return e.x * e.x + e.y * e.y; 1017 }, r.dot = function(e, t) { 1018 return e.x * t.x + e.y * t.y; 1019 }, r.add = function(e, t, a) { 1020 e.x = t.x + a.x, e.y = t.y + a.y; 1021 }, r.sub = function(e, t, a) { 1022 e.x = t.x - a.x, e.y = t.y - a.y; 1023 }, r.scale = function(e, t, a) { 1024 e.x = t.x * a, e.y = t.y * a; 1025 }, r.scaleAndAdd = function(e, t, a, n) { 1026 e.x = t.x + a.x * n, e.y = t.y + a.y * n; 1027 }, r.lerp = function(e, t, a, n) { 1028 var i = 1 - n; 1029 e.x = i * t.x + n * a.x, e.y = i * t.y + n * a.y; 1030 }, r; 1031}(), Ql = Math.min, tu = Math.max, cn = new ft(), pn = new ft(), dn = new ft(), gn = new ft(), Xo = new ft(), Zo = new ft(), ht = function() { 1032 function r(e, t, a, n) {
1033 a < 0 && (e = e + a, a = -a), n < 0 && (t = t + n, n = -n), this.x = e, this.y = t, this.width = a, this.height = n; 1034 } 1035 return r.prototype.union = function(e) { 1036 var t = Ql(e.x, this.x), a = Ql(e.y, this.y); 1037 isFinite(this.x) && isFinite(this.width) ? this.width = tu(e.x + e.width, this.x + this.width) - t : this.width = e.width, isFinite(this.y) && isFinite(this.height) ? this.height = tu(e.y + e.height, this.y + this.height) - a : this.height = e.height, this.x = t, this.y = a; 1038 }, r.prototype.applyTransform = function(e) { 1039 r.applyTransform(this, this, e); 1040 }, r.prototype.calculateTransform = function(e) { 1041 var t = this, a = e.width / t.width, n = e.height / t.height, i = He(); 1042 return Pr(i, i, [-t.x, -t.y]), Th(i, i, [a, n]), Pr(i, i, [e.x, e.y]), i; 1043 }, r.prototype.intersect = function(e, t) { 1044 if (!e) return false; 1045 e instanceof r || (e = r.create(e)); 1046 var a = this, n = a.x, i = a.x + a.width, o = a.y, s = a.y + a.height, l = e.x, u = e.x + e.width, f = e.y, h = e.y + e.height, v = !(i < l || u < n || s < f || h < o); 1047 if (t) { 1048 var c = 1 / 0, p = 0, d = Math.abs(i - l), g = Math.abs(u - n), y = Math.abs(s - f), m = Math.abs(h - o), _ = Math.min(d, g), S = Math.min(y, m); 1049 i < l || u < n ? _ > p && (p = _, d < g ? ft.set(Zo, -d, 0) : ft.set(Zo, g, 0)) : _ < c && (c = _, d < g ? ft.set(Xo, d, 0) : ft.set(Xo, -g, 0)), s < f || h < o ? S > p && (p = S, y < m ? ft.set(Zo, 0, -y) : ft.set(Zo, 0, m)) : _ < c && (c = _, y < m ? ft.set(Xo, 0, y) : ft.set(Xo, 0, -m)); 1050 } 1051 return t && ft.copy(t, v ? Xo : Zo), v; 1052 }, r.prototype.contain = function(e, t) { 1053 var a = this; 1054 return e >= a.x && e <= a.x + a.width && t >= a.y && t <= a.y + a.height; 1055 }, r.prototype.clone = function() { 1056 return new r(this.x, this.y, this.width, this.height); 1057 }, r.prototype.copy = function(e) { 1058 r.copy(this, e); 1059 }, r.prototype.plain = function() { 1060 return { x: this.x, y: this.y, width: this.width, height: this.height }; 1061 }, r.prototype.isFinite = function() { 1062 return isFinite(this.x) && isFinite(this.y) && isFinite(this.width) && isFinite(this.height); 1063 }, r.prototype.isZero = function() { 1064 return this.width === 0 || this.height === 0; 1065 }, r.create = function(e) { 1066 return new r(e.x, e.y, e.width, e.height); 1067 }, r.copy = function(e, t) { 1068 e.x = t.x, e.y = t.y, e.width = t.width, e.height = t.height; 1069 }, r.applyTransform = function(e, t, a) { 1070 if (!a) { 1071 e !== t && r.copy(e, t); 1072 return; 1073 } 1074 if (a[1] < 1e-5 && a[1] > -1e-5 && a[2] < 1e-5 && a[2] > -1e-5) { 1075 var n = a[0], i = a[3], o = a[4], s = a[5]; 1076 e.x = t.x * n + o, e.y = t.y * i + s, e.width = t.width * n, e.height = t.height * i, e.width < 0 && (e.x += e.width, e.width = -e.width), e.height < 0 && (e.y += e.height, e.height = -e.height); 1077 return; 1078 } 1079 cn.x = dn.x = t.x, cn.y = gn.y = t.y, pn.x = gn.x = t.x + t.width, pn.y = dn.y = t.y + t.height, cn.transform(a), gn.transform(a), pn.transform(a), dn.transform(a), e.x = Ql(cn.x, pn.x, dn.x, gn.x), e.y = Ql(cn.y, pn.y, dn.y, gn.y); 1080 var l = tu(cn.x, pn.x, dn.x, gn.x), u = tu(cn.y, pn.y, dn.y, gn.y); 1081 e.width = l - e.x, e.height = u - e.y; 1082 }, r; 1083}(), yT = "silent"; 1084function tP(r, e, t) { 1085 return { type: r, event: t, target: e.target, topTarget: e.topTarget, cancelBubble: false, offsetX: t.zrX, offsetY: t.zrY, gestureEvent: t.gestureEvent, pinchX: t.pinchX, pinchY: t.pinchY, pinchScale: t.pinchScale, wheelDelta: t.zrDelta, zrByTouch: t.zrByTouch, which: t.which, stop: eP }; 1086} 1087function eP() { 1088 ya(this.event); 1089} 1090var rP = function(r) { 1091 Ft(e, r); 1092 function e() { 1093 var t = r !== null && r.apply(this, arguments) || this; 1094 return t.handler = null, t; 1095 } 1096 return e.prototype.dispose = function() { 1097 }, e.prototype.setCursor = function() { 1098 }, e; 1099}(cr), qo = /* @__PURE__ */ function() { 1100 function r(e, t) { 1101 this.x = e, this.y = t; 1102 } 1103 return r; 1104}(), aP = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"], dv = new ht(0, 0, 0, 0), mT = function(r) { 1105 Ft(e, r); 1106 function e(t, a, n, i, o) { 1107 var s = r.call(this) || this; 1108 return s._hovered = new qo(0, 0), s.storage = t, s.painter = a, s.painterRoot = i, s._pointerSize = o, n = n || new rP(), s.proxy = null, s.setHandlerProxy(n), s._draggingMgr = new G2(s), s; 1109 } 1110 return e.prototype.setHandlerProxy = function(t) { 1111 this.proxy && this.proxy.dispose(), t && (D(aP, function(a) { 1112 t.on && t.on(a, this[a], this); 1113 }, this), t.handler = this), this.proxy = t; 1114 }, e.prototype.mousemove = function(t) { 1115 var a = t.zrX, n = t.zrY, i = _T(this, a, n), o = this._hovered, s = o.target; 1116 s && !s.__zr && (o = this.findHover(o.x, o.y), s = o.target); 1117 var l = this._hovered = i ? new qo(a, n) : this.findHover(a, n), u = l.target, f = this.proxy; 1118 f.setCursor && f.setCursor(u ? u.cursor : "default"), s && u !== s && this.dispatchToElement(o, "mouseout", t), this.dispatchToElement(l, "mousemove", t), u && u !== s && this.dispatchToElement(l, "mouseover", t); 1119 }, e.prototype.mouseout = function(t) {
1120 var a = t.zrEventControl; 1121 a !== "only_globalout" && this.dispatchToElement(this._hovered, "mouseout", t), a !== "no_globalout" && this.trigger("globalout", { type: "globalout", event: t }); 1122 }, e.prototype.resize = function() { 1123 this._hovered = new qo(0, 0); 1124 }, e.prototype.dispatch = function(t, a) { 1125 var n = this[t]; 1126 n && n.call(this, a); 1127 }, e.prototype.dispose = function() { 1128 this.proxy.dispose(), this.storage = null, this.proxy = null, this.painter = null; 1129 }, e.prototype.setCursorStyle = function(t) { 1130 var a = this.proxy; 1131 a.setCursor && a.setCursor(t); 1132 }, e.prototype.dispatchToElement = function(t, a, n) { 1133 t = t || {}; 1134 var i = t.target; 1135 if (!(i && i.silent)) { 1136 for (var o = "on" + a, s = tP(a, t, n); i && (i[o] && (s.cancelBubble = !!i[o].call(i, s)), i.trigger(a, s), i = i.__hostTarget ? i.__hostTarget : i.parent, !s.cancelBubble); ) ; 1137 s.cancelBubble || (this.trigger(a, s), this.painter && this.painter.eachOtherLayer && this.painter.eachOtherLayer(function(l) { 1138 typeof l[o] == "function" && l[o].call(l, s), l.trigger && l.trigger(a, s); 1139 })); 1140 } 1141 }, e.prototype.findHover = function(t, a, n) { 1142 var i = this.storage.getDisplayList(), o = new qo(t, a); 1143 if (l0(i, o, t, a, n), this._pointerSize && !o.target) { 1144 for (var s = [], l = this._pointerSize, u = l / 2, f = new ht(t - u, a - u, l, l), h = i.length - 1; h >= 0; h--) { 1145 var v = i[h]; 1146 v !== n && !v.ignore && !v.ignoreCoarsePointer && (!v.parent || !v.parent.ignoreCoarsePointer) && (dv.copy(v.getBoundingRect()), v.transform && dv.applyTransform(v.transform), dv.intersect(f) && s.push(v)); 1147 } 1148 if (s.length) for (var c = 4, p = Math.PI / 12, d = Math.PI * 2, g = 0; g < u; g += c) for (var y = 0; y < d; y += p) { 1149 var m = t + g * Math.cos(y), _ = a + g * Math.sin(y); 1150 if (l0(s, o, m, _, n), o.target) return o; 1151 } 1152 } 1153 return o; 1154 }, e.prototype.processGesture = function(t, a) { 1155 this._gestureMgr || (this._gestureMgr = new j2()); 1156 var n = this._gestureMgr; 1157 a === "start" && n.clear(); 1158 var i = n.recognize(t, this.findHover(t.zrX, t.zrY, null).target, this.proxy.dom); 1159 if (a === "end" && n.clear(), i) { 1160 var o = i.type; 1161 t.gestureEvent = o; 1162 var s = new qo(); 1163 s.target = i.target, this.dispatchToElement(s, o, i.event); 1164 } 1165 }, e; 1166}(cr); 1167D(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function(r) { 1168 mT.prototype[r] = function(e) { 1169 var t = e.zrX, a = e.zrY, n = _T(this, t, a), i, o; 1170 if ((r !== "mouseup" || !n) && (i = this.findHover(t, a), o = i.target), r === "mousedown") this._downEl = o, this._downPoint = [e.zrX, e.zrY], this._upEl = o; 1171 else if (r === "mouseup") this._upEl = o; 1172 else if (r === "click") { 1173 if (this._downEl !== this._upEl || !this._downPoint || fa(this._downPoint, [e.zrX, e.zrY]) > 4) return; 1174 this._downPoint = null; 1175 } 1176 this.dispatchToElement(i, r, e); 1177 }; 1178}); 1179function nP(r, e, t) { 1180 if (r[r.rectHover ? "rectContain" : "contain"](e, t)) { 1181 for (var a = r, n = void 0, i = false; a; ) { 1182 if (a.ignoreClip && (i = true), !i) { 1183 var o = a.getClipPath(); 1184 if (o && !o.contain(e, t)) return false; 1185 } 1186 a.silent && (n = true); 1187 var s = a.__hostTarget; 1188 a = s || a.parent; 1189 } 1190 return n ? yT : true; 1191 } 1192 return false; 1193} 1194function l0(r, e, t, a, n) { 1195 for (var i = r.length - 1; i >= 0; i--) { 1196 var o = r[i], s = void 0; 1197 if (o !== n && !o.ignore && (s = nP(o, t, a)) && (!e.topTarget && (e.topTarget = o), s !== yT)) { 1198 e.target = o; 1199 break; 1200 } 1201 } 1202} 1203function _T(r, e, t) { 1204 var a = r.painter; 1205 return e < 0 || e > a.getWidth() || t < 0 || t > a.getHeight(); 1206} 1207var ST = 32, Ko = 7; 1208function iP(r) { 1209 for (var e = 0; r >= ST; ) e |= r & 1, r >>= 1; 1210 return r + e; 1211} 1212function u0(r, e, t, a) { 1213 var n = e + 1; 1214 if (n === t) return 1; 1215 if (a(r[n++], r[e]) < 0) { 1216 for (; n < t && a(r[n], r[n - 1]) < 0; ) n++; 1217 oP(r, e, n); 1218 } else for (; n < t && a(r[n], r[n - 1]) >= 0; ) n++; 1219 return n - e; 1220} 1221function oP(r, e, t) { 1222 for (t--; e < t; ) { 1223 var a = r[e]; 1224 r[e++] = r[t], r[t--] = a; 1225 } 1226} 1227function f0(r, e, t, a, n) { 1228 for (a === e && a++; a < t; a++) { 1229 for (var i = r[a], o = e, s = a, l; o < s; ) l = o + s >>> 1, n(i, r[l]) < 0 ? s = l : o = l + 1; 1230 var u = a - o; 1231 switch (u) { 1232 case 3: 1233 r[o + 3] = r[o + 2]; 1234 case 2: 1235 r[o + 2] = r[o + 1]; 1236 case 1: 1237 r[o + 1] = r[o]; 1238 break; 1239 default: 1240 for (; u > 0; ) r[o + u] = r[o + u - 1], u--; 1241 } 1242 r[o] = i; 1243 } 1244}
1245function gv(r, e, t, a, n, i) { 1246 var o = 0, s = 0, l = 1; 1247 if (i(r, e[t + n]) > 0) { 1248 for (s = a - n; l < s && i(r, e[t + n + l]) > 0; ) o = l, l = (l << 1) + 1, l <= 0 && (l = s); 1249 l > s && (l = s), o += n, l += n; 1250 } else { 1251 for (s = n + 1; l < s && i(r, e[t + n - l]) <= 0; ) o = l, l = (l << 1) + 1, l <= 0 && (l = s); 1252 l > s && (l = s); 1253 var u = o; 1254 o = n - l, l = n - u; 1255 } 1256 for (o++; o < l; ) { 1257 var f = o + (l - o >>> 1); 1258 i(r, e[t + f]) > 0 ? o = f + 1 : l = f; 1259 } 1260 return l; 1261} 1262function yv(r, e, t, a, n, i) { 1263 var o = 0, s = 0, l = 1; 1264 if (i(r, e[t + n]) < 0) { 1265 for (s = n + 1; l < s && i(r, e[t + n - l]) < 0; ) o = l, l = (l << 1) + 1, l <= 0 && (l = s); 1266 l > s && (l = s); 1267 var u = o; 1268 o = n - l, l = n - u; 1269 } else { 1270 for (s = a - n; l < s && i(r, e[t + n + l]) >= 0; ) o = l, l = (l << 1) + 1, l <= 0 && (l = s); 1271 l > s && (l = s), o += n, l += n; 1272 } 1273 for (o++; o < l; ) { 1274 var f = o + (l - o >>> 1); 1275 i(r, e[t + f]) < 0 ? l = f : o = f + 1; 1276 } 1277 return l; 1278} 1279function sP(r, e) { 1280 var t = Ko, a, n, i = 0, o = []; 1281 a = [], n = []; 1282 function s(c, p) { 1283 a[i] = c, n[i] = p, i += 1; 1284 } 1285 function l() { 1286 for (; i > 1; ) { 1287 var c = i - 2; 1288 if (c >= 1 && n[c - 1] <= n[c] + n[c + 1] || c >= 2 && n[c - 2] <= n[c] + n[c - 1]) n[c - 1] < n[c + 1] && c--; 1289 else if (n[c] > n[c + 1]) break; 1290 f(c); 1291 } 1292 } 1293 function u() { 1294 for (; i > 1; ) { 1295 var c = i - 2; 1296 c > 0 && n[c - 1] < n[c + 1] && c--, f(c); 1297 } 1298 } 1299 function f(c) { 1300 var p = a[c], d = n[c], g = a[c + 1], y = n[c + 1]; 1301 n[c] = d + y, c === i - 3 && (a[c + 1] = a[c + 2], n[c + 1] = n[c + 2]), i--; 1302 var m = yv(r[g], r, p, d, 0, e); 1303 p += m, d -= m, d !== 0 && (y = gv(r[p + d - 1], r, g, y, y - 1, e), y !== 0 && (d <= y ? h(p, d, g, y) : v(p, d, g, y))); 1304 } 1305 function h(c, p, d, g) { 1306 var y = 0; 1307 for (y = 0; y < p; y++) o[y] = r[c + y]; 1308 var m = 0, _ = d, S = c; 1309 if (r[S++] = r[_++], --g === 0) { 1310 for (y = 0; y < p; y++) r[S + y] = o[m + y]; 1311 return; 1312 } 1313 if (p === 1) { 1314 for (y = 0; y < g; y++) r[S + y] = r[_ + y]; 1315 r[S + g] = o[m]; 1316 return; 1317 } 1318 for (var b = t, x, w, T; ; ) { 1319 x = 0, w = 0, T = false; 1320 do 1321 if (e(r[_], o[m]) < 0) { 1322 if (r[S++] = r[_++], w++, x = 0, --g === 0) { 1323 T = true; 1324 break; 1325 } 1326 } else if (r[S++] = o[m++], x++, w = 0, --p === 1) { 1327 T = true; 1328 break; 1329 } 1330 while ((x | w) < b); 1331 if (T) break; 1332 do { 1333 if (x = yv(r[_], o, m, p, 0, e), x !== 0) { 1334 for (y = 0; y < x; y++) r[S + y] = o[m + y]; 1335 if (S += x, m += x, p -= x, p <= 1) { 1336 T = true; 1337 break; 1338 } 1339 } 1340 if (r[S++] = r[_++], --g === 0) { 1341 T = true; 1342 break; 1343 } 1344 if (w = gv(o[m], r, _, g, 0, e), w !== 0) { 1345 for (y = 0; y < w; y++) r[S + y] = r[_ + y]; 1346 if (S += w, _ += w, g -= w, g === 0) { 1347 T = true; 1348 break; 1349 } 1350 } 1351 if (r[S++] = o[m++], --p === 1) { 1352 T = true; 1353 break; 1354 } 1355 b--; 1356 } while (x >= Ko || w >= Ko); 1357 if (T) break; 1358 b < 0 && (b = 0), b += 2; 1359 } 1360 if (t = b, t < 1 && (t = 1), p === 1) { 1361 for (y = 0; y < g; y++) r[S + y] = r[_ + y]; 1362 r[S + g] = o[m]; 1363 } else { 1364 if (p === 0) throw new Error(); 1365 for (y = 0; y < p; y++) r[S + y] = o[m + y]; 1366 } 1367 } 1368 function v(c, p, d, g) { 1369 var y = 0; 1370 for (y = 0; y < g; y++) o[y] = r[d + y]; 1371 var m = c + p - 1, _ = g - 1, S = d + g - 1, b = 0, x = 0; 1372 if (r[S--] = r[m--], --p === 0) { 1373 for (b = S - (g - 1), y = 0; y < g; y++) r[b + y] = o[y]; 1374 return; 1375 } 1376 if (g === 1) { 1377 for (S -= p, m -= p, x = S + 1, b = m + 1, y = p - 1; y >= 0; y--) r[x + y] = r[b + y]; 1378 r[S] = o[_]; 1379 return; 1380 } 1381 for (var w = t; ; ) { 1382 var T = 0, C = 0, A = false; 1383 do 1384 if (e(o[_], r[m]) < 0) { 1385 if (r[S--] = r[m--], T++, C = 0, --p === 0) { 1386 A = true; 1387 break; 1388 } 1389 } else if (r[S--] = o[_--], C++, T = 0, --g === 1) { 1390 A = true; 1391 break; 1392 }
1393 while ((T | C) < w); 1394 if (A) break; 1395 do { 1396 if (T = p - yv(o[_], r, c, p, p - 1, e), T !== 0) { 1397 for (S -= T, m -= T, p -= T, x = S + 1, b = m + 1, y = T - 1; y >= 0; y--) r[x + y] = r[b + y]; 1398 if (p === 0) { 1399 A = true; 1400 break; 1401 } 1402 } 1403 if (r[S--] = o[_--], --g === 1) { 1404 A = true; 1405 break; 1406 } 1407 if (C = g - gv(r[m], o, 0, g, g - 1, e), C !== 0) { 1408 for (S -= C, _ -= C, g -= C, x = S + 1, b = _ + 1, y = 0; y < C; y++) r[x + y] = o[b + y]; 1409 if (g <= 1) { 1410 A = true; 1411 break; 1412 } 1413 } 1414 if (r[S--] = r[m--], --p === 0) { 1415 A = true; 1416 break; 1417 } 1418 w--; 1419 } while (T >= Ko || C >= Ko); 1420 if (A) break; 1421 w < 0 && (w = 0), w += 2; 1422 } 1423 if (t = w, t < 1 && (t = 1), g === 1) { 1424 for (S -= p, m -= p, x = S + 1, b = m + 1, y = p - 1; y >= 0; y--) r[x + y] = r[b + y]; 1425 r[S] = o[_]; 1426 } else { 1427 if (g === 0) throw new Error(); 1428 for (b = S - (g - 1), y = 0; y < g; y++) r[b + y] = o[y]; 1429 } 1430 } 1431 return { mergeRuns: l, forceMergeRuns: u, pushRun: s }; 1432} 1433function tf(r, e, t, a) { 1434 t || (t = 0), a || (a = r.length); 1435 var n = a - t; 1436 if (!(n < 2)) { 1437 var i = 0; 1438 if (n < ST) { 1439 i = u0(r, t, a, e), f0(r, t, a, t + i, e); 1440 return; 1441 } 1442 var o = sP(r, e), s = iP(n); 1443 do { 1444 if (i = u0(r, t, a, e), i < s) { 1445 var l = n; 1446 l > s && (l = s), f0(r, t, t + l, t + i, e), i = l; 1447 } 1448 o.pushRun(t, i), o.mergeRuns(), n -= i, t += i; 1449 } while (n !== 0); 1450 o.forceMergeRuns(); 1451 } 1452} 1453var Ye = 1, bs = 2, ji = 4, h0 = false; 1454function mv() { 1455 h0 || (h0 = true, console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors")); 1456} 1457function v0(r, e) { 1458 return r.zlevel === e.zlevel ? r.z === e.z ? r.z2 - e.z2 : r.z - e.z : r.zlevel - e.zlevel; 1459} 1460var lP = function() { 1461 function r() { 1462 this._roots = [], this._displayList = [], this._displayListLen = 0, this.displayableSortFunc = v0; 1463 } 1464 return r.prototype.traverse = function(e, t) { 1465 for (var a = 0; a < this._roots.length; a++) this._roots[a].traverse(e, t); 1466 }, r.prototype.getDisplayList = function(e, t) { 1467 t = t || false; 1468 var a = this._displayList; 1469 return (e || !a.length) && this.updateDisplayList(t), a; 1470 }, r.prototype.updateDisplayList = function(e) { 1471 this._displayListLen = 0; 1472 for (var t = this._roots, a = this._displayList, n = 0, i = t.length; n < i; n++) this._updateAndAddDisplayable(t[n], null, e); 1473 a.length = this._displayListLen, tf(a, v0); 1474 }, r.prototype._updateAndAddDisplayable = function(e, t, a) { 1475 if (!(e.ignore && !a)) { 1476 e.beforeUpdate(), e.update(), e.afterUpdate(); 1477 var n = e.getClipPath(); 1478 if (e.ignoreClip) t = null; 1479 else if (n) { 1480 t ? t = t.slice() : t = []; 1481 for (var i = n, o = e; i; ) i.parent = o, i.updateTransform(), t.push(i), o = i, i = i.getClipPath(); 1482 } 1483 if (e.childrenRef) { 1484 for (var s = e.childrenRef(), l = 0; l < s.length; l++) { 1485 var u = s[l]; 1486 e.__dirty && (u.__dirty |= Ye), this._updateAndAddDisplayable(u, t, a); 1487 } 1488 e.__dirty = 0; 1489 } else { 1490 var f = e; 1491 t && t.length ? f.__clipPaths = t : f.__clipPaths && f.__clipPaths.length > 0 && (f.__clipPaths = []), isNaN(f.z) && (mv(), f.z = 0), isNaN(f.z2) && (mv(), f.z2 = 0), isNaN(f.zlevel) && (mv(), f.zlevel = 0), this._displayList[this._displayListLen++] = f; 1492 } 1493 var h = e.getDecalElement && e.getDecalElement(); 1494 h && this._updateAndAddDisplayable(h, t, a); 1495 var v = e.getTextGuideLine(); 1496 v && this._updateAndAddDisplayable(v, t, a); 1497 var c = e.getTextContent(); 1498 c && this._updateAndAddDisplayable(c, t, a); 1499 } 1500 }, r.prototype.addRoot = function(e) { 1501 e.__zr && e.__zr.storage === this || this._roots.push(e); 1502 }, r.prototype.delRoot = function(e) { 1503 if (e instanceof Array) { 1504 for (var t = 0, a = e.length; t < a; t++) this.delRoot(e[t]); 1505 return; 1506 } 1507 var n = vt(this._roots, e); 1508 n >= 0 && this._roots.splice(n, 1); 1509 }, r.prototype.delAllRoots = function() { 1510 this._roots = [], this._displayList = [], this._displayListLen = 0; 1511 }, r.prototype.getRoots = function() { 1512 return this._roots; 1513 }, r.prototype.dispose = function() { 1514 this._displayList = null, this._roots = null; 1515 }, r; 1516}(), wf; 1517wf = yt.hasGlobalWindow && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function(r) { 1518 return setTimeout(r, 16); 1519}; 1520var zs = { linear: function(r) { 1521 return r; 1522}, quadraticIn: function(r) { 1523 return r * r; 1524}, quadraticOut: function(r) { 1525 return r * (2 - r); 1526}, quadraticInOut: function(r) { 1527 return (r *= 2) < 1 ? 0.5 * r * r : -0.5 * (--r * (r - 2) - 1); 1528}, cubicIn: function(r) { 1529 return r * r * r; 1530}, cubicOut: function(r) { 1531 return --r * r * r + 1; 1532}, cubicInOut: function(r) { 1533 return (r *= 2) < 1 ? 0.5 * r * r * r : 0.5 * ((r -= 2) * r * r + 2); 1534}, quarticIn: function(r) { 1535 return r * r * r * r; 1536}, quarticOut: function(r) { 1537 return 1 - --r * r * r * r; 1538}, quarticInOut: function(r) { 1539 return (r *= 2) < 1 ? 0.5 * r * r * r * r : -0.5 * ((r -= 2) * r * r * r - 2); 1540}, quinticIn: function(r) { 1541 return r * r * r * r * r; 1542}, quinticOut: function(r) { 1543 return --r * r * r * r * r + 1; 1544}, quinticInOut: function(r) { 1545 return (r *= 2) < 1 ? 0.5 * r * r * r * r * r : 0.5 * ((r -= 2) * r * r * r * r + 2); 1546}, sinusoidalIn: function(r) { 1547 return 1 - Math.cos(r * Math.PI / 2); 1548}, sinusoidalOut: function(r) { 1549 return Math.sin(r * Math.PI / 2); 1550}, sinusoidalInOut: function(r) { 1551 return 0.5 * (1 - Math.cos(Math.PI * r)); 1552}, exponentialIn: function(r) { 1553 return r === 0 ? 0 : Math.pow(1024, r - 1); 1554}, exponentialOut: function(r) { 1555 return r === 1 ? 1 : 1 - Math.pow(2, -10 * r); 1556}, exponentialInOut: function(r) { 1557 return r === 0 ? 0 : r === 1 ? 1 : (r *= 2) < 1 ? 0.5 * Math.pow(1024, r - 1) : 0.5 * (-Math.pow(2, -10 * (r - 1)) + 2); 1558}, circularIn: function(r) { 1559 return 1 - Math.sqrt(1 - r * r); 1560}, circularOut: function(r) {
1561 return Math.sqrt(1 - --r * r); 1562}, circularInOut: function(r) { 1563 return (r *= 2) < 1 ? -0.5 * (Math.sqrt(1 - r * r) - 1) : 0.5 * (Math.sqrt(1 - (r -= 2) * r) + 1); 1564}, elasticIn: function(r) { 1565 var e, t = 0.1, a = 0.4; 1566 return r === 0 ? 0 : r === 1 ? 1 : (!t || t < 1 ? (t = 1, e = a / 4) : e = a * Math.asin(1 / t) / (2 * Math.PI), -(t * Math.pow(2, 10 * (r -= 1)) * Math.sin((r - e) * (2 * Math.PI) / a))); 1567}, elasticOut: function(r) { 1568 var e, t = 0.1, a = 0.4; 1569 return r === 0 ? 0 : r === 1 ? 1 : (!t || t < 1 ? (t = 1, e = a / 4) : e = a * Math.asin(1 / t) / (2 * Math.PI), t * Math.pow(2, -10 * r) * Math.sin((r - e) * (2 * Math.PI) / a) + 1); 1570}, elasticInOut: function(r) { 1571 var e, t = 0.1, a = 0.4; 1572 return r === 0 ? 0 : r === 1 ? 1 : (!t || t < 1 ? (t = 1, e = a / 4) : e = a * Math.asin(1 / t) / (2 * Math.PI), (r *= 2) < 1 ? -0.5 * (t * Math.pow(2, 10 * (r -= 1)) * Math.sin((r - e) * (2 * Math.PI) / a)) : t * Math.pow(2, -10 * (r -= 1)) * Math.sin((r - e) * (2 * Math.PI) / a) * 0.5 + 1); 1573}, backIn: function(r) { 1574 var e = 1.70158; 1575 return r * r * ((e + 1) * r - e); 1576}, backOut: function(r) { 1577 var e = 1.70158; 1578 return --r * r * ((e + 1) * r + e) + 1; 1579}, backInOut: function(r) { 1580 var e = 2.5949095; 1581 return (r *= 2) < 1 ? 0.5 * (r * r * ((e + 1) * r - e)) : 0.5 * ((r -= 2) * r * ((e + 1) * r + e) + 2); 1582}, bounceIn: function(r) { 1583 return 1 - zs.bounceOut(1 - r); 1584}, bounceOut: function(r) { 1585 return r < 1 / 2.75 ? 7.5625 * r * r : r < 2 / 2.75 ? 7.5625 * (r -= 1.5 / 2.75) * r + 0.75 : r < 2.5 / 2.75 ? 7.5625 * (r -= 2.25 / 2.75) * r + 0.9375 : 7.5625 * (r -= 2.625 / 2.75) * r + 0.984375; 1586}, bounceInOut: function(r) { 1587 return r < 0.5 ? zs.bounceIn(r * 2) * 0.5 : zs.bounceOut(r * 2 - 1) * 0.5 + 0.5; 1588} }, eu = Math.pow, Xa = Math.sqrt, Tf = 1e-8, xT = 1e-4, c0 = Xa(3), ru = 1 / 3, Wr = sn(), or = sn(), so = sn(); 1589function Ga(r) { 1590 return r > -Tf && r < Tf; 1591} 1592function bT(r) { 1593 return r > Tf || r < -Tf; 1594} 1595function ae(r, e, t, a, n) { 1596 var i = 1 - n; 1597 return i * i * (i * r + 3 * n * e) + n * n * (n * a + 3 * i * t); 1598} 1599function p0(r, e, t, a, n) { 1600 var i = 1 - n; 1601 return 3 * (((e - r) * i + 2 * (t - e) * n) * i + (a - t) * n * n); 1602} 1603function Cf(r, e, t, a, n, i) { 1604 var o = a + 3 * (e - t) - r, s = 3 * (t - e * 2 + r), l = 3 * (e - r), u = r - n, f = s * s - 3 * o * l, h = s * l - 9 * o * u, v = l * l - 3 * s * u, c = 0; 1605 if (Ga(f) && Ga(h)) if (Ga(s)) i[0] = 0; 1606 else { 1607 var p = -l / s; 1608 p >= 0 && p <= 1 && (i[c++] = p); 1609 } 1610 else { 1611 var d = h * h - 4 * f * v; 1612 if (Ga(d)) { 1613 var g = h / f, p = -s / o + g, y = -g / 2; 1614 p >= 0 && p <= 1 && (i[c++] = p), y >= 0 && y <= 1 && (i[c++] = y); 1615 } else if (d > 0) { 1616 var m = Xa(d), _ = f * s + 1.5 * o * (-h + m), S = f * s + 1.5 * o * (-h - m); 1617 _ < 0 ? _ = -eu(-_, ru) : _ = eu(_, ru), S < 0 ? S = -eu(-S, ru) : S = eu(S, ru); 1618 var p = (-s - (_ + S)) / (3 * o); 1619 p >= 0 && p <= 1 && (i[c++] = p); 1620 } else { 1621 var b = (2 * f * s - 3 * o * h) / (2 * Xa(f * f * f)), x = Math.acos(b) / 3, w = Xa(f), T = Math.cos(x), p = (-s - 2 * w * T) / (3 * o), y = (-s + w * (T + c0 * Math.sin(x))) / (3 * o), C = (-s + w * (T - c0 * Math.sin(x))) / (3 * o); 1622 p >= 0 && p <= 1 && (i[c++] = p), y >= 0 && y <= 1 && (i[c++] = y), C >= 0 && C <= 1 && (i[c++] = C); 1623 } 1624 } 1625 return c; 1626} 1627function wT(r, e, t, a, n) { 1628 var i = 6 * t - 12 * e + 6 * r, o = 9 * e + 3 * a - 3 * r - 9 * t, s = 3 * e - 3 * r, l = 0; 1629 if (Ga(o)) { 1630 if (bT(i)) { 1631 var u = -s / i; 1632 u >= 0 && u <= 1 && (n[l++] = u); 1633 } 1634 } else { 1635 var f = i * i - 4 * o * s; 1636 if (Ga(f)) n[0] = -i / (2 * o); 1637 else if (f > 0) { 1638 var h = Xa(f), u = (-i + h) / (2 * o), v = (-i - h) / (2 * o); 1639 u >= 0 && u <= 1 && (n[l++] = u), v >= 0 && v <= 1 && (n[l++] = v); 1640 } 1641 } 1642 return l; 1643} 1644function en(r, e, t, a, n, i) { 1645 var o = (e - r) * n + r, s = (t - e) * n + e, l = (a - t) * n + t, u = (s - o) * n + o, f = (l - s) * n + s, h = (f - u) * n + u; 1646 i[0] = r, i[1] = o, i[2] = u, i[3] = h, i[4] = h, i[5] = f, i[6] = l, i[7] = a; 1647} 1648function TT(r, e, t, a, n, i, o, s, l, u, f) { 1649 var h, v = 5e-3, c = 1 / 0, p, d, g, y; 1650 Wr[0] = l, Wr[1] = u; 1651 for (var m = 0; m < 1; m += 0.05) or[0] = ae(r, t, n, o, m), or[1] = ae(e, a, i, s, m), g = $a(Wr, or), g < c && (h = m, c = g); 1652 c = 1 / 0; 1653 for (var _ = 0; _ < 32 && !(v < xT); _++) p = h - v, d = h + v, or[0] = ae(r, t, n, o, p), or[1] = ae(e, a, i, s, p), g = $a(or, Wr), p >= 0 && g < c ? (h = p, c = g) : (so[0] = ae(r, t, n, o, d), so[1] = ae(e, a, i, s, d), y = $a(so, Wr), d <= 1 && y < c ? (h = d, c = y) : v *= 0.5); 1654 return f && (f[0] = ae(r, t, n, o, h), f[1] = ae(e, a, i, s, h)), Xa(c); 1655} 1656function uP(r, e, t, a, n, i, o, s, l) { 1657 for (var u = r, f = e, h = 0, v = 1 / l, c = 1; c <= l; c++) { 1658 var p = c * v, d = ae(r, t, n, o, p), g = ae(e, a, i, s, p), y = d - u, m = g - f; 1659 h += Math.sqrt(y * y + m * m), u = d, f = g; 1660 } 1661 return h; 1662} 1663function fe(r, e, t, a) { 1664 var n = 1 - a; 1665 return n * (n * r + 2 * a * e) + a * a * t; 1666} 1667function Up(r, e, t, a) { 1668 return 2 * ((1 - a) * (e - r) + a * (t - e)); 1669} 1670function fP(r, e, t, a, n) { 1671 var i = r - 2 * e + t, o = 2 * (e - r), s = r - a, l = 0; 1672 if (Ga(i)) { 1673 if (bT(o)) { 1674 var u = -s / o; 1675 u >= 0 && u <= 1 && (n[l++] = u); 1676 } 1677 } else { 1678 var f = o * o - 4 * i * s; 1679 if (Ga(f)) { 1680 var u = -o / (2 * i); 1681 u >= 0 && u <= 1 && (n[l++] = u); 1682 } else if (f > 0) { 1683 var h = Xa(f), u = (-o + h) / (2 * i), v = (-o - h) / (2 * i); 1684 u >= 0 && u <= 1 && (n[l++] = u), v >= 0 && v <= 1 && (n[l++] = v); 1685 } 1686 } 1687 return l; 1688} 1689function CT(r, e, t) { 1690 var a = r + t - 2 * e; 1691 return a === 0 ? 0.5 : (r - e) / a; 1692} 1693function el(r, e, t, a, n) { 1694 var i = (e - r) * a + r, o = (t - e) * a + e, s = (o - i) * a + i; 1695 n[0] = r, n[1] = i, n[2] = s, n[3] = s, n[4] = o, n[5] = t; 1696} 1697function AT(r, e, t, a, n, i, o, s, l) { 1698 var u, f = 5e-3, h = 1 / 0; 1699 Wr[0] = o, Wr[1] = s; 1700 for (var v = 0; v < 1; v += 0.05) { 1701 or[0] = fe(r, t, n, v), or[1] = fe(e, a, i, v); 1702 var c = $a(Wr, or); 1703 c < h && (u = v, h = c); 1704 } 1705 h = 1 / 0; 1706 for (var p = 0; p < 32 && !(f < xT); p++) { 1707 var d = u - f, g = u + f; 1708 or[0] = fe(r, t, n, d), or[1] = fe(e, a, i, d); 1709 var c = $a(or, Wr); 1710 if (d >= 0 && c < h) u = d, h = c; 1711 else { 1712 so[0] = fe(r, t, n, g), so[1] = fe(e, a, i, g); 1713 var y = $a(so, Wr); 1714 g <= 1 && y < h ? (u = g, h = y) : f *= 0.5; 1715 } 1716 } 1717 return l && (l[0] = fe(r, t, n, u), l[1] = fe(e, a, i, u)), Xa(h); 1718} 1719function hP(r, e, t, a, n, i, o) { 1720 for (var s = r, l = e, u = 0, f = 1 / o, h = 1; h <= o; h++) { 1721 var v = h * f, c = fe(r, t, n, v), p = fe(e, a, i, v), d = c - s, g = p - l; 1722 u += Math.sqrt(d * d + g * g), s = c, l = p; 1723 } 1724 return u; 1725} 1726var vP = /cubic-bezier\(([0-9,\.e ]+)\)/; 1727function Bg(r) { 1728 var e = r && vP.exec(r); 1729 if (e) { 1730 var t = e[1].split(","), a = +ur(t[0]), n = +ur(t[1]), i = +ur(t[2]), o = +ur(t[3]); 1731 if (isNaN(a + n + i + o)) return; 1732 var s = []; 1733 return function(l) { 1734 return l <= 0 ? 0 : l >= 1 ? 1 : Cf(0, a, i, 1, l, s) && ae(0, n, o, 1, s[0]); 1735 }; 1736 } 1737} 1738var cP = function() { 1739 function r(e) { 1740 this._inited = false, this._startTime = 0, this._pausedTime = 0, this._paused = false, this._life = e.life || 1e3, this._delay
1740= e.delay || 0, this.loop = e.loop || false, this.onframe = e.onframe || $t, this.ondestroy = e.ondestroy || $t, this.onrestart = e.onrestart || $t, e.easing && this.setEasing(e.easing); 1741 } 1742 return r.prototype.step = function(e, t) { 1743 if (this._inited || (this._startTime = e + this._delay, this._inited = true), this._paused) { 1744 this._pausedTime += t; 1745 return; 1746 } 1747 var a = this._life, n = e - this._startTime - this._pausedTime, i = n / a; 1748 i < 0 && (i = 0), i = Math.min(i, 1); 1749 var o = this.easingFunc, s = o ? o(i) : i; 1750 if (this.onframe(s), i === 1) if (this.loop) { 1751 var l = n % a; 1752 this._startTime = e - l, this._pausedTime = 0, this.onrestart(); 1753 } else return true; 1754 return false; 1755 }, r.prototype.pause = function() { 1756 this._paused = true; 1757 }, r.prototype.resume = function() { 1758 this._paused = false; 1759 }, r.prototype.setEasing = function(e) { 1760 this.easing = e, this.easingFunc = j(e) ? e : zs[e] || Bg(e); 1761 }, r; 1762}(), DT = /* @__PURE__ */ function() { 1763 function r(e) { 1764 this.value = e; 1765 } 1766 return r; 1767}(), pP = function() { 1768 function r() { 1769 this._len = 0; 1770 } 1771 return r.prototype.insert = function(e) { 1772 var t = new DT(e); 1773 return this.insertEntry(t), t; 1774 }, r.prototype.insertEntry = function(e) { 1775 this.head ? (this.tail.next = e, e.prev = this.tail, e.next = null, this.tail = e) : this.head = this.tail = e, this._len++; 1776 }, r.prototype.remove = function(e) { 1777 var t = e.prev, a = e.next; 1778 t ? t.next = a : this.head = a, a ? a.prev = t : this.tail = t, e.next = e.prev = null, this._len--; 1779 }, r.prototype.len = function() { 1780 return this._len; 1781 }, r.prototype.clear = function() { 1782 this.head = this.tail = null, this._len = 0; 1783 }, r; 1784}(), Rl = function() { 1785 function r(e) { 1786 this._list = new pP(), this._maxSize = 10, this._map = {}, this._maxSize = e; 1787 } 1788 return r.prototype.put = function(e, t) { 1789 var a = this._list, n = this._map, i = null; 1790 if (n[e] == null) { 1791 var o = a.len(), s = this._lastRemovedEntry; 1792 if (o >= this._maxSize && o > 0) { 1793 var l = a.head; 1794 a.remove(l), delete n[l.key], i = l.value, this._lastRemovedEntry = l; 1795 } 1796 s ? s.value = t : s = new DT(t), s.key = e, a.insertEntry(s), n[e] = s; 1797 } 1798 return i; 1799 }, r.prototype.get = function(e) { 1800 var t = this._map[e], a = this._list; 1801 if (t != null) return t !== a.tail && (a.remove(t), a.insertEntry(t)), t.value; 1802 }, r.prototype.clear = function() { 1803 this._list.clear(), this._map = {}; 1804 }, r.prototype.len = function() { 1805 return this._list.len(); 1806 }, r; 1807}(), d0 = { 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], moccasin: [255, 228, 181, 1], navajowhite: [255, 222, 173, 1], navy: [0, 0, 128, 1], oldlace: [253, 245, 230, 1], ol
1807ive: [128, 128, 0, 1], olivedrab: [107, 142, 35, 1], orange: [255, 165, 0, 1], orangered: [255, 69, 0, 1], orchid: [218, 112, 214, 1], palegoldenrod: [238, 232, 170, 1], palegreen: [152, 251, 152, 1], paleturquoise: [175, 238, 238, 1], palevioletred: [219, 112, 147, 1], papayawhip: [255, 239, 213, 1], peachpuff: [255, 218, 185, 1], peru: [205, 133, 63, 1], pink: [255, 192, 203, 1], plum: [221, 160, 221, 1], powderblue: [176, 224, 230, 1], purple: [128, 0, 128, 1], red: [255, 0, 0, 1], rosybrown: [188, 143, 143, 1], royalblue: [65, 105, 225, 1], saddlebrown: [139, 69, 19, 1], salmon: [250, 128, 114, 1], sandybrown: [244, 164, 96, 1], seagreen: [46, 139, 87, 1], seashell: [255, 245, 238, 1], sienna: [160, 82, 45, 1], silver: [192, 192, 192, 1], skyblue: [135, 206, 235, 1], slateblue: [106, 90, 205, 1], slategray: [112, 128, 144, 1], slategrey: [112, 128, 144, 1], snow: [255, 250, 250, 1], springgreen: [0, 255, 127, 1], steelblue: [70, 130, 180, 1], tan: [210, 180, 140, 1], teal: [0, 128, 128, 1], thistle: [216, 191, 216, 1], tomato: [255, 99, 71, 1], turquoise: [64, 224, 208, 1], violet: [238, 130, 238, 1], wheat: [245, 222, 179, 1], white: [255, 255, 255, 1], whitesmoke: [245, 245, 245, 1], yellow: [255, 255, 0, 1], yellowgreen: [154, 205, 50, 1] }; 1808function Dr(r) { 1809 return r = Math.round(r), r < 0 ? 0 : r > 255 ? 255 : r; 1810} 1811function dP(r) { 1812 return r = Math.round(r), r < 0 ? 0 : r > 360 ? 360 : r; 1813} 1814function rl(r) { 1815 return r < 0 ? 0 : r > 1 ? 1 : r; 1816} 1817function _v(r) { 1818 var e = r; 1819 return e.length && e.charAt(e.length - 1) === "%" ? Dr(parseFloat(e) / 100 * 255) : Dr(parseInt(e, 10)); 1820} 1821function ei(r) { 1822 var e = r; 1823 return e.length && e.charAt(e.length - 1) === "%" ? rl(parseFloat(e) / 100) : rl(parseFloat(e)); 1824} 1825function Sv(r, e, t) { 1826 return t < 0 ? t += 1 : t > 1 && (t -= 1), t * 6 < 1 ? r + (e - r) * t * 6 : t * 2 < 1 ? e : t * 3 < 2 ? r + (e - r) * (2 / 3 - t) * 6 : r; 1827} 1828function Fa(r, e, t) { 1829 return r + (e - r) * t; 1830} 1831function er(r, e, t, a, n) { 1832 return r[0] = e, r[1] = t, r[2] = a, r[3] = n, r; 1833} 1834function Yp(r, e) { 1835 return r[0] = e[0], r[1] = e[1], r[2] = e[2], r[3] = e[3], r; 1836} 1837var MT = new Rl(20), au = null; 1838function Li(r, e) { 1839 au && Yp(au, e), au = MT.put(r, au || e.slice()); 1840} 1841function Re(r, e) { 1842 if (r) { 1843 e = e || []; 1844 var t = MT.get(r); 1845 if (t) return Yp(e, t); 1846 r = r + ""; 1847 var a = r.replace(/ /g, "").toLowerCase(); 1848 if (a in d0) return Yp(e, d0[a]), Li(r, e), e; 1849 var n = a.length; 1850 if (a.charAt(0) === "#") { 1851 if (n === 4 || n === 5) { 1852 var i = parseInt(a.slice(1, 4), 16); 1853 if (!(i >= 0 && i <= 4095)) { 1854 er(e, 0, 0, 0, 1); 1855 return; 1856 } 1857 return er(e, (i & 3840) >> 4 | (i & 3840) >> 8, i & 240 | (i & 240) >> 4, i & 15 | (i & 15) << 4, n === 5 ? parseInt(a.slice(4), 16) / 15 : 1), Li(r, e), e; 1858 } else if (n === 7 || n === 9) { 1859 var i = parseInt(a.slice(1, 7), 16); 1860 if (!(i >= 0 && i <= 16777215)) { 1861 er(e, 0, 0, 0, 1); 1862 return; 1863 } 1864 return er(e, (i & 16711680) >> 16, (i & 65280) >>
1864 8, i & 255, n === 9 ? parseInt(a.slice(7), 16) / 255 : 1), Li(r, e), e; 1865 } 1866 return; 1867 } 1868 var o = a.indexOf("("), s = a.indexOf(")"); 1869 if (o !== -1 && s + 1 === n) { 1870 var l = a.substr(0, o), u = a.substr(o + 1, s - (o + 1)).split(","), f = 1; 1871 switch (l) { 1872 case "rgba": 1873 if (u.length !== 4) return u.length === 3 ? er(e, +u[0], +u[1], +u[2], 1) : er(e, 0, 0, 0, 1); 1874 f = ei(u.pop()); 1875 case "rgb": 1876 if (u.length >= 3) return er(e, _v(u[0]), _v(u[1]), _v(u[2]), u.length === 3 ? f : ei(u[3])), Li(r, e), e; 1877 er(e, 0, 0, 0, 1); 1878 return; 1879 case "hsla": 1880 if (u.length !== 4) { 1881 er(e, 0, 0, 0, 1); 1882 return; 1883 } 1884 return u[3] = ei(u[3]), $p(u, e), Li(r, e), e; 1885 case "hsl": 1886 if (u.length !== 3) { 1887 er(e, 0, 0, 0, 1); 1888 return; 1889 } 1890 return $p(u, e), Li(r, e), e; 1891 default: 1892 return; 1893 } 1894 } 1895 er(e, 0, 0, 0, 1); 1896 } 1897} 1898function $p(r, e) { 1899 var t = (parseFloat(r[0]) % 360 + 360) % 360 / 360, a = ei(r[1]), n = ei(r[2]), i = n <= 0.5 ? n * (a + 1) : n + a - n * a, o = n * 2 - i; 1900 return e = e || [], er(e, Dr(Sv(o, i, t + 1 / 3) * 255), Dr(Sv(o, i, t) * 255), Dr(Sv(o, i, t - 1 / 3) * 255), 1), r.length === 4 && (e[3] = r[3]), e; 1901} 1902function gP(r) { 1903 if (r) { 1904 var e = r[0] / 255, t = r[1] / 255, a = r[2] / 255, n = Math.min(e, t, a), i = Math.max(e, t, a), o = i - n, s = (i + n) / 2, l, u; 1905 if (o === 0) l = 0, u = 0; 1906 else { 1907 s < 0.5 ? u = o / (i + n) : u = o / (2 - i - n); 1908 var f = ((i - e) / 6 + o / 2) / o, h = ((i - t) / 6 + o / 2) / o, v = ((i - a) / 6 + o / 2) / o; 1909 e === i ? l = v - h : t === i ? l = 1 / 3 + f - v : a === i && (l = 2 / 3 + h - f), l < 0 && (l += 1), l > 1 && (l -= 1); 1910 } 1911 var c = [l * 360, u, s]; 1912 return r[3] != null && c.push(r[3]), c; 1913 } 1914} 1915function Af(r, e) { 1916 var t = Re(r); 1917 if (t) { 1918 for (var a = 0; a < 3; a++) e < 0 ? t[a] = t[a] * (1 - e) | 0 : t[a] = (255 - t[a]) * e + t[a] | 0, t[a] > 255 ? t[a] = 255 : t[a] < 0 && (t[a] = 0); 1919 return Mr(t, t.length === 4 ? "rgba" : "rgb"); 1920 } 1921} 1922function yP(r) { 1923 var e = Re(r); 1924 if (e) return ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1); 1925} 1926function Vs(r, e, t) { 1927 if (!(!(e && e.length) || !(r >= 0 && r <= 1))) { 1928 t = t || []; 1929 var a = r * (e.length - 1), n = Math.floor(a), i = Math.ceil(a), o = e[n], s = e[i], l = a - n; 1930 return t[0] = Dr(Fa(o[0], s[0], l)), t[1] = Dr(Fa(o[1], s[1], l)), t[2] = Dr(Fa(o[2], s[2], l)), t[3] = rl(Fa(o[3], s[3], l)), t; 1931 } 1932} 1933var mP = Vs; 1934function zg(r, e, t) { 1935 if (!(!(e && e.length) || !(r >= 0 && r <= 1))) { 1936 var a = r * (e.length - 1), n = Math.floor(a), i = Math.ceil(a), o = Re(e[n]), s = Re(e[i]), l = a - n, u = Mr([Dr(Fa(o[0], s[0], l)), Dr(Fa(o[1], s[1], l)), Dr(Fa(o[2], s[2], l)), rl(Fa(o[3], s[3], l))], "rgba"); 1937 return t ? { color: u, leftIndex: n, rightIndex: i, value: a } : u; 1938 } 1939} 1940var _P = zg; 1941function lo(r, e, t, a) { 1942 var n = Re(r); 1943 if (r) return n = gP(n), e != null && (n[0] = dP(e)), t != null && (n[1] = ei(t)), a != null && (n[2] = ei(a)), Mr($p(n), "rgba"); 1944} 1945function al(r, e) { 1946 var t = Re(r); 1947 if (t && e != null) return t[3] = rl(e), Mr(t, "rgba"); 1948} 1949function Mr(r, e) { 1950 if (!(!r || !r.length)) { 1951 var t = r[0] + "," + r[1] + "," + r[2]; 1952 return (e === "rgba" || e === "hsva" || e === "hsla") && (t += "," + r[3]), e + "(" + t + ")"; 1953 } 1954} 1955function nl(r, e) { 1956 var t = Re(r); 1957 return t ? (0.299 * t[0] + 0.587 * t[1] + 0.114 * t[2]) * t[3] / 255 + (1 - t[3]) * e : 0; 1958} 1959function SP() { 1960 return Mr([Math.round(Math.random() * 255), Math.round(Math.random() * 255), Math.round(Math.random() * 255)], "rgb"); 1961} 1962var g0 = new Rl(100); 1963function Df(r) { 1964 if (Y(r)) { 1965 var e = g0.get(r); 1966 return e || (e = Af(r, -0.1), g0.put(r, e)), e; 1967 } else if (Il(r)) { 1968 var t = z({}, r); 1969 return t.colorStops = G(r.colorStops, function(a) { 1970 return { offset: a.offset, color: Af(a.color, -0.1) }; 1971 }), t; 1972 } 1973 return r; 1974} 1975const xP = Object.freeze(Object.defineProperty({ __proto__: null, fastLerp: Vs, fastMapToColor: mP, lerp: zg, lift: Af, liftColor: Df, lum: nl, mapToColor: _P, modifyAlpha: al, modifyHSL: lo, parse: Re, random: SP, stringify: Mr, toHex: yP }, Symbol.toStringTag, { value: "Module" })); 1976var Mf = Math.round; 1977function il(r) { 1978 var e; 1979 if (!r || r === "transparent") r = "none"; 1980 else if (typeof r == "string" && r.indexOf("rgba") > -1) { 1981 var t = Re(r); 1982 t && (r = "rgb(" + t[0] + "," + t[1] + "," + t[2] + ")", e = t[3]); 1983 } 1984 return { color: r, opacity: e ?? 1 }; 1985} 1986var y0 = 1e-4; 1987function Ha(r) { 1988 return r < y0 && r > -y0; 1989} 1990function nu(r) { 1991 return Mf(r * 1e3) / 1e3; 1992} 1993function Xp(r) { 1994 return Mf(r * 1e4) / 1e4; 1995} 1996function bP(r) {
1997 return "matrix(" + nu(r[0]) + "," + nu(r[1]) + "," + nu(r[2]) + "," + nu(r[3]) + "," + Xp(r[4]) + "," + Xp(r[5]) + ")"; 1998} 1999var wP = { left: "start", right: "end", center: "middle", middle: "middle" }; 2000function TP(r, e, t) { 2001 return t === "top" ? r += e / 2 : t === "bottom" && (r -= e / 2), r; 2002} 2003function CP(r) { 2004 return r && (r.shadowBlur || r.shadowOffsetX || r.shadowOffsetY); 2005} 2006function AP(r) { 2007 var e = r.style, t = r.getGlobalScale(); 2008 return [e.shadowColor, (e.shadowBlur || 0).toFixed(2), (e.shadowOffsetX || 0).toFixed(2), (e.shadowOffsetY || 0).toFixed(2), t[0], t[1]].join(","); 2009} 2010function IT(r) { 2011 return r && !!r.image; 2012} 2013function DP(r) { 2014 return r && !!r.svgElement; 2015} 2016function Vg(r) { 2017 return IT(r) || DP(r); 2018} 2019function LT(r) { 2020 return r.type === "linear"; 2021} 2022function PT(r) { 2023 return r.type === "radial"; 2024} 2025function RT(r) { 2026 return r && (r.type === "linear" || r.type === "radial"); 2027} 2028function Ch(r) { 2029 return "url(#" + r + ")"; 2030} 2031function ET(r) { 2032 var e = r.getGlobalScale(), t = Math.max(e[0], e[1]); 2033 return Math.max(Math.ceil(Math.log(t) / Math.log(10)), 1); 2034} 2035function kT(r) { 2036 var e = r.x || 0, t = r.y || 0, a = (r.rotation || 0) * Os, n = st(r.scaleX, 1), i = st(r.scaleY, 1), o = r.skewX || 0, s = r.skewY || 0, l = []; 2037 return (e || t) && l.push("translate(" + e + "px," + t + "px)"), a && l.push("rotate(" + a + ")"), (n !== 1 || i !== 1) && l.push("scale(" + n + "," + i + ")"), (o || s) && l.push("skew(" + Mf(o * Os) + "deg, " + Mf(s * Os) + "deg)"), l.join(" "); 2038} 2039var MP = function() { 2040 return yt.hasGlobalWindow && j(window.btoa) ? function(r) { 2041 return window.btoa(unescape(encodeURIComponent(r))); 2042 } : typeof Buffer < "u" ? function(r) { 2043 return Buffer.from(r).toString("base64"); 2044 } : function(r) { 2045 return null; 2046 }; 2047}(), Zp = Array.prototype.slice; 2048function la(r, e, t) { 2049 return (e - r) * t + r; 2050} 2051function xv(r, e, t, a) { 2052 for (var n = e.length, i = 0; i < n; i++) r[i] = la(e[i], t[i], a); 2053 return r; 2054} 2055function IP(r, e, t, a) { 2056 for (var n = e.length, i = n && e[0].length, o = 0; o < n; o++) { 2057 r[o] || (r[o] = []); 2058 for (var s = 0; s < i; s++) r[o][s] = la(e[o][s], t[o][s], a); 2059 } 2060 return r; 2061} 2062function iu(r, e, t, a) { 2063 for (var n = e.length, i = 0; i < n; i++) r[i] = e[i] + t[i] * a; 2064 return r; 2065} 2066function m0(r, e, t, a) { 2067 for (var n = e.length, i = n && e[0].length, o = 0; o < n; o++) { 2068 r[o] || (r[o] = []); 2069 for (var s = 0; s < i; s++) r[o][s] = e[o][s] + t[o][s] * a; 2070 } 2071 return r; 2072} 2073function LP(r, e) { 2074 for (var t = r.length, a = e.length, n = t > a ? e : r, i = Math.min(t, a), o = n[i - 1] || { color: [0, 0, 0, 0], offset: 0 }, s = i; s < Math.max(t, a); s++) n.push({ offset: o.offset, color: o.color.slice() }); 2075} 2076function PP(r, e, t) { 2077 var a = r, n = e; 2078 if (!(!a.push || !n.push)) { 2079 var i = a.length, o = n.length; 2080 if (i !== o) { 2081 var s = i > o; 2082 if (s) a.length = o; 2083 else for (var l = i; l < o; l++) a.push(t === 1 ? n[l] : Zp.call(n[l])); 2084 } 2085 for (var u = a[0] && a[0].length, l = 0; l < a.length; l++) if (t === 1) isNaN(a[l]) && (a[l] = n[l]); 2086 else for (var f = 0; f < u; f++) isNaN(a[l][f]) && (a[l][f] = n[l][f]); 2087 } 2088} 2089function Gs(r) { 2090 if (ce(r)) { 2091 var e = r.length; 2092 if (ce(r[0])) { 2093 for (var t = [], a = 0; a < e; a++) t.push(Zp.call(r[a])); 2094 return t; 2095 } 2096 return Zp.call(r); 2097 } 2098 return r; 2099} 2100function ef(r) { 2101 return r[0] = Math.floor(r[0]) || 0, r[1] = Math.floor(r[1]) || 0, r[2] = Math.floor(r[2]) || 0, r[3] = r[3] == null ? 1 : r[3], "rgba(" + r.join(",") + ")"; 2102} 2103function RP(r) { 2104 return ce(r && r[0]) ? 2 : 1; 2105} 2106var ou = 0, rf = 1, OT = 2, ws = 3, qp = 4, Kp = 5, _0 = 6; 2107function S0(r) { 2108 return r === qp || r === Kp; 2109} 2110function su(r) { 2111 return r === rf || r === OT; 2112} 2113var jo = [0, 0, 0, 0], EP = function() { 2114 function r(e) { 2115 this.keyframes = [], this.discrete = false, this._invalid = false, this._needsSort = false, this._lastFr = 0, this._lastFrP = 0, this.propName = e; 2116 } 2117 return r.prototype.isFinished = function() { 2118 return this._finished; 2119 }, r.prototype.setFinished = function() { 2120 this._finished = true, this._additiveTrack && this._additiveTrack.setFinished(); 2121 }, r.prototype.needsAnimate = function() { 2122 return this.keyframes.length >= 1; 2123 }, r.prototype.getAdditiveTrack = function() { 2124 return this._additiveTrack; 2125 }, r.prototype.addKeyframe = function(e, t, a) { 2126 this._needsSort = true; 2127 var n = this.keyframes, i = n.length, o = false, s = _0, l = t; 2128 if (ce(t)) { 2129 var u = RP(t); 2130 s = u, (u === 1 && !wt(t[0]) || u === 2 && !wt(t[0][0])) && (o = true); 2131 } else if (wt(t) && !po(t)) s = ou; 2132 else if (Y(t)) if (!isNaN(+t)) s = ou; 2133 else { 2134 var f = Re(t); 2135 f && (l = f, s = ws); 2136 } 2137 else if (Il(t)) { 2138 var h = z({}, l); 2139 h.colorStops = G(t.colorStops, function(c) { 2140 return { offset: c.offset, color: Re(c.color) }; 2141 }
2141), LT(t) ? s = qp : PT(t) && (s = Kp), l = h; 2142 } 2143 i === 0 ? this.valType = s : (s !== this.valType || s === _0) && (o = true), this.discrete = this.discrete || o; 2144 var v = { time: e, value: l, rawValue: t, percent: 0 }; 2145 return a && (v.easing = a, v.easingFunc = j(a) ? a : zs[a] || Bg(a)), n.push(v), v; 2146 }, r.prototype.prepare = function(e, t) { 2147 var a = this.keyframes; 2148 this._needsSort && a.sort(function(d, g) { 2149 return d.time - g.time; 2150 }); 2151 for (var n = this.valType, i = a.length, o = a[i - 1], s = this.discrete, l = su(n), u = S0(n), f = 0; f < i; f++) { 2152 var h = a[f], v = h.value, c = o.value; 2153 h.percent = h.time / e, s || (l && f !== i - 1 ? PP(v, c, n) : u && LP(v.colorStops, c.colorStops)); 2154 } 2155 if (!s && n !== Kp && t && this.needsAnimate() && t.needsAnimate() && n === t.valType && !t._finished) { 2156 this._additiveTrack = t; 2157 for (var p = a[0].value, f = 0; f < i; f++) n === ou ? a[f].additiveValue = a[f].value - p : n === ws ? a[f].additiveValue = iu([], a[f].value, p, -1) : su(n) && (a[f].additiveValue = n === rf ? iu([], a[f].value, p, -1) : m0([], a[f].value, p, -1)); 2158 } 2159 }, r.prototype.step = function(e, t) { 2160 if (!this._finished) { 2161 this._additiveTrack && this._additiveTrack._finished && (this._additiveTrack = null); 2162 var a = this._additiveTrack != null, n = a ? "additiveValue" : "value", i = this.valType, o = this.keyframes, s = o.length, l = this.propName, u = i === ws, f, h = this._lastFr, v = Math.min, c, p; 2163 if (s === 1) c = p = o[0]; 2164 else { 2165 if (t < 0) f = 0; 2166 else if (t < this._lastFrP) { 2167 var d = v(h + 1, s - 1); 2168 for (f = d; f >= 0 && !(o[f].percent <= t); f--) ; 2169 f = v(f, s - 2); 2170 } else { 2171 for (f = h; f < s && !(o[f].percent > t); f++) ; 2172 f = v(f - 1, s - 2); 2173 } 2174 p = o[f + 1], c = o[f]; 2175 } 2176 if (c && p) { 2177 this._lastFr = f, this._lastFrP = t; 2178 var g = p.percent - c.percent, y = g === 0 ? 1 : v((t - c.percent) / g, 1); 2179 p.easingFunc && (y = p.easingFunc(y)); 2180 var m = a ? this._additiveValue : u ? jo : e[l]; 2181 if ((su(i) || u) && !m && (m = this._additiveValue = []), this.discrete) e[l] = y < 1 ? c.rawValue : p.rawValue; 2182 else if (su(i)) i === rf ? xv(m, c[n], p[n], y) : IP(m, c[n], p[n], y); 2183 else if (S0(i)) { 2184 var _ = c[n], S = p[n], b = i === qp; 2185 e[l] = { type: b ? "linear" : "radial", x: la(_.x, S.x, y), y: la(_.y, S.y, y), colorStops: G(_.colorStops, function(w, T) { 2186 var C = S.colorStops[T]; 2187 return { offset: la(w.offset, C.offset, y), color: ef(xv([], w.color, C.color, y)) }; 2188 }), global: S.global }, b ? (e[l].x2 = la(_.x2, S.x2, y), e[l].y2 = la(_.y2, S.y2, y)) : e[l].r = la(_.r, S.r, y); 2189 } else if (u) xv(m, c[n], p[n], y), a || (e[l] = ef(m)); 2190 else { 2191 var x = la(c[n], p[n], y); 2192 a ? this._additiveValue = x : e[l] = x; 2193 } 2194 a && this._addToTarget(e); 2195 } 2196 } 2197 }, r.prototype._addToTarget = function(e) { 2198 var t = this.valType, a = this.propName, n = this._additiveValue; 2199 t === ou ? e[a] = e[a] + n : t === ws ? (Re(e[a], jo), iu(jo, jo, n, 1), e[a] = ef(jo)) : t === rf ? iu(e[a], e[a], n, 1) : t === OT && m0(e[a], e[a], n, 1); 2200 }, r; 2201}(), Gg = function() { 2202 function r(e, t, a, n) { 2203 if (this._tracks = {}, this._trackKeys = [], this._maxTime = 0, this._started = 0, this._clip = null, this._target = e, this._loop = t, t && n) { 2204 _h("Can' use additive animation on looped animation."); 2205 return; 2206 } 2207 this._additiveAnimators = n, this._allowDiscrete = a; 2208 } 2209 return r.prototype.getMaxTime = function() { 2210 return this._maxTime; 2211 }, r.prototype.getDelay = function() { 2212 return this._delay; 2213 }, r.prototype.getLoop = function() { 2214 return this._loop; 2215 }, r.prototype.getTarget = function() { 2216 return this._target; 2217 }, r.prototype.changeTarget = function(e) { 2218 this._target = e; 2219 }, r.prototype.when = function(e, t, a) { 2220 return this.whenWithKeys(e, t, _t(t), a); 2221 }, r.prototype.whenWithKeys = function(e, t, a, n) { 2222 for (var i = this._tracks, o = 0; o < a.length; o++) { 2223 var s = a[o], l = i[s]; 2224 if (!l) { 2225 l = i[s] = new EP(s); 2226 var u = void 0, f = this._getAdditiveTrack(s); 2227 if (f) { 2228 var h = f.keyframes, v = h[h.length - 1]; 2229 u = v && v.value, f.valType === ws && u && (u = ef(u)); 2230 } else u = this._target[s]; 2231 if (u == null) continue; 2232 e > 0 && l.addKeyframe(0, Gs(u), n), this._trackKeys.push(s); 2233 } 2234 l.addKeyframe(e, Gs(t[s]), n); 2235 } 2236 return this._maxTime = Math.max(this._maxTime, e), this; 2237 }, r.prototype.pause = function() { 2238 this._clip.pause(), this._paused = true; 2239 }, r.prototype.resume = function() { 2240 this._clip.resume(), this._paused = false;
2241 }, r.prototype.isPaused = function() { 2242 return !!this._paused; 2243 }, r.prototype.duration = function(e) { 2244 return this._maxTime = e, this._force = true, this; 2245 }, r.prototype._doneCallback = function() { 2246 this._setTracksFinished(), this._clip = null; 2247 var e = this._doneCbs; 2248 if (e) for (var t = e.length, a = 0; a < t; a++) e[a].call(this); 2249 }, r.prototype._abortedCallback = function() { 2250 this._setTracksFinished(); 2251 var e = this.animation, t = this._abortedCbs; 2252 if (e && e.removeClip(this._clip), this._clip = null, t) for (var a = 0; a < t.length; a++) t[a].call(this); 2253 }, r.prototype._setTracksFinished = function() { 2254 for (var e = this._tracks, t = this._trackKeys, a = 0; a < t.length; a++) e[t[a]].setFinished(); 2255 }, r.prototype._getAdditiveTrack = function(e) { 2256 var t, a = this._additiveAnimators; 2257 if (a) for (var n = 0; n < a.length; n++) { 2258 var i = a[n].getTrack(e); 2259 i && (t = i); 2260 } 2261 return t; 2262 }, r.prototype.start = function(e) { 2263 if (!(this._started > 0)) { 2264 this._started = 1; 2265 for (var t = this, a = [], n = this._maxTime || 0, i = 0; i < this._trackKeys.length; i++) { 2266 var o = this._trackKeys[i], s = this._tracks[o], l = this._getAdditiveTrack(o), u = s.keyframes, f = u.length; 2267 if (s.prepare(n, l), s.needsAnimate()) if (!this._allowDiscrete && s.discrete) { 2268 var h = u[f - 1]; 2269 h && (t._target[s.propName] = h.rawValue), s.setFinished(); 2270 } else a.push(s); 2271 } 2272 if (a.length || this._force) { 2273 var v = new cP({ life: n, loop: this._loop, delay: this._delay || 0, onframe: function(c) { 2274 t._started = 2; 2275 var p = t._additiveAnimators; 2276 if (p) { 2277 for (var d = false, g = 0; g < p.length; g++) if (p[g]._clip) { 2278 d = true; 2279 break; 2280 } 2281 d || (t._additiveAnimators = null); 2282 } 2283 for (var g = 0; g < a.length; g++) a[g].step(t._target, c); 2284 var y = t._onframeCbs; 2285 if (y) for (var g = 0; g < y.length; g++) y[g](t._target, c); 2286 }, ondestroy: function() { 2287 t._doneCallback(); 2288 } }); 2289 this._clip = v, this.animation && this.animation.addClip(v), e && v.setEasing(e); 2290 } else this._doneCallback(); 2291 return this; 2292 } 2293 }, r.prototype.stop = function(e) { 2294 if (this._clip) { 2295 var t = this._clip; 2296 e && t.onframe(1), this._abortedCallback(); 2297 } 2298 }, r.prototype.delay = function(e) { 2299 return this._delay = e, this; 2300 }, r.prototype.during = function(e) { 2301 return e && (this._onframeCbs || (this._onframeCbs = []), this._onframeCbs.push(e)), this; 2302 }, r.prototype.done = function(e) { 2303 return e && (this._doneCbs || (this._doneCbs = []), this._doneCbs.push(e)), this; 2304 }, r.prototype.aborted = function(e) { 2305 return e && (this._abortedCbs || (this._abortedCbs = []), this._abortedCbs.push(e)), this; 2306 }, r.prototype.getClip = function() { 2307 return this._clip; 2308 }, r.prototype.getTrack = function(e) { 2309 return this._tracks[e]; 2310 }, r.prototype.getTracks = function() { 2311 var e = this; 2312 return G(this._trackKeys, function(t) { 2313 return e._tracks[t]; 2314 }); 2315 }, r.prototype.stopTracks = function(e, t) { 2316 if (!e.length || !this._clip) return true; 2317 for (var a = this._tracks, n = this._trackKeys, i = 0; i < e.length; i++) { 2318 var o = a[e[i]]; 2319 o && !o.isFinished() && (t ? o.step(this._target, 1) : this._started === 1 && o.step(this._target, 0), o.setFinished()); 2320 } 2321 for (var s = true, i = 0; i < n.length; i++) if (!a[n[i]].isFinished()) { 2322 s = false; 2323 break; 2324 } 2325 return s && this._abortedCallback(), s; 2326 }, r.prototype.saveTo = function(e, t, a) { 2327 if (e) { 2328 t = t || this._trackKeys; 2329 for (var n = 0; n < t.length; n++) { 2330 var i = t[n], o = this._tracks[i]; 2331 if (!(!o || o.isFinished())) { 2332 var s = o.keyframes, l = s[a ? 0 : s.length - 1]; 2333 l && (e[i] = Gs(l.rawValue)); 2334 } 2335 } 2336 } 2337 }, r.prototype.__changeFinalValue = function(e, t) { 2338 t = t || _t(e); 2339 for (var a = 0; a < t.length; a++) { 2340 var n = t[a], i = this._tracks[n]; 2341 if (i) { 2342 var o = i.keyframes; 2343 if (o.length > 1) { 2344 var s = o.pop(); 2345 i.addKeyframe(s.time, e[n]), i.prepare(this._maxTime, i.getAdditiveTrack()); 2346 } 2347 } 2348 } 2349 }, r; 2350}(); 2351function ro() { 2352 return (/* @__PURE__ */ new Date()).getTime(); 2353} 2354var kP = function(r) { 2355 Ft(e, r); 2356 function e(t) { 2357 var a = r.call(this) || this; 2358 return a._running = false, a._time = 0, a._pausedTime = 0, a._pauseStart = 0, a._paused = false, t = t || {}, a.stage = t.stage || {}, a; 2359 } 2360 return e.prototype.addClip = function(t) { 2361 t.animation && this.removeClip(t), this._head ? (this._tail.next = t, t.prev = this._tail, t.next = null, this._tail = t) : this._head = this._tail = t, t.animation = this; 2362 }, e.prototype.addAnimator = function(t) { 2363 t.animation = this; 2364 var a = t.getClip(); 2365 a && this.addClip(a); 2366 }, e.prototype.removeClip = function(t) { 2367 if (t.animation) { 2368 var a = t.prev, n = t.next; 2369 a ? a.next = n : this._head = n, n ? n.prev = a : this._tail = a, t.next = t.prev = t.animation = null; 2370 } 2371 }, e.prototype.removeAnimator = function(t) { 2372 var a = t.getClip(); 2373 a && this.removeClip(a), t.animation = null; 2374 }, e.prototype.update = function(t) { 2375 for (var a = ro() - this._pausedTime, n = a - this._time, i = this._head; i; ) { 2376 var o = i.next, s = i.step(a, n); 2377 s && (i.ondestroy(), this.removeClip(i)), i = o; 2378 } 2379 this._time = a, t || (this.trigger("frame", n), this.stage.update && this.stage.update(
2379)); 2380 }, e.prototype._startLoop = function() { 2381 var t = this; 2382 this._running = true; 2383 function a() { 2384 t._running && (wf(a), !t._paused && t.update()); 2385 } 2386 wf(a); 2387 }, e.prototype.start = function() { 2388 this._running || (this._time = ro(), this._pausedTime = 0, this._startLoop()); 2389 }, e.prototype.stop = function() { 2390 this._running = false; 2391 }, e.prototype.pause = function() { 2392 this._paused || (this._pauseStart = ro(), this._paused = true); 2393 }, e.prototype.resume = function() { 2394 this._paused && (this._pausedTime += ro() - this._pauseStart, this._paused = false); 2395 }, e.prototype.clear = function() { 2396 for (var t = this._head; t; ) { 2397 var a = t.next; 2398 t.prev = t.next = t.animation = null, t = a; 2399 } 2400 this._head = this._tail = null; 2401 }, e.prototype.isFinished = function() { 2402 return this._head == null; 2403 }, e.prototype.animate = function(t, a) { 2404 a = a || {}, this.start(); 2405 var n = new Gg(t, a.loop); 2406 return this.addAnimator(n), n; 2407 }, e; 2408}(cr), OP = 300, bv = yt.domSupported, wv = function() { 2409 var r = ["click", "dblclick", "mousewheel", "wheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"], e = ["touchstart", "touchend", "touchmove"], t = { pointerdown: 1, pointerup: 1, pointermove: 1, pointerout: 1 }, a = G(r, function(n) { 2410 var i = n.replace("mouse", "pointer"); 2411 return t.hasOwnProperty(i) ? i : n; 2412 }); 2413 return { mouse: r, touch: e, pointer: a }; 2414}(), x0 = { mouse: ["mousemove", "mouseup"], pointer: ["pointermove", "pointerup"] }, b0 = false; 2415function jp(r) { 2416 var e = r.pointerType; 2417 return e === "pen" || e === "touch"; 2418} 2419function NP(r) { 2420 r.touching = true, r.touchTimer != null && (clearTimeout(r.touchTimer), r.touchTimer = null), r.touchTimer = setTimeout(function() { 2421 r.touching = false, r.touchTimer = null; 2422 }, 700); 2423} 2424function Tv(r) { 2425 r && (r.zrByTouch = true); 2426} 2427function BP(r, e) { 2428 return rr(r.dom, new zP(r, e), true); 2429} 2430function NT(r, e) { 2431 for (var t = e, a = false; t && t.nodeType !== 9 && !(a = t.domBelongToZr || t !== e && t === r.painterRoot); ) t = t.parentNode; 2432 return a; 2433} 2434var zP = /* @__PURE__ */ function() { 2435 function r(e, t) { 2436 this.stopPropagation = $t, this.stopImmediatePropagation = $t, this.preventDefault = $t, this.type = t.type, this.target = this.currentTarget = e.dom, this.pointerType = t.pointerType, this.clientX = t.clientX, this.clientY = t.clientY; 2437 } 2438 return r; 2439}(), xr = { mousedown: function(r) { 2440 r = rr(this.dom, r), this.__mayPointerCapture = [r.zrX, r.zrY], this.trigger("mousedown", r); 2441}, mousemove: function(r) { 2442 r = rr(this.dom, r); 2443 var e = this.__mayPointerCapture; 2444 e && (r.zrX !== e[0] || r.zrY !== e[1]) && this.__togglePointerCapture(true), this.trigger("mousemove", r); 2445}, mouseup: function(r) { 2446 r = rr(this.dom, r), this.__togglePointerCapture(false), this.trigger("mouseup", r); 2447}, mouseout: function(r) { 2448 r = rr(this.dom, r); 2449 var e = r.toElement || r.relatedTarget; 2450 NT(this, e) || (this.__pointerCapturing && (r.zrEventControl = "no_globalout"), this.trigger("mouseout", r)); 2451}, wheel: function(r) { 2452 b0 = true, r = rr(this.dom, r), this.trigger("mousewheel", r); 2453}, mousewheel: function(r) { 2454 b0 || (r = rr(this.dom, r), this.trigger("mousewheel", r)); 2455}, touchstart: function(r) { 2456 r = rr(this.dom, r), Tv(r), this.__lastTouchMoment = /* @__PURE__ */ new Date(), this.handler.processGesture(r, "start"), xr.mousemove.call(this, r), xr.mousedown.call(this, r); 2457}, touchmove: function(r) { 2458 r = rr(this.dom, r), Tv(r), this.handler.processGesture(r, "change"), xr.mousemove.call(this, r); 2459}, touchend: function(r) { 2460 r = rr(this.dom, r), Tv(r), this.handler.processGesture(r, "end"), xr.mouseup.call(this, r), +/* @__PURE__ */ new Date() - +this.__lastTouchMoment < OP && xr.click.call(this, r); 2461}, pointerdown: function(r) { 2462 xr.mousedown.call(this, r); 2463}, pointermove: function(r) { 2464 jp(r) || xr.mousemove.call(this, r); 2465}, pointerup: function(r) { 2466 xr.mouseup.call(this, r); 2467}, pointerout: function(r) { 2468 jp(r) || xr.mouseout.call(this, r); 2469} }; 2470D(["click", "dblclick", "contextmenu"], function(r) { 2471 xr[r] = function(e) { 2472 e = rr(this.dom, e), this.trigger(r, e); 2473 }; 2474}); 2475var Jp = { pointermove: function(r) { 2476 jp(r) || Jp.mousemove.call(this, r); 2477}, pointerup: function(r) { 2478 Jp.mouseup.call(this, r); 2479}, mousemove: function(r) { 2480 this.trigger("mousemove", r); 2481}, mouseup: function(r) { 2482 var e = this.__pointerCapturing; 2483 this.__togglePointerCapture(false), this.trigger("mouseup", r), e && (r.zrEventC
2483ontrol = "only_globalout", this.trigger("mouseout", r)); 2484} }; 2485function VP(r, e) { 2486 var t = e.domHandlers; 2487 yt.pointerEventsSupported ? D(wv.pointer, function(a) { 2488 af(e, a, function(n) { 2489 t[a].call(r, n); 2490 }); 2491 }) : (yt.touchEventsSupported && D(wv.touch, function(a) { 2492 af(e, a, function(n) { 2493 t[a].call(r, n), NP(e); 2494 }); 2495 }), D(wv.mouse, function(a) { 2496 af(e, a, function(n) { 2497 n = Ng(n), e.touching || t[a].call(r, n); 2498 }); 2499 })); 2500} 2501function GP(r, e) { 2502 yt.pointerEventsSupported ? D(x0.pointer, t) : yt.touchEventsSupported || D(x0.mouse, t); 2503 function t(a) { 2504 function n(i) { 2505 i = Ng(i), NT(r, i.target) || (i = BP(r, i), e.domHandlers[a].call(r, i)); 2506 } 2507 af(e, a, n, { capture: true }); 2508 } 2509} 2510function af(r, e, t, a) { 2511 r.mounted[e] = t, r.listenerOpts[e] = a, Wp(r.domTarget, e, t, a); 2512} 2513function Cv(r) { 2514 var e = r.mounted; 2515 for (var t in e) e.hasOwnProperty(t) && K2(r.domTarget, t, e[t], r.listenerOpts[t]); 2516 r.mounted = {}; 2517} 2518var w0 = /* @__PURE__ */ function() { 2519 function r(e, t) { 2520 this.mounted = {}, this.listenerOpts = {}, this.touching = false, this.domTarget = e, this.domHandlers = t; 2521 } 2522 return r; 2523}(), FP = function(r) { 2524 Ft(e, r); 2525 function e(t, a) { 2526 var n = r.call(this) || this; 2527 return n.__pointerCapturing = false, n.dom = t, n.painterRoot = a, n._localHandlerScope = new w0(t, xr), bv && (n._globalHandlerScope = new w0(document, Jp)), VP(n, n._localHandlerScope), n; 2528 } 2529 return e.prototype.dispose = function() { 2530 Cv(this._localHandlerScope), bv && Cv(this._globalHandlerScope); 2531 }, e.prototype.setCursor = function(t) { 2532 this.dom.style && (this.dom.style.cursor = t || "default"); 2533 }, e.prototype.__togglePointerCapture = function(t) { 2534 if (this.__mayPointerCapture = null, bv && +this.__pointerCapturing ^ +t) { 2535 this.__pointerCapturing = t; 2536 var a = this._globalHandlerScope; 2537 t ? GP(this, a) : Cv(a); 2538 } 2539 }, e; 2540}(cr), BT = 1; 2541yt.hasGlobalWindow && (BT = Math.max(window.devicePixelRatio || window.screen && window.screen.deviceXDPI / window.screen.logicalXDPI || 1, 1)); 2542var If = BT, Qp = 0.4, td = "#333", ed = "#ccc", HP = "#eee", T0 = Pl, C0 = 5e-5; 2543function yn(r) { 2544 return r > C0 || r < -C0; 2545} 2546var mn = [], Pi = [], Av = He(), Dv = Math.abs, ca = function() { 2547 function r() { 2548 } 2549 return r.prototype.getLocalTransform = function(e) { 2550 return r.getLocalTransform(this, e); 2551 }, r.prototype.setPosition = function(e) { 2552 this.x = e[0], this.y = e[1]; 2553 }, r.prototype.setScale = function(e) { 2554 this.scaleX = e[0], this.scaleY = e[1]; 2555 }, r.prototype.setSkew = function(e) { 2556 this.skewX = e[0], this.skewY = e[1]; 2557 }, r.prototype.setOrigin = function(e) { 2558 this.originX = e[0], this.originY = e[1]; 2559 }, r.prototype.needLocalTransform = function() { 2560 return yn(this.rotation) || yn(this.x) || yn(this.y) || yn(this.scaleX - 1) || yn(this.scaleY - 1) || yn(this.skewX) || yn(this.skewY); 2561 }, r.prototype.updateTransform = function() { 2562 var e = this.parent && this.parent.transform, t = this.needLocalTransform(), a = this.transform; 2563 if (!(t || e)) { 2564 a && (T0(a), this.invTransform = null); 2565 return; 2566 } 2567 a = a || He(), t ? this.getLocalTransform(a) : T0(a), e && (t ? qr(a, e, a) : wh(a, e)), this.transform = a, this._resolveGlobalScaleRatio(a); 2568 }, r.prototype._resolveGlobalScaleRatio = function(e) { 2569 var t = this.globalScaleRatio; 2570 if (t != null && t !== 1) { 2571 this.getGlobalScale(mn); 2572 var a = mn[0] < 0 ? -1 : 1, n = mn[1] < 0 ? -1 : 1, i = ((mn[0] - a) * t + a) / mn[0] || 0, o = ((mn[1] - n) * t + n) / mn[1] || 0; 2573 e[0] *= i, e[1] *= i, e[2] *= o, e[3] *= o; 2574 } 2575 this.invTransform = this.invTransform || He(), _i(this.invTransform, e); 2576 }, r.prototype.getComputedTransform = function() { 2577 for (var e = this, t = []; e; ) t.push(e), e = e.parent; 2578 for (; e = t.pop(); ) e.updateTransform(); 2579 return this.transform; 2580 }, r.prototype.setLocalTransform = function(e) { 2581 if (e) { 2582 var t = e[0] * e[0] + e[1] * e[1], a = e[2] * e[2] + e[3] * e[3], n = Math.atan2(e[1], e[0]), i = Math.PI / 2 + n - Math.atan2(e[3], e[2]); 2583 a = Math.sqrt(a) * Math.cos(i), t = Math.sqrt(t), this.skewX = i, this.skewY = 0, this.rotation = -n, this.x = +e[4], this.y = +e[5], this.scaleX = t, this.scaleY = a, this.originX = 0, this.originY = 0; 2584 } 2585 }, r.prototype.decomposeTransform = function() { 2586 if (this.transform) { 2587 var e = this.parent, t = this.transform; 2588 e && e.transform && (e.invTransform = e.invTransform || He(), qr(Pi, e.invTransform, t), t = Pi); 2589 var a = this.originX, n = this.originY; 2590 (a || n) && (Av[4] = a, Av[5] = n, qr(Pi, t, Av), Pi[4] -= a, Pi[5] -= n, t = Pi), this.setLocalTransform(t); 2591 } 2592 }, r.prototype.getGlobalScale = function(e) { 2593 var t = this.transform; 2594 return e = e || [], t ? (e[0] = Math.sqrt(t[0] * t[0] + t[1] * t[1]), e[1] = Math.sqrt(t[2] * t[2] + t[3] * t[3]), t[0] < 0 && (e[0] = -e[0]), t[3] < 0 && (e[1] = -e[1]), e) : (e[0] = 1, e[1] = 1, e); 2595 }, r.prototype.transformCoordToLocal = function(e, t) { 2596 var a = [e, t], n = this.invTransform; 2597 return n && he(a, a, n), a; 2598 }, r.prototype.transformCoordToGlobal = function(e, t) { 2599 var a = [e, t], n = this.transform; 2600 return n && he(a, a, n), a; 2601 }, r.prototype.getLineScale = function() { 2602 var e = this.transform; 2603 return e && Dv(e[0] - 1) > 1e-10 && Dv(e[3] - 1) > 1e-10 ? Math.sqrt(Dv(e[0] * e[3] - e[2] * e[1])) : 1; 2604 }, r.prototype.copyTransform = function(e) { 2605 zT(this, e); 2606 }, r.getLocalTransform = function(e, t) { 2607 t = t || []; 2608 var a = e.originX || 0, n = e.originY || 0, i = e.scaleX, o = e.scaleY, s = e.anchorX, l = e.anchorY, u = e.rotation || 0, f = e.x, h = e.y, v = e.skewX ? Math.tan(e.skewX) : 0, c = e.skewY ? Math.tan(-e.skewY) : 0; 2609 if (a || n || s || l) { 2610 var p = a + s, d = n + l; 2611 t[4] = -p * i - v * d * o, t[5] = -d * o - c * p * i; 2612 } else t[4] = t[5] = 0; 2613 return t[0] = i, t[3] = o, t[1] = c * i, t[2] = v * o, u && ln(t, t, u), t[4] += a + f, t[5] += n + h, t; 2614 }, r.initDefaultProps = function() { 2615 var e = r.prototype; 2616 e.scaleX = e.scaleY = e.globalScaleRatio = 1, e.x = e.y = e.originX = e.originY = e.skewX = e.skewY = e.rotation = e.anchorX = e.anchorY = 0; 2617 }(), r; 2618}(), Jr = ["x", "y", "originX", "originY", "anchorX", "anchorY", "rotation", "scaleX", "scaleY", "skewX", "skewY"]; 2619function zT(r, e) { 2620 for (var t = 0; t < Jr.length; t++) { 2621 var a = Jr[t]; 2622 r[a] = e[a]; 2623 } 2624} 2625var A0 = {}; 2626function qe(r, e) { 2627 e = e || tn; 2628 var t = A0[e]; 2629 t || (t = A0[e] = new Rl(500)); 2630 var a = t.get(r); 2631 return a == null && (a = Lr.measureText(r, e).width, t.put(r, a)), a; 2632} 2633function D0(r, e, t, a) { 2634 var n = qe(r, e), i = Ah(e), o = Ts(0, n, t), s = Ji(0, i, a), l = new ht(
2634o, s, n, i); 2635 return l; 2636} 2637function El(r, e, t, a) { 2638 var n = ((r || "") + "").split(` 2639`), i = n.length; 2640 if (i === 1) return D0(n[0], e, t, a); 2641 for (var o = new ht(0, 0, 0, 0), s = 0; s < n.length; s++) { 2642 var l = D0(n[s], e, t, a); 2643 s === 0 ? o.copy(l) : o.union(l); 2644 } 2645 return o; 2646} 2647function Ts(r, e, t) { 2648 return t === "right" ? r -= e : t === "center" && (r -= e / 2), r; 2649} 2650function Ji(r, e, t) { 2651 return t === "middle" ? r -= e / 2 : t === "bottom" && (r -= e), r; 2652} 2653function Ah(r) { 2654 return qe("\u56FD", r); 2655} 2656function Rr(r, e) { 2657 return typeof r == "string" ? r.lastIndexOf("%") >= 0 ? parseFloat(r) / 100 * e : parseFloat(r) : r; 2658} 2659function Lf(r, e, t) { 2660 var a = e.position || "inside", n = e.distance != null ? e.distance : 5, i = t.height, o = t.width, s = i / 2, l = t.x, u = t.y, f = "left", h = "top"; 2661 if (a instanceof Array) l += Rr(a[0], t.width), u += Rr(a[1], t.height), f = null, h = null; 2662 else switch (a) { 2663 case "left": 2664 l -= n, u += s, f = "right", h = "middle"; 2665 break; 2666 case "right": 2667 l += n + o, u += s, h = "middle"; 2668 break; 2669 case "top": 2670 l += o / 2, u -= n, f = "center", h = "bottom"; 2671 break; 2672 case "bottom": 2673 l += o / 2, u += i + n, f = "center"; 2674 break; 2675 case "inside": 2676 l += o / 2, u += s, f = "center", h = "middle"; 2677 break; 2678 case "insideLeft": 2679 l += n, u += s, h = "middle"; 2680 break; 2681 case "insideRight": 2682 l += o - n, u += s, f = "right", h = "middle"; 2683 break; 2684 case "insideTop": 2685 l += o / 2, u += n, f = "center"; 2686 break; 2687 case "insideBottom": 2688 l += o / 2, u += i - n, f = "center", h = "bottom"; 2689 break; 2690 case "insideTopLeft": 2691 l += n, u += n; 2692 break; 2693 case "insideTopRight": 2694 l += o - n, u += n, f = "right"; 2695 break; 2696 case "insideBottomLeft": 2697 l += n, u += i - n, h = "bottom"; 2698 break; 2699 case "insideBottomRight": 2700 l += o - n, u += i - n, f = "right", h = "bottom"; 2701 break; 2702 } 2703 return r = r || {}, r.x = l, r.y = u, r.align = f, r.verticalAlign = h, r; 2704} 2705var Mv = "__zr_normal__", Iv = Jr.concat(["ignore"]), WP = hr(Jr, function(r, e) { 2706 return r[e] = true, r; 2707}, { ignore: false }), Ri = {}, UP = new ht(0, 0, 0, 0), Dh = function() { 2708 function r(e) { 2709 this.id = Rg(), this.animators = [], this.currentStates = [], this.states = {}, this._init(e); 2710 } 2711 return r.prototype._init = function(e) { 2712 this.attr(e); 2713 }, r.prototype.drift = function(e, t, a) { 2714 switch (this.draggable) { 2715 case "horizontal": 2716 t = 0; 2717 break; 2718 case "vertical": 2719 e = 0; 2720 break; 2721 } 2722 var n = this.transform; 2723 n || (n = this.transform = [1, 0, 0, 1, 0, 0]), n[4] += e, n[5] += t, this.decomposeTransform(), this.markRedraw(); 2724 }, r.prototype.beforeUpdate = function() { 2725 }, r.prototype.afterUpdate = function() { 2726 }, r.prototype.update = function() { 2727 this.updateTransform(), this.__dirty && this.updateInnerText(); 2728 }, r.prototype.updateInnerText = function(e) { 2729 var t = this._textContent; 2730 if (t && (!t.ignore || e)) { 2731 this.textConfig || (this.textConfig = {}); 2732 var a = this.textConfig, n = a.local, i = t.innerTransformable, o = void 0, s = void 0, l = false; 2733 i.parent = n ? this : null; 2734 var u = false; 2735 if (i.copyTransform(t), a.position != null) { 2736 var f = UP; 2737 a.layoutRect ? f.copy(a.layoutRect) : f.copy(this.getBoundingRect()), n || f.applyTransform(this.transform), this.calculateTextPosition ? this.calculateTextPosition(Ri, a, f) : Lf(Ri, a, f), i.x = Ri.x, i.y = Ri.y, o = Ri.align, s = Ri.verticalAlign; 2738 var h = a.origin; 2739 if (h && a.rotation != null) { 2740 var v = void 0, c = void 0; 2741 h === "center" ? (v = f.width * 0.5, c = f.height * 0.5) : (v = Rr(h[0], f.width), c = Rr(h[1], f.height)), u = true, i.originX = -i.x + v + (n ? 0 : f.x), i.originY = -i.y + c + (n ? 0 : f.y); 2742 } 2743 } 2744 a.rotation != null && (i.rotation = a.rotation); 2745 var p = a.offset; 2746 p && (i.x += p[0], i.y += p[1], u || (i.originX = -p[0], i.originY = -p[1])); 2747 var d = a.inside == null ? typeof a.position == "string" && a.position.indexOf("inside") >= 0 : a.inside, g = this._innerTextDefaultStyle || (this._innerTextDefaultStyle = {}), y = void 0, m = void 0, _ = void 0; 2748 d && this.canBeInsideText() ? (y = a.insideFill, m = a.insideStroke, (y == null || y === "auto") && (y = this.getInsideTextFill()), (m == null || m === "auto") && (m = this.getInsideTextStroke(y), _ = true)) : (y = a.outsideFill, m = a.outsideStroke, (y == null || y === "auto") && (y = this.getOutsideFill
2748()), (m == null || m === "auto") && (m = this.getOutsideStroke(y), _ = true)), y = y || "#000", (y !== g.fill || m !== g.stroke || _ !== g.autoStroke || o !== g.align || s !== g.verticalAlign) && (l = true, g.fill = y, g.stroke = m, g.autoStroke = _, g.align = o, g.verticalAlign = s, t.setDefaultTextStyle(g)), t.__dirty |= Ye, l && t.dirtyStyle(true); 2749 } 2750 }, r.prototype.canBeInsideText = function() { 2751 return true; 2752 }, r.prototype.getInsideTextFill = function() { 2753 return "#fff"; 2754 }, r.prototype.getInsideTextStroke = function(e) { 2755 return "#000"; 2756 }, r.prototype.getOutsideFill = function() { 2757 return this.__zr && this.__zr.isDarkMode() ? ed : td; 2758 }, r.prototype.getOutsideStroke = function(e) { 2759 var t = this.__zr && this.__zr.getBackgroundColor(), a = typeof t == "string" && Re(t); 2760 a || (a = [255, 255, 255, 1]); 2761 for (var n = a[3], i = this.__zr.isDarkMode(), o = 0; o < 3; o++) a[o] = a[o] * n + (i ? 0 : 255) * (1 - n); 2762 return a[3] = 1, Mr(a, "rgba"); 2763 }, r.prototype.traverse = function(e, t) { 2764 }, r.prototype.attrKV = function(e, t) { 2765 e === "textConfig" ? this.setTextConfig(t) : e === "textContent" ? this.setTextContent(t) : e === "clipPath" ? this.setClipPath(t) : e === "extra" ? (this.extra = this.extra || {}, z(this.extra, t)) : this[e] = t; 2766 }, r.prototype.hide = function() { 2767 this.ignore = true, this.markRedraw(); 2768 }, r.prototype.show = function() { 2769 this.ignore = false, this.markRedraw(); 2770 }, r.prototype.attr = function(e, t) { 2771 if (typeof e == "string") this.attrKV(e, t); 2772 else if (tt(e)) for (var a = e, n = _t(a), i = 0; i < n.length; i++) { 2773 var o = n[i]; 2774 this.attrKV(o, e[o]); 2775 } 2776 return this.markRedraw(), this; 2777 }, r.prototype.saveCurrentToNormalState = function(e) { 2778 this._innerSaveToNormal(e); 2779 for (var t = this._normalState, a = 0; a < this.animators.length; a++) { 2780 var n = this.animators[a], i = n.__fromStateTransition; 2781 if (!(n.getLoop() || i && i !== Mv)) { 2782 var o = n.targetName, s = o ? t[o] : t; 2783 n.saveTo(s); 2784 } 2785 } 2786 }, r.prototype._innerSaveToNormal = function(e) { 2787 var t = this._normalState; 2788 t || (t = this._normalState = {}), e.textConfig && !t.textConfig && (t.textConfig = this.textConfig), this._savePrimaryToNormal(e, t, Iv); 2789 }, r.prototype._savePrimaryToNormal = function(e, t, a) { 2790 for (var n = 0; n < a.length; n++) { 2791 var i = a[n]; 2792 e[i] != null && !(i in t) && (t[i] = this[i]); 2793 } 2794 }, r.prototype.hasState = function() { 2795 return this.currentStates.length > 0; 2796 }, r.prototype.getState = function(e) { 2797 return this.states[e]; 2798 }, r.prototype.ensureState = function(e) { 2799 var t = this.states; 2800 return t[e] || (t[e] = {}), t[e]; 2801 }, r.prototype.clearStates = function(e) { 2802 this.useState(Mv, false, e); 2803 }, r.prototype.useState = function(e, t, a, n) { 2804 var i = e === Mv, o = this.hasState(); 2805 if (!(!o && i)) { 2806 var s = this.currentStates, l = this.stateTransition; 2807 if (!(vt(s, e) >= 0 && (t || s.length === 1))) { 2808 var u; 2809 if (this.stateProxy && !i && (u = this.stateProxy(e)), u || (u = this.states && this.states[e]), !u && !i) { 2810 _h("State " + e + " not exists."); 2811 return; 2812 } 2813 i || this.saveCurrentToNormalState(u); 2814 var f = !!(u && u.hoverLayer || n); 2815 f && this._toggleHoverLayerFlag(true), this._applyStateObj(e, u, this._normalState, t, !a && !this.__inHover && l && l.duration > 0, l); 2816 var h = this._textContent, v = this._textGuide; 2817 return h && h.useState(e, t, a, f), v && v.useState(e, t, a, f), i ? (this.currentStates = [], this._normalState = {}) : t ? this.currentStates.push(e) : this.currentStates = [e], this._updateAnimationTargets(), this.markRedraw(), !f && this.__inHover && (this._toggleHoverLayerFlag(false), this.__dirty &= ~Ye), u; 2818 } 2819 } 2820 }, r.prototype.useStates = function(e, t, a) { 2821 if (!e.length) this.clearStates(); 2822 else { 2823 var n = [], i = this.currentStates, o = e.length, s = o === i.length; 2824 if (s) { 2825 for (var l = 0; l < o; l++) if (e[l] !== i[l]) { 2826 s = false;
2827 break; 2828 } 2829 } 2830 if (s) return; 2831 for (var l = 0; l < o; l++) { 2832 var u = e[l], f = void 0; 2833 this.stateProxy && (f = this.stateProxy(u, e)), f || (f = this.states[u]), f && n.push(f); 2834 } 2835 var h = n[o - 1], v = !!(h && h.hoverLayer || a); 2836 v && this._toggleHoverLayerFlag(true); 2837 var c = this._mergeStates(n), p = this.stateTransition; 2838 this.saveCurrentToNormalState(c), this._applyStateObj(e.join(","), c, this._normalState, false, !t && !this.__inHover && p && p.duration > 0, p); 2839 var d = this._textContent, g = this._textGuide; 2840 d && d.useStates(e, t, v), g && g.useStates(e, t, v), this._updateAnimationTargets(), this.currentStates = e.slice(), this.markRedraw(), !v && this.__inHover && (this._toggleHoverLayerFlag(false), this.__dirty &= ~Ye); 2841 } 2842 }, r.prototype.isSilent = function() { 2843 for (var e = this.silent, t = this.parent; !e && t; ) { 2844 if (t.silent) { 2845 e = true; 2846 break; 2847 } 2848 t = t.parent; 2849 } 2850 return e; 2851 }, r.prototype._updateAnimationTargets = function() { 2852 for (var e = 0; e < this.animators.length; e++) { 2853 var t = this.animators[e]; 2854 t.targetName && t.changeTarget(this[t.targetName]); 2855 } 2856 }, r.prototype.removeState = function(e) { 2857 var t = vt(this.currentStates, e); 2858 if (t >= 0) { 2859 var a = this.currentStates.slice(); 2860 a.splice(t, 1), this.useStates(a); 2861 } 2862 }, r.prototype.replaceState = function(e, t, a) { 2863 var n = this.currentStates.slice(), i = vt(n, e), o = vt(n, t) >= 0; 2864 i >= 0 ? o ? n.splice(i, 1) : n[i] = t : a && !o && n.push(t), this.useStates(n); 2865 }, r.prototype.toggleState = function(e, t) { 2866 t ? this.useState(e, true) : this.removeState(e); 2867 }, r.prototype._mergeStates = function(e) { 2868 for (var t = {}, a, n = 0; n < e.length; n++) { 2869 var i = e[n]; 2870 z(t, i), i.textConfig && (a = a || {}, z(a, i.textConfig)); 2871 } 2872 return a && (t.textConfig = a), t; 2873 }, r.prototype._applyStateObj = function(e, t, a, n, i, o) { 2874 var s = !(t && n); 2875 t && t.textConfig ? (this.textConfig = z({}, n ? this.textConfig : a.textConfig), z(this.textConfig, t.textConfig)) : s && a.textConfig && (this.textConfig = a.textConfig); 2876 for (var l = {}, u = false, f = 0; f < Iv.length; f++) { 2877 var h = Iv[f], v = i && WP[h]; 2878 t && t[h] != null ? v ? (u = true, l[h] = t[h]) : this[h] = t[h] : s && a[h] != null && (v ? (u = true, l[h] = a[h]) : this[h] = a[h]); 2879 } 2880 if (!i) for (var f = 0; f < this.animators.length; f++) { 2881 var c = this.animators[f], p = c.targetName; 2882 c.getLoop() || c.__changeFinalValue(p ? (t || a)[p] : t || a); 2883 } 2884 u && this._transitionState(e, l, o); 2885 }, r.prototype._attachComponent = function(e) { 2886 if (!(e.__zr && !e.__hostTarget) && e !== this) { 2887 var t = this.__zr; 2888 t && e.addSelfToZr(t), e.__zr = t, e.__hostTarget = this; 2889 } 2890 }, r.prototype._detachComponent = function(e) { 2891 e.__zr && e.removeSelfFromZr(e.__zr), e.__zr = null, e.__hostTarget = null; 2892 }, r.prototype.getClipPath = function() { 2893 return this._clipPath; 2894 }, r.prototype.setClipPath = function(e) { 2895 this._clipPath && this._clipPath !== e && this.removeClipPath(), this._attachComponent(e), this._clipPath = e, this.markRedraw(); 2896 }, r.prototype.removeClipPath = function() { 2897 var e = this._clipPath; 2898 e && (this._detachComponent(e), this._clipPath = null, this.markRedraw()); 2899 }, r.prototype.getTextContent = function() { 2900 return this._textContent; 2901 }, r.prototype.setTextContent = function(e) { 2902 var t = this._textContent; 2903 t !== e && (t && t !== e && this.removeTextContent(), e.innerTransformable = new ca(), this._attachComponent(e), this._textContent = e, this.markRedraw()); 2904 }, r.prototype.setTextConfig = function(e) { 2905 this.textConfig || (this.textConfig = {}), z(this.textConfig, e), this.markRedraw(); 2906 }, r.prototype.removeTextConfig = function() { 2907 this.textConfig = null, this.markRedraw(); 2908 }, r.prototype.removeTextContent = function() { 2909 var e = this._textContent; 2910 e && (e.innerTransformable = null, this._detachComponent(e), this._textContent = null, this._innerTextDefaultStyle = null, this.markRedraw()); 2911 }, r.prototype.getTextGuideLine = function() { 2912 return this._textGuide; 2913 }, r.prototype.setTextGuideLine = function(e) { 2914 this._textGuide && this._textGuide !== e && this.removeTextGuideLine(), this._attachComponent(e), this._textGuide = e, this.markRedraw(); 2915 }, r.prototype.removeTextGuideLine = function() { 2916 var e = this._textGuide; 2917 e && (this._detachComponent(e), this._textGuide = null, this.markRedraw()); 2918 }, r.prototype.markRedraw = function() { 2919 this.__dirty |= Ye; 2920 var e = this.__zr; 2921 e && (this.__inHover ? e.refreshHover() : e.refresh()), this.__hostTarget && this.__hostTarget.markRedraw(); 2922 }, r.prototype.dirty = function() { 2923 this.markRedraw(); 2924 }, r.prototype._toggleHoverLayerFlag = function(e) { 2925 this.__inHover = e; 2926 var t = this._textContent, a = this._textGuide; 2927 t && (t.__inHover = e), a && (a.__inHover = e); 2928 }, r.prototype.addSelfToZr = function(e) { 2929 if (this.__zr !== e) { 2930 this.__zr = e; 2931 var t = this.animators; 2932 if (t) for (var a = 0; a < t.length; a++) e.animation.addAnimator(t[a]); 2933 this._clipPath && this._clipPath.addSelfToZr(e), this._textContent && this._textContent.addSelfToZr(e), this._textGuide && this._textGuide.addSelfToZr(e); 2934 } 2935 }, r.prototype.removeSelfFromZr = function(e) { 2936 if (this.__zr) { 2937 this.__zr = null; 2938 var t = this.animators; 2939 if (t) for (var a = 0; a < t.length; a++) e.animation.removeAnimator(t[a]); 2940 this._clipPath && this._clipPath.removeSelfFromZr(e), this._textContent && this._textContent.removeSelfFromZr(e), this._textGuide && this._textGuide.removeSelfFromZr(e); 2941 } 2942 }, r.prototype.animate = function(e, t, a) { 2943 var n = e ? this[e] : this, i = new Gg(n, t, a); 2944 return e && (i.targetName = e), this.addAnimator(i, e), i; 2945 }, r.prototype.addAnimator = function(e, t) { 2946 var a = this.__zr, n = this; 2947 e.during(function() { 2948 n.updateDuringAnimation(t); 2949 }).done(function() { 2950 var i = n.animators, o = vt(i, e); 2951 o >= 0 && i.splice(o, 1); 2952 }), this.animators.push(e), a && a.animation.addAnimator(e), a && a.wakeUp(); 2953 }, r.prototype.updateDuringAnimation = function(e) { 2954 this.markRedraw(); 2955 }, r.prototype.stopAnimation = function(e, t) { 2956 for (var a = this.animators, n = a.length, i = [], o = 0; o < n; o++) { 2957 var s = a[o]; 2958 !e || e === s.scope ? s.stop(t) : i.push(s); 2959 } 2960 return this.animators = i, this; 2961 }, r.prototype.animateTo = function(e, t, a) { 2962 Lv(this, e, t, a); 2963 }, r.prototype.animateFrom = function(e, t, a) { 2964 Lv(this, e, t, a, true); 2965 }, r.prototype._transitionState = function(e, t, a, n) { 2966 for (var i = Lv(this, t, a, n), o = 0; o < i.length; o++) i[o].__fromStateTransition = e; 2967 }, r.prototype.getBoundingRect = function() { 2968 return null; 2969 }, r.prototype.getPaintRect = function() { 2970 return null; 2971 }, r.initDefaultProps = function() { 2972 var e = r.prototype; 2973 e.type = "element", e.name = "", e.ignore = e.silent = e.isGroup = e.draggable = e.dragging = e.ignoreClip = e.__inHover = false, e.__dirty = Ye; 2974 function t(a, n, i, o) { 2975 Object.defineProperty(e, a, { get: function() { 2976 if (!this[n]) { 2977 var l = this[n] = []; 2978 s(this, l); 2979 } 2980 return this[n]; 2981 }, set: function(l) { 2982 this[i] = l[0], this[o] = l[1], this[n] = l, s(this, l); 2983 } }); 2984 function s(l, u) { 2985 Object.defineProperty(u, 0, { get: function() { 2986 return l[i]; 2987 }, set: function(f) { 2988 l[i] = f; 2989 } }), Object.defineProperty(u, 1, { get: function() { 2990 return l[o]; 2991 }, set: function(f) { 2992 l[o] = f; 2993 } }); 2994 } 2995 } 2996 Object.defineProperty && (t("position", "_legacyPos", "x", "y"), t("scale", "_legacyScale", "scaleX", "scaleY"), t("origin", "_legacyOrigin", "originX", "originY")); 2997 }(), r; 2998}(); 2999Xt(Dh, cr); 3000Xt(Dh, ca); 3001function Lv(r, e, t, a, n) { 3002 t = t || {}; 3003 var i = []; 3004 VT(r, "", r, e, t, a, i, n); 3005 var o = i.length, s = false, l = t.done, u = t.aborted, f = function() { 3006 s = true, o--, o <= 0 && (s ? l && l() : u && u()); 3007 }, h = function() { 3008 o--, o <= 0 && (s ? l && l() : u && u()); 3009 }; 3010 o || l && l(), i.length > 0 && t.during && i[0].during(function(p, d) { 3011 t.during(d); 3012 }); 3013 for (var v = 0; v < i.length; v++) { 3014 var c = i[v]; 3015 f && c.done(f), h && c.aborted(h), t.force && c.duration(t.duration), c.start(t.easing); 3016 } 3017 return i; 3018} 3019function Pv(r, e, t) { 3020 for (var a = 0; a < t; a++) r[a] = e[a]; 3021} 3022function YP(r) { 3023 return ce(r[0]); 3024} 3025function $P(r, e, t) { 3026 if (ce(e[t])) if (ce(r[t]) || (r[t] = []), ke(e[t])) { 3027 var a = e[t].length; 3028 r[t].length !== a && (r[t] = new e[t].constructor(a), Pv(r[t], e[t], a)); 3029 } else { 3030 var n = e[t], i = r[t], o = n.length; 3031 if (YP(n)) for (var s = n[0].length, l = 0; l < o; l++) i[l] ? Pv(i[l], n[l], s) : i[l] = Array.prototype.slice.call(n[l]); 3032 else Pv(i, n, o); 3033 i.length = n.length; 3034 } 3035 else r[t] = e[t]; 3036} 3037function XP(r, e) { 3038 return r === e || ce(r) && ce(e) && ZP(r, e); 3039} 3040function ZP(r, e) { 3041 var t = r.length; 3042 if (t !== e.length) return false;
3043 for (var a = 0; a < t; a++) if (r[a] !== e[a]) return false; 3044 return true; 3045} 3046function VT(r, e, t, a, n, i, o, s) { 3047 for (var l = _t(a), u = n.duration, f = n.delay, h = n.additive, v = n.setToFinal, c = !tt(i), p = r.animators, d = [], g = 0; g < l.length; g++) { 3048 var y = l[g], m = a[y]; 3049 if (m != null && t[y] != null && (c || i[y])) if (tt(m) && !ce(m) && !Il(m)) { 3050 if (e) { 3051 s || (t[y] = m, r.updateDuringAnimation(e)); 3052 continue; 3053 } 3054 VT(r, y, t[y], m, n, i && i[y], o, s); 3055 } else d.push(y); 3056 else s || (t[y] = m, r.updateDuringAnimation(e), d.push(y)); 3057 } 3058 var _ = d.length; 3059 if (!h && _) for (var S = 0; S < p.length; S++) { 3060 var b = p[S]; 3061 if (b.targetName === e) { 3062 var x = b.stopTracks(d); 3063 if (x) { 3064 var w = vt(p, b); 3065 p.splice(w, 1); 3066 } 3067 } 3068 } 3069 if (n.force || (d = Ct(d, function(M) { 3070 return !XP(a[M], t[M]); 3071 }), _ = d.length), _ > 0 || n.force && !o.length) { 3072 var T = void 0, C = void 0, A = void 0; 3073 if (s) { 3074 C = {}, v && (T = {}); 3075 for (var S = 0; S < _; S++) { 3076 var y = d[S]; 3077 C[y] = t[y], v ? T[y] = a[y] : t[y] = a[y]; 3078 } 3079 } else if (v) { 3080 A = {}; 3081 for (var S = 0; S < _; S++) { 3082 var y = d[S]; 3083 A[y] = Gs(t[y]), $P(t, a, y); 3084 } 3085 } 3086 var b = new Gg(t, false, false, h ? Ct(p, function(I) { 3087 return I.targetName === e; 3088 }) : null); 3089 b.targetName = e, n.scope && (b.scope = n.scope), v && T && b.whenWithKeys(0, T, d), A && b.whenWithKeys(0, A, d), b.whenWithKeys(u ?? 500, s ? C : a, d).delay(f || 0), r.addAnimator(b, e), o.push(b); 3090 } 3091} 3092var at = function(r) { 3093 Ft(e, r); 3094 function e(t) { 3095 var a = r.call(this) || this; 3096 return a.isGroup = true, a._children = [], a.attr(t), a; 3097 } 3098 return e.prototype.childrenRef = function() { 3099 return this._children; 3100 }, e.prototype.children = function() { 3101 return this._children.slice(); 3102 }, e.prototype.childAt = function(t) { 3103 return this._children[t]; 3104 }, e.prototype.childOfName = function(t) { 3105 for (var a = this._children, n = 0; n < a.length; n++) if (a[n].name === t) return a[n]; 3106 }, e.prototype.childCount = function() { 3107 return this._children.length; 3108 }, e.prototype.add = function(t) { 3109 return t && t !== this && t.parent !== this && (this._children.push(t), this._doAdd(t)), this; 3110 }, e.prototype.addBefore = function(t, a) { 3111 if (t && t !== this && t.parent !== this && a && a.parent === this) { 3112 var n = this._children, i = n.indexOf(a); 3113 i >= 0 && (n.splice(i, 0, t), this._doAdd(t)); 3114 } 3115 return this; 3116 }, e.prototype.replace = function(t, a) { 3117 var n = vt(this._children, t); 3118 return n >= 0 && this.replaceAt(a, n), this; 3119 }, e.prototype.replaceAt = function(t, a) { 3120 var n = this._children, i = n[a]; 3121 if (t && t !== this && t.parent !== this && t !== i) { 3122 n[a] = t, i.parent = null; 3123 var o = this.__zr; 3124 o && i.removeSelfFromZr(o), this._doAdd(t); 3125 } 3126 return this; 3127 }, e.prototype._doAdd = function(t) { 3128 t.parent && t.parent.remove(t), t.parent = this; 3129 var a = this.__zr; 3130 a && a !== t.__zr && t.addSelfToZr(a), a && a.refresh(); 3131 }, e.prototype.remove = function(t) { 3132 var a = this.__zr, n = this._children, i = vt(n, t); 3133 return i < 0 ? this : (n.splice(i, 1), t.parent = null, a && t.removeSelfFromZr(a), a && a.refresh(), this); 3134 }, e.prototype.removeAll = function() { 3135 for (var t = this._children, a = this.__zr, n = 0; n < t.length; n++) { 3136 var i = t[n]; 3137 a && i.removeSelfFromZr(a), i.parent = null; 3138 } 3139 return t.length = 0, this; 3140 }, e.prototype.eachChild = function(t, a) { 3141 for (var n = this._children, i = 0; i < n.length; i++) { 3142 var o = n[i]; 3143 t.call(a, o, i); 3144 } 3145 return this; 3146 }, e.prototype.traverse = function(t, a) { 3147 for (var n = 0; n < this._children.length; n++) { 3148 var i = this._children[n], o = t.call(a, i); 3149 i.isGroup && !o && i.traverse(t, a); 3150 } 3151 return this; 3152 }, e.prototype.addSelfToZr = function(t) { 3153 r.prototype.addSelfToZr.call(this, t); 3154 for (var a = 0; a < this._children.length; a++) { 3155 var n = this._children[a]; 3156 n.addSelfToZr(t); 3157 } 3158 }, e.prototype.removeSelfFromZr = function(t) { 3159 r.prototype.removeSelfFromZr.call(this, t); 3160 for (var a = 0; a < this._children.length; a++) { 3161 var n = this._children[a]; 3162 n.removeSelfFromZr(t); 3163 } 3164 }, e.prototype.getBoundingRect = function(t) { 3165 for (var a = new ht(0, 0, 0, 0), n = t || this._children, i = [], o = null, s = 0; s < n.length; s++) { 3166 var l = n[s]; 3167 if (!(l.ignore || l.invisible)) {
3168 var u = l.getBoundingRect(), f = l.getLocalTransform(i); 3169 f ? (ht.applyTransform(a, u, f), o = o || a.clone(), o.union(a)) : (o = o || u.clone(), o.union(u)); 3170 } 3171 } 3172 return o || a; 3173 }, e; 3174}(Dh); 3175at.prototype.type = "group"; 3176/*! 3177* ZRender, a high performance 2d drawing library. 3178* 3179* Copyright (c) 2013, Baidu Inc. 3180* All rights reserved. 3181* 3182* LICENSE 3183* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt 3184*/ 3185var nf = {}, Xn = {}; 3186function qP(r) { 3187 delete Xn[r]; 3188} 3189function KP(r) { 3190 if (!r) return false; 3191 if (typeof r == "string") return nl(r, 1) < Qp; 3192 if (r.colorStops) { 3193 for (var e = r.colorStops, t = 0, a = e.length, n = 0; n < a; n++) t += nl(e[n].color, 1); 3194 return t /= a, t < Qp; 3195 } 3196 return false; 3197} 3198var jP = function() { 3199 function r(e, t, a) { 3200 var n = this; 3201 this._sleepAfterStill = 10, this._stillFrameAccum = 0, this._needsRefresh = true, this._needsRefreshHover = true, this._darkMode = false, a = a || {}, this.dom = t, this.id = e; 3202 var i = new lP(), o = a.renderer || "canvas"; 3203 nf[o] || (o = _t(nf)[0]), a.useDirtyRect = a.useDirtyRect == null ? false : a.useDirtyRect; 3204 var s = new nf[o](t, i, a, e), l = a.ssr || s.ssrOnly; 3205 this.storage = i, this.painter = s; 3206 var u = !yt.node && !yt.worker && !l ? new FP(s.getViewportRoot(), s.root) : null, f = a.useCoarsePointer, h = f == null || f === "auto" ? yt.touchEventsSupported : !!f, v = 44, c; 3207 h && (c = st(a.pointerSize, v)), this.handler = new mT(i, s, u, s.root, c), this.animation = new kP({ stage: { update: l ? null : function() { 3208 return n._flush(true); 3209 } } }), l || this.animation.start(); 3210 } 3211 return r.prototype.add = function(e) { 3212 this._disposed || !e || (this.storage.addRoot(e), e.addSelfToZr(this), this.refresh()); 3213 }, r.prototype.remove = function(e) { 3214 this._disposed || !e || (this.storage.delRoot(e), e.removeSelfFromZr(this), this.refresh()); 3215 }, r.prototype.configLayer = function(e, t) { 3216 this._disposed || (this.painter.configLayer && this.painter.configLayer(e, t), this.refresh()); 3217 }, r.prototype.setBackgroundColor = function(e) { 3218 this._disposed || (this.painter.setBackgroundColor && this.painter.setBackgroundColor(e), this.refresh(), this._backgroundColor = e, this._darkMode = KP(e)); 3219 }, r.prototype.getBackgroundColor = function() { 3220 return this._backgroundColor; 3221 }, r.prototype.setDarkMode = function(e) { 3222 this._darkMode = e; 3223 }, r.prototype.isDarkMode = function() { 3224 return this._darkMode; 3225 }, r.prototype.refreshImmediately = function(e) { 3226 this._disposed || (e || this.animation.update(true), this._needsRefresh = false, this.painter.refresh(), this._needsRefresh = false); 3227 }, r.prototype.refresh = function() { 3228 this._disposed || (this._needsRefresh = true, this.animation.start()); 3229 }, r.prototype.flush = function() { 3230 this._disposed || this._flush(false); 3231 }, r.prototype._flush = function(e) { 3232 var t, a = ro(); 3233 this._needsRefresh && (t = true, this.refreshImmediately(e)), this._needsRefreshHover && (t = true, this.refreshHoverImmediately()); 3234 var n = ro(); 3235 t ? (this._stillFrameAccum = 0, this.trigger("rendered", { elapsedTime: n - a })) : this._sleepAfterStill > 0 && (this._stillFrameAccum++, this._stillFrameAccum > this._sleepAfterStill && this.animation.stop()); 3236 }, r.prototype.setSleepAfterStill = function(e) { 3237 this._sleepAfterStill = e; 3238 }, r.prototype.wakeUp = function() { 3239 this._disposed || (this.animation.start(), this._stillFrameAccum = 0); 3240 }, r.prototype.refreshHover = function() { 3241 this._needsRefreshHover = true; 3242 }, r.prototype.refreshHoverImmediately = function() { 3243 this._disposed || (this._needsRefreshHover = false, this.painter.refreshHover && this.painter.getType() === "canvas" && this.painter.refreshHover()); 3244 }, r.prototype.resize = function(e) { 3245 this._disposed || (e = e || {}, this.painter.resize(e.width, e.height), this.handler.resize()); 3246 }, r.prototype.clearAnimation = function() { 3247 this._disposed || this.animation.clear(); 3248 }, r.prototype.getWidth = function() { 3249 if (!this._disposed) return this.painter.getWidth(); 3250 }, r.prototype.getHeight = function() { 3251 if (!this._disposed) return this.painter.getHeight(); 3252 }, r.prototype.setCursorStyle = function(e) { 3253 this._disposed || this.handler.setCursorStyle(e); 3254 }, r.prototype.findHover = function(e, t) { 3255 if (!this._disposed) return this.handler.findHover(e, t); 3256 }, r.prototype.on = function(e, t, a) { 3257 return this._disposed || this.handler.on(e, t, a), this; 3258 }, r.prototype.off = function(e, t) { 3259 this._disposed || this.handler.off(e, t); 3260 }, r.prototype.trigger = function(e, t) { 3261 this._disposed || this.handler.trigger(e, t); 3262 }, r.prototype.clear = function() { 3263 if (!this._disposed) { 3264 for (var e = this.storage.getRoots(), t = 0; t < e.length; t++) e[t] instanceof at && e[t].removeSelfFromZr(this); 3265 this.storage.delAllRoots(), this.painter.clear(); 3266 } 3267 }, r.prototype.dispose = function() { 3268 this._disposed || (this.animation.stop(), this.clear(), this.storage.dispose(), this.painter.dispose(), this.handler.dispose(), this.animation = this.storage = this.painter = this.handler = null, this._disposed = true, qP(this.id
3268)); 3269 }, r; 3270}(); 3271function rd(r, e) { 3272 var t = new jP(Rg(), r, e); 3273 return Xn[t.id] = t, t; 3274} 3275function JP(r) { 3276 r.dispose(); 3277} 3278function QP() { 3279 for (var r in Xn) Xn.hasOwnProperty(r) && Xn[r].dispose(); 3280 Xn = {}; 3281} 3282function tR(r) { 3283 return Xn[r]; 3284} 3285function GT(r, e) { 3286 nf[r] = e; 3287} 3288var ad; 3289function FT(r) { 3290 if (typeof ad == "function") return ad(r); 3291} 3292function HT(r) { 3293 ad = r; 3294} 3295var eR = "5.6.1"; 3296const rR = Object.freeze(Object.defineProperty({ __proto__: null, dispose: JP, disposeAll: QP, getElementSSRData: FT, getInstance: tR, init: rd, registerPainter: GT, registerSSRDataGetter: HT, version: eR }, Symbol.toStringTag, { value: "Module" })); 3297var M0 = 1e-4, WT = 20; 3298function aR(r) { 3299 return r.replace(/^\s+|\s+$/g, ""); 3300} 3301function Dt(r, e, t, a) { 3302 var n = e[0], i = e[1], o = t[0], s = t[1], l = i - n, u = s - o; 3303 if (l === 0) return u === 0 ? o : (o + s) / 2; 3304 if (a) if (l > 0) { 3305 if (r <= n) return o; 3306 if (r >= i) return s; 3307 } else { 3308 if (r >= n) return o; 3309 if (r <= i) return s; 3310 } 3311 else { 3312 if (r === n) return o; 3313 if (r === i) return s; 3314 } 3315 return (r - n) / l * u + o; 3316} 3317function W(r, e) { 3318 switch (r) { 3319 case "center": 3320 case "middle": 3321 r = "50%"; 3322 break; 3323 case "left": 3324 case "top": 3325 r = "0%"; 3326 break; 3327 case "right": 3328 case "bottom": 3329 r = "100%"; 3330 break; 3331 } 3332 return Y(r) ? aR(r).match(/%$/) ? parseFloat(r) / 100 * e : parseFloat(r) : r == null ? NaN : +r; 3333} 3334function Ut(r, e, t) { 3335 return e == null && (e = 10), e = Math.min(Math.max(0, e), WT), r = (+r).toFixed(e), t ? r : +r; 3336} 3337function Xe(r) { 3338 return r.sort(function(e, t) { 3339 return e - t; 3340 }), r; 3341} 3342function Tr(r) { 3343 if (r = +r, isNaN(r)) return 0; 3344 if (r > 1e-14) { 3345 for (var e = 1, t = 0; t < 15; t++, e *= 10) if (Math.round(r * e) / e === r) return t; 3346 } 3347 return UT(r); 3348} 3349function UT(r) { 3350 var e = r.toString().toLowerCase(), t = e.indexOf("e"), a = t > 0 ? +e.slice(t + 1) : 0, n = t > 0 ? t : e.length, i = e.indexOf("."), o = i < 0 ? 0 : n - 1 - i; 3351 return Math.max(0, o - a); 3352} 3353function Fg(r, e) { 3354 var t = Math.log, a = Math.LN10, n = Math.floor(t(r[1] - r[0]) / a), i = Math.round(t(Math.abs(e[1] - e[0])) / a), o = Math.min(Math.max(-n + i, 0), 20); 3355 return isFinite(o) ? o : 20; 3356} 3357function nR(r, e, t) { 3358 if (!r[e]) return 0; 3359 var a = YT(r, t); 3360 return a[e] || 0; 3361} 3362function YT(r, e) { 3363 var t = hr(r, function(c, p) { 3364 return c + (isNaN(p) ? 0 : p); 3365 }, 0); 3366 if (t === 0) return []; 3367 for (var a = Math.pow(10, e), n = G(r, function(c) { 3368 return (isNaN(c) ? 0 : c) / t * a * 100; 3369 }), i = a * 100, o = G(n, function(c) { 3370 return Math.floor(c); 3371 }), s = hr(o, function(c, p) { 3372 return c + p; 3373 }, 0), l = G(n, function(c, p) { 3374 return c - o[p]; 3375 }); s < i; ) { 3376 for (var u = Number.NEGATIVE_INFINITY, f = null, h = 0, v = l.length; h < v; ++h) l[h] > u && (u = l[h], f = h); 3377 ++o[f], l[f] = 0, ++s; 3378 } 3379 return G(o, function(c) { 3380 return c / a; 3381 }); 3382} 3383function iR(r, e) { 3384 var t = Math.max(Tr(r), Tr(e)), a = r + e; 3385 return t > WT ? a : Ut(a, t); 3386} 3387var nd = 9007199254740991; 3388function Hg(r) { 3389 var e = Math.PI * 2; 3390 return (r % e + e) % e; 3391} 3392function yo(r) { 3393 return r > -M0 && r < M0; 3394} 3395var oR = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/; 3396function Ke(r) { 3397 if (r instanceof Date) return r; 3398 if (Y(r)) { 3399 var e = oR.exec(r); 3400 if (!e) return /* @__PURE__ */ new Date(NaN); 3401 if (e[8]) { 3402 var t = +e[4] || 0; 3403 return e[8].toUpperCase() !== "Z" && (t -= +e[8].slice(0, 3)), new Date(Date.UTC(+e[1], +(e[2] || 1) - 1, +e[3] || 1, t, +(e[5] || 0), +e[6] || 0, e[7] ? +e[7].substring(0, 3) : 0)); 3404 } else return new Date(+e[1], +(e[2] || 1) - 1, +e[3] || 1, +e[4] || 0, +(e[5] || 0), +e[6] || 0, e[7] ? +e[7].substring(0, 3) : 0); 3405 } else if (r == null) return /* @__PURE__ */ new Date(NaN); 3406 return new Date(Math.round(r)); 3407} 3408function $T(r) { 3409 return Math.pow(10, Mh(r)); 3410} 3411function Mh(r) { 3412 if (r === 0) return 0; 3413 var e = Math.floor(Math.log(r) / Math.LN10); 3414 return r / Math.pow(10, e) >= 10 && e++, e; 3415} 3416function Wg(r, e) { 3417 var t = Mh(r), a = Math.pow(10, t), n = r / a, i; 3418 return e ? n < 1.5 ? i = 1 : n < 2.5 ? i = 2 : n < 4 ? i = 3 : n < 7 ? i = 5 : i = 10 : n < 1 ? i = 1 : n < 2 ? i = 2 : n < 3 ? i = 3 : n < 5 ? i = 5 : i = 10, r = i * a, t >= -20 ? +r.toFixed(t < 0 ? -t : 0) : r; 3419} 3420function of(r, e) { 3421 var t = (r.length - 1) * e + 1, a = Math.floor(t), n = +r[a - 1], i = t - a; 3422 return i ? n + i * (r[a] - n) : n; 3423} 3424function id(r) { 3425 r.sort(function(l, u) { 3426 return s(l, u, 0) ? -1 : 1; 3427 }); 3428 for (var e = -1 / 0, t = 1, a = 0; a < r.length; ) { 3429 for (var n = r[a].interval, i = r[a].close, o = 0; o < 2; o++) n[o] <= e && (n[o] = e, i[o] = o ? 1 : 1 - t), e = n[o], t = i[o]; 3430 n[0] === n[1] && i[0] * i[1] !== 1 ? r.splice(a, 1) : a++; 3431 } 3432 return r; 3433 function s(l, u, f) { 3434 return l.interval[f] < u.interval[f] || l.interval[f] === u.interval[f] && (l.close[f] - u.close[f] === (f ? -1 : 1) || !f && s(l, u, 1)); 3435 } 3436} 3437function Qr(r) { 3438 var e = parseFloat(r); 3439 return e == r && (e !== 0 || !Y(r) || r.indexOf("x") <= 0) ? e : NaN; 3440} 3441function Ug(r) { 3442 return !isNaN(Qr(r)); 3443} 3444function XT() { 3445 return Math.round(Math.random() * 9); 3446} 3447function ZT(r, e) { 3448 return e === 0 ? r : ZT(e, r % e); 3449} 3450function I0(r, e) { 3451 return r == null ? e : e == null ? r : r * e / ZT(r, e); 3452} 3453function Mt(r) { 3454 throw new Error(r); 3455} 3456function L0(r, e, t) { 3457 return (e - r) * t + r; 3458} 3459var qT = "series\0", KT = "\0_ec_\0"; 3460function Rt(r) { 3461 return r instanceof Array ? r : r == null ? [] : [r]; 3462} 3463function fi(r, e, t) { 3464 if (r) { 3465 r[e] = r[e] || {}, r.emphasis = r.emphasis || {}, r.emphasis[e] = r.emphasis[e] || {}; 3466 for (var a = 0, n = t.length; a < n; a++) { 3467 var i = t[a]; 3468 !r.emphasis[e].hasOwnProperty(i) && r[e].hasOwnProperty(i) && (r.emphasis[e][i] = r[e][i]); 3469 } 3470 } 3471} 3472var P0 = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "rich", "tag", "color", "textBorderColor", "textBorderWidth", "width", "height", "lineHeight", "align", "verticalAlign", "baseline", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY", "backgroundColor", "borderColor", "borderWidth", "borderRadius", "padding"]; 3473function Mo(r) { 3474 return tt(r) && !V(r) && !(r instanceof Date) ? r.value : r; 3475} 3476function sR(r) { 3477 return tt(r) && !(r instanceof Array); 3478} 3479function jT(r, e, t) { 3480 var a = t === "normalMerge", n = t === "replaceMerge", i = t === "replaceAll"; 3481 r = r || [], e = (e || []).slice(); 3482 var o = Z(); 3483 D(e, function(l, u) { 3484 if (!tt(l)) { 3485 e[u] = null; 3486 return; 3487 } 3488 }); 3489 var s = lR(r, o, t); 3490 return (a || n) && uR(s, r, o, e), a && fR(s, e), a || n ? hR(s, e, n) : i && vR(s, e), cR(s), s; 3491} 3492function lR(r, e, t) { 3493 var a = []; 3494 if (t === "replaceAll") return a; 3495 for (var n = 0; n < r.length; n++) { 3496 var i = r[n]; 3497 i && i.id != null && e.set(i.id, n), a.push({ existing: t === "replaceMerge" || ol(i) ? null : i, newOption: null, keyInfo: null, brandNew: null }); 3498 } 3499 return a; 3500} 3501function uR(r, e, t, a) { 3502 D(a, function(n, i) { 3503 if (!(!n || n.id == null)) { 3504 var o = Fs(n.id), s = t.get(o); 3505 if (s != null) { 3506 var l = r[s]; 3507 we(!l.newOption, 'Duplicated option on id "' + o + '".'), l.newOption = n, l.existing = e[s], a[i] = null; 3508 } 3509 } 3510 }); 3511} 3512function fR(r, e) { 3513 D(e, function(t, a) { 3514 if (!(!t || t.name == null)) for (var n = 0; n < r.length; n++) { 3515 var i = r[n].existing; 3516 if (!r[n].newOption && i && (i.id == null || t.id == null) && !ol(t) && !ol(i) && JT("name", i, t)) { 3517 r[n].newOption = t, e[a] = null; 3518 return; 3519 } 3520 } 3521 }); 3522} 3523function hR(r, e, t) { 3524 D(e, function(a) { 3525 if (a) { 3526 for (var n, i = 0; (n = r[i]) && (n.newOption || ol(n.existing) || n.existing && a.id != null && !JT("id", a, n.existing)); ) i++; 3527 n ? (n.newOption = a, n.brandNew = t) : r.push({ newOption: a, brandNew: t, existing: null, keyInfo: null }), i++; 3528 } 3529 }); 3530} 3531function vR(r, e) { 3532 D(e, function(t) { 3533 r.push({ newOption: t, brandNew: true, existing: null, keyInfo: null }); 3534 }); 3535} 3536function cR(r) { 3537 var e = Z(); 3538 D(r, function(t) { 3539 var a = t.existing; 3540 a && e.set(a.id, t); 3541 }), D(r, function(t) { 3542 var a = t.newOption; 3543 we(!a || a.id == null || !e.get(a.id) || e.get(a.id) === t, "id duplicates: " + (a && a.id)), a && a.id != null && e.set(a.id, t), !t.keyInfo && (t.keyInfo = {}); 3544 }), D(r, function(t, a) { 3545 var n = t.existing, i = t.newOption, o = t.keyInfo; 3546 if (tt(i)) { 3547 if (o.name = i.name != null ? Fs(i.name) : n ? n.name : qT + a, n) o.id = Fs(n.id); 3548 else if (i.id != null) o.id = Fs(i.id); 3549 else { 3550 var s = 0; 3551 do 3552 o.id = "\0" + o.name + "\0" + s++; 3553 while (e.get(o.id)); 3554 } 3555 e.set(o.id, t); 3556 } 3557 }); 3558} 3559function JT(r, e, t) { 3560 var a = te(e[r], null), n = te(t[r], null); 3561 return a != null && n != null && a === n; 3562} 3563function Fs(r) { 3564 return te(r, ""); 3565} 3566function te(r, e) { 3567 return r == null ? e : Y(r) ? r : wt(r) || Sf(r) ? r + "" : e; 3568} 3569function Yg(r) { 3570 var e = r.name; 3571 return !!(e && e.indexOf(qT)); 3572} 3573function ol(r) { 3574 return r && r.id != null && Fs(r.id).indexOf(KT) === 0; 3575} 3576function pR(r) { 3577 return KT + r; 3578} 3579function dR(r, e, t) { 3580 D(r, function(a) { 3581 var n = a.newOption; 3582 tt(n) && (a.keyInfo.mainType = e, a.keyInfo.subType = gR(e, n, a.existing, t)); 3583 }); 3584} 3585function gR(r, e, t, a) { 3586 var n = e.type ? e.type : t ? t.subType : a.determineSubType(r, e); 3587 return n; 3588} 3589function yR(r, e) { 3590 var t = {}, a = {}; 3591 return n(r || [], t), n(e || [], a, t), [i(t), i(a)]; 3592 function n(o, s, l) { 3593 for (var u = 0, f = o.length; u < f; u++) { 3594 var h = te(o[u].seriesId, null); 3595 if (h == null) return; 3596 for (var v = Rt(o[u].dataIndex), c = l && l[h], p = 0, d = v.length; p < d; p++) { 3597 var g = v[p]; 3598 c && c[g] ? c[g] = null : (s[h] || (s[h] = {}))[g] = 1; 3599 } 3600 } 3601 } 3602 function i(o, s) { 3603 var l = []; 3604 for (var u in o) if (o.hasOwnProperty(u) && o[u] != null) if (s) l.push(+u); 3605 else { 3606 var f = i(o[u], true); 3607 f.length && l.push({ seriesId: u, dataIndex: f }); 3608 } 3609 return l; 3610 } 3611} 3612function hi(r, e) { 3613 if (e.dataIndexInside != null) return e.dataIndexInside; 3614 if (e.dataIndex != null) return V(e.dataIndex) ? G(e.dataIndex, function(t) { 3615 return r.indexOfRawIndex(t); 3616 }) : r.indexOfRawIndex(e.dataIndex); 3617 if (e.name != null) return V(e.name) ? G(e.name, function(t) { 3618 return r.indexOfName(t); 3619 }) : r.indexOfName(e.name); 3620} 3621function bt() { 3622 var r = "__ec_inner_" + mR++; 3623 return function(e) { 3624 return e[r] || (e[r] = {}); 3625 }; 3626} 3627var mR = XT(); 3628function Hs(r, e, t) { 3629 var a = $g(e, t), n = a.mainTypeSpecified, i = a.queryOptionMap, o = a.others, s = o, l = t ? t.defaultMainType : null; 3630 return !n && l && i.set(l, {}), i.each(function(u, f) { 3631 var h = kl(r, f, u, { useDefault: l === f, enableAll: t && t.enableAll != null ? t.enableAll : true, enableNone: t && t.enableNone != null ? t.enableNone : true }); 3632 s[f + "Models"] = h.models, s[f + "Model"] = h.models[0]; 3633 }), s; 3634} 3635function $g(r, e) { 3636 var t; 3637 if (Y(r)) { 3638 var a = {}; 3639 a[r + "Index"] = 0, t = a; 3640 } else t = r; 3641 var n = Z(), i = {}, o = false;
3642 return D(t, function(s, l) { 3643 if (l === "dataIndex" || l === "dataIndexInside") { 3644 i[l] = s; 3645 return; 3646 } 3647 var u = l.match(/^(\w+)(Index|Id|Name)$/) || [], f = u[1], h = (u[2] || "").toLowerCase(); 3648 if (!(!f || !h || e && e.includeMainTypes && vt(e.includeMainTypes, f) < 0)) { 3649 o = o || !!f; 3650 var v = n.get(f) || n.set(f, {}); 3651 v[h] = s; 3652 } 3653 }), { mainTypeSpecified: o, queryOptionMap: n, others: i }; 3654} 3655var Jt = { useDefault: true, enableAll: false, enableNone: false }, _R = { useDefault: false, enableAll: true, enableNone: true }; 3656function kl(r, e, t, a) { 3657 a = a || Jt; 3658 var n = t.index, i = t.id, o = t.name, s = { models: null, specified: n != null || i != null || o != null }; 3659 if (!s.specified) { 3660 var l = void 0; 3661 return s.models = a.useDefault && (l = r.getComponent(e)) ? [l] : [], s; 3662 } 3663 return n === "none" || n === false ? (we(a.enableNone, '`"none"` or `false` is not a valid value on index option.'), s.models = [], s) : (n === "all" && (we(a.enableAll, '`"all"` is not a valid value on index option.'), n = i = o = null), s.models = r.queryComponents({ mainType: e, index: n, id: i, name: o }), s); 3664} 3665function QT(r, e, t) { 3666 r.setAttribute ? r.setAttribute(e, t) : r[e] = t; 3667} 3668function SR(r, e) { 3669 return r.getAttribute ? r.getAttribute(e) : r[e]; 3670} 3671function xR(r) { 3672 return r === "auto" ? yt.domSupported ? "html" : "richText" : r || "html"; 3673} 3674function od(r, e) { 3675 var t = Z(), a = []; 3676 return D(r, function(n) { 3677 var i = e(n); 3678 (t.get(i) || (a.push(i), t.set(i, []))).push(n); 3679 }), { keys: a, buckets: t }; 3680} 3681function tC(r, e, t, a, n) { 3682 var i = e == null || e === "auto"; 3683 if (a == null) return a; 3684 if (wt(a)) { 3685 var o = L0(t || 0, a, n); 3686 return Ut(o, i ? Math.max(Tr(t || 0), Tr(a)) : e); 3687 } else { 3688 if (Y(a)) return n < 1 ? t : a; 3689 for (var s = [], l = t, u = a, f = Math.max(l ? l.length : 0, u.length), h = 0; h < f; ++h) { 3690 var v = r.getDimensionInfo(h); 3691 if (v && v.type === "ordinal") s[h] = (n < 1 && l ? l : u)[h]; 3692 else { 3693 var c = l && l[h] ? l[h] : 0, p = u[h], o = L0(c, p, n); 3694 s[h] = Ut(o, i ? Math.max(Tr(c), Tr(p)) : e); 3695 } 3696 } 3697 return s; 3698 } 3699} 3700var bR = ".", _n = "___EC__COMPONENT__CONTAINER___", eC = "___EC__EXTENDED_CLASS___"; 3701function Yr(r) { 3702 var e = { main: "", sub: "" }; 3703 if (r) { 3704 var t = r.split(bR); 3705 e.main = t[0] || "", e.sub = t[1] || ""; 3706 } 3707 return e; 3708} 3709function wR(r) { 3710 we(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(r), 'componentType "' + r + '" illegal'); 3711} 3712function TR(r) { 3713 return !!(r && r[eC]); 3714} 3715function Xg(r, e) { 3716 r.$constructor = r, r.extend = function(t) { 3717 var a = this, n; 3718 return CR(a) ? n = function(i) { 3719 N(o, i); 3720 function o() { 3721 return i.apply(this, arguments) || this; 3722 } 3723 return o; 3724 }(a) : (n = function() { 3725 (t.$constructor || a).apply(this, arguments); 3726 }, Eg(n, this)), z(n.prototype, t), n[eC] = true, n.extend = this.extend, n.superCall = MR, n.superApply = IR, n.superClass = a, n; 3727 }; 3728} 3729function CR(r) { 3730 return j(r) && /^class\s/.test(Function.prototype.toString.call(r)); 3731} 3732function rC(r, e) { 3733 r.extend = e.extend; 3734} 3735var AR = Math.round(Math.random() * 10); 3736function DR(r) { 3737 var e = ["__\0is_clz", AR++].join("_"); 3738 r.prototype[e] = true, r.isInstance = function(t) { 3739 return !!(t && t[e]); 3740 }; 3741} 3742function MR(r, e) { 3743 for (var t = [], a = 2; a < arguments.length; a++) t[a - 2] = arguments[a]; 3744 return this.superClass.prototype[e].apply(r, t); 3745} 3746function IR(r, e, t) { 3747 return this.superClass.prototype[e].apply(r, t); 3748} 3749function Ih(r) { 3750 var e = {}; 3751 r.registerClass = function(a) { 3752 var n = a.type || a.prototype.type; 3753 if (n) { 3754 wR(n), a.prototype.type = n; 3755 var i = Yr(n); 3756 if (!i.sub) e[i.main] = a; 3757 else if (i.sub !== _n) { 3758 var o = t(i); 3759 o[i.sub] = a; 3760 } 3761 } 3762 return a; 3763 }, r.getClass = function(a, n, i) { 3764 var o = e[a]; 3765 if (o && o[_n] && (o = n ? o[n] : null), i && !o) throw new Error(n ? "Component " + a + "." + (n || "") + " is used but not imported." : a + ".type should be specified."); 3766 return o; 3767 }, r.getClassesByMainType = function(a) { 3768 var n = Yr(a), i = [], o = e[n.main]; 3769 return o && o[_n] ? D(o, function(s, l) { 3770 l !== _n && i.push(s); 3771 }) : i.push(o), i; 3772 }, r.hasClass = function(a) { 3773 var n = Yr(a); 3774 return !!e[n.main]; 3775 }, r.getAllClassMainTypes = function() { 3776 var a = []; 3777 return D(e, function(n, i) { 3778 a.push(i); 3779 }), a; 3780 }, r.hasSubTypes = function(a) { 3781 var n = Yr(a), i = e[n.main]; 3782 return i && i[_n]; 3783 }; 3784 function t(a) { 3785 var n = e[a.main]; 3786 return (!n || !n[_n]) && (n = e[a.main] = {}, n[_n] = true), n; 3787 } 3788} 3789function vi(r, e) { 3790 for (var t = 0; t < r.length; t++) r[t][1] || (r[t][1] = r[t][0]); 3791 return e = e || false, function(a, n, i) { 3792 for (var o = {}, s = 0; s < r.length; s++) { 3793 var l = r[s][1]; 3794 if (!(n && vt(n, l) >= 0 || i && vt(i, l) < 0)) { 3795 var u = a.getShallow(l, e); 3796 u != null && (o[r[s][0]] = u); 3797 } 3798 } 3799 return o; 3800 }; 3801} 3802var LR = [["fill", "color"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["opacity"], ["shadowColor"]], PR = vi(LR), RR = function() { 3803 function r() { 3804 } 3805 return r.prototype.getAreaStyle = function(e, t) { 3806 return PR(this, e, t); 3807 }, r; 3808}(), sd = new Rl(50); 3809function ER(r) { 3810 if (typeof r == "string") { 3811 var e = sd.get(r); 3812 return e && e.image; 3813 } else return r; 3814} 3815function Zg(r, e, t, a, n) { 3816 if (r) if (typeof r == "string") { 3817 if (e && e.__zrImageSrc === r || !t) return e; 3818 var i = sd.get(r), o = { hostEl: t, cb: a, cbPayload: n }; 3819 return i ? (e = i.image, !Lh(e) && i.pending.push(o)) : (e = Lr.loadImage(r, R0, R0), e.__zrImageSrc = r, sd.put(r, e.__cachedImgObj = { image: e, pending: [o] })), e; 3820 } else return r; 3821 else return e; 3822} 3823function R0() { 3824 var r = this.__cachedImgObj; 3825 this.onload = this.onerror = this.__cachedImgObj = null; 3826 for (var e = 0; e < r.pending.length; e++) { 3827 var t = r.pending[e], a = t.cb; 3828 a && a(this, t.cbPayload), t.hostEl.dirty(); 3829 } 3830 r.pending.length = 0; 3831} 3832function Lh(r) { 3833 return r && r.width && r.height; 3834} 3835var Rv = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g; 3836function kR(r, e, t, a, n) { 3837 var i = {}; 3838 return aC(i, r, e, t, a, n), i.text; 3839} 3840function aC(r, e, t, a, n, i) { 3841 if (!t) { 3842 r.text = "", r.isTruncated = false;
3843 return; 3844 } 3845 var o = (e + "").split(` 3846`); 3847 i = nC(t, a, n, i); 3848 for (var s = false, l = {}, u = 0, f = o.length; u < f; u++) iC(l, o[u], i), o[u] = l.textLine, s = s || l.isTruncated; 3849 r.text = o.join(` 3850`), r.isTruncated = s; 3851} 3852function nC(r, e, t, a) { 3853 a = a || {}; 3854 var n = z({}, a); 3855 n.font = e, t = st(t, "..."), n.maxIterations = st(a.maxIterations, 2); 3856 var i = n.minChar = st(a.minChar, 0); 3857 n.cnCharWidth = qe("\u56FD", e); 3858 var o = n.ascCharWidth = qe("a", e); 3859 n.placeholder = st(a.placeholder, ""); 3860 for (var s = r = Math.max(0, r - 1), l = 0; l < i && s >= o; l++) s -= o; 3861 var u = qe(t, e); 3862 return u > s && (t = "", u = 0), s = r - u, n.ellipsis = t, n.ellipsisWidth = u, n.contentWidth = s, n.containerWidth = r, n; 3863} 3864function iC(r, e, t) { 3865 var a = t.containerWidth, n = t.font, i = t.contentWidth; 3866 if (!a) { 3867 r.textLine = "", r.isTruncated = false; 3868 return; 3869 } 3870 var o = qe(e, n); 3871 if (o <= a) { 3872 r.textLine = e, r.isTruncated = false; 3873 return; 3874 } 3875 for (var s = 0; ; s++) { 3876 if (o <= i || s >= t.maxIterations) { 3877 e += t.ellipsis; 3878 break; 3879 } 3880 var l = s === 0 ? OR(e, i, t.ascCharWidth, t.cnCharWidth) : o > 0 ? Math.floor(e.length * i / o) : 0; 3881 e = e.substr(0, l), o = qe(e, n); 3882 } 3883 e === "" && (e = t.placeholder), r.textLine = e, r.isTruncated = true; 3884} 3885function OR(r, e, t, a) { 3886 for (var n = 0, i = 0, o = r.length; i < o && n < e; i++) { 3887 var s = r.charCodeAt(i); 3888 n += 0 <= s && s <= 127 ? t : a; 3889 } 3890 return i; 3891} 3892function NR(r, e) { 3893 r != null && (r += ""); 3894 var t = e.overflow, a = e.padding, n = e.font, i = t === "truncate", o = Ah(n), s = st(e.lineHeight, o), l = !!e.backgroundColor, u = e.lineOverflow === "truncate", f = false, h = e.width, v; 3895 h != null && (t === "break" || t === "breakAll") ? v = r ? oC(r, e.font, h, t === "breakAll", 0).lines : [] : v = r ? r.split(` 3896`) : []; 3897 var c = v.length * s, p = st(e.height, c); 3898 if (c > p && u) { 3899 var d = Math.floor(p / s); 3900 f = f || v.length > d, v = v.slice(0, d); 3901 } 3902 if (r && i && h != null) for (var g = nC(h, n, e.ellipsis, { minChar: e.truncateMinChar, placeholder: e.placeholder }), y = {}, m = 0; m < v.length; m++) iC(y, v[m], g), v[m] = y.textLine, f = f || y.isTruncated; 3903 for (var _ = p, S = 0, m = 0; m < v.length; m++) S = Math.max(qe(v[m], n), S); 3904 h == null && (h = S); 3905 var b = S; 3906 return a && (_ += a[0] + a[2], b += a[1] + a[3], h += a[1] + a[3]), l && (b = h), { lines: v, height: p, outerWidth: b, outerHeight: _, lineHeight: s, calculatedLineHeight: o, contentWidth: S, contentHeight: c, width: h, isTruncated: f }; 3907} 3908var BR = /* @__PURE__ */ function() { 3909 function r() { 3910 } 3911 return r; 3912}(), E0 = /* @__PURE__ */ function() { 3913 function r(e) { 3914 this.tokens = [], e && (this.tokens = e); 3915 } 3916 return r; 3917}(), zR = /* @__PURE__ */ function() { 3918 function r() { 3919 this.width = 0, this.height = 0, this.contentWidth = 0, this.contentHeight = 0, this.outerWidth = 0, this.outerHeight = 0, this.lines = [], this.isTruncated = false; 3920 } 3921 return r; 3922}(); 3923function VR(r, e) { 3924 var t = new zR(); 3925 if (r != null && (r += ""), !r) return t; 3926 for (var a = e.width, n = e.height, i = e.overflow, o = (i === "break" || i === "breakAll") && a != null ? { width: a, accumWidth: 0, breakAll: i === "breakAll" } : null, s = Rv.lastIndex = 0, l; (l = Rv.exec(r)) != null; ) { 3927 var u = l.index; 3928 u > s && Ev(t, r.substring(s, u), e, o), Ev(t, l[2], e, o, l[1]), s = Rv.lastIndex; 3929 } 3930 s < r.length && Ev(t, r.substring(s, r.length), e, o); 3931 var f = [], h = 0, v = 0, c = e.padding, p = i === "truncate", d = e.lineOverflow === "truncate", g = {}; 3932 function y(F, H, U) { 3933 F.width = H, F.lineHeight = U, h += U, v = Math.max(v, H); 3934 } 3935 t: for (var m = 0; m < t.lines.length; m++) { 3936 for (var _ = t.lines[m], S = 0, b = 0, x = 0; x < _.tokens.length; x++) { 3937 var w = _.tokens[x], T = w.styleName && e.rich[w.styleName] || {}, C = w.textPadding = T.padding, A = C ? C[1] + C[3] : 0, M = w.font = T.font || e.font; 3938 w.contentHeight = Ah(M); 3939 var I = st(T.height, w.contentHeight); 3940 if (w.innerHeight = I, C && (I += C[0] + C[2]), w.height = I, w.lineHeight = Ar(T.lineHeight, e.lineHeight, I), w.align = T && T.align || e.align, w.verticalAlign = T && T.verticalAlign || "middle", d && n != null && h + w.lineHeight > n) { 3941 var L = t.lines.length; 3942 x > 0 ? (_.tokens = _.tokens.slice(0, x), y(_, b, S), t.lines = t.lines.slice(0, m + 1)) : t.lines = t.lines.slice(0, m), t.isTruncated = t.isTruncated || t.lines.length < L; 3943 break t; 3944 } 3945 var P = T.width, R = P == null || P === "auto"; 3946 if (typeof P == "string" && P.charAt(P.length - 1) === "%") w.percentWidth = P, f.push(w), w.contentWidth = qe(w.text, M); 3947 else { 3948 if (R) { 3949 var E = T.backgroundColor, O = E && E.image; 3950 O && (O = ER(O), Lh(O) && (w.width = Math.max(w.width, O.width * I / O.height))); 3951 } 3952 var k = p && a != null ? a - b : null; 3953 k != null && k < w.width ? !R || k < A ? (w.text = "", w.width = w.contentWidth = 0) : (aC(g, w.text, k - A, M, e.ellipsis, { minChar: e.truncateMinChar }), w.text = g.text, t.isTruncated = t.isTruncated || g.isTruncated, w.width = w.contentWidth = qe(w.text, M)) : w.contentWidth = qe(w.text, M); 3954 } 3955 w.width += A, b += w.width, T && (S = Math.max(S, w.lineHeight)); 3956 } 3957 y(_, b, S); 3958 } 3959 t.outerWidth = t.width = st(a, v), t.outerHeight = t.height = st(n, h), t.contentHeight = h, t.contentWidth = v, c && (t.outerWidth += c[1] + c[3], t.outerHeight += c[0] + c[2]); 3960 for (var m = 0; m < f.length; m++) { 3961 var w = f[m], B = w.percentWidth; 3962 w.width = parseInt(B, 10) / 100 * t.width; 3963 } 3964 return t; 3965} 3966function Ev(r, e, t, a, n) { 3967 var i = e === "", o = n && t.rich[n] || {}, s = r.lines, l = o.font || t.font, u = false, f, h; 3968 if (a) { 3969 var v = o.padding, c = v ? v[1] + v[3] : 0; 3970 if (o.width != null && o.width !== "auto") { 3971 var p = Rr(o.width, a.width) + c; 3972 s.length > 0 && p + a.accumWidth > a.width && (f = e.split(` 3973`), u = true), a.accumWidth = p; 3974 } else { 3975 var d = oC(e, l, a.width, a.breakAll, a.accumWidth); 3976 a.accumWidth = d.accumWidth + c, h = d.linesWidths, f = d.lines; 3977 } 3978 } else f = e.split(` 3979`); 3980 for (var g = 0; g < f.length; g++) { 3981 var y = f[g], m = new BR(); 3982 if (m.styleName = n, m.text = y, m.isLineHolder = !y && !i, typeof o.width == "number" ? m.width = o.width : m.width = h ? h[g] : qe(y, l), !g && !u) { 3983 var _ = (s[s.length - 1] || (s[0] = new E0())).tokens, S = _.length; 3984 S === 1 && _[0].isLineHolder ? _[0] = m : (y || !S || i) && _.push(m); 3985 } else s.push(new E0([m])); 3986 } 3987} 3988function GR(r) { 3989 var e = r.charCodeAt(0); 3990 return e >= 32 && e <= 591 || e >= 880 && e <= 4351 || e >= 4608 && e <= 5119 || e >= 7680 && e <= 8303; 3991} 3992var FR = hr(",&?/;] ".split(""), function(r, e) { 3993 return r[e] = true, r; 3994}, {}); 3995function HR(r) { 3996 return GR(r) ? !!FR[r] : true; 3997} 3998function oC(r, e, t, a, n) { 3999 for (var i = [], o = [], s = "", l = "", u = 0, f = 0, h = 0; h < r.length; h++) { 4000 var v = r.charAt(h); 4001 if (v === ` 4002`) { 4003 l && (s += l, f += u), i.push(s), o.push(f), s = "", l = "", u = 0, f = 0; 4004 continue; 4005 } 4006 var c = qe(v, e), p = a ? false : !HR(v); 4007 if (i.length ? f + c > t : n + f + c > t) { 4008 f ? (s || l) && (p ? (s || (s = l, l = "", u = 0, f = u), i.push(s), o.push(f - u), l += v, u += c, s = "", f = u) : (l && (s += l, l = "", u = 0), i.push(s), o.push(f), s = v, f = c)) : p ? (i.push(l), o.push(u), l = v, u = c) : (i.push(v), o.push(c)); 4009 continue; 4010 } 4011 f += c, p ? (l += v, u += c) : (l && (s += l, l = "", u = 0), s += v); 4012 } 4013 return !i.length && !s && (s = r, l = "", u = 0), l && (s += l), s && (i.push(s), o.push(f)), i.length === 1 && (f += n), { accumWidth: f, lines: i, linesWidths: o }; 4014} 4015var ld = "__zr_style_" + Math.round(Math.random() * 10), ri = { shadowBlur: 0, shadowOffsetX: 0, shadowOffsetY: 0, shadowColor: "#000", opacity: 1, blend: "source-over" }, Ph = { style: { shadowBlur: true, shadowOffsetX: true, shadowOffsetY: true, shadowColor: true, op
4015acity: true } }; 4016ri[ld] = true; 4017var k0 = ["z", "z2", "invisible"], WR = ["invisible"], vr = function(r) { 4018 Ft(e, r); 4019 function e(t) { 4020 return r.call(this, t) || this; 4021 } 4022 return e.prototype._init = function(t) { 4023 for (var a = _t(t), n = 0; n < a.length; n++) { 4024 var i = a[n]; 4025 i === "style" ? this.useStyle(t[i]) : r.prototype.attrKV.call(this, i, t[i]); 4026 } 4027 this.style || this.useStyle({}); 4028 }, e.prototype.beforeBrush = function() { 4029 }, e.prototype.afterBrush = function() { 4030 }, e.prototype.innerBeforeBrush = function() { 4031 }, e.prototype.innerAfterBrush = function() { 4032 }, e.prototype.shouldBePainted = function(t, a, n, i) { 4033 var o = this.transform; 4034 if (this.ignore || this.invisible || this.style.opacity === 0 || this.culling && UR(this, t, a) || o && !o[0] && !o[3]) return false; 4035 if (n && this.__clipPaths) { 4036 for (var s = 0; s < this.__clipPaths.length; ++s) if (this.__clipPaths[s].isZeroArea()) return false; 4037 } 4038 if (i && this.parent) for (var l = this.parent; l; ) { 4039 if (l.ignore) return false; 4040 l = l.parent; 4041 } 4042 return true; 4043 }, e.prototype.contain = function(t, a) { 4044 return this.rectContain(t, a); 4045 }, e.prototype.traverse = function(t, a) { 4046 t.call(a, this); 4047 }, e.prototype.rectContain = function(t, a) { 4048 var n = this.transformCoordToLocal(t, a), i = this.getBoundingRect(); 4049 return i.contain(n[0], n[1]); 4050 }, e.prototype.getPaintRect = function() { 4051 var t = this._paintRect; 4052 if (!this._paintRect || this.__dirty) { 4053 var a = this.transform, n = this.getBoundingRect(), i = this.style, o = i.shadowBlur || 0, s = i.shadowOffsetX || 0, l = i.shadowOffsetY || 0; 4054 t = this._paintRect || (this._paintRect = new ht(0, 0, 0, 0)), a ? ht.applyTransform(t, n, a) : t.copy(n), (o || s || l) && (t.width += o * 2 + Math.abs(s), t.height += o * 2 + Math.abs(l), t.x = Math.min(t.x, t.x + s - o), t.y = Math.min(t.y, t.y + l - o)); 4055 var u = this.dirtyRectTolerance; 4056 t.isZero() || (t.x = Math.floor(t.x - u), t.y = Math.floor(t.y - u), t.width = Math.ceil(t.width + 1 + u * 2), t.height = Math.ceil(t.height + 1 + u * 2)); 4057 } 4058 return t; 4059 }, e.prototype.setPrevPaintRect = function(t) { 4060 t ? (this._prevPaintRect = this._prevPaintRect || new ht(0, 0, 0, 0), this._prevPaintRect.copy(t)) : this._prevPaintRect = null; 4061 }, e.prototype.getPrevPaintRect = function() { 4062 return this._prevPaintRect; 4063 }, e.prototype.animateStyle = function(t) { 4064 return this.animate("style", t); 4065 }, e.prototype.updateDuringAnimation = function(t) { 4066 t === "style" ? this.dirtyStyle() : this.markRedraw(); 4067 }, e.prototype.attrKV = function(t, a) { 4068 t !== "style" ? r.prototype.attrKV.call(this, t, a) : this.style ? this.setStyle(a) : this.useStyle(a); 4069 }, e.prototype.setStyle = function(t, a) { 4070 return typeof t == "string" ? this.style[t] = a : z(this.style, t), this.dirtyStyle(), this; 4071 }, e.prototype.dirtyStyle = function(t) { 4072 t || this.markRedraw(), this.__dirty |= bs, this._rect && (this._rect = null); 4073 }, e.prototype.dirty = function() { 4074 this.dirtyStyle(); 4075 }, e.prototype.styleChanged = function() { 4076 return !!(this.__dirty & bs); 4077 }, e.prototype.styleUpdated = function() { 4078 this.__dirty &= ~bs; 4079 }, e.prototype.createStyle = function(t) { 4080 return Ll(ri, t); 4081 }, e.prototype.useStyle = function(t) { 4082 t[ld] || (t = this.createStyle(t)), this.__inHover ? this.__hoverStyle = t : this.style = t, this.dirtyStyle(); 4083 }, e.prototype.isStyleObject = function(t) { 4084 return t[ld]; 4085 }, e.prototype._innerSaveToNormal = function(t) { 4086 r.prototype._innerSaveToNormal.call(this, t); 4087 var a = this._normalState; 4088 t.style && !a.style && (a.style = this._mergeStyle(this.createStyle(), this.style)), this._savePrimaryToNormal(t, a, k0); 4089 }, e.prototype._applyStateObj = function(t, a, n, i, o, s) { 4090 r.prototype._applyStateObj.call(this, t, a, n, i, o, s); 4091 var l = !(a && i), u; 4092 if (a && a.style ? o ? i ? u = a.style : (u = this._mergeStyle(this.createStyle(), n.style), this._mergeStyle(u, a.style)) : (u = this._mergeStyle(this.createStyle(), i ? this.style : n.style), this._mergeStyle(u, a.style)) : l && (u = n.style), u) if (o) { 4093 var f = this.style; 4094 if (this.style = this.createStyle(l ? {} : f), l) for (var h = _t(f), v = 0; v < h.length; v++) { 4095 var c = h[v]; 4096 c in u && (u[c] = u[c], this.style[c] = f[c]); 4097 } 4098 for (var p = _t(u), v = 0; v < p.length; v++) { 4099 var c = p[v]; 4100 this.style[c] = this.style[c]; 4101 } 4102 this._transitionState(t, { style: u }, s, this.getAnimationStyleProps()); 4103 } else this.useStyle(u); 4104 for (var d = this.__inHover ? WR : k0, v = 0; v < d.length; v++) { 4105 var c = d[v]; 4106 a && a[c] != null ? this[c] = a[c] : l && n[c] != null && (this[c] = n[c]); 4107 } 4108 }, e.prototype._mergeStates = function(t) { 4109 for (var a = r.prototype._mergeStates.call(this, t), n, i = 0; i < t.length; i++) { 4110 var o = t[i]; 4111 o.style && (n = n || {}, this._mergeStyle(n, o.style)); 4112 } 4113 return n && (a.style = n), a; 4114 }, e.prototype._mergeStyle = function(t, a) { 4115 return z(t, a), t; 4116 }, e.prototype.getAnimationStyleProps = function() { 4117 return Ph; 4118 }
4118, e.initDefaultProps = function() { 4119 var t = e.prototype; 4120 t.type = "displayable", t.invisible = false, t.z = 0, t.z2 = 0, t.zlevel = 0, t.culling = false, t.cursor = "pointer", t.rectHover = false, t.incremental = false, t._rect = null, t.dirtyRectTolerance = 0, t.__dirty = Ye | bs; 4121 }(), e; 4122}(Dh), kv = new ht(0, 0, 0, 0), Ov = new ht(0, 0, 0, 0); 4123function UR(r, e, t) { 4124 return kv.copy(r.getBoundingRect()), r.transform && kv.applyTransform(r.transform), Ov.width = e, Ov.height = t, !kv.intersect(Ov); 4125} 4126var Ve = Math.min, Ge = Math.max, Nv = Math.sin, Bv = Math.cos, Sn = Math.PI * 2, lu = sn(), uu = sn(), fu = sn(); 4127function Rh(r, e, t) { 4128 if (r.length !== 0) { 4129 for (var a = r[0], n = a[0], i = a[0], o = a[1], s = a[1], l = 1; l < r.length; l++) a = r[l], n = Ve(n, a[0]), i = Ge(i, a[0]), o = Ve(o, a[1]), s = Ge(s, a[1]); 4130 e[0] = n, e[1] = o, t[0] = i, t[1] = s; 4131 } 4132} 4133function O0(r, e, t, a, n, i) { 4134 n[0] = Ve(r, t), n[1] = Ve(e, a), i[0] = Ge(r, t), i[1] = Ge(e, a); 4135} 4136var N0 = [], B0 = []; 4137function YR(r, e, t, a, n, i, o, s, l, u) { 4138 var f = wT, h = ae, v = f(r, t, n, o, N0); 4139 l[0] = 1 / 0, l[1] = 1 / 0, u[0] = -1 / 0, u[1] = -1 / 0; 4140 for (var c = 0; c < v; c++) { 4141 var p = h(r, t, n, o, N0[c]); 4142 l[0] = Ve(p, l[0]), u[0] = Ge(p, u[0]); 4143 } 4144 v = f(e, a, i, s, B0); 4145 for (var c = 0; c < v; c++) { 4146 var d = h(e, a, i, s, B0[c]); 4147 l[1] = Ve(d, l[1]), u[1] = Ge(d, u[1]); 4148 } 4149 l[0] = Ve(r, l[0]), u[0] = Ge(r, u[0]), l[0] = Ve(o, l[0]), u[0] = Ge(o, u[0]), l[1] = Ve(e, l[1]), u[1] = Ge(e, u[1]), l[1] = Ve(s, l[1]), u[1] = Ge(s, u[1]); 4150} 4151function $R(r, e, t, a, n, i, o, s) { 4152 var l = CT, u = fe, f = Ge(Ve(l(r, t, n), 1), 0), h = Ge(Ve(l(e, a, i), 1), 0), v = u(r, t, n, f), c = u(e, a, i, h); 4153 o[0] = Ve(r, n, v), o[1] = Ve(e, i, c), s[0] = Ge(r, n, v), s[1] = Ge(e, i, c); 4154} 4155function XR(r, e, t, a, n, i, o, s, l) { 4156 var u = ha, f = va, h = Math.abs(n - i); 4157 if (h % Sn < 1e-4 && h > 1e-4) { 4158 s[0] = r - t, s[1] = e - a, l[0] = r + t, l[1] = e + a; 4159 return; 4160 } 4161 if (lu[0] = Bv(n) * t + r, lu[1] = Nv(n) * a + e, uu[0] = Bv(i) * t + r, uu[1] = Nv(i) * a + e, u(s, lu, uu), f(l, lu, uu), n = n % Sn, n < 0 && (n = n + Sn), i = i % Sn, i < 0 && (i = i + Sn), n > i && !o ? i += Sn : n < i && o && (n += Sn), o) { 4162 var v = i; 4163 i = n, n = v; 4164 } 4165 for (var c = 0; c < i; c += Math.PI / 2) c > n && (fu[0] = Bv(c) * t + r, fu[1] = Nv(c) * a + e, u(s, fu, s), f(l, fu, l)); 4166} 4167var Ot = { M: 1, L: 2, C: 3, Q: 4, A: 5, Z: 6, R: 7 }, xn = [], bn = [], Or = [], Da = [], Nr = [], Br = [], zv = Math.min, Vv = Math.max, wn = Math.cos, Tn = Math.sin, ia = Math.abs, ud = Math.PI, Oa = ud * 2, Gv = typeof Float32Array < "u", Jo = []; 4168function Fv(r) { 4169 var e = Math.round(r / ud * 1e8) / 1e8; 4170 return e % 2 * ud; 4171} 4172function qg(r, e) { 4173 var t = Fv(r[0]); 4174 t < 0 && (t += Oa); 4175 var a = t - r[0], n = r[1]; 4176 n += a, !e && n - t >= Oa ? n = t + Oa : e && t - n >= Oa ? n = t - Oa : !e && t > n ? n = t + (Oa - Fv(t - n)) : e && t < n && (n = t - (Oa - Fv(n - t))), r[0] = t, r[1] = n; 4177} 4178var ta = function() { 4179 function r(e) { 4180 this.dpr = 1, this._xi = 0, this._yi = 0, this._x0 = 0, this._y0 = 0, this._len = 0, e && (this._saveData = false), this._saveData && (this.data = []); 4181 } 4182 return r.prototype.increaseVersion = function() { 4183 this._version++; 4184 }, r.prototype.getVersion = function() { 4185 return this._version; 4186 }, r.prototype.setScale = function(e, t, a) { 4187 a = a || 0, a > 0 && (this._ux = ia(a / If / e) || 0, this._uy = ia(a / If / t) || 0); 4188 }, r.prototype.setDPR = function(e) { 4189 this.dpr = e; 4190 }, r.prototype.setContext = function(e) { 4191 this._ctx = e; 4192 }, r.prototype.getContext = function() { 4193 return this._ctx; 4194 }, r.prototype.beginPath = function() { 4195 return this._ctx && this._ctx.beginPath(), this.reset(), this; 4196 }, r.prototype.reset = function() { 4197 this._saveData && (this._len = 0), this._pathSegLen && (this._pathSegLen = null, this._pathLen = 0), this._version++; 4198 }, r.prototype.moveTo = function(e, t) { 4199 return this._drawPendingPt(), this.addData(Ot.M, e, t), this._ctx && this._ctx.moveTo(e, t), this._x0 = e, this._y0 = t, this._xi = e, this._yi = t, this; 4200 }, r.prototype.lineTo = function(e, t) { 4201 var a = ia(e - this._xi), n = ia(t - this._yi), i = a > this._ux || n > this._uy; 4202 if (this.addData(Ot.L, e, t), this._ctx && i && this._ctx.lineTo(e, t), i) this._xi = e, this._yi = t, this._pendingPtDist = 0; 4203 else { 4204 var o = a * a + n * n; 4205 o >
4205 this._pendingPtDist && (this._pendingPtX = e, this._pendingPtY = t, this._pendingPtDist = o); 4206 } 4207 return this; 4208 }, r.prototype.bezierCurveTo = function(e, t, a, n, i, o) { 4209 return this._drawPendingPt(), this.addData(Ot.C, e, t, a, n, i, o), this._ctx && this._ctx.bezierCurveTo(e, t, a, n, i, o), this._xi = i, this._yi = o, this; 4210 }, r.prototype.quadraticCurveTo = function(e, t, a, n) { 4211 return this._drawPendingPt(), this.addData(Ot.Q, e, t, a, n), this._ctx && this._ctx.quadraticCurveTo(e, t, a, n), this._xi = a, this._yi = n, this; 4212 }, r.prototype.arc = function(e, t, a, n, i, o) { 4213 this._drawPendingPt(), Jo[0] = n, Jo[1] = i, qg(Jo, o), n = Jo[0], i = Jo[1]; 4214 var s = i - n; 4215 return this.addData(Ot.A, e, t, a, a, n, s, 0, o ? 0 : 1), this._ctx && this._ctx.arc(e, t, a, n, i, o), this._xi = wn(i) * a + e, this._yi = Tn(i) * a + t, this; 4216 }, r.prototype.arcTo = function(e, t, a, n, i) { 4217 return this._drawPendingPt(), this._ctx && this._ctx.arcTo(e, t, a, n, i), this; 4218 }, r.prototype.rect = function(e, t, a, n) { 4219 return this._drawPendingPt(), this._ctx && this._ctx.rect(e, t, a, n), this.addData(Ot.R, e, t, a, n), this; 4220 }, r.prototype.closePath = function() { 4221 this._drawPendingPt(), this.addData(Ot.Z); 4222 var e = this._ctx, t = this._x0, a = this._y0; 4223 return e && e.closePath(), this._xi = t, this._yi = a, this; 4224 }, r.prototype.fill = function(e) { 4225 e && e.fill(), this.toStatic(); 4226 }, r.prototype.stroke = function(e) { 4227 e && e.stroke(), this.toStatic(); 4228 }, r.prototype.len = function() { 4229 return this._len; 4230 }, r.prototype.setData = function(e) { 4231 var t = e.length; 4232 !(this.data && this.data.length === t) && Gv && (this.data = new Float32Array(t)); 4233 for (var a = 0; a < t; a++) this.data[a] = e[a]; 4234 this._len = t; 4235 }, r.prototype.appendPath = function(e) { 4236 e instanceof Array || (e = [e]); 4237 for (var t = e.length, a = 0, n = this._len, i = 0; i < t; i++) a += e[i].len(); 4238 Gv && this.data instanceof Float32Array && (this.data = new Float32Array(n + a)); 4239 for (var i = 0; i < t; i++) for (var o = e[i].data, s = 0; s < o.length; s++) this.data[n++] = o[s]; 4240 this._len = n; 4241 }, r.prototype.addData = function(e, t, a, n, i, o, s, l, u) { 4242 if (this._saveData) { 4243 var f = this.data; 4244 this._len + arguments.length > f.length && (this._expandData(), f = this.data); 4245 for (var h = 0; h < arguments.length; h++) f[this._len++] = arguments[h]; 4246 } 4247 }, r.prototype._drawPendingPt = function() { 4248 this._pendingPtDist > 0 && (this._ctx && this._ctx.lineTo(this._pendingPtX, this._pendingPtY), this._pendingPtDist = 0); 4249 }, r.prototype._expandData = function() { 4250 if (!(this.data instanceof Array)) { 4251 for (var e = [], t = 0; t < this._len; t++) e[t] = this.data[t]; 4252 this.data = e; 4253 } 4254 }, r.prototype.toStatic = function() { 4255 if (this._saveData) { 4256 this._drawPendingPt(); 4257 var e = this.data; 4258 e instanceof Array && (e.length = this._len, Gv && this._len > 11 && (this.data = new Float32Array(e))); 4259 } 4260 }, r.prototype.getBoundingRect = function() { 4261 Or[0] = Or[1] = Nr[0] = Nr[1] = Number.MAX_VALUE, Da[0] = Da[1] = Br[0] = Br[1] = -Number.MAX_VALUE; 4262 var e = this.data, t = 0, a = 0, n = 0, i = 0, o; 4263 for (o = 0; o < this._len; ) { 4264 var s = e[o++], l = o === 1; 4265 switch (l && (t = e[o], a = e[o + 1], n = t, i = a), s) { 4266 case Ot.M: 4267 t = n = e[o++], a = i = e[o++], Nr[0] = n, Nr[1] = i, Br[0] = n, Br[1] = i; 4268 break; 4269 case Ot.L: 4270 O0(t, a, e[o], e[o + 1], Nr, Br), t = e[o++], a = e[o++]; 4271 break; 4272 case Ot.C: 4273 YR(t, a, e[o++], e[o++], e[o++], e[o++], e[o], e[o + 1], Nr, Br), t = e[o++], a = e[o++]; 4274 break; 4275 case Ot.Q: 4276 $R(t, a, e[o++], e[o++], e[o], e[o + 1], Nr, Br), t = e[o++], a = e[o++]; 4277 break; 4278 case Ot.A: 4279 var u = e[o++], f = e[o++], h = e[o++], v = e[o++], c = e[o++], p = e[o++] + c; 4280 o += 1; 4281 var d = !e[o++]; 4282 l && (n = wn(c) * h + u, i = Tn(c) * v + f), XR(u, f, h, v, c, p, d, Nr, Br), t = wn(p) * h + u, a = Tn(p) * v + f; 4283 break; 4284 case Ot.R: 4285 n = t = e[o++], i = a = e[o++]; 4286 var g = e[o++], y = e[o++]; 4287 O0(n, i, n + g, i + y, Nr, Br); 4288 break; 4289 case Ot.Z: 4290 t = n, a = i; 4291 break; 4292 } 4293 ha(Or, Or, Nr), va(Da, Da, Br); 4294 } 4295 return o === 0 && (Or[0] = Or[1] = Da[0] = Da[1] = 0), new ht(Or[0], Or[1], Da[0] - Or[0], Da[1] - Or[1]); 4296 }, r.prototype._calculateLength = function() { 4297 var e = this.data, t = this._len, a = this._ux, n = this._uy, i = 0, o = 0, s = 0, l = 0; 4298 this._pathSegLen || (this._pathSegLen = []); 4299 for (var u = this._pathSegLen, f = 0, h = 0, v = 0; v < t; ) {
4300 var c = e[v++], p = v === 1; 4301 p && (i = e[v], o = e[v + 1], s = i, l = o); 4302 var d = -1; 4303 switch (c) { 4304 case Ot.M: 4305 i = s = e[v++], o = l = e[v++]; 4306 break; 4307 case Ot.L: { 4308 var g = e[v++], y = e[v++], m = g - i, _ = y - o; 4309 (ia(m) > a || ia(_) > n || v === t - 1) && (d = Math.sqrt(m * m + _ * _), i = g, o = y); 4310 break; 4311 } 4312 case Ot.C: { 4313 var S = e[v++], b = e[v++], g = e[v++], y = e[v++], x = e[v++], w = e[v++]; 4314 d = uP(i, o, S, b, g, y, x, w, 10), i = x, o = w; 4315 break; 4316 } 4317 case Ot.Q: { 4318 var S = e[v++], b = e[v++], g = e[v++], y = e[v++]; 4319 d = hP(i, o, S, b, g, y, 10), i = g, o = y; 4320 break; 4321 } 4322 case Ot.A: 4323 var T = e[v++], C = e[v++], A = e[v++], M = e[v++], I = e[v++], L = e[v++], P = L + I; 4324 v += 1, p && (s = wn(I) * A + T, l = Tn(I) * M + C), d = Vv(A, M) * zv(Oa, Math.abs(L)), i = wn(P) * A + T, o = Tn(P) * M + C; 4325 break; 4326 case Ot.R: { 4327 s = i = e[v++], l = o = e[v++]; 4328 var R = e[v++], E = e[v++]; 4329 d = R * 2 + E * 2; 4330 break; 4331 } 4332 case Ot.Z: { 4333 var m = s - i, _ = l - o; 4334 d = Math.sqrt(m * m + _ * _), i = s, o = l; 4335 break; 4336 } 4337 } 4338 d >= 0 && (u[h++] = d, f += d); 4339 } 4340 return this._pathLen = f, f; 4341 }, r.prototype.rebuildPath = function(e, t) { 4342 var a = this.data, n = this._ux, i = this._uy, o = this._len, s, l, u, f, h, v, c = t < 1, p, d, g = 0, y = 0, m, _ = 0, S, b; 4343 if (!(c && (this._pathSegLen || this._calculateLength(), p = this._pathSegLen, d = this._pathLen, m = t * d, !m))) t: for (var x = 0; x < o; ) { 4344 var w = a[x++], T = x === 1; 4345 switch (T && (u = a[x], f = a[x + 1], s = u, l = f), w !== Ot.L && _ > 0 && (e.lineTo(S, b), _ = 0), w) { 4346 case Ot.M: 4347 s = u = a[x++], l = f = a[x++], e.moveTo(u, f); 4348 break; 4349 case Ot.L: { 4350 h = a[x++], v = a[x++]; 4351 var C = ia(h - u), A = ia(v - f); 4352 if (C > n || A > i) { 4353 if (c) { 4354 var M = p[y++]; 4355 if (g + M > m) { 4356 var I = (m - g) / M; 4357 e.lineTo(u * (1 - I) + h * I, f * (1 - I) + v * I); 4358 break t; 4359 } 4360 g += M; 4361 } 4362 e.lineTo(h, v), u = h, f = v, _ = 0; 4363 } else { 4364 var L = C * C + A * A; 4365 L > _ && (S = h, b = v, _ = L); 4366 } 4367 break; 4368 } 4369 case Ot.C: { 4370 var P = a[x++], R = a[x++], E = a[x++], O = a[x++], k = a[x++], B = a[x++]; 4371 if (c) { 4372 var M = p[y++]; 4373 if (g + M > m) { 4374 var I = (m - g) / M; 4375 en(u, P, E, k, I, xn), en(f, R, O, B, I, bn), e.bezierCurveTo(xn[1], bn[1], xn[2], bn[2], xn[3], bn[3]); 4376 break t; 4377 } 4378 g += M; 4379 } 4380 e.bezierCurveTo(P, R, E, O, k, B), u = k, f = B; 4381 break; 4382 } 4383 case Ot.Q: { 4384 var P = a[x++], R = a[x++], E = a[x++], O = a[x++]; 4385 if (c) { 4386 var M = p[y++]; 4387 if (g + M > m) { 4388 var I = (m - g) / M; 4389 el(u, P, E, I, xn), el(f, R, O, I, bn), e.quadraticCurveTo(xn[1], bn[1], xn[2], bn[2]); 4390 break t; 4391 } 4392 g += M; 4393 } 4394 e.quadraticCurveTo(P, R, E, O), u = E, f = O; 4395 break; 4396 } 4397 case Ot.A: 4398 var F = a[x++], H = a[x++], U = a[x++], K = a[x++], J = a[x++], nt = a[x++], It = a[x++], Yt = !a[x++], ct = U > K ? U : K, et = ia(U - K) > 1e-3, dt = J + nt, q = false; 4399 if (c) { 4400 var M = p[y++]; 4401 g + M > m && (dt = J + nt * (m - g) / M, q = true), g += M; 4402 } 4403 if (et && e.ellipse ? e.ellipse(F, H, U, K, It, J, dt, Yt) : e.arc(F, H, ct, J, dt, Yt), q) break t; 4404 T && (s = wn(J) * U + F, l = Tn(J) * K + H), u = wn(dt) * U + F, f = Tn(dt) * K + H; 4405 break; 4406 case Ot.R: 4407 s = u = a[x], l = f = a[x + 1], h = a[x++], v = a[x++]; 4408 var ot = a[x++], Bt = a[x++]; 4409 if (c) { 4410 var M = p[y++]; 4411 if (g + M > m) { 4412 var Lt = m - g; 4413 e.moveTo(h, v), e.lineTo(h + zv(Lt, ot), v), Lt -= ot, Lt > 0 && e.lineTo(h + ot, v + zv(Lt, Bt)), Lt -= Bt, Lt > 0 && e.lineTo(h + Vv(ot - Lt, 0), v + Bt), Lt -= ot, Lt > 0 && e.lineTo(h, v + Vv(Bt - Lt, 0)); 4414 break t; 4415 } 4416 g += M; 4417 } 4418 e.rect(h, v, ot, Bt); 4419 break; 4420 case Ot.Z: 4421 if (c) { 4422 var M = p[y++]; 4423 if (g + M > m) { 4424 var I = (m - g) / M; 4425 e.lineTo(u * (1 - I) + s * I, f * (1 - I) + l * I); 4426 break t; 4427 } 4428 g += M; 4429 } 4430 e.closePath(), u = s, f = l; 4431 } 4432 } 4433 }, r.prototype.clone = function() { 4434 var e = new r(), t = this.data; 4435 return e.data = t.slice ? t.slice() : Array.prototype.slice.call(t), e._len = this._len, e; 4436 }, r.CMD = Ot, r.initDefaultProps = function() { 4437 var e = r.prototype; 4438 e._saveData = true, e._ux = 0, e._uy = 0, e._pendingPtDist = 0, e._version = 0; 4439 }(), r; 4440}(); 4441function Ba(r, e, t, a, n, i, o) { 4442 if (n === 0) return false;
4443 var s = n, l = 0, u = r; 4444 if (o > e + s && o > a + s || o < e - s && o < a - s || i > r + s && i > t + s || i < r - s && i < t - s) return false; 4445 if (r !== t) l = (e - a) / (r - t), u = (r * a - t * e) / (r - t); 4446 else return Math.abs(i - r) <= s / 2; 4447 var f = l * i - o + u, h = f * f / (l * l + 1); 4448 return h <= s / 2 * s / 2; 4449} 4450function ZR(r, e, t, a, n, i, o, s, l, u, f) { 4451 if (l === 0) return false; 4452 var h = l; 4453 if (f > e + h && f > a + h && f > i + h && f > s + h || f < e - h && f < a - h && f < i - h && f < s - h || u > r + h && u > t + h && u > n + h && u > o + h || u < r - h && u < t - h && u < n - h && u < o - h) return false; 4454 var v = TT(r, e, t, a, n, i, o, s, u, f, null); 4455 return v <= h / 2; 4456} 4457function sC(r, e, t, a, n, i, o, s, l) { 4458 if (o === 0) return false; 4459 var u = o; 4460 if (l > e + u && l > a + u && l > i + u || l < e - u && l < a - u && l < i - u || s > r + u && s > t + u && s > n + u || s < r - u && s < t - u && s < n - u) return false; 4461 var f = AT(r, e, t, a, n, i, s, l, null); 4462 return f <= u / 2; 4463} 4464var z0 = Math.PI * 2; 4465function Ze(r) { 4466 return r %= z0, r < 0 && (r += z0), r; 4467} 4468var Qo = Math.PI * 2; 4469function qR(r, e, t, a, n, i, o, s, l) { 4470 if (o === 0) return false; 4471 var u = o; 4472 s -= r, l -= e; 4473 var f = Math.sqrt(s * s + l * l); 4474 if (f - u > t || f + u < t) return false; 4475 if (Math.abs(a - n) % Qo < 1e-4) return true; 4476 if (i) { 4477 var h = a; 4478 a = Ze(n), n = Ze(h); 4479 } else a = Ze(a), n = Ze(n); 4480 a > n && (n += Qo); 4481 var v = Math.atan2(l, s); 4482 return v < 0 && (v += Qo), v >= a && v <= n || v + Qo >= a && v + Qo <= n; 4483} 4484function ua(r, e, t, a, n, i) { 4485 if (i > e && i > a || i < e && i < a || a === e) return 0; 4486 var o = (i - e) / (a - e), s = a < e ? 1 : -1; 4487 (o === 1 || o === 0) && (s = a < e ? 0.5 : -0.5); 4488 var l = o * (t - r) + r; 4489 return l === n ? 1 / 0 : l > n ? s : 0; 4490} 4491var Ma = ta.CMD, Cn = Math.PI * 2, KR = 1e-4; 4492function jR(r, e) { 4493 return Math.abs(r - e) < KR; 4494} 4495var Ie = [-1, -1, -1], nr = [-1, -1]; 4496function JR() { 4497 var r = nr[0]; 4498 nr[0] = nr[1], nr[1] = r; 4499} 4500function QR(r, e, t, a, n, i, o, s, l, u) { 4501 if (u > e && u > a && u > i && u > s || u < e && u < a && u < i && u < s) return 0; 4502 var f = Cf(e, a, i, s, u, Ie); 4503 if (f === 0) return 0; 4504 for (var h = 0, v = -1, c = void 0, p = void 0, d = 0; d < f; d++) { 4505 var g = Ie[d], y = g === 0 || g === 1 ? 0.5 : 1, m = ae(r, t, n, o, g); 4506 m < l || (v < 0 && (v = wT(e, a, i, s, nr), nr[1] < nr[0] && v > 1 && JR(), c = ae(e, a, i, s, nr[0]), v > 1 && (p = ae(e, a, i, s, nr[1]))), v === 2 ? g < nr[0] ? h += c < e ? y : -y : g < nr[1] ? h += p < c ? y : -y : h += s < p ? y : -y : g < nr[0] ? h += c < e ? y : -y : h += s < c ? y : -y); 4507 } 4508 return h; 4509} 4510function tE(r, e, t, a, n, i, o, s) { 4511 if (s > e && s > a && s > i || s < e && s < a && s < i) return 0; 4512 var l = fP(e, a, i, s, Ie); 4513 if (l === 0) return 0; 4514 var u = CT(e, a, i); 4515 if (u >= 0 && u <= 1) { 4516 for (var f = 0, h = fe(e, a, i, u), v = 0; v < l; v++) { 4517 var c = Ie[v] === 0 || Ie[v] === 1 ? 0.5 : 1, p = fe(r, t, n, Ie[v]); 4518 p < o || (Ie[v] < u ? f += h < e ? c : -c : f += i < h ? c : -c); 4519 } 4520 return f; 4521 } else { 4522 var c = Ie[0] === 0 || Ie[0] === 1 ? 0.5 : 1, p = fe(r, t, n, Ie[0]); 4523 return p < o ? 0 : i < e ? c : -c; 4524 } 4525} 4526function eE(r, e, t, a, n, i, o, s) { 4527 if (s -= e, s > t || s < -t) return 0; 4528 var l = Math.sqrt(t * t - s * s); 4529 Ie[0] = -l, Ie[1] = l; 4530 var u = Math.abs(a - n); 4531 if (u < 1e-4) return 0; 4532 if (u >= Cn - 1e-4) { 4533 a = 0, n = Cn; 4534 var f = i ? 1 : -1; 4535 return o >= Ie[0] + r && o <= Ie[1] + r ? f : 0; 4536 } 4537 if (a > n) { 4538 var h = a; 4539 a = n, n = h; 4540 } 4541 a < 0 && (a += Cn, n += Cn); 4542 for (var v = 0, c = 0; c < 2; c++) { 4543 var p = Ie[c]; 4544 if (p + r > o) { 4545 var d = Math.atan2(s, p), f = i ? 1 : -1; 4546 d < 0 && (d = Cn + d), (d >= a && d <= n || d + Cn >= a && d + Cn <= n) && (d > Math.PI / 2 && d < Math.PI * 1.5 && (f = -f), v += f); 4547 } 4548 } 4549 return v; 4550} 4551function lC(r, e, t, a, n) { 4552 for (var i = r.data, o = r.len(), s = 0, l = 0, u = 0, f = 0, h = 0, v, c, p = 0; p < o; ) { 4553 var d = i[p++], g = p === 1; 4554 switch (d === Ma.M && p > 1 && (t || (s += ua(l, u, f, h, a, n))), g && (l = i[p], u = i[p + 1], f = l, h = u), d) { 4555 case Ma.M: 4556 f = i[p++], h = i[p++], l = f, u = h; 4557 break; 4558 case Ma.L: 4559 if (t) { 4560 if (Ba(l, u, i[p], i[p + 1], e, a, n)) return true; 4561 } else s += ua(l, u, i[p], i[p + 1], a, n) || 0; 4562 l = i[p++], u = i[p++]; 4563 break; 4564 case Ma.C: 4565 if (t) { 4566 if (ZR(l, u, i[p++], i[p++], i[p++], i[p++], i[p], i[p + 1], e, a, n)) return true; 4567 } else s += QR(l, u, i[p++], i[p++], i[p++], i[p++], i[p], i[p + 1], a, n) || 0; 4568 l = i[p++], u = i[p++]; 4569 break; 4570 case Ma.Q: 4571 if (t) { 4572 if (sC(l, u, i[p++], i[p++], i[p], i[p + 1], e, a, n)) return true; 4573 } else s += tE(l, u, i[p++], i[p++], i[p], i[p + 1], a, n) || 0; 4574 l = i[p++], u = i[p++]; 4575 break; 4576 case Ma.A: 4577 var y = i[p++], m = i[p++], _ = i[p++], S = i[p++], b = i[p++], x = i[p++]; 4578 p += 1; 4579 var w = !!(1 - i[p++]);
4580 v = Math.cos(b) * _ + y, c = Math.sin(b) * S + m, g ? (f = v, h = c) : s += ua(l, u, v, c, a, n); 4581 var T = (a - y) * S / _ + y; 4582 if (t) { 4583 if (qR(y, m, S, b, b + x, w, e, T, n)) return true; 4584 } else s += eE(y, m, S, b, b + x, w, T, n); 4585 l = Math.cos(b + x) * _ + y, u = Math.sin(b + x) * S + m; 4586 break; 4587 case Ma.R: 4588 f = l = i[p++], h = u = i[p++]; 4589 var C = i[p++], A = i[p++]; 4590 if (v = f + C, c = h + A, t) { 4591 if (Ba(f, h, v, h, e, a, n) || Ba(v, h, v, c, e, a, n) || Ba(v, c, f, c, e, a, n) || Ba(f, c, f, h, e, a, n)) return true; 4592 } else s += ua(v, h, v, c, a, n), s += ua(f, c, f, h, a, n); 4593 break; 4594 case Ma.Z: 4595 if (t) { 4596 if (Ba(l, u, f, h, e, a, n)) return true; 4597 } else s += ua(l, u, f, h, a, n); 4598 l = f, u = h; 4599 break; 4600 } 4601 } 4602 return !t && !jR(u, h) && (s += ua(l, u, f, h, a, n) || 0), s !== 0; 4603} 4604function rE(r, e, t) { 4605 return lC(r, 0, false, e, t); 4606} 4607function aE(r, e, t, a) { 4608 return lC(r, e, true, t, a); 4609} 4610var Pf = Q({ fill: "#000", stroke: null, strokePercent: 1, fillOpacity: 1, strokeOpacity: 1, lineDashOffset: 0, lineWidth: 1, lineCap: "butt", miterLimit: 10, strokeNoScale: false, strokeFirst: false }, ri), nE = { style: Q({ fill: true, stroke: true, strokePercent: true, fillOpacity: true, strokeOpacity: true, lineDashOffset: true, lineWidth: true, miterLimit: true }, Ph.style) }, Hv = Jr.concat(["invisible", "culling", "z", "z2", "zlevel", "parent"]), mt = function(r) { 4611 Ft(e, r); 4612 function e(t) { 4613 return r.call(this, t) || this; 4614 } 4615 return e.prototype.update = function() { 4616 var t = this; 4617 r.prototype.update.call(this); 4618 var a = this.style; 4619 if (a.decal) { 4620 var n = this._decalEl = this._decalEl || new e(); 4621 n.buildPath === e.prototype.buildPath && (n.buildPath = function(l) { 4622 t.buildPath(l, t.shape); 4623 }), n.silent = true; 4624 var i = n.style; 4625 for (var o in a) i[o] !== a[o] && (i[o] = a[o]); 4626 i.fill = a.fill ? a.decal : null, i.decal = null, i.shadowColor = null, a.strokeFirst && (i.stroke = null); 4627 for (var s = 0; s < Hv.length; ++s) n[Hv[s]] = this[Hv[s]]; 4628 n.__dirty |= Ye; 4629 } else this._decalEl && (this._decalEl = null); 4630 }, e.prototype.getDecalElement = function() { 4631 return this._decalEl; 4632 }, e.prototype._init = function(t) { 4633 var a = _t(t); 4634 this.shape = this.getDefaultShape(); 4635 var n = this.getDefaultStyle(); 4636 n && this.useStyle(n); 4637 for (var i = 0; i < a.length; i++) { 4638 var o = a[i], s = t[o]; 4639 o === "style" ? this.style ? z(this.style, s) : this.useStyle(s) : o === "shape" ? z(this.shape, s) : r.prototype.attrKV.call(this, o, s); 4640 } 4641 this.style || this.useStyle({}); 4642 }, e.prototype.getDefaultStyle = function() { 4643 return null; 4644 }, e.prototype.getDefaultShape = function() { 4645 return {}; 4646 }, e.prototype.canBeInsideText = function() { 4647 return this.hasFill(); 4648 }, e.prototype.getInsideTextFill = function() { 4649 var t = this.style.fill; 4650 if (t !== "none") { 4651 if (Y(t)) { 4652 var a = nl(t, 0); 4653 return a > 0.5 ? td : a > 0.2 ? HP : ed; 4654 } else if (t) return ed; 4655 } 4656 return td; 4657 }, e.prototype.getInsideTextStroke = function(t) { 4658 var a = this.style.fill; 4659 if (Y(a)) { 4660 var n = this.__zr, i = !!(n && n.isDarkMode()), o = nl(t, 0) < Qp; 4661 if (i === o) return a; 4662 } 4663 }, e.prototype.buildPath = function(t, a, n) { 4664 }, e.prototype.pathUpdated = function() { 4665 this.__dirty &= ~ji; 4666 }, e.prototype.getUpdatedPathProxy = function(t) { 4667 return !this.path && this.createPathProxy(), this.path.beginPath(), this.buildPath(this.path, this.shape, t), this.path; 4668 }, e.prototype.createPathProxy = function() { 4669 this.path = new ta(false); 4670 }, e.prototype.hasStroke = function() { 4671 var t = this.style, a = t.stroke; 4672 return !(a == null || a === "none" || !(t.lineWidth > 0)); 4673 }, e.prototype.hasFill = function() { 4674 var t = this.style, a = t.fill; 4675 return a != null && a !== "none"; 4676 }, e.prototype.getBoundingRect = function() { 4677 var t = this._rect, a = this.style, n = !t; 4678 if (n) { 4679 var i = false;
4680 this.path || (i = true, this.createPathProxy()); 4681 var o = this.path; 4682 (i || this.__dirty & ji) && (o.beginPath(), this.buildPath(o, this.shape, false), this.pathUpdated()), t = o.getBoundingRect(); 4683 } 4684 if (this._rect = t, this.hasStroke() && this.path && this.path.len() > 0) { 4685 var s = this._rectStroke || (this._rectStroke = t.clone()); 4686 if (this.__dirty || n) { 4687 s.copy(t); 4688 var l = a.strokeNoScale ? this.getLineScale() : 1, u = a.lineWidth; 4689 if (!this.hasFill()) { 4690 var f = this.strokeContainThreshold; 4691 u = Math.max(u, f ?? 4); 4692 } 4693 l > 1e-10 && (s.width += u / l, s.height += u / l, s.x -= u / l / 2, s.y -= u / l / 2); 4694 } 4695 return s; 4696 } 4697 return t; 4698 }, e.prototype.contain = function(t, a) { 4699 var n = this.transformCoordToLocal(t, a), i = this.getBoundingRect(), o = this.style; 4700 if (t = n[0], a = n[1], i.contain(t, a)) { 4701 var s = this.path; 4702 if (this.hasStroke()) { 4703 var l = o.lineWidth, u = o.strokeNoScale ? this.getLineScale() : 1; 4704 if (u > 1e-10 && (this.hasFill() || (l = Math.max(l, this.strokeContainThreshold)), aE(s, l / u, t, a))) return true; 4705 } 4706 if (this.hasFill()) return rE(s, t, a); 4707 } 4708 return false; 4709 }, e.prototype.dirtyShape = function() { 4710 this.__dirty |= ji, this._rect && (this._rect = null), this._decalEl && this._decalEl.dirtyShape(), this.markRedraw(); 4711 }, e.prototype.dirty = function() { 4712 this.dirtyStyle(), this.dirtyShape(); 4713 }, e.prototype.animateShape = function(t) { 4714 return this.animate("shape", t); 4715 }, e.prototype.updateDuringAnimation = function(t) { 4716 t === "style" ? this.dirtyStyle() : t === "shape" ? this.dirtyShape() : this.markRedraw(); 4717 }, e.prototype.attrKV = function(t, a) { 4718 t === "shape" ? this.setShape(a) : r.prototype.attrKV.call(this, t, a); 4719 }, e.prototype.setShape = function(t, a) { 4720 var n = this.shape; 4721 return n || (n = this.shape = {}), typeof t == "string" ? n[t] = a : z(n, t), this.dirtyShape(), this; 4722 }, e.prototype.shapeChanged = function() { 4723 return !!(this.__dirty & ji); 4724 }, e.prototype.createStyle = function(t) { 4725 return Ll(Pf, t); 4726 }, e.prototype._innerSaveToNormal = function(t) { 4727 r.prototype._innerSaveToNormal.call(this, t); 4728 var a = this._normalState; 4729 t.shape && !a.shape && (a.shape = z({}, this.shape)); 4730 }, e.prototype._applyStateObj = function(t, a, n, i, o, s) { 4731 r.prototype._applyStateObj.call(this, t, a, n, i, o, s); 4732 var l = !(a && i), u; 4733 if (a && a.shape ? o ? i ? u = a.shape : (u = z({}, n.shape), z(u, a.shape)) : (u = z({}, i ? this.shape : n.shape), z(u, a.shape)) : l && (u = n.shape), u) if (o) { 4734 this.shape = z({}, this.shape); 4735 for (var f = {}, h = _t(u), v = 0; v < h.length; v++) { 4736 var c = h[v]; 4737 typeof u[c] == "object" ? this.shape[c] = u[c] : f[c] = u[c]; 4738 } 4739 this._transitionState(t, { shape: f }, s); 4740 } else this.shape = u, this.dirtyShape(); 4741 }, e.prototype._mergeStates = function(t) { 4742 for (var a = r.prototype._mergeStates.call(this, t), n, i = 0; i < t.length; i++) { 4743 var o = t[i]; 4744 o.shape && (n = n || {}, this._mergeStyle(n, o.shape)); 4745 } 4746 return n && (a.shape = n), a; 4747 }, e.prototype.getAnimationStyleProps = function() { 4748 return nE; 4749 }, e.prototype.isZeroArea = function() { 4750 return false; 4751 }, e.extend = function(t) { 4752 var a = function(i) { 4753 Ft(o, i); 4754 function o(s) { 4755 var l = i.call(this, s) || this; 4756 return t.init && t.init.call(l, s), l; 4757 } 4758 return o.prototype.getDefaultStyle = function() { 4759 return rt(t.style); 4760 }, o.prototype.getDefaultShape = function() { 4761 return rt(t.shape); 4762 }, o; 4763 }(e); 4764 for (var n in t) typeof t[n] == "function" && (a.prototype[n] = t[n]); 4765 return a; 4766 }, e.initDefaultProps = function() { 4767 var t = e.prototype; 4768 t.type = "path", t.strokeContainThreshold = 5, t.segmentIgnoreThreshold = 0, t.subPixelOptimize = false, t.autoBatch = false, t.__dirty = Ye | bs | ji; 4769 }(), e; 4770}(vr), iE = Q({ strokeFirst: true, font: tn, x: 0, y: 0, textAlign: "left", textBaseline: "top", miterLimit: 2 }, Pf), mo = function(r) { 4771 Ft(e, r); 4772 function e() { 4773 return r !== null && r.apply(this, arguments) || this; 4774 } 4775 return e.prototype.hasStroke = function() { 4776 var t = this.style, a = t.stroke; 4777 return a != null && a !== "none" && t.lineWidth > 0; 4778 }, e.prototype.hasFill = function() { 4779 var t = this.style, a = t.fill; 4780 return a != null && a !== "none"; 4781 }, e.prototype.createStyle = function(t) { 4782 return Ll(iE, t); 4783 }, e.prototype.setBoundingRect = function(t) { 4784 this._rect = t; 4785 }, e.prototype.getBoundingRect = function() { 4786 var t = this.style; 4787 if (!this._rect) { 4788 var a = t.text; 4789 a != null ? a += "" : a = ""; 4790 var n = El(a, t.font, t.textAlign, t.textBaseline); 4791 if (n.x += t.x || 0, n.y += t.y || 0, this.hasStroke()) { 4792 var i = t.lineWidth; 4793 n.x -= i / 2, n.y -= i / 2, n.width += i, n.height += i; 4794 } 4795 this._rect = n; 4796 } 4797 return this._rect; 4798 }
4798, e.initDefaultProps = function() { 4799 var t = e.prototype; 4800 t.dirtyRectTolerance = 10; 4801 }(), e; 4802}(vr); 4803mo.prototype.type = "tspan"; 4804var oE = Q({ x: 0, y: 0 }, ri), sE = { style: Q({ x: true, y: true, width: true, height: true, sx: true, sy: true, sWidth: true, sHeight: true }, Ph.style) }; 4805function lE(r) { 4806 return !!(r && typeof r != "string" && r.width && r.height); 4807} 4808var ue = function(r) { 4809 Ft(e, r); 4810 function e() { 4811 return r !== null && r.apply(this, arguments) || this; 4812 } 4813 return e.prototype.createStyle = function(t) { 4814 return Ll(oE, t); 4815 }, e.prototype._getSize = function(t) { 4816 var a = this.style, n = a[t]; 4817 if (n != null) return n; 4818 var i = lE(a.image) ? a.image : this.__image; 4819 if (!i) return 0; 4820 var o = t === "width" ? "height" : "width", s = a[o]; 4821 return s == null ? i[t] : i[t] / i[o] * s; 4822 }, e.prototype.getWidth = function() { 4823 return this._getSize("width"); 4824 }, e.prototype.getHeight = function() { 4825 return this._getSize("height"); 4826 }, e.prototype.getAnimationStyleProps = function() { 4827 return sE; 4828 }, e.prototype.getBoundingRect = function() { 4829 var t = this.style; 4830 return this._rect || (this._rect = new ht(t.x || 0, t.y || 0, this.getWidth(), this.getHeight())), this._rect; 4831 }, e; 4832}(vr); 4833ue.prototype.type = "image"; 4834function uE(r, e) { 4835 var t = e.x, a = e.y, n = e.width, i = e.height, o = e.r, s, l, u, f; 4836 n < 0 && (t = t + n, n = -n), i < 0 && (a = a + i, i = -i), typeof o == "number" ? s = l = u = f = o : o instanceof Array ? o.length === 1 ? s = l = u = f = o[0] : o.length === 2 ? (s = u = o[0], l = f = o[1]) : o.length === 3 ? (s = o[0], l = f = o[1], u = o[2]) : (s = o[0], l = o[1], u = o[2], f = o[3]) : s = l = u = f = 0; 4837 var h; 4838 s + l > n && (h = s + l, s *= n / h, l *= n / h), u + f > n && (h = u + f, u *= n / h, f *= n / h), l + u > i && (h = l + u, l *= i / h, u *= i / h), s + f > i && (h = s + f, s *= i / h, f *= i / h), r.moveTo(t + s, a), r.lineTo(t + n - l, a), l !== 0 && r.arc(t + n - l, a + l, l, -Math.PI / 2, 0), r.lineTo(t + n, a + i - u), u !== 0 && r.arc(t + n - u, a + i - u, u, 0, Math.PI / 2), r.lineTo(t + f, a + i), f !== 0 && r.arc(t + f, a + i - f, f, Math.PI / 2, Math.PI), r.lineTo(t, a + s), s !== 0 && r.arc(t + s, a + s, s, Math.PI, Math.PI * 1.5); 4839} 4840var ao = Math.round; 4841function uC(r, e, t) { 4842 if (e) { 4843 var a = e.x1, n = e.x2, i = e.y1, o = e.y2; 4844 r.x1 = a, r.x2 = n, r.y1 = i, r.y2 = o; 4845 var s = t && t.lineWidth; 4846 return s && (ao(a * 2) === ao(n * 2) && (r.x1 = r.x2 = Zn(a, s, true)), ao(i * 2) === ao(o * 2) && (r.y1 = r.y2 = Zn(i, s, true))), r; 4847 } 4848} 4849function fC(r, e, t) { 4850 if (e) { 4851 var a = e.x, n = e.y, i = e.width, o = e.height; 4852 r.x = a, r.y = n, r.width = i, r.height = o; 4853 var s = t && t.lineWidth; 4854 return s && (r.x = Zn(a, s, true), r.y = Zn(n, s, true), r.width = Math.max(Zn(a + i, s, false) - r.x, i === 0 ? 0 : 1), r.height = Math.max(Zn(n + o, s, false) - r.y, o === 0 ? 0 : 1)), r; 4855 } 4856} 4857function Zn(r, e, t) { 4858 if (!e) return r; 4859 var a = ao(r * 2); 4860 return (a + ao(e)) % 2 === 0 ? a / 2 : (a + (t ? 1 : -1)) / 2; 4861} 4862var fE = /* @__PURE__ */ function() { 4863 function r() { 4864 this.x = 0, this.y = 0, this.width = 0, this.height = 0; 4865 } 4866 return r; 4867}(), hE = {}, xt = function(r) { 4868 Ft(e, r); 4869 function e(t) { 4870 return r.call(this, t) || this; 4871 } 4872 return e.prototype.getDefaultShape = function() { 4873 return new fE(); 4874 }, e.prototype.buildPath = function(t, a) { 4875 var n, i, o, s; 4876 if (this.subPixelOptimize) { 4877 var l = fC(hE, a, this.style); 4878 n = l.x, i = l.y, o = l.width, s = l.height, l.r = a.r, a = l; 4879 } else n = a.x, i = a.y, o = a.width, s = a.height; 4880 a.r ? uE(t, a) : t.rect(n, i, o, s); 4881 }, e.prototype.isZeroArea = function() { 4882 return !this.shape.width || !this.shape.height; 4883 }, e; 4884}(mt); 4885xt.prototype.type = "rect"; 4886var V0 = { fill: "#000" }, G0 = 2, vE = { style: Q({ fill: true, stroke: true, fillOpacity: true, strokeOpacity: true, lineWidth: true, fontSize: true, lineHeight: true, width: true, height: true, textShadowColor: true, textShadowBlur: true, textShadowOffsetX: true, textShadowOffsetY: true, backgroundColor: true, padding: true, borderColor: true, borderWidth: true, borderRadius: true }, Ph.style) }, St = function(r) { 4887 Ft(e, r); 4888 function e(t) { 4889 var a = r.call(this) || this; 4890 return a.type = "text", a._children = [], a._defaultStyle = V0, a.attr(t), a; 4891 } 4892 return e.prototype.childrenRef = function() { 4893 return this._children; 4894 }, e.prototype.update = function() { 4895 r.prototype.update.call(this), this.styleChanged() && this._updateSubTexts(); 4896 for (var t = 0; t < this._children.length; t++) { 4897 var a = this._children[t]; 4898 a.zlevel = this.zlevel, a.z = this.z, a.z2 = this.z2, a.culling = this.culling, a.cursor = this.cursor, a.invisible = this.invisible; 4899 } 4900 }, e.prototype.updateTransform = function() { 4901 var t = this.innerTransformable; 4902 t ? (t.updateTransform(), t.transform && (this.transform = t.transform)) : r.prototype.updateTransform.call(this); 4903 }, e.prototype.getLocalTransform = function(t) { 4904 var a = this.innerTransformable; 4905 return a ? a.getLocalTransform(t) : r.prototype.getLocalTransform.call(this, t); 4906 }, e.prototype.getComputedTransform = function() { 4907 return this.__hostTarget && (this.__hostTarget.getComputedTransform(), this.__hostTarget.updateInnerText(true)), r.prototype.getComputedTransform.call(this); 4908 }, e.prototype._updateSubTexts = function() { 4909 this._childCursor = 0, dE(this.style), this.style.rich ? this._updateRichTexts() : this._updatePlainTexts(), this._children.length = this._childCursor, this.styleUpdated(); 4910 }, e.prototype.addSelfToZr = function(t) { 4911 r.prototype.addSelfToZr.call(this, t); 4912 for (var a = 0; a < this._children.length; a++) this._children[a].__zr = t; 4913 }, e.prototype.removeSelfFromZr = function(t) { 4914 r.prototype.removeSelfFromZr.call(this, t); 4915 for (var a = 0; a < this._children.length; a++) this._children[a].__zr = null; 4916 }, e.prototype.getBoundingRect = function() { 4917 if (this.styleChanged() && this._updateSubTexts(), !this._rect) { 4918 for (var t = new ht(0, 0, 0, 0), a = this._children, n = [], i = null, o = 0; o < a.length; o++) {
4919 var s = a[o], l = s.getBoundingRect(), u = s.getLocalTransform(n); 4920 u ? (t.copy(l), t.applyTransform(u), i = i || t.clone(), i.union(t)) : (i = i || l.clone(), i.union(l)); 4921 } 4922 this._rect = i || t; 4923 } 4924 return this._rect; 4925 }, e.prototype.setDefaultTextStyle = function(t) { 4926 this._defaultStyle = t || V0; 4927 }, e.prototype.setTextContent = function(t) { 4928 }, e.prototype._mergeStyle = function(t, a) { 4929 if (!a) return t; 4930 var n = a.rich, i = t.rich || n && {}; 4931 return z(t, a), n && i ? (this._mergeRich(i, n), t.rich = i) : i && (t.rich = i), t; 4932 }, e.prototype._mergeRich = function(t, a) { 4933 for (var n = _t(a), i = 0; i < n.length; i++) { 4934 var o = n[i]; 4935 t[o] = t[o] || {}, z(t[o], a[o]); 4936 } 4937 }, e.prototype.getAnimationStyleProps = function() { 4938 return vE; 4939 }, e.prototype._getOrCreateChild = function(t) { 4940 var a = this._children[this._childCursor]; 4941 return (!a || !(a instanceof t)) && (a = new t()), this._children[this._childCursor++] = a, a.__zr = this.__zr, a.parent = this, a; 4942 }, e.prototype._updatePlainTexts = function() { 4943 var t = this.style, a = t.font || tn, n = t.padding, i = X0(t), o = NR(i, t), s = Wv(t), l = !!t.backgroundColor, u = o.outerHeight, f = o.outerWidth, h = o.contentWidth, v = o.lines, c = o.lineHeight, p = this._defaultStyle; 4944 this.isTruncated = !!o.isTruncated; 4945 var d = t.x || 0, g = t.y || 0, y = t.align || p.align || "left", m = t.verticalAlign || p.verticalAlign || "top", _ = d, S = Ji(g, o.contentHeight, m); 4946 if (s || n) { 4947 var b = Ts(d, f, y), x = Ji(g, u, m); 4948 s && this._renderBackground(t, t, b, x, f, u); 4949 } 4950 S += c / 2, n && (_ = $0(d, y, n), m === "top" ? S += n[0] : m === "bottom" && (S -= n[2])); 4951 for (var w = 0, T = false, C = Y0("fill" in t ? t.fill : (T = true, p.fill)), A = U0("stroke" in t ? t.stroke : !l && (!p.autoStroke || T) ? (w = G0, p.stroke) : null), M = t.textShadowBlur > 0, I = t.width != null && (t.overflow === "truncate" || t.overflow === "break" || t.overflow === "breakAll"), L = o.calculatedLineHeight, P = 0; P < v.length; P++) { 4952 var R = this._getOrCreateChild(mo), E = R.createStyle(); 4953 R.useStyle(E), E.text = v[P], E.x = _, E.y = S, E.textAlign = y, E.textBaseline = "middle", E.opacity = t.opacity, E.strokeFirst = true, M && (E.shadowBlur = t.textShadowBlur || 0, E.shadowColor = t.textShadowColor || "transparent", E.shadowOffsetX = t.textShadowOffsetX || 0, E.shadowOffsetY = t.textShadowOffsetY || 0), E.stroke = A, E.fill = C, A && (E.lineWidth = t.lineWidth || w, E.lineDash = t.lineDash, E.lineDashOffset = t.lineDashOffset || 0), E.font = a, H0(E, t), S += c, I && R.setBoundingRect(new ht(Ts(E.x, h, E.textAlign), Ji(E.y, L, E.textBaseline), h, L)); 4954 } 4955 }, e.prototype._updateRichTexts = function() { 4956 var t = this.style, a = X0(t), n = VR(a, t), i = n.width, o = n.outerWidth, s = n.outerHeight, l = t.padding, u = t.x || 0, f = t.y || 0, h = this._defaultStyle, v = t.align || h.align, c = t.verticalAlign || h.verticalAlign; 4957 this.isTruncated = !!n.isTruncated; 4958 var p = Ts(u, o, v), d = Ji(f, s, c), g = p, y = d; 4959 l && (g += l[3], y += l[0]); 4960 var m = g + i; 4961 Wv(t) && this._renderBackground(t, t, p, d, o, s); 4962 for (var _ = !!t.backgroundColor, S = 0; S < n.lines.length; S++) { 4963 for (var b = n.lines[S], x = b.tokens, w = x.length, T = b.lineHeight, C = b.width, A = 0, M = g, I = m, L = w - 1, P = void 0; A < w && (P = x[A], !P.align || P.align === "left"); ) this._placeToken(P, t, T, y, M, "left", _), C -= P.width, M += P.width, A++; 4964 for (; L >= 0 && (P = x[L], P.align === "right"); ) this._placeToken(P, t, T, y, I, "right", _), C -= P.width, I -= P.width, L--; 4965 for (M += (i - (M - g) - (m - I) - C) / 2; A <= L; ) P = x[A], this._placeToken(P, t, T, y, M + P.width / 2, "center", _), M += P.width, A++; 4966 y += T; 4967 } 4968 }, e.prototype._placeToken = function(t, a, n, i, o, s, l) { 4969 var u = a.rich[t.styleName] || {}; 4970 u.text = t.text; 4971 var f = t.verticalAlign, h = i + n / 2; 4972 f === "top" ? h = i + t.height / 2 : f === "bottom" && (h = i + n - t.height / 2); 4973 var v = !t.isLineHolder && Wv(u);
4974 v && this._renderBackground(u, a, s === "right" ? o - t.width : s === "center" ? o - t.width / 2 : o, h - t.height / 2, t.width, t.height); 4975 var c = !!u.backgroundColor, p = t.textPadding; 4976 p && (o = $0(o, s, p), h -= t.height / 2 - p[0] - t.innerHeight / 2); 4977 var d = this._getOrCreateChild(mo), g = d.createStyle(); 4978 d.useStyle(g); 4979 var y = this._defaultStyle, m = false, _ = 0, S = Y0("fill" in u ? u.fill : "fill" in a ? a.fill : (m = true, y.fill)), b = U0("stroke" in u ? u.stroke : "stroke" in a ? a.stroke : !c && !l && (!y.autoStroke || m) ? (_ = G0, y.stroke) : null), x = u.textShadowBlur > 0 || a.textShadowBlur > 0; 4980 g.text = t.text, g.x = o, g.y = h, x && (g.shadowBlur = u.textShadowBlur || a.textShadowBlur || 0, g.shadowColor = u.textShadowColor || a.textShadowColor || "transparent", g.shadowOffsetX = u.textShadowOffsetX || a.textShadowOffsetX || 0, g.shadowOffsetY = u.textShadowOffsetY || a.textShadowOffsetY || 0), g.textAlign = s, g.textBaseline = "middle", g.font = t.font || tn, g.opacity = Ar(u.opacity, a.opacity, 1), H0(g, u), b && (g.lineWidth = Ar(u.lineWidth, a.lineWidth, _), g.lineDash = st(u.lineDash, a.lineDash), g.lineDashOffset = a.lineDashOffset || 0, g.stroke = b), S && (g.fill = S); 4981 var w = t.contentWidth, T = t.contentHeight; 4982 d.setBoundingRect(new ht(Ts(g.x, w, g.textAlign), Ji(g.y, T, g.textBaseline), w, T)); 4983 }, e.prototype._renderBackground = function(t, a, n, i, o, s) { 4984 var l = t.backgroundColor, u = t.borderWidth, f = t.borderColor, h = l && l.image, v = l && !h, c = t.borderRadius, p = this, d, g; 4985 if (v || t.lineHeight || u && f) { 4986 d = this._getOrCreateChild(xt), d.useStyle(d.createStyle()), d.style.fill = null; 4987 var y = d.shape; 4988 y.x = n, y.y = i, y.width = o, y.height = s, y.r = c, d.dirtyShape(); 4989 } 4990 if (v) { 4991 var m = d.style; 4992 m.fill = l || null, m.fillOpacity = st(t.fillOpacity, 1); 4993 } else if (h) { 4994 g = this._getOrCreateChild(ue), g.onload = function() { 4995 p.dirtyStyle(); 4996 }; 4997 var _ = g.style; 4998 _.image = l.image, _.x = n, _.y = i, _.width = o, _.height = s; 4999 } 5000 if (u && f) { 5001 var m = d.style; 5002 m.lineWidth = u, m.stroke = f, m.strokeOpacity = st(t.strokeOpacity, 1), m.lineDash = t.borderDash, m.lineDashOffset = t.borderDashOffset || 0, d.strokeContainThreshold = 0, d.hasFill() && d.hasStroke() && (m.strokeFirst = true, m.lineWidth *= 2); 5003 } 5004 var S = (d || g).style; 5005 S.shadowBlur = t.shadowBlur || 0, S.shadowColor = t.shadowColor || "transparent", S.shadowOffsetX = t.shadowOffsetX || 0, S.shadowOffsetY = t.shadowOffsetY || 0, S.opacity = Ar(t.opacity, a.opacity, 1); 5006 }, e.makeFont = function(t) { 5007 var a = ""; 5008 return vC(t) && (a = [t.fontStyle, t.fontWeight, hC(t.fontSize), t.fontFamily || "sans-serif"].join(" ")), a && ur(a) || t.textFont || t.font; 5009 }, e; 5010}(vr), cE = { left: true, right: 1, center: 1 }, pE = { top: 1, bottom: 1, middle: 1 }, F0 = ["fontStyle", "fontWeight", "fontSize", "fontFamily"]; 5011function hC(r) { 5012 return typeof r == "string" && (r.indexOf("px") !== -1 || r.indexOf("rem") !== -1 || r.indexOf("em") !== -1) ? r : isNaN(+r) ? Ig + "px" : r + "px"; 5013} 5014function H0(r, e) { 5015 for (var t = 0; t < F0.length; t++) { 5016 var a = F0[t], n = e[a]; 5017 n != null && (r[a] = n); 5018 } 5019} 5020function vC(r) { 5021 return r.fontSize != null || r.fontFamily || r.fontWeight; 5022} 5023function dE(r) { 5024 return W0(r), D(r.rich, W0), r; 5025} 5026function W0(r) { 5027 if (r) { 5028 r.font = St.makeFont(r); 5029 var e = r.align; 5030 e === "middle" && (e = "center"), r.align = e == null || cE[e] ? e : "left"; 5031 var t = r.verticalAlign; 5032 t === "center" && (t = "middle"), r.verticalAlign = t == null || pE[t] ? t : "top"; 5033 var a = r.padding; 5034 a && (r.padding = bh(r.padding)); 5035 } 5036} 5037function U0(r, e) { 5038 return r == null || e <= 0 || r === "transparent" || r === "none" ? null : r.image || r.colorStops ? "#000" : r; 5039} 5040function Y0(r) { 5041 return r == null || r === "none" ? null : r.image || r.colorStops ? "#000" : r; 5042} 5043function $0(r, e, t) { 5044 return e === "right" ? r - t[1] : e === "center" ? r + t[3] / 2 - t[1] / 2 : r + t[3]; 5045} 5046function X0(r) { 5047 var e = r.text; 5048 return e != null && (e += ""), e; 5049} 5050function Wv(r) { 5051 return !!(r.backgroundColor || r.lineHeight || r.borderWidth && r.borderColor); 5052} 5053var it = bt(), fd = function(r, e, t, a) { 5054 if (a) { 5055 var n = it(a); 5056 n.dataIndex = t, n.dataType = e, n.seriesIndex = r, n.ssrType = "chart", a.type === "group" && a.traverse(function(i) { 5057 var o = it(i); 5058 o.seriesIndex = r, o.dataIndex = t, o.dataType = e, o.ssrType = "chart"; 5059 }); 5060 } 5061}, Z0 = 1, q0 = {}, cC = bt(), Kg = bt(), jg = 0, Ol = 1, Eh = 2, Oe = ["emphasis", "blur", "select"], sl = ["normal", "emphasis", "blur", "select"], Io = 10, gE = 9, ai = "highlight", sf = "downplay", Ws = "select", lf = "unselect", Us = "toggleSelect"; 5062function Ei(r) { 5063 return r != null && r !== "none"; 5064} 5065function kh(r, e, t) { 5066 r.onHoverStateChange && (r.hoverState || 0) !== t && r.onHoverStateChange(e), r.hoverState = t; 5067} 5068function pC(r) { 5069 kh(r, "emphasis", Eh); 5070} 5071function dC(r) { 5072 r.hoverState === Eh && kh(r, "normal", jg); 5073} 5074function Jg(r) { 5075 kh(r, "blur", Ol); 5076} 5077function gC(r) { 5078 r.hoverState === Ol && kh(r, "normal", jg); 5079} 5080function yE(r) { 5081 r.selected = true; 5082} 5083function mE(r) { 5084 r.selected = false;
5085} 5086function K0(r, e, t) { 5087 e(r, t); 5088} 5089function Ca(r, e, t) { 5090 K0(r, e, t), r.isGroup && r.traverse(function(a) { 5091 K0(a, e, t); 5092 }); 5093} 5094function Rf(r, e) { 5095 switch (e) { 5096 case "emphasis": 5097 r.hoverState = Eh; 5098 break; 5099 case "normal": 5100 r.hoverState = jg; 5101 break; 5102 case "blur": 5103 r.hoverState = Ol; 5104 break; 5105 case "select": 5106 r.selected = true; 5107 } 5108} 5109function _E(r, e, t, a) { 5110 for (var n = r.style, i = {}, o = 0; o < e.length; o++) { 5111 var s = e[o], l = n[s]; 5112 i[s] = l ?? (a && a[s]); 5113 } 5114 for (var o = 0; o < r.animators.length; o++) { 5115 var u = r.animators[o]; 5116 u.__fromStateTransition && u.__fromStateTransition.indexOf(t) < 0 && u.targetName === "style" && u.saveTo(i, e); 5117 } 5118 return i; 5119} 5120function SE(r, e, t, a) { 5121 var n = t && vt(t, "select") >= 0, i = false; 5122 if (r instanceof mt) { 5123 var o = cC(r), s = n && o.selectFill || o.normalFill, l = n && o.selectStroke || o.normalStroke; 5124 if (Ei(s) || Ei(l)) { 5125 a = a || {}; 5126 var u = a.style || {}; 5127 u.fill === "inherit" ? (i = true, a = z({}, a), u = z({}, u), u.fill = s) : !Ei(u.fill) && Ei(s) ? (i = true, a = z({}, a), u = z({}, u), u.fill = Df(s)) : !Ei(u.stroke) && Ei(l) && (i || (a = z({}, a), u = z({}, u)), u.stroke = Df(l)), a.style = u; 5128 } 5129 } 5130 if (a && a.z2 == null) { 5131 i || (a = z({}, a)); 5132 var f = r.z2EmphasisLift; 5133 a.z2 = r.z2 + (f ?? Io); 5134 } 5135 return a; 5136} 5137function xE(r, e, t) { 5138 if (t && t.z2 == null) { 5139 t = z({}, t); 5140 var a = r.z2SelectLift; 5141 t.z2 = r.z2 + (a ?? gE); 5142 } 5143 return t; 5144} 5145function bE(r, e, t) { 5146 var a = vt(r.currentStates, e) >= 0, n = r.style.opacity, i = a ? null : _E(r, ["opacity"], e, { opacity: 1 }); 5147 t = t || {}; 5148 var o = t.style || {}; 5149 return o.opacity == null && (t = z({}, t), o = z({ opacity: a ? n : i.opacity * 0.1 }, o), t.style = o), t; 5150} 5151function Uv(r, e) { 5152 var t = this.states[r]; 5153 if (this.style) { 5154 if (r === "emphasis") return SE(this, r, e, t); 5155 if (r === "blur") return bE(this, r, t); 5156 if (r === "select") return xE(this, r, t); 5157 } 5158 return t; 5159} 5160function ci(r) { 5161 r.stateProxy = Uv; 5162 var e = r.getTextContent(), t = r.getTextGuideLine(); 5163 e && (e.stateProxy = Uv), t && (t.stateProxy = Uv); 5164} 5165function j0(r, e) { 5166 !SC(r, e) && !r.__highByOuter && Ca(r, pC); 5167} 5168function J0(r, e) { 5169 !SC(r, e) && !r.__highByOuter && Ca(r, dC); 5170} 5171function ma(r, e) { 5172 r.__highByOuter |= 1 << (e || 0), Ca(r, pC); 5173} 5174function _a(r, e) { 5175 !(r.__highByOuter &= ~(1 << (e || 0))) && Ca(r, dC); 5176} 5177function yC(r) { 5178 Ca(r, Jg); 5179} 5180function Qg(r) { 5181 Ca(r, gC); 5182} 5183function mC(r) { 5184 Ca(r, yE); 5185} 5186function _C(r) { 5187 Ca(r, mE); 5188} 5189function SC(r, e) { 5190 return r.__highDownSilentOnTouch && e.zrByTouch; 5191} 5192function xC(r) { 5193 var e = r.getModel(), t = [], a = []; 5194 e.eachComponent(function(n, i) { 5195 var o = Kg(i), s = n === "series", l = s ? r.getViewOfSeriesModel(i) : r.getViewOfComponentModel(i); 5196 !s && a.push(l), o.isBlured && (l.group.traverse(function(u) { 5197 gC(u); 5198 }), s && t.push(i)), o.isBlured = false; 5199 }), D(a, function(n) { 5200 n && n.toggleBlurSeries && n.toggleBlurSeries(t, false, e); 5201 }); 5202} 5203function hd(r, e, t, a) { 5204 var n = a.getModel(); 5205 t = t || "coordinateSystem"; 5206 function i(u, f) { 5207 for (var h = 0; h < f.length; h++) { 5208 var v = u.getItemGraphicEl(f[h]); 5209 v && Qg(v); 5210 } 5211 } 5212 if (r != null && !(!e || e === "none")) { 5213 var o = n.getSeriesByIndex(r), s = o.coordinateSystem; 5214 s && s.master && (s = s.master); 5215 var l = []; 5216 n.eachSeries(function(u) { 5217 var f = o === u, h = u.coordinateSystem; 5218 h && h.master && (h = h.master); 5219 var v = h && s ? h === s : f; 5220 if (!(t === "series" && !f || t === "coordinateSystem" && !v || e === "series" && f)) { 5221 var c = a.getViewOfSeriesModel(u); 5222 if (c.group.traverse(function(g) { 5223 g.__highByOuter && f && e === "self" || Jg(g); 5224 }), ce(e)) i(u.getData(), e); 5225 else if (tt(e)) for (var p = _t(e), d = 0; d < p.length; d++) i(u.getData(p[d]), e[p[d]]); 5226 l.push(u), Kg(u).isBlured = true; 5227 } 5228 }), n.eachComponent(function(u, f) { 5229 if (u !== "series") { 5230 var h = a.getViewOfComponentModel(f); 5231 h && h.toggleBlurSeries && h.toggleBlurSeries(l, true, n); 5232 } 5233 }); 5234 } 5235} 5236function vd(r, e, t) { 5237 if (!(r == null || e == null)) { 5238 var a = t.getModel().getComponent(r, e); 5239 if (a) { 5240 Kg(a).isBlured = true; 5241 var n = t.getViewOfComponentModel(a); 5242 !n || !n.focusBlurEnabled || n.group.traverse(function(i) { 5243 Jg(i); 5244 }); 5245 } 5246 } 5247} 5248function wE(r, e, t) { 5249 var a = r.seriesIndex, n = r.getData(e.dataType); 5250 if (n) { 5251 var i = hi(n, e); 5252 i = (V(i) ? i[0] : i) || 0; 5253 var o = n.getItemGraphicEl(i); 5254 if (!o) for (var s = n.count(), l = 0; !o && l < s; ) o = n.getItemGraphicEl(l++); 5255 if (o) { 5256 var u = it(o); 5257 hd(a, u.focus, u.blurScope, t); 5258 } else {
5259 var f = r.get(["emphasis", "focus"]), h = r.get(["emphasis", "blurScope"]); 5260 f != null && hd(a, f, h, t); 5261 } 5262 } 5263} 5264function ty(r, e, t, a) { 5265 var n = { focusSelf: false, dispatchers: null }; 5266 if (r == null || r === "series" || e == null || t == null) return n; 5267 var i = a.getModel().getComponent(r, e); 5268 if (!i) return n; 5269 var o = a.getViewOfComponentModel(i); 5270 if (!o || !o.findHighDownDispatchers) return n; 5271 for (var s = o.findHighDownDispatchers(t), l, u = 0; u < s.length; u++) if (it(s[u]).focus === "self") { 5272 l = true; 5273 break; 5274 } 5275 return { focusSelf: l, dispatchers: s }; 5276} 5277function TE(r, e, t) { 5278 var a = it(r), n = ty(a.componentMainType, a.componentIndex, a.componentHighDownName, t), i = n.dispatchers, o = n.focusSelf; 5279 i ? (o && vd(a.componentMainType, a.componentIndex, t), D(i, function(s) { 5280 return j0(s, e); 5281 })) : (hd(a.seriesIndex, a.focus, a.blurScope, t), a.focus === "self" && vd(a.componentMainType, a.componentIndex, t), j0(r, e)); 5282} 5283function CE(r, e, t) { 5284 xC(t); 5285 var a = it(r), n = ty(a.componentMainType, a.componentIndex, a.componentHighDownName, t).dispatchers; 5286 n ? D(n, function(i) { 5287 return J0(i, e); 5288 }) : J0(r, e); 5289} 5290function AE(r, e, t) { 5291 if (pd(e)) { 5292 var a = e.dataType, n = r.getData(a), i = hi(n, e); 5293 V(i) || (i = [i]), r[e.type === Us ? "toggleSelect" : e.type === Ws ? "select" : "unselect"](i, a); 5294 } 5295} 5296function Q0(r) { 5297 var e = r.getAllData(); 5298 D(e, function(t) { 5299 var a = t.data, n = t.type; 5300 a.eachItemGraphicEl(function(i, o) { 5301 r.isSelected(o, n) ? mC(i) : _C(i); 5302 }); 5303 }); 5304} 5305function DE(r) { 5306 var e = []; 5307 return r.eachSeries(function(t) { 5308 var a = t.getAllData(); 5309 D(a, function(n) { 5310 n.data; 5311 var i = n.type, o = t.getSelectedDataIndices(); 5312 if (o.length > 0) { 5313 var s = { dataIndex: o, seriesIndex: t.seriesIndex }; 5314 i != null && (s.dataType = i), e.push(s); 5315 } 5316 }); 5317 }), e; 5318} 5319function Za(r, e, t) { 5320 qn(r, true), Ca(r, ci), cd(r, e, t); 5321} 5322function ME(r) { 5323 qn(r, false); 5324} 5325function Wt(r, e, t, a) { 5326 a ? ME(r) : Za(r, e, t); 5327} 5328function cd(r, e, t) { 5329 var a = it(r); 5330 e != null ? (a.focus = e, a.blurScope = t) : a.focus && (a.focus = null); 5331} 5332var t_ = ["emphasis", "blur", "select"], IE = { itemStyle: "getItemStyle", lineStyle: "getLineStyle", areaStyle: "getAreaStyle" }; 5333function pe(r, e, t, a) { 5334 t = t || "itemStyle"; 5335 for (var n = 0; n < t_.length; n++) { 5336 var i = t_[n], o = e.getModel([i, t]), s = r.ensureState(i); 5337 s.style = a ? a(o) : o[IE[t]](); 5338 } 5339} 5340function qn(r, e) { 5341 var t = e === false, a = r; 5342 r.highDownSilentOnTouch && (a.__highDownSilentOnTouch = r.highDownSilentOnTouch), (!t || a.__highDownDispatcher) && (a.__highByOuter = a.__highByOuter || 0, a.__highDownDispatcher = !t); 5343} 5344function ll(r) { 5345 return !!(r && r.__highDownDispatcher); 5346} 5347function LE(r, e, t) { 5348 var a = it(r); 5349 a.componentMainType = e.mainType, a.componentIndex = e.componentIndex, a.componentHighDownName = t; 5350} 5351function PE(r) { 5352 var e = q0[r]; 5353 return e == null && Z0 <= 32 && (e = q0[r] = Z0++), e; 5354} 5355function pd(r) { 5356 var e = r.type; 5357 return e === Ws || e === lf || e === Us; 5358} 5359function e_(r) { 5360 var e = r.type; 5361 return e === ai || e === sf; 5362} 5363function RE(r) { 5364 var e = cC(r); 5365 e.normalFill = r.style.fill, e.normalStroke = r.style.stroke; 5366 var t = r.states.select || {}; 5367 e.selectFill = t.style && t.style.fill || null, e.selectStroke = t.style && t.style.stroke || null; 5368} 5369var ki = ta.CMD, EE = [[], [], []], r_ = Math.sqrt, kE = Math.atan2; 5370function bC(r, e) { 5371 if (e) { 5372 var t = r.data, a = r.len(), n, i, o, s, l, u, f = ki.M, h = ki.C, v = ki.L, c = ki.R, p = ki.A, d = ki.Q; 5373 for (o = 0, s = 0; o < a; ) { 5374 switch (n = t[o++], s = o, i = 0, n) { 5375 case f: 5376 i = 1; 5377 break; 5378 case v: 5379 i = 1; 5380 break; 5381 case h: 5382 i = 3; 5383 break; 5384 case d: 5385 i = 2; 5386 break; 5387 case p: 5388 var g = e[4], y = e[5], m = r_(e[0] * e[0] + e[1] * e[1]), _ = r_(e[2] * e[2] + e[3] * e[3]), S = kE(-e[1] / _, e[0] / m); 5389 t[o] *= m, t[o++] += g, t[o] *= _, t[o++] += y, t[o++] *= m, t[o++] *= _, t[o++] += S, t[o++] += S, o += 2, s = o; 5390 break; 5391 case c: 5392 u[0] = t[o++], u[1] = t[o++], he(u, u, e), t[s++] = u[0], t[s++] = u[1], u[0] += t[o++], u[1] += t[o++], he(u, u, e), t[s++] = u[0], t[s++] = u[1]; 5393 } 5394 for (l = 0; l < i; l++) { 5395 var b = EE[l]; 5396 b[0] = t[o++], b[1] = t[o++], he(b, b, e), t[s++] = b[0], t[s++] = b[1]; 5397 } 5398 } 5399 r.increaseVersion(); 5400 } 5401}
5402var Yv = Math.sqrt, hu = Math.sin, vu = Math.cos, ts = Math.PI; 5403function a_(r) { 5404 return Math.sqrt(r[0] * r[0] + r[1] * r[1]); 5405} 5406function dd(r, e) { 5407 return (r[0] * e[0] + r[1] * e[1]) / (a_(r) * a_(e)); 5408} 5409function n_(r, e) { 5410 return (r[0] * e[1] < r[1] * e[0] ? -1 : 1) * Math.acos(dd(r, e)); 5411} 5412function i_(r, e, t, a, n, i, o, s, l, u, f) { 5413 var h = l * (ts / 180), v = vu(h) * (r - t) / 2 + hu(h) * (e - a) / 2, c = -1 * hu(h) * (r - t) / 2 + vu(h) * (e - a) / 2, p = v * v / (o * o) + c * c / (s * s); 5414 p > 1 && (o *= Yv(p), s *= Yv(p)); 5415 var d = (n === i ? -1 : 1) * Yv((o * o * (s * s) - o * o * (c * c) - s * s * (v * v)) / (o * o * (c * c) + s * s * (v * v))) || 0, g = d * o * c / s, y = d * -s * v / o, m = (r + t) / 2 + vu(h) * g - hu(h) * y, _ = (e + a) / 2 + hu(h) * g + vu(h) * y, S = n_([1, 0], [(v - g) / o, (c - y) / s]), b = [(v - g) / o, (c - y) / s], x = [(-1 * v - g) / o, (-1 * c - y) / s], w = n_(b, x); 5416 if (dd(b, x) <= -1 && (w = ts), dd(b, x) >= 1 && (w = 0), w < 0) { 5417 var T = Math.round(w / ts * 1e6) / 1e6; 5418 w = ts * 2 + T % 2 * ts; 5419 } 5420 f.addData(u, m, _, o, s, S, w, h, i); 5421} 5422var OE = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig, NE = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g; 5423function BE(r) { 5424 var e = new ta(); 5425 if (!r) return e; 5426 var t = 0, a = 0, n = t, i = a, o, s = ta.CMD, l = r.match(OE); 5427 if (!l) return e; 5428 for (var u = 0; u < l.length; u++) { 5429 for (var f = l[u], h = f.charAt(0), v = void 0, c = f.match(NE) || [], p = c.length, d = 0; d < p; d++) c[d] = parseFloat(c[d]); 5430 for (var g = 0; g < p; ) { 5431 var y = void 0, m = void 0, _ = void 0, S = void 0, b = void 0, x = void 0, w = void 0, T = t, C = a, A = void 0, M = void 0; 5432 switch (h) { 5433 case "l": 5434 t += c[g++], a += c[g++], v = s.L, e.addData(v, t, a); 5435 break; 5436 case "L": 5437 t = c[g++], a = c[g++], v = s.L, e.addData(v, t, a); 5438 break; 5439 case "m": 5440 t += c[g++], a += c[g++], v = s.M, e.addData(v, t, a), n = t, i = a, h = "l"; 5441 break; 5442 case "M": 5443 t = c[g++], a = c[g++], v = s.M, e.addData(v, t, a), n = t, i = a, h = "L"; 5444 break; 5445 case "h": 5446 t += c[g++], v = s.L, e.addData(v, t, a); 5447 break; 5448 case "H": 5449 t = c[g++], v = s.L, e.addData(v, t, a); 5450 break; 5451 case "v": 5452 a += c[g++], v = s.L, e.addData(v, t, a); 5453 break; 5454 case "V": 5455 a = c[g++], v = s.L, e.addData(v, t, a); 5456 break; 5457 case "C": 5458 v = s.C, e.addData(v, c[g++], c[g++], c[g++], c[g++], c[g++], c[g++]), t = c[g - 2], a = c[g - 1]; 5459 break; 5460 case "c": 5461 v = s.C, e.addData(v, c[g++] + t, c[g++] + a, c[g++] + t, c[g++] + a, c[g++] + t, c[g++] + a), t += c[g - 2], a += c[g - 1]; 5462 break; 5463 case "S": 5464 y = t, m = a, A = e.len(), M = e.data, o === s.C && (y += t - M[A - 4], m += a - M[A - 3]), v = s.C, T = c[g++], C = c[g++], t = c[g++], a = c[g++], e.addData(v, y, m, T, C, t, a); 5465 break; 5466 case "s": 5467 y = t, m = a, A = e.len(), M = e.data, o === s.C && (y += t - M[A - 4], m += a - M[A - 3]), v = s.C, T = t + c[g++], C = a + c[g++], t += c[g++], a += c[g++], e.addData(v, y, m, T, C, t, a); 5468 break; 5469 case "Q": 5470 T = c[g++], C = c[g++], t = c[g++], a = c[g++], v = s.Q, e.addData(v, T, C, t, a); 5471 break; 5472 case "q": 5473 T = c[g++] + t, C = c[g++] + a, t += c[g++], a += c[g++], v = s.Q, e.addData(v, T, C, t, a); 5474 break; 5475 case "T": 5476 y = t, m = a, A = e.len(), M = e.data, o === s.Q && (y += t - M[A - 4], m += a - M[A - 3]), t = c[g++], a = c[g++], v = s.Q, e.addData(v, y, m, t, a); 5477 break; 5478 case "t": 5479 y = t, m = a, A = e.len(), M = e.data, o === s.Q && (y += t - M[A - 4], m += a - M[A - 3]), t += c[g++], a += c[g++], v = s.Q, e.addData(v, y, m, t, a); 5480 break; 5481 case "A": 5482 _ = c[g++], S = c[g++], b = c[g++], x = c[g++], w = c[g++], T = t, C = a, t = c[g++], a = c[g++], v = s.A, i_(T, C, t, a, x, w, _, S, b, v, e); 5483 break; 5484 case "a": 5485 _ = c[g++], S = c[g++], b = c[g++], x = c[g++], w = c[g++], T = t, C = a, t += c[g++], a += c[g++], v = s.A, i_(T, C, t, a, x, w, _, S, b, v, e); 5486 break; 5487 } 5488 } 5489 (h === "z" || h === "Z") && (v = s.Z, e.addData(v), t = n, a = i), o = v; 5490 } 5491 return e.toStatic(), e; 5492} 5493var wC = function(r) { 5494 Ft(e, r); 5495 function e() { 5496 return r !== null && r.apply(this, arguments) || this; 5497 } 5498 return e.prototype.applyTransform = function(t) { 5499 }, e; 5500}(mt); 5501function TC(r) { 5502 return r.setData != null; 5503} 5504function CC(r, e) { 5505 var t = BE(r), a = z({}, e); 5506 return a.buildPath = function(n) { 5507 if (TC(n)) { 5508 n.setData(t.data); 5509 var i = n.getContext(); 5510 i && n.rebuildPath(i, 1); 5511 } else { 5512 var i = n; 5513 t.rebuildPath(i, 1); 5514 } 5515 }, a.applyTransform = function(n) { 5516 bC(t, n), this.dirtyShape(); 5517 }, a; 5518} 5519function AC(r, e) { 5520 return new wC(CC(r, e)); 5521} 5522function zE(r, e) { 5523 var t = CC(r, e), a = function(n) { 5524 Ft(i, n); 5525 function i(o) { 5526 var s = n.call(this, o) || this; 5527 return s.applyTransform = t.applyTransform, s.buildPath = t.buildPath, s; 5528 } 5529 return i; 5530 }(wC); 5531 return a; 5532} 5533function VE(r, e) { 5534 for (var t = [], a = r.length, n = 0; n < a; n++) { 5535 var i = r[n]; 5536 t.push(i.getUpdatedPathProxy(true)); 5537 } 5538 var o = new mt(e); 5539 return o.createPathProxy(), o.buildPath = function(s) { 5540 if (TC(s)) { 5541 s.appendPath(t); 5542 var l = s.getContext(); 5543 l && s.rebuildPath(l, 1); 5544 } 5545 }, o; 5546} 5547function ey(r, e) { 5548 e = e || {}; 5549 var t = new mt(); 5550 return r.shape && t.setShape(r.shape), t.setStyle(r.style), e.bakeTransform ? bC(t.path, r.getComputedTransform()) : e.toLocal ? t.setLocalTransform(r.getComputedTransform()) : t.copyTransform(r), t.buildPath = r.buildPath, t.applyTransform = t.applyTransform, t.z = r.z, t.z2 = r.z2, t.zlevel = r.zlevel, t; 5551} 5552var GE = /* @__PURE__ */ function() { 5553 function r() { 5554 this.cx = 0, this.cy = 0, this.r = 0; 5555 } 5556 return r; 5557}(), ea = function(r) { 5558 Ft(e, r); 5559 function e(t) { 5560 return r.call(this, t) || this; 5561 } 5562 return e.prototype.getDefaultShape = function() { 5563 return new GE(); 5564 }, e.prototype.buildPath = function(t, a) { 5565 t.moveTo(a.cx + a.r, a.cy), t.arc(a.cx, a.cy, a.r, 0, Math.PI * 2); 5566 }, e; 5567}(mt); 5568ea.prototype.type = "circle"; 5569var FE = /* @__PURE__ */ function() { 5570 function r() { 5571 this.cx = 0, this.cy = 0, this.rx = 0, this.ry = 0; 5572 } 5573 return r; 5574}(), Nl = function(r) { 5575 Ft(e, r); 5576 function e(t) { 5577 return r.call(this, t) || this; 5578 } 5579 return e.prototype.getDefaultShape = function() { 5580 return new FE(); 5581 }, e.prototype.buildPath = function(t, a) { 5582 var n = 0.5522848, i = a.cx, o = a.cy, s = a.rx, l = a.ry, u = s * n, f = l * n; 5583 t.moveTo(i - s, o), t.bezierCurveTo(i - s, o - f, i - u, o - l, i, o - l), t.bezierCurveTo(i + u, o - l, i + s, o - f, i + s, o), t.bezierCurveTo(i + s, o + f, i + u, o + l, i, o + l), t.bezierCurveTo(i - u, o + l, i - s, o + f, i - s, o), t.closePath(); 5584 }, e; 5585}(mt); 5586Nl.prototype.type = "ellipse"; 5587var DC = Math.PI, $v = DC * 2, An = Math.sin, Oi = Math.cos, HE = Math.acos, ge = Math.atan2, o_ = Math.abs, Ys = Math.sqrt, Cs = Math.max, zr = Math.min, Sr = 1e-4; 5588function WE(r, e, t, a, n, i, o, s) { 5589 var l = t - r, u = a - e, f = o - n, h = s - i, v = h * l - f * u; 5590 if (!(v * v < Sr)) return v = (f * (e - i) - h * (r - n)) / v, [r + v * l, e + v * u]; 5591} 5592function cu(r, e, t, a, n, i, o) {
5593 var s = r - t, l = e - a, u = (o ? i : -i) / Ys(s * s + l * l), f = u * l, h = -u * s, v = r + f, c = e + h, p = t + f, d = a + h, g = (v + p) / 2, y = (c + d) / 2, m = p - v, _ = d - c, S = m * m + _ * _, b = n - i, x = v * d - p * c, w = (_ < 0 ? -1 : 1) * Ys(Cs(0, b * b * S - x * x)), T = (x * _ - m * w) / S, C = (-x * m - _ * w) / S, A = (x * _ + m * w) / S, M = (-x * m + _ * w) / S, I = T - g, L = C - y, P = A - g, R = M - y; 5594 return I * I + L * L > P * P + R * R && (T = A, C = M), { cx: T, cy: C, x0: -f, y0: -h, x1: T * (n / b - 1), y1: C * (n / b - 1) }; 5595} 5596function UE(r) { 5597 var e; 5598 if (V(r)) { 5599 var t = r.length; 5600 if (!t) return r; 5601 t === 1 ? e = [r[0], r[0], 0, 0] : t === 2 ? e = [r[0], r[0], r[1], r[1]] : t === 3 ? e = r.concat(r[2]) : e = r; 5602 } else e = [r, r, r, r]; 5603 return e; 5604} 5605function YE(r, e) { 5606 var t, a = Cs(e.r, 0), n = Cs(e.r0 || 0, 0), i = a > 0, o = n > 0; 5607 if (!(!i && !o)) { 5608 if (i || (a = n, n = 0), n > a) { 5609 var s = a; 5610 a = n, n = s; 5611 } 5612 var l = e.startAngle, u = e.endAngle; 5613 if (!(isNaN(l) || isNaN(u))) { 5614 var f = e.cx, h = e.cy, v = !!e.clockwise, c = o_(u - l), p = c > $v && c % $v; 5615 if (p > Sr && (c = p), !(a > Sr)) r.moveTo(f, h); 5616 else if (c > $v - Sr) r.moveTo(f + a * Oi(l), h + a * An(l)), r.arc(f, h, a, l, u, !v), n > Sr && (r.moveTo(f + n * Oi(u), h + n * An(u)), r.arc(f, h, n, u, l, v)); 5617 else { 5618 var d = void 0, g = void 0, y = void 0, m = void 0, _ = void 0, S = void 0, b = void 0, x = void 0, w = void 0, T = void 0, C = void 0, A = void 0, M = void 0, I = void 0, L = void 0, P = void 0, R = a * Oi(l), E = a * An(l), O = n * Oi(u), k = n * An(u), B = c > Sr; 5619 if (B) { 5620 var F = e.cornerRadius; 5621 F && (t = UE(F), d = t[0], g = t[1], y = t[2], m = t[3]); 5622 var H = o_(a - n) / 2; 5623 if (_ = zr(H, y), S = zr(H, m), b = zr(H, d), x = zr(H, g), C = w = Cs(_, S), A = T = Cs(b, x), (w > Sr || T > Sr) && (M = a * Oi(u), I = a * An(u), L = n * Oi(l), P = n * An(l), c < DC)) { 5624 var U = WE(R, E, L, P, M, I, O, k); 5625 if (U) { 5626 var K = R - U[0], J = E - U[1], nt = M - U[0], It = I - U[1], Yt = 1 / An(HE((K * nt + J * It) / (Ys(K * K + J * J) * Ys(nt * nt + It * It))) / 2), ct = Ys(U[0] * U[0] + U[1] * U[1]); 5627 C = zr(w, (a - ct) / (Yt + 1)), A = zr(T, (n - ct) / (Yt - 1)); 5628 } 5629 } 5630 } 5631 if (!B) r.moveTo(f + R, h + E); 5632 else if (C > Sr) { 5633 var et = zr(y, C), dt = zr(m, C), q = cu(L, P, R, E, a, et, v), ot = cu(M, I, O, k, a, dt, v); 5634 r.moveTo(f + q.cx + q.x0, h + q.cy + q.y0), C < w && et === dt ? r.arc(f + q.cx, h + q.cy, C, ge(q.y0, q.x0), ge(ot.y0, ot.x0), !v) : (et > 0 && r.arc(f + q.cx, h + q.cy, et, ge(q.y0, q.x0), ge(q.y1, q.x1), !v), r.arc(f, h, a, ge(q.cy + q.y1, q.cx + q.x1), ge(ot.cy + ot.y1, ot.cx + ot.x1), !v), dt > 0 && r.arc(f + ot.cx, h + ot.cy, dt, ge(ot.y1, ot.x1), ge(ot.y0, ot.x0), !v)); 5635 } else r.moveTo(f + R, h + E), r.arc(f, h, a, l, u, !v); 5636 if (!(n > Sr) || !B) r.lineTo(f + O, h + k); 5637 else if (A > Sr) { 5638 var et = zr(d, A), dt = zr(g, A), q = cu(O, k, M, I, n, -dt, v), ot = cu(R, E, L, P, n, -et, v); 5639 r.lineTo(f + q.cx + q.x0, h + q.cy + q.y0), A < T && et === dt ? r.arc(f + q.cx, h + q.cy, A, ge(q.y0, q.x0), ge(ot.y0, ot.x0), !v) : (dt > 0 && r.arc(f + q.cx, h + q.cy, dt, ge(q.y0, q.x0), ge(q.y1, q.x1), !v), r.arc(f, h, n, ge(q.cy + q.y1, q.cx + q.x1), ge(ot.cy + ot.y1, ot.cx + ot.x1), v), et > 0 && r.arc(f + ot.cx, h + ot.cy, et, ge(ot.y1, ot.x1), ge(ot.y0, ot.x0), !v)); 5640 } else r.lineTo(f + O, h + k), r.arc(f, h, n, u, l, v); 5641 } 5642 r.closePath(); 5643 } 5644 } 5645} 5646var $E = /* @__PURE__ */ function() { 5647 function r() { 5648 this.cx = 0, this.cy = 0, this.r0 = 0, this.r = 0, this.startAngle = 0, this.endAngle = Math.PI * 2, this.clockwise = true, this.cornerRadius = 0; 5649 } 5650 return r; 5651}(), Te = function(r) { 5652 Ft(e, r); 5653 function e(t) { 5654 return r.call(this, t) || this; 5655 } 5656 return e.prototype.getDefaultShape = function() { 5657 return new $E(); 5658 }, e.prototype.buildPath = function(t, a) { 5659 YE(t, a); 5660 }, e.prototype.isZeroArea = function() { 5661 return this.shape.startAngle === this.shape.endAngle || this.shape.r === this.shape.r0; 5662 }, e; 5663}(mt); 5664Te.prototype.type = "sector"; 5665var XE = /* @__PURE__ */ function() { 5666 function r() { 5667 this.cx = 0, this.cy = 0, this.r = 0, this.r0 = 0; 5668 } 5669 return r; 5670}(), Lo = function(r) { 5671 Ft(e, r); 5672 function e(t) { 5673 return r.call(this, t) || this; 5674 } 5675 return e.prototype.getDefaultShape = function() { 5676 return new XE(); 5677 }, e.prototype.buildPath = function(t, a) { 5678 var n = a.cx, i = a.cy, o = Math.PI * 2; 5679 t.moveTo(n + a.r, i), t.arc(n, i, a.r, 0, o, false), t.moveTo(n + a.r0, i), t.arc(n, i, a.r0, 0, o, true); 5680 }, e; 5681}(mt); 5682Lo.prototype.type = "ring"; 5683function ZE(r, e, t, a) { 5684 var n = [], i = [], o = [], s = [], l, u, f, h; 5685 if (a) { 5686 f = [1 / 0, 1 / 0], h = [-1 / 0, -1 / 0]; 5687 for (var v = 0, c = r.length; v < c; v++) ha(f, f, r[v]), va(h, h, r[v]); 5688 ha(f, f, a[0]), va(h, h, a[1]); 5689 } 5690 for (var v = 0, c = r.length; v < c; v++) { 5691 var p = r[v]; 5692 if (t) l = r[v ? v - 1 : c - 1], u = r[(v + 1) % c]; 5693 else if (v === 0 || v === c - 1) { 5694 n.push(Zr(r[v])); 5695 continue; 5696 } else l = r[v - 1], u = r[v + 1]; 5697 Va(i, u, l), Ns(i, i, e); 5698 var d = bf(p, l), g = bf(p, u), y = d + g; 5699 y !== 0 && (d /= y, g /= y), Ns(o, i, -d), Ns(s, i, g); 5700 var m = Vp([], p, o), _ = Vp([], p, s); 5701 a && (va(m, m, f), ha(m, m, h), va(_, _, f), ha(_, _, h)), n.push(m), n.push(_); 5702 } 5703 return t && n.push(n.shift()), n; 5704} 5705function MC(r, e, t) { 5706 var a = e.smooth, n = e.points; 5707 if (n && n.length >= 2) { 5708 if (a) { 5709 var i = ZE(n, a, t, e.smoothConstraint); 5710 r.moveTo(n[0][0], n[0][1]); 5711 for (var o = n.length, s = 0; s < (t ? o : o - 1); s++) { 5712 var l = i[s * 2], u = i[s * 2 + 1], f = n[(s + 1) % o]; 5713 r.bezierCurveTo(l[0], l[1], u[0], u[1], f[0], f[1]); 5714 } 5715 } else { 5716 r.moveTo(n[0][0], n[0][1]); 5717 for (var s = 1, h = n.length; s < h; s++) r.lineTo(n[s][0], n[s][1]); 5718 } 5719 t && r.closePath(); 5720 } 5721} 5722var qE = /* @__PURE__ */ function() { 5723 function r() { 5724 this.points = null, this.smooth = 0, this.smoothConstraint = null; 5725 } 5726 return r; 5727}(), Ce = function(r) { 5728 Ft(e, r); 5729 function e(t) { 5730 return r.call(this, t) || this; 5731 } 5732 return e.prototype.getDefaultShape = function() { 5733 return new qE(); 5734 }, e.prototype.buildPath = function(t, a) { 5735 MC(t, a, true); 5736 }, e; 5737}(mt); 5738Ce.prototype.type = "polygon"; 5739var KE = /* @__PURE__ */ function() { 5740 function r() { 5741 this.points = null, this.percent = 1, this.smooth = 0, this.smoothConstraint = null; 5742 } 5743 return r; 5744}(), De = function(r) { 5745 Ft(e, r); 5746 function e(t) { 5747 return r.call(this, t) || this; 5748 } 5749 return e.prototype.getDefaultStyle = function() { 5750 return { stroke: "#000", fill: null }; 5751 }, e.prototype.getDefaultShape = function() { 5752 return new KE(); 5753 }, e.prototype.buildPath = function(t, a) { 5754 MC(t, a, false); 5755 }, e; 5756}(mt); 5757De.prototype.type = "polyline"; 5758var jE = {}, JE = /* @__PURE__ */ function() { 5759 function r() { 5760 this.x1 = 0, this.y1 = 0, this.x2 = 0, this.y2 = 0, this.percent = 1; 5761 } 5762 return r; 5763}(), ee = function(r) { 5764 Ft(e, r); 5765 function e(t) { 5766 return r.call(this, t) || this; 5767 } 5768 return e.prototype.getDefaultStyle = function() { 5769 return { stroke: "#000", fill: null }; 5770 }, e.prototype.getDefaultShape = function() { 5771 return new JE(); 5772 }, e.prototype.buildPath = function(t, a) { 5773 var n, i, o, s; 5774 if (this.subPixelOptimize) { 5775 var l = uC(jE, a, this.style); 5776 n = l.x1, i = l.y1, o = l.x2, s = l.y2; 5777 } else n = a.x1, i = a.y1, o = a.x2, s = a.y2; 5778 var u = a.percent; 5779 u !== 0 && (t.moveTo(n, i), u < 1 && (o = n * (1 - u) + o * u, s = i * (1 - u) + s * u), t.lineTo(o, s)); 5780 }, e.prototype.pointAt = function(t) { 5781 var a = this.shape; 5782 return [a.x1 * (1 - t) + a.x2 * t, a.y1 * (1 - t) + a.y2 * t]; 5783 }, e; 5784}(mt); 5785ee.prototype.type = "line"; 5786var Be = [], QE = /* @__PURE__ */ function() { 5787 function r() { 5788 this.x1 = 0, this.y1 = 0, this.x2 = 0, this.y2 = 0, this.cpx1 = 0, this.cpy1 = 0, this.percent = 1; 5789 } 5790 return r; 5791}(); 5792function s_(r, e, t) { 5793 var a = r.cpx2, n = r.cpy2; 5794 return a != null || n != null ? [(t ? p0 : ae)(r.x1, r.cpx1, r.cpx2, r.x2, e), (t ? p0 : ae)(r.y1, r.cpy1, r.cpy2, r.y2, e)] : [(t ? Up : fe)(r.x1, r.cpx1, r.x2, e), (t ? Up : fe)(r.y1, r.cpy1, r.y2, e)]; 5795} 5796var Po = function(r) { 5797 Ft(e, r); 5798 function e(t) { 5799 return r.call(this, t) || this; 5800 } 5801 return e.prototype.getDefaultStyle = function() { 5802 return { stroke: "#000", fill: null }; 5803 }, e.prototype.getDefaultShape = function() { 5804 return new QE(); 5805 }, e.prototype.buildPath = function(t, a) { 5806 var n = a.x1, i = a.y1, o = a.x2, s = a.y2, l = a.cpx1, u = a.cpy1, f = a.cpx2, h = a.cpy2, v = a.percent; 5807 v !== 0 && (t.moveTo(n, i), f == null || h == null ? (v < 1 && (el(n, l, o, v, Be), l = Be[1], o = Be[2], el(i, u, s, v, Be), u = Be[1], s = Be[2]), t.quadraticCurveTo(l, u, o, s)) : (v < 1 && (en(n, l, f, o, v, Be), l = Be[1], f = Be[2], o = Be[3], en(i, u, h, s, v, Be), u = Be[1], h = Be[2], s = Be[3]), t.bezierCurveTo(l, u, f, h, o, s))); 5808 }, e.prototype.pointAt = function(t) { 5809 return s_(this.shape, t, false); 5810 }, e.prototype.tangentAt = function(t) { 5811 var a = s_(this.shape, t, true); 5812 return mi(a, a); 5813 }, e; 5814}(mt); 5815Po.prototype.type = "bezier-curve"; 5816var tk = /* @__PURE__ */ function() { 5817 function r() { 5818 this.cx = 0, this.cy = 0, this.r = 0, this.startAngle = 0, this.endAngle = Math.PI * 2, this.clockwise = true; 5819 } 5820 return r; 5821}(), Bl = function(r) { 5822 Ft(e, r); 5823 function e(t) { 5824 return r.call(this, t) || this; 5825 } 5826 return e.prototype.getDefaultStyle = function() { 5827 return { stroke: "#000", fill: null }; 5828 }, e.prototype.getDefaultShape = function() { 5829 return new tk(); 5830 }, e.prototype.buildPath = function(t, a) { 5831 var n = a.cx, i = a.cy, o = Math.max(a.r, 0), s = a.startAngle, l = a.endAngle, u = a.clockwise, f = Math.
5831cos(s), h = Math.sin(s); 5832 t.moveTo(f * o + n, h * o + i), t.arc(n, i, o, s, l, !u); 5833 }, e; 5834}(mt); 5835Bl.prototype.type = "arc"; 5836var Oh = function(r) { 5837 Ft(e, r); 5838 function e() { 5839 var t = r !== null && r.apply(this, arguments) || this; 5840 return t.type = "compound", t; 5841 } 5842 return e.prototype._updatePathDirty = function() { 5843 for (var t = this.shape.paths, a = this.shapeChanged(), n = 0; n < t.length; n++) a = a || t[n].shapeChanged(); 5844 a && this.dirtyShape(); 5845 }, e.prototype.beforeBrush = function() { 5846 this._updatePathDirty(); 5847 for (var t = this.shape.paths || [], a = this.getGlobalScale(), n = 0; n < t.length; n++) t[n].path || t[n].createPathProxy(), t[n].path.setScale(a[0], a[1], t[n].segmentIgnoreThreshold); 5848 }, e.prototype.buildPath = function(t, a) { 5849 for (var n = a.paths || [], i = 0; i < n.length; i++) n[i].buildPath(t, n[i].shape, true); 5850 }, e.prototype.afterBrush = function() { 5851 for (var t = this.shape.paths || [], a = 0; a < t.length; a++) t[a].pathUpdated(); 5852 }, e.prototype.getBoundingRect = function() { 5853 return this._updatePathDirty.call(this), mt.prototype.getBoundingRect.call(this); 5854 }, e; 5855}(mt), IC = function() { 5856 function r(e) { 5857 this.colorStops = e || []; 5858 } 5859 return r.prototype.addColorStop = function(e, t) { 5860 this.colorStops.push({ offset: e, color: t }); 5861 }, r; 5862}(), Ro = function(r) { 5863 Ft(e, r); 5864 function e(t, a, n, i, o, s) { 5865 var l = r.call(this, o) || this; 5866 return l.x = t ?? 0, l.y = a ?? 0, l.x2 = n ?? 1, l.y2 = i ?? 0, l.type = "linear", l.global = s || false, l; 5867 } 5868 return e; 5869}(IC), ry = function(r) { 5870 Ft(e, r); 5871 function e(t, a, n, i, o) { 5872 var s = r.call(this, i) || this; 5873 return s.x = t ?? 0.5, s.y = a ?? 0.5, s.r = n ?? 0.5, s.type = "radial", s.global = o || false, s; 5874 } 5875 return e; 5876}(IC), Dn = [0, 0], Mn = [0, 0], pu = new ft(), du = new ft(), Ef = function() { 5877 function r(e, t) { 5878 this._corners = [], this._axes = [], this._origin = [0, 0]; 5879 for (var a = 0; a < 4; a++) this._corners[a] = new ft(); 5880 for (var a = 0; a < 2; a++) this._axes[a] = new ft(); 5881 e && this.fromBoundingRect(e, t); 5882 } 5883 return r.prototype.fromBoundingRect = function(e, t) { 5884 var a = this._corners, n = this._axes, i = e.x, o = e.y, s = i + e.width, l = o + e.height; 5885 if (a[0].set(i, o), a[1].set(s, o), a[2].set(s, l), a[3].set(i, l), t) for (var u = 0; u < 4; u++) a[u].transform(t); 5886 ft.sub(n[0], a[1], a[0]), ft.sub(n[1], a[3], a[0]), n[0].normalize(), n[1].normalize(); 5887 for (var u = 0; u < 2; u++) this._origin[u] = n[u].dot(a[0]); 5888 }, r.prototype.intersect = function(e, t) { 5889 var a = true, n = !t; 5890 return pu.set(1 / 0, 1 / 0), du.set(0, 0), !this._intersectCheckOneSide(this, e, pu, du, n, 1) && (a = false, n) || !this._intersectCheckOneSide(e, this, pu, du, n, -1) && (a = false, n) || n || ft.copy(t, a ? pu : du), a; 5891 }, r.prototype._intersectCheckOneSide = function(e, t, a, n, i, o) { 5892 for (var s = true, l = 0; l < 2; l++) { 5893 var u = this._axes[l]; 5894 if (this._getProjMinMaxOnAxis(l, e._corners, Dn), this._getProjMinMaxOnAxis(l, t._corners, Mn), Dn[1] < Mn[0] || Dn[0] > Mn[1]) { 5895 if (s = false, i) return s; 5896 var f = Math.abs(Mn[0] - Dn[1]), h = Math.abs(Dn[0] - Mn[1]); 5897 Math.min(f, h) > n.len() && (f < h ? ft.scale(n, u, -f * o) : ft.scale(n, u, h * o)); 5898 } else if (a) { 5899 var f = Math.abs(Mn[0] - Dn[1]), h = Math.abs(Dn[0] - Mn[1]); 5900 Math.min(f, h) < a.len() && (f < h ? ft.scale(a, u, f * o) : ft.scale(a, u, -h * o)); 5901 } 5902 } 5903 return s; 5904 }, r.prototype._getProjMinMaxOnAxis = function(e, t, a) { 5905 for (var n = this._axes[e], i = this._origin, o = t[0].dot(n) + i[e], s = o, l = o, u = 1; u < t.length; u++) { 5906 var f = t[u].dot(n) + i[e]; 5907 s = Math.min(f, s), l = Math.max(f, l); 5908 } 5909 a[0] = s, a[1] = l; 5910 }, r; 5911}(), ek = [], LC = function(r) { 5912 Ft(e, r); 5913 function e() { 5914 var t = r !== null && r.apply(this, arguments) || this; 5915 return t.notClear = true, t.incremental = true, t._displayables = [], t._temporaryDisplayables = [], t._cursor = 0, t; 5916 } 5917 return e.prototype.traverse = function(t, a) { 5918 t.call(a, this); 5919 }, e.prototype.useStyle = function() { 5920 this.style = {}; 5921 }, e.prototype.getCursor = function() { 5922 return this._cursor; 5923 }, e.prototype.innerAfterBrush = function() { 5924 this._cursor = this._displayables.length; 5925 }, e.prototype.clearDisplaybles = function() { 5926 this._displayables = [], this._temporaryDisplayables = [], this._cursor = 0, this.markRedraw(), this.notClear = false;
5927 }, e.prototype.clearTemporalDisplayables = function() { 5928 this._temporaryDisplayables = []; 5929 }, e.prototype.addDisplayable = function(t, a) { 5930 a ? this._temporaryDisplayables.push(t) : this._displayables.push(t), this.markRedraw(); 5931 }, e.prototype.addDisplayables = function(t, a) { 5932 a = a || false; 5933 for (var n = 0; n < t.length; n++) this.addDisplayable(t[n], a); 5934 }, e.prototype.getDisplayables = function() { 5935 return this._displayables; 5936 }, e.prototype.getTemporalDisplayables = function() { 5937 return this._temporaryDisplayables; 5938 }, e.prototype.eachPendingDisplayable = function(t) { 5939 for (var a = this._cursor; a < this._displayables.length; a++) t && t(this._displayables[a]); 5940 for (var a = 0; a < this._temporaryDisplayables.length; a++) t && t(this._temporaryDisplayables[a]); 5941 }, e.prototype.update = function() { 5942 this.updateTransform(); 5943 for (var t = this._cursor; t < this._displayables.length; t++) { 5944 var a = this._displayables[t]; 5945 a.parent = this, a.update(), a.parent = null; 5946 } 5947 for (var t = 0; t < this._temporaryDisplayables.length; t++) { 5948 var a = this._temporaryDisplayables[t]; 5949 a.parent = this, a.update(), a.parent = null; 5950 } 5951 }, e.prototype.getBoundingRect = function() { 5952 if (!this._rect) { 5953 for (var t = new ht(1 / 0, 1 / 0, -1 / 0, -1 / 0), a = 0; a < this._displayables.length; a++) { 5954 var n = this._displayables[a], i = n.getBoundingRect().clone();
5955 n.needLocalTransform() && i.applyTransform(n.getLocalTransform(ek)), t.union(i); 5956 } 5957 this._rect = t; 5958 } 5959 return this._rect; 5960 }, e.prototype.contain = function(t, a) { 5961 var n = this.transformCoordToLocal(t, a), i = this.getBoundingRect(); 5962 if (i.contain(n[0], n[1])) for (var o = 0; o < this._displayables.length; o++) { 5963 var s = this._displayables[o]; 5964 if (s.contain(t, a)) return true; 5965 } 5966 return false; 5967 }, e; 5968}(vr), PC = bt(); 5969function Eo(r, e, t, a, n) { 5970 var i; 5971 if (e && e.ecModel) { 5972 var o = e.ecModel.getUpdatePayload(); 5973 i = o && o.animation; 5974 } 5975 var s = e && e.isAnimationEnabled(), l = r === "update"; 5976 if (s) { 5977 var u = void 0, f = void 0, h = void 0; 5978 a ? (u = st(a.duration, 200), f = st(a.easing, "cubicOut"), h = 0) : (u = e.getShallow(l ? "animationDurationUpdate" : "animationDuration"), f = e.getShallow(l ? "animationEasingUpdate" : "animationEasing"), h = e.getShallow(l ? "animationDelayUpdate" : "animationDelay")), i && (i.duration != null && (u = i.duration), i.easing != null && (f = i.easing), i.delay != null && (h = i.delay)), j(h) && (h = h(t, n)), j(u) && (u = u(t)); 5979 var v = { duration: u || 0, delay: h, easing: f }; 5980 return v; 5981 } else return null; 5982} 5983function ay(r, e, t, a, n, i, o) { 5984 var s = false, l; 5985 j(n) ? (o = i, i = n, n = null) : tt(n) && (i = n.cb, o = n.during, s = n.isFrom, l = n.removeOpt, n = n.dataIndex); 5986 var u = r === "leave"; 5987 u || e.stopAnimation("leave"); 5988 var f = Eo(r, a, n, u ? l || {} : null, a && a.getAnimationDelayParams ? a.getAnimationDelayParams(e, n) : null); 5989 if (f && f.duration > 0) { 5990 var h = f.duration, v = f.delay, c = f.easing, p = { duration: h, delay: v || 0, easing: c, done: i, force: !!i || !!o, setToFinal: !u, scope: r, during: o }; 5991 s ? e.animateFrom(t, p) : e.animateTo(t, p); 5992 } else e.stopAnimation(), !s && e.attr(t), o && o(1), i && i(); 5993} 5994function Tt(r, e, t, a, n, i) { 5995 ay("update", r, e, t, a, n, i); 5996} 5997function Gt(r, e, t, a, n, i) { 5998 ay("enter", r, e, t, a, n, i); 5999} 6000function uo(r) { 6001 if (!r.__zr) return true; 6002 for (var e = 0; e < r.animators.length; e++) { 6003 var t = r.animators[e]; 6004 if (t.scope === "leave") return true; 6005 } 6006 return false; 6007} 6008function rn(r, e, t, a, n, i) { 6009 uo(r) || ay("leave", r, e, t, a, n, i); 6010} 6011function l_(r, e, t, a) { 6012 r.removeTextContent(), r.removeTextGuideLine(), rn(r, { style: { opacity: 0 } }, e, t, a); 6013} 6014function ul(r, e, t) { 6015 function a() { 6016 r.parent && r.parent.remove(r); 6017 } 6018 r.isGroup ? r.traverse(function(n) { 6019 n.isGroup || l_(n, e, t, a); 6020 }) : l_(r, e, t, a); 6021} 6022function Er(r) { 6023 PC(r).oldStyle = r.style; 6024} 6025function rk(r) { 6026 return PC(r).oldStyle; 6027} 6028var kf = Math.max, Of = Math.min, gd = {}; 6029function RC(r) { 6030 return mt.extend(r); 6031} 6032var ak = zE; 6033function EC(r, e) { 6034 return ak(r, e); 6035} 6036function pr(r, e) { 6037 gd[r] = e; 6038} 6039function Nh(r) { 6040 if (gd.hasOwnProperty(r)) return gd[r]; 6041} 6042function zl(r, e, t, a) { 6043 var n = AC(r, e); 6044 return t && (a === "center" && (t = kC(t, n.getBoundingRect())), iy(n, t)), n; 6045} 6046function ny(r, e, t) { 6047 var a = new ue({ style: { image: r, x: e.x, y: e.y, width: e.width, height: e.height }, onload: function(n) { 6048 if (t === "center") { 6049 var i = { width: n.width, height: n.height }; 6050 a.setStyle(kC(e, i)); 6051 } 6052 } }); 6053 return a; 6054} 6055function kC(r, e) { 6056 var t = e.width / e.height, a = r.height * t, n; 6057 a <= r.width ? n = r.height : (a = r.width, n = a / t); 6058 var i = r.x + r.width / 2, o = r.y + r.height / 2; 6059 return { x: i - a / 2, y: o - n / 2, width: a, height: n }; 6060} 6061var $e = VE; 6062function iy(r, e) { 6063 if (r.applyTransform) { 6064 var t = r.getBoundingRect(), a = t.calculateTransform(e); 6065 r.applyTransform(a); 6066 } 6067} 6068function _o(r, e) { 6069 return uC(r, r, { lineWidth: e }), r; 6070} 6071function nk(r) { 6072 return fC(r.shape, r.shape, r.style), r; 6073} 6074var uf = Zn; 6075function qa(r, e) { 6076 for (var t = Pl([]); r && r !== e; ) qr(t, r.getLocalTransform(), t), r = r.parent; 6077 return t; 6078} 6079function Ir(r, e, t) { 6080 return e && !ce(e) && (e = ca.getLocalTransform(e)), t && (e = _i([], e)), he([], r, e); 6081} 6082function Bh(r, e, t) { 6083 var a = e[4] === 0 || e[5] === 0 || e[0] === 0 ? 1 : Math.abs(2 * e[4] / e[0]), n = e[4] === 0 || e[5] === 0 || e[2] === 0 ? 1 : Math.abs(2 * e[4] / e[2]), i = [r === "left" ? -a : r === "right" ? a : 0, r === "top" ? -n : r === "bottom" ? n : 0]; 6084 return i = Ir(i, e, t), Math.abs(i[0]) > Math.abs(i[1]) ? i[0] >
6084 0 ? "right" : "left" : i[1] > 0 ? "bottom" : "top"; 6085} 6086function u_(r) { 6087 return !r.isGroup; 6088} 6089function ik(r) { 6090 return r.shape != null; 6091} 6092function Vl(r, e, t) { 6093 if (!r || !e) return; 6094 function a(o) { 6095 var s = {}; 6096 return o.traverse(function(l) { 6097 u_(l) && l.anid && (s[l.anid] = l); 6098 }), s; 6099 } 6100 function n(o) { 6101 var s = { x: o.x, y: o.y, rotation: o.rotation }; 6102 return ik(o) && (s.shape = z({}, o.shape)), s; 6103 } 6104 var i = a(r); 6105 e.traverse(function(o) { 6106 if (u_(o) && o.anid) { 6107 var s = i[o.anid]; 6108 if (s) { 6109 var l = n(o); 6110 o.attr(n(s)), Tt(o, l, t, it(o).dataIndex); 6111 } 6112 } 6113 }); 6114} 6115function oy(r, e) { 6116 return G(r, function(t) { 6117 var a = t[0]; 6118 a = kf(a, e.x), a = Of(a, e.x + e.width); 6119 var n = t[1]; 6120 return n = kf(n, e.y), n = Of(n, e.y + e.height), [a, n]; 6121 }); 6122} 6123function OC(r, e) { 6124 var t = kf(r.x, e.x), a = Of(r.x + r.width, e.x + e.width), n = kf(r.y, e.y), i = Of(r.y + r.height, e.y + e.height); 6125 if (a >= t && i >= n) return { x: t, y: n, width: a - t, height: i - n }; 6126} 6127function ko(r, e, t) { 6128 var a = z({ rectHover: true }, e), n = a.style = { strokeNoScale: true }; 6129 if (t = t || { x: -1, y: -1, width: 2, height: 2 }, r) return r.indexOf("image://") === 0 ? (n.image = r.slice(8), Q(n, t), new ue(a)) : zl(r.replace("path://", ""), a, t, "center"); 6130} 6131function As(r, e, t, a, n) { 6132 for (var i = 0, o = n[n.length - 1]; i < n.length; i++) { 6133 var s = n[i]; 6134 if (NC(r, e, t, a, s[0], s[1], o[0], o[1])) return true; 6135 o = s; 6136 } 6137} 6138function NC(r, e, t, a, n, i, o, s) { 6139 var l = t - r, u = a - e, f = o - n, h = s - i, v = Xv(f, h, l, u); 6140 if (ok(v)) return false; 6141 var c = r - n, p = e - i, d = Xv(c, p, l, u) / v; 6142 if (d < 0 || d > 1) return false; 6143 var g = Xv(c, p, f, h) / v; 6144 return !(g < 0 || g > 1); 6145} 6146function Xv(r, e, t, a) { 6147 return r * a - t * e; 6148} 6149function ok(r) { 6150 return r <= 1e-6 && r >= -1e-6; 6151} 6152function Si(r) { 6153 var e = r.itemTooltipOption, t = r.componentModel, a = r.itemName, n = Y(e) ? { formatter: e } : e, i = t.mainType, o = t.componentIndex, s = { componentType: i, name: a, $vars: ["name"] }; 6154 s[i + "Index"] = o; 6155 var l = r.formatterParamsExtra; 6156 l && D(_t(l), function(f) { 6157 X(s, f) || (s[f] = l[f], s.$vars.push(f)); 6158 }); 6159 var u = it(r.el); 6160 u.componentMainType = i, u.componentIndex = o, u.tooltipConfig = { name: a, option: Q({ content: a, encodeHTMLContent: true, formatterParams: s }, n) }; 6161} 6162function f_(r, e) { 6163 var t; 6164 r.isGroup && (t = e(r)), t || r.traverse(e); 6165} 6166function un(r, e) { 6167 if (r) if (V(r)) for (var t = 0; t < r.length; t++) f_(r[t], e); 6168 else f_(r, e); 6169} 6170pr("circle", ea); 6171pr("ellipse", Nl); 6172pr("sector", Te); 6173pr("ring", Lo); 6174pr("polygon", Ce); 6175pr("polyline", De); 6176pr("rect", xt); 6177pr("line", ee); 6178pr("bezierCurve", Po); 6179pr("arc", Bl); 6180const xi = Object.freeze(Object.defineProperty({ __proto__: null, Arc: Bl, BezierCurve: Po, BoundingRect: ht, Circle: ea, CompoundPath: Oh, Ellipse: Nl, Group: at, Image: ue, IncrementalDisplayable: LC, Line: ee, LinearGradient: Ro, OrientedBoundingRect: Ef, Path: mt, Point: ft, Polygon: Ce, Polyline: De, RadialGradient: ry, Rect: xt, Ring: Lo, Sector: Te, Text: St, applyTransform: Ir, clipPointsByRect: oy, clipRectByRect: OC, createIcon: ko, extendPath: EC, extendShape: RC, getShapeClass: Nh, getTransform: qa, groupTransition: Vl, initProps: Gt, isElementRemoved: uo, lineLineIntersect: NC, linePolygonIntersect: As, makeImage: ny, makePath: zl, mergePath: $e, registerShape: pr, removeElement: rn, removeElementWithFadeOut: ul, resizePath: iy, setTooltipConfig: Si, subPixelOptimize: uf, subPixelOptimizeLine: _o, subPixelOptimizeRect: nk, transformDirection: Bh, traverseElements: un, updateProps: Tt }, Symbol.toStringTag, { value: "Module" })); 6181var zh = {}; 6182function BC(r, e) { 6183 for (var t = 0; t < Oe.length; t++) { 6184 var a = Oe[t], n = e[a], i = r.ensureState(a); 6185 i.style = i.style || {}, i.style.text = n; 6186 } 6187 var o = r.currentStates.slice(); 6188 r.clearStates(true), r.setStyle({ text: e.normal }), r.useStates(o, true); 6189} 6190function yd(r, e, t) { 6191 var a = r.labelFetcher, n = r.labelDataIndex, i = r.labelDimIndex, o = e.normal, s; 6192 a && (s = a.getFormattedLabel(n, "normal", null, i, o && o.get("formatter"), t != null ? { interpolatedValue: t } : null)), s == null && (s = j(r.defaultText) ? r.defaultText(n, r, t) : r.defaultText); 6193 for (var l = { normal: s }, u = 0; u < Oe.length; u++) { 6194 var f = Oe[u], h = e[f]; 6195 l[f] = st(a ? a.getFormattedLabel(n, f, null, i, h && h.get("formatter")) : null, s); 6196 } 6197 return l; 6198} 6199function de(r, e, t, a) { 6200 t = t || zh; 6201 for (var n = r instanceof St, i = false, o = 0; o < sl.length; o++) { 6202 var s = e[sl[o]]; 6203 if (s && s.getShallow("show")) { 6204 i = true; 6205 break; 6206 } 6207 } 6208 var l = n ? r : r.getTextContent(); 6209 if (i) { 6210 n || (l || (l = new St(), r.setTextContent(l)), r.stateProxy && (l.stateProxy = r.stateProxy)); 6211 var u = yd(t, e), f = e.normal, h = !!f.getShallow("show"), v = Nt(f, a && a.normal, t, false, !n); 6212 v.text = u.normal, n || r.setTextConfig(Nf(f, t, false)); 6213 for (var o = 0; o < Oe.length; o++) { 6214 var c = Oe[o], s = e[c]; 6215 if (s) { 6216 var p = l.ensureState(c), d = !!st(s.getShallow("show"), h); 6217 if (d !== h && (p.ignore = !d), p.style = Nt(s, a && a[c], t, true, !n), p.style.text = u[c], !n) { 6218 var g = r.ensureState(c); 6219 g.textConfig = Nf(s, t, true); 6220 } 6221 } 6222 } 6223 l.silent = !!f.getShallow("silent"), l.style.x != null && (v.x = l.style.x), l.style.y != null && (v.y = l.style.y), l.ignore = !h, l.useStyle(v), l.dirty(), t.enableTextSetter && (Oo(l).setLabelText = function(y) { 6224 var m = yd(t, e, y); 6225 BC(l, m); 6226 }); 6227 } else l && (l.ignore = true); 6228 r.dirty(); 6229} 6230function se(r, e) { 6231 e = e || "label"; 6232 for (var t = { normal: r.getModel(e) }, a = 0; a < Oe.length; a++) { 6233 var n = Oe[a]; 6234 t[n] = r.getModel([n, e]); 6235 } 6236 return t; 6237} 6238function Nt(r, e, t, a, n) { 6239 var i = {}; 6240 return sk(i, r, t, a, n), e && z(i, e), i; 6241} 6242function Nf(r, e, t) { 6243 e = e || {}; 6244 var a = {}, n, i = r.getShallow("rotate"), o = st(r.getShallow("distance"), t ? null : 5), s = r.getShallow("offset");
6245 return n = r.getShallow("position") || (t ? null : "inside"), n === "outside" && (n = e.defaultOutsidePosition || "top"), n != null && (a.position = n), s != null && (a.offset = s), i != null && (i *= Math.PI / 180, a.rotation = i), o != null && (a.distance = o), a.outsideFill = r.get("color") === "inherit" ? e.inheritColor || null : "auto", a; 6246} 6247function sk(r, e, t, a, n) { 6248 t = t || zh; 6249 var i = e.ecModel, o = i && i.option.textStyle, s = lk(e), l; 6250 if (s) { 6251 l = {}; 6252 for (var u in s) if (s.hasOwnProperty(u)) { 6253 var f = e.getModel(["rich", u]); 6254 p_(l[u] = {}, f, o, t, a, n, false, true); 6255 } 6256 } 6257 l && (r.rich = l); 6258 var h = e.get("overflow"); 6259 h && (r.overflow = h); 6260 var v = e.get("minMargin"); 6261 v != null && (r.margin = v), p_(r, e, o, t, a, n, true, false); 6262} 6263function lk(r) { 6264 for (var e; r && r !== r.ecModel; ) { 6265 var t = (r.option || zh).rich; 6266 if (t) { 6267 e = e || {}; 6268 for (var a = _t(t), n = 0; n < a.length; n++) { 6269 var i = a[n]; 6270 e[i] = 1; 6271 } 6272 } 6273 r = r.parentModel; 6274 } 6275 return e; 6276} 6277var h_ = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"], v_ = ["align", "lineHeight", "width", "height", "tag", "verticalAlign", "ellipsis"], c_ = ["padding", "borderWidth", "borderRadius", "borderDashOffset", "backgroundColor", "borderColor", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"]; 6278function p_(r, e, t, a, n, i, o, s) { 6279 t = !n && t || zh; 6280 var l = a && a.inheritColor, u = e.getShallow("color"), f = e.getShallow("textBorderColor"), h = st(e.getShallow("opacity"), t.opacity); 6281 (u === "inherit" || u === "auto") && (l ? u = l : u = null), (f === "inherit" || f === "auto") && (l ? f = l : f = null), i || (u = u || t.color, f = f || t.textBorderColor), u != null && (r.fill = u), f != null && (r.stroke = f); 6282 var v = st(e.getShallow("textBorderWidth"), t.textBorderWidth); 6283 v != null && (r.lineWidth = v); 6284 var c = st(e.getShallow("textBorderType"), t.textBorderType); 6285 c != null && (r.lineDash = c); 6286 var p = st(e.getShallow("textBorderDashOffset"), t.textBorderDashOffset); 6287 p != null && (r.lineDashOffset = p), !n && h == null && !s && (h = a && a.defaultOpacity), h != null && (r.opacity = h), !n && !i && r.fill == null && a.inheritColor && (r.fill = a.inheritColor); 6288 for (var d = 0; d < h_.length; d++) { 6289 var g = h_[d], y = st(e.getShallow(g), t[g]); 6290 y != null && (r[g] = y); 6291 } 6292 for (var d = 0; d < v_.length; d++) { 6293 var g = v_[d], y = e.getShallow(g); 6294 y != null && (r[g] = y); 6295 } 6296 if (r.verticalAlign == null) { 6297 var m = e.getShallow("baseline"); 6298 m != null && (r.verticalAlign = m); 6299 } 6300 if (!o || !a.disableBox) { 6301 for (var d = 0; d < c_.length; d++) { 6302 var g = c_[d], y = e.getShallow(g); 6303 y != null && (r[g] = y); 6304 } 6305 var _ = e.getShallow("borderType"); 6306 _ != null && (r.borderDash = _), (r.backgroundColor === "auto" || r.backgroundColor === "inherit") && l && (r.backgroundColor = l), (r.borderColor === "auto" || r.borderColor === "inherit") && l && (r.borderColor = l); 6307 } 6308} 6309function sy(r, e) { 6310 var t = e && e.getModel("textStyle"); 6311 return ur([r.fontStyle || t && t.getShallow("fontStyle") || "", r.fontWeight || t && t.getShallow("fontWeight") || "", (r.fontSize || t && t.getShallow("fontSize") || 12) + "px", r.fontFamily || t && t.getShallow("fontFamily") || "sans-serif"].join(" ")); 6312} 6313var Oo = bt(); 6314function zC(r, e, t, a) { 6315 if (r) { 6316 var n = Oo(r); 6317 n.prevValue = n.value, n.value = t; 6318 var i = e.normal; 6319 n.valueAnimation = i.get("valueAnimation"), n.valueAnimation && (n.precision = i.get("precision"), n.defaultInterpolatedText = a, n.statesModels = e); 6320 } 6321} 6322function VC(r, e, t, a, n) { 6323 var i = Oo(r); 6324 if (!i.valueAnimation || i.prevValue === i.value) return; 6325 var o = i.defaultInterpolatedText, s = st(i.interpolatedValue, i.prevValue), l = i.value; 6326 function u(f) { 6327 var h = tC(t, i.precision, s, l, f); 6328 i.interpolatedValue = f === 1 ? null : h; 6329 var v = yd({ labelDataIndex: e, labelFetcher: n, defaultText: o ? o(h) : h + "" }, i.statesModels, h); 6330 BC(r, v); 6331 } 6332 r.percent = 0, (i.prevValue == null ? Gt : Tt)(r, { percent: 1 }, a, e, null, u); 6333} 6334var uk = ["textStyle", "color"], Zv = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "padding", "lineHeight", "rich", "width", "height", "overflow"], qv = new St(), fk = function() { 6335 function r() { 6336 } 6337 return r.prototype.getTextColor = function(e) { 6338 var t = this.ecModel;
6339 return this.getShallow("color") || (!e && t ? t.get(uk) : null); 6340 }, r.prototype.getFont = function() { 6341 return sy({ fontStyle: this.getShallow("fontStyle"), fontWeight: this.getShallow("fontWeight"), fontSize: this.getShallow("fontSize"), fontFamily: this.getShallow("fontFamily") }, this.ecModel); 6342 }, r.prototype.getTextRect = function(e) { 6343 for (var t = { text: e, verticalAlign: this.getShallow("verticalAlign") || this.getShallow("baseline") }, a = 0; a < Zv.length; a++) t[Zv[a]] = this.getShallow(Zv[a]); 6344 return qv.useStyle(t), qv.update(), qv.getBoundingRect(); 6345 }, r; 6346}(), GC = [["lineWidth", "width"], ["stroke", "color"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"], ["lineDash", "type"], ["lineDashOffset", "dashOffset"], ["lineCap", "cap"], ["lineJoin", "join"], ["miterLimit"]], hk = vi(GC), vk = function() { 6347 function r() { 6348 } 6349 return r.prototype.getLineStyle = function(e) { 6350 return hk(this, e); 6351 }, r; 6352}(), FC = [["fill", "color"], ["stroke", "borderColor"], ["lineWidth", "borderWidth"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"], ["lineDash", "borderType"], ["lineDashOffset", "borderDashOffset"], ["lineCap", "borderCap"], ["lineJoin", "borderJoin"], ["miterLimit", "borderMiterLimit"]], ck = vi(FC), pk = function() { 6353 function r() { 6354 } 6355 return r.prototype.getItemStyle = function(e, t) { 6356 return ck(this, e, t); 6357 }, r; 6358}(), At = function() { 6359 function r(e, t, a) { 6360 this.parentModel = t, this.ecModel = a, this.option = e; 6361 } 6362 return r.prototype.init = function(e, t, a) { 6363 }, r.prototype.mergeOption = function(e, t) { 6364 ut(this.option, e, true); 6365 }, r.prototype.get = function(e, t) { 6366 return e == null ? this.option : this._doGet(this.parsePath(e), !t && this.parentModel); 6367 }, r.prototype.getShallow = function(e, t) { 6368 var a = this.option, n = a == null ? a : a[e]; 6369 if (n == null && !t) { 6370 var i = this.parentModel; 6371 i && (n = i.getShallow(e)); 6372 } 6373 return n; 6374 }, r.prototype.getModel = function(e, t) { 6375 var a = e != null, n = a ? this.parsePath(e) : null, i = a ? this._doGet(n) : this.option; 6376 return t = t || this.parentModel && this.parentModel.getModel(this.resolveParentPath(n)), new r(i, t, this.ecModel); 6377 }, r.prototype.isEmpty = function() { 6378 return this.option == null; 6379 }, r.prototype.restoreData = function() { 6380 }, r.prototype.clone = function() { 6381 var e = this.constructor; 6382 return new e(rt(this.option)); 6383 }, r.prototype.parsePath = function(e) { 6384 return typeof e == "string" ? e.split(".") : e; 6385 }, r.prototype.resolveParentPath = function(e) { 6386 return e; 6387 }, r.prototype.isAnimationEnabled = function() { 6388 if (!yt.node && this.option) { 6389 if (this.option.animation != null) return !!this.option.animation; 6390 if (this.parentModel) return this.parentModel.isAnimationEnabled(); 6391 } 6392 }, r.prototype._doGet = function(e, t) { 6393 var a = this.option; 6394 if (!e) return a; 6395 for (var n = 0; n < e.length && !(e[n] && (a = a && typeof a == "object" ? a[e[n]] : null, a == null)); n++) ; 6396 return a == null && t && (a = t._doGet(this.resolveParentPath(e), t.parentModel)), a; 6397 }, r; 6398}(); 6399Xg(At); 6400DR(At); 6401Xt(At, vk); 6402Xt(At, pk); 6403Xt(At, RR); 6404Xt(At, fk); 6405var dk = Math.round(Math.random() * 10); 6406function No(r) { 6407 return [r || "", dk++].join("_"); 6408} 6409function gk(r) { 6410 var e = {}; 6411 r.registerSubTypeDefaulter = function(t, a) { 6412 var n = Yr(t); 6413 e[n.main] = a; 6414 }, r.determineSubType = function(t, a) { 6415 var n = a.type; 6416 if (!n) { 6417 var i = Yr(t).main; 6418 r.hasSubTypes(t) && e[i] && (n = e[i](a)); 6419 } 6420 return n; 6421 }; 6422} 6423function yk(r, e) { 6424 r.topologicalTravel = function(i, o, s, l) { 6425 if (!i.length) return; 6426 var u = t(o), f = u.graph, h = u.noEntryList, v = {}; 6427 for (D(i, function(m) { 6428 v[m] = true; 6429 }); h.length; ) { 6430 var c = h.pop(), p = f[c], d = !!v[c]; 6431 d && (s.call(l, c, p.originalDeps.slice()), delete v[c]), D(p.successor, d ? y : g); 6432 } 6433 D(v, function() { 6434 var m = ""; 6435 throw new Error(m); 6436 }); 6437 function g(m) { 6438 f[m].entryCount--, f[m].entryCount === 0 && h.push(m); 6439 } 6440 function y(m) { 6441 v[m] = true, g(m); 6442 } 6443 }; 6444 function t(i) { 6445 var o = {}, s = []; 6446 return D(i, function(l) { 6447 var u = a(o, l), f = u.originalDeps = e(l), h = n(f, i); 6448 u.entryCount = h.length, u.entryCount === 0 && s.push(l), D(h, function(v) { 6449 vt(u.predecessor, v) < 0 && u.predecessor.push(v); 6450 var c = a(o, v); 6451 vt(c.successor, v) < 0 && c.successor.push(l); 6452 }); 6453 }), { graph: o, noEntryList: s }; 6454 } 6455 function a(i, o) { 6456 return i[o] || (i[o] = { predecessor: [], successor: [] }), i[o]; 6457 } 6458 function n(i, o) { 6459 var s = []; 6460 return D(i, function(l) { 6461 vt(o, l) >= 0 && s.push(l); 6462 }), s; 6463 } 6464} 6465function fn(r, e) { 6466 return ut(ut({}, r, true), e, true); 6467} 6468const mk = { time: { month: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
6468November", "December"], monthAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], dayOfWeekAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, legend: { selector: { all: "All", inverse: "Inv" } }, toolbox: { brush: { title: { rect: "Box Select", polygon: "Lasso Select", lineX: "Horizontally Select", lineY: "Vertically Select", keep: "Keep Selections", clear: "Clear Selections" } }, dataView: { title: "Data View", lang: ["Data View", "Close", "Refresh"] }, dataZoom: { title: { zoom: "Zoom", back: "Zoom Reset" } }, magicType: { title: { line: "Switch to Line Chart", bar: "Switch to Bar Chart", stack: "Stack", tiled: "Tile" } }, restore: { title: "Restore" }, saveAsImage: { title: "Save as Image", lang: ["Right Click to Save Image"] } }, series: { typeNames: { pie: "Pie chart", bar: "Bar chart", line: "Line chart", scatter: "Scatter plot", effectScatter: "Ripple scatter plot", radar: "Radar chart", tree: "Tree", treemap: "Treemap", boxplot: "Boxplot", candlestick: "Candlestick", k: "K line chart", heatmap: "Heat map", map: "Map", parallel: "Parallel coordinate map", lines: "Line graph", graph: "Relationship graph", sankey: "Sankey diagram", funnel: "Funnel chart", gauge: "Gauge", pictorialBar: "Pictorial bar", themeRiver: "Theme River Map", sunburst: "Sunburst", custom: "Custom chart", chart: "Chart" } }, aria: { general: { withTitle: 'This is a chart about "{title}"', withoutTitle: "This is a chart" }, series: { single: { prefix: "", withName: " with type {seriesType} named {seriesName}.", withoutName: " with type {seriesType}." }, multiple: { prefix: ". It consists of {seriesCount} series count.", withName: " The {seriesId} series is a {seriesType} representing {seriesName}.", withoutName: " The {seriesId} series is a {seriesType}.", separator: { middle: "", end: "" } } }, data: { allData: "The data is as follows: ", partialData: "The first {displayCnt} items are: ", withName: "the data for {name} is {value}", withoutName: "{value}", separator: { middle: ", ", end: ". " } } } }, _k = { time: { month: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"], monthAbbr: ["1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708"], dayOfWeek: ["\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"], dayOfWeekAbbr: ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"] }, legend: { selector: { all: "\u5168\u9009", inverse: "\u53CD\u9009" } }, toolbox: { brush: { title: { rect: "\u77E9\u5F62\u9009\u62E9", polygon: "\u5708\u9009", lineX: "\u6A2A\u5411\u9009\u62E9", lineY: "\u7EB5\u5411\u9009\u62E9", keep: "\u4FDD\u6301\u9009\u62E9", clear: "\u6E05\u9664\u9009\u62E9" } }, dataView: { title: "\u6570\u636E\u89C6\u56FE", lang: ["\u6570\u636E\u89C6\u56FE", "\u5173\u95ED", "\u5237\u65B0"] }, dataZoom: { title: { zoom: "\u533A\u57DF\u7F29\u653E", back: "\u533A\u57DF\u7F29\u653E\u8FD8\u539F" } }, magicType: { title: { line: "\u5207\u6362\u4E3A\u6298\u7EBF\u56FE", bar: "\u5207\u6362\u4E3A\u67F1\u72B6\u56FE", stack: "\u5207\u6362\u4E3A\u5806\u53E0", tiled: "\u5207\u6362\u4E3A\u5E73\u94FA" } }, restore: { title: "\u8FD8\u539F" }, saveAsImage: { title: "\u4FDD\u5B58\u4E3A\u56FE\u7247", lang: ["\u53F3\u952E\u53E6\u5B58\u4E3A\u56FE\u7247"] } }, series: { typeNames: { pie: "\u997C\u56FE", bar: "\u67F1\u72B6\u56FE", line: "\u6298\u7EBF\u56FE", scatter: "\u6563\u70B9\u56FE", effectScatter: "\u6D9F\u6F2A\u6563\u70B9\u56FE", radar: "\u96F7\u8FBE\u56FE", tree: "\u6811\u56FE", treemap: "\u77E9\u5F62\u6811\u56FE", boxplot: "\u7BB1\u578B\u56FE", candlestick: "K\u7EBF\u56FE", k: "K\u7EBF\u56FE", heatmap: "\u70ED\u529B\u56FE", map: "\u5730\u56FE", parallel: "\u5E73\u884C\u5750\u6807\u56FE", lines: "\u7EBF\u56FE", graph: "\u5173\u7CFB\u56FE", sankey: "\u6851\u57FA\u56FE", funnel: "\u6F0F\u6597\u56FE", gauge: "\u4EEA\u8868\u76D8\u56FE", pictorialBar: "\u8C61\u5F62\u67F1\u56FE", themeRiver: "\u4E3B\u9898\u6CB3\u6D41\u56FE", sunburst: "\u65ED\u65E5\u56FE", custom: "\u81EA\u5B9A\u4E49\u56FE\u8868", chart: "\u56FE\u8868" } }
6468, aria: { general: { withTitle: "\u8FD9\u662F\u4E00\u4E2A\u5173\u4E8E\u201C{title}\u201D\u7684\u56FE\u8868\u3002", withoutTitle: "\u8FD9\u662F\u4E00\u4E2A\u56FE\u8868\uFF0C" }, series: { single: { prefix: "", withName: "\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\uFF0C\u8868\u793A{seriesName}\u3002", withoutName: "\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\u3002" }, multiple: { prefix: "\u5B83\u7531{seriesCount}\u4E2A\u56FE\u8868\u7CFB\u5217\u7EC4\u6210\u3002", withName: "\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A\u8868\u793A{seriesName}\u7684{seriesType}\uFF0C", withoutName: "\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A{seriesType}\uFF0C", separator: { middle: "\uFF1B", end: "\u3002" } } }, data: { allData: "\u5176\u6570\u636E\u662F\u2014\u2014", partialData: "\u5176\u4E2D\uFF0C\u524D{displayCnt}\u9879\u662F\u2014\u2014", withName: "{name}\u7684\u6570\u636E\u662F{value}", withoutName: "{value}", separator: { middle: "\uFF0C", end: "" } } } }; 6469var Bf = "ZH", ly = "EN", fo = ly, ff = {}, uy = {}, HC = yt.domSupported ? function() { 6470 var r = (document.documentElement.lang || navigator.language || navigator.browserLanguage || fo).toUpperCase(); 6471 return r.indexOf(Bf) > -1 ? Bf : fo; 6472}() : fo; 6473function fy(r, e) { 6474 r = r.toUpperCase(), uy[r] = new At(e), ff[r] = e; 6475} 6476function Sk(r) { 6477 if (Y(r)) { 6478 var e = ff[r.toUpperCase()] || {}; 6479 return r === Bf || r === ly ? rt(e) : ut(rt(e), rt(ff[fo]), false); 6480 } else return ut(rt(r), rt(ff[fo]), false); 6481} 6482function md(r) { 6483 return uy[r]; 6484} 6485function xk() { 6486 return uy[fo]; 6487} 6488fy(ly, mk); 6489fy(Bf, _k); 6490var hy = 1e3, vy = hy * 60, $s = vy * 60, lr = $s * 24, d_ = lr * 365, Ds = { year: "{yyyy}", month: "{MMM}", day: "{d}", hour: "{HH}:{mm}", minute: "{HH}:{mm}", second: "{HH}:{mm}:{ss}", millisecond: "{HH}:{mm}:{ss} {SSS}", none: "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}" }, gu = "{yyyy}-{MM}-{dd}", g_ = { year: "{yyyy}", month: "{yyyy}-{MM}", day: gu, hour: gu + " " + Ds.hour, minute: gu + " " + Ds.minute, second: gu + " " + Ds.second, millisecond: Ds.none }, Kv = ["year", "month", "day", "hour", "minute", "second", "millisecond"], WC = ["year", "half-year", "quarter", "month", "week", "half-week", "day", "half-day", "quarter-day", "hour", "minute", "second", "millisecond"]; 6491function Le(r, e) { 6492 return r += "", "0000".substr(0, e - r.length) + r; 6493} 6494function ho(r) { 6495 switch (r) { 6496 case "half-year": 6497 case "quarter": 6498 return "month"; 6499 case "week": 6500 case "half-week": 6501 return "day"; 6502 case "half-day": 6503 case "quarter-day": 6504 return "hour"; 6505 default: 6506 return r; 6507 } 6508} 6509function bk(r) { 6510 return r === ho(r); 6511} 6512function wk(r) { 6513 switch (r) { 6514 case "year": 6515 case "month": 6516 return "day"; 6517 case "millisecond": 6518 return "millisecond"; 6519 default: 6520 return "second"; 6521 } 6522} 6523function Gl(r, e, t, a) { 6524 var n = Ke(r), i = n[cy(t)](), o = n[vo(t)]() + 1, s = Math.floor((o - 1) / 3) + 1, l = n[Vh(t)](), u = n["get" + (t ? "UTC" : "") + "Day"](), f = n[fl(t)](), h = (f - 1) % 12 + 1, v = n[Gh(t)](), c = n[Fh(t)](), p = n[Hh(t)](), d = f >= 12 ? "pm" : "am", g = d.toUpperCase(), y = a instanceof At ? a : md(a || HC) || xk(), m = y.getModel("time"), _ = m.get("month"), S = m.get("monthAbbr"), b = m.get("dayOfWeek"), x = m.get("dayOfWeekAbbr"); 6525 return (e || "").replace(/{a}/g, d + "").replace(/{A}/g, g + "").replace(/{yyyy}/g, i + "").replace(/{yy}/g, Le(i % 100 + "", 2)).replace(/{Q}/g, s + "").replace(/{MMMM}/g, _[o - 1]).replace(/{MMM}/g, S[o - 1]).replace(/{MM}/g, Le(o, 2)).replace(/{M}/g, o + "").replace(/{dd}/g, Le(l, 2)).replace(/{d}/g, l + "").replace(/{eeee}/g, b[u]).replace(/{ee}/g, x[u]).replace(/{e}/g, u + "").replace(/{HH}/g, Le(f, 2)).replace(/{H}/g, f + "").replace(/{hh}/g, Le(h + "", 2)).replace(/{h}/g, h + "").replace(/{mm}/g, Le(v, 2)).replace(/{m}/g, v + "").replace(/{ss}/g, Le(c, 2)).replace(/{s}/g, c + "").replace(/{SSS}/g, Le(p, 3)).replace(/{S}/g, p + ""); 6526} 6527function Tk(r, e, t, a, n) { 6528 var i = null; 6529 if (Y(t)) i = t; 6530 else if (j(t)) i = t(r.value, e, { level: r.level }); 6531 else { 6532 var o = z({}, Ds); 6533 if (r.level > 0) for (var s = 0; s < Kv.length; ++s) o[Kv[s]] = "{primary|" + o[Kv[s]] + "}"; 6534 var l = t ? t.inherit === false ? t : Q(t, o) : o, u = UC(r.value, n); 6535 if (l[u]) i = l[u]; 6536 else if (l.inherit) { 6537 for (var f = WC.indexOf(u), s = f - 1; s >= 0; --s) if (l[u]) { 6538 i = l[u]; 6539 break; 6540 } 6541 i = i || o.none; 6542 } 6543 if (V(i)) { 6544 var h = r.level == null ? 0 : r.level >= 0 ? r.level : i.length + r.level; 6545 h = Math.min(h, i.length - 1), i = i[h]; 6546 } 6547 }
6548 return Gl(new Date(r.value), i, n, a); 6549} 6550function UC(r, e) { 6551 var t = Ke(r), a = t[vo(e)]() + 1, n = t[Vh(e)](), i = t[fl(e)](), o = t[Gh(e)](), s = t[Fh(e)](), l = t[Hh(e)](), u = l === 0, f = u && s === 0, h = f && o === 0, v = h && i === 0, c = v && n === 1, p = c && a === 1; 6552 return p ? "year" : c ? "month" : v ? "day" : h ? "hour" : f ? "minute" : u ? "second" : "millisecond"; 6553} 6554function y_(r, e, t) { 6555 var a = wt(r) ? Ke(r) : r; 6556 switch (e = e || UC(r, t), e) { 6557 case "year": 6558 return a[cy(t)](); 6559 case "half-year": 6560 return a[vo(t)]() >= 6 ? 1 : 0; 6561 case "quarter": 6562 return Math.floor((a[vo(t)]() + 1) / 4); 6563 case "month": 6564 return a[vo(t)](); 6565 case "day": 6566 return a[Vh(t)](); 6567 case "half-day": 6568 return a[fl(t)]() / 24; 6569 case "hour": 6570 return a[fl(t)](); 6571 case "minute": 6572 return a[Gh(t)](); 6573 case "second": 6574 return a[Fh(t)](); 6575 case "millisecond": 6576 return a[Hh(t)](); 6577 } 6578} 6579function cy(r) { 6580 return r ? "getUTCFullYear" : "getFullYear"; 6581} 6582function vo(r) { 6583 return r ? "getUTCMonth" : "getMonth"; 6584} 6585function Vh(r) { 6586 return r ? "getUTCDate" : "getDate"; 6587} 6588function fl(r) { 6589 return r ? "getUTCHours" : "getHours"; 6590} 6591function Gh(r) { 6592 return r ? "getUTCMinutes" : "getMinutes"; 6593} 6594function Fh(r) { 6595 return r ? "getUTCSeconds" : "getSeconds"; 6596} 6597function Hh(r) { 6598 return r ? "getUTCMilliseconds" : "getMilliseconds"; 6599} 6600function Ck(r) { 6601 return r ? "setUTCFullYear" : "setFullYear"; 6602} 6603function YC(r) { 6604 return r ? "setUTCMonth" : "setMonth"; 6605} 6606function $C(r) { 6607 return r ? "setUTCDate" : "setDate"; 6608} 6609function XC(r) { 6610 return r ? "setUTCHours" : "setHours"; 6611} 6612function ZC(r) { 6613 return r ? "setUTCMinutes" : "setMinutes"; 6614} 6615function qC(r) { 6616 return r ? "setUTCSeconds" : "setSeconds"; 6617} 6618function KC(r) { 6619 return r ? "setUTCMilliseconds" : "setMilliseconds"; 6620} 6621function Ak(r, e, t, a, n, i, o, s) { 6622 var l = new St({ style: { text: r, font: e, align: t, verticalAlign: a, padding: n, rich: i, overflow: o ? "truncate" : null, lineHeight: s } }); 6623 return l.getBoundingRect(); 6624} 6625function py(r) { 6626 if (!Ug(r)) return Y(r) ? r : "-"; 6627 var e = (r + "").split("."); 6628 return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (e.length > 1 ? "." + e[1] : ""); 6629} 6630function dy(r, e) { 6631 return r = (r || "").toLowerCase().replace(/-(.)/g, function(t, a) { 6632 return a.toUpperCase(); 6633 }), e && r && (r = r.charAt(0).toUpperCase() + r.slice(1)), r; 6634} 6635var bi = bh; 6636function _d(r, e, t) { 6637 var a = "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}"; 6638 function n(f) { 6639 return f && ur(f) ? f : "-"; 6640 } 6641 function i(f) { 6642 return !!(f != null && !isNaN(f) && isFinite(f)); 6643 } 6644 var o = e === "time", s = r instanceof Date; 6645 if (o || s) { 6646 var l = o ? Ke(r) : r; 6647 if (isNaN(+l)) { 6648 if (s) return "-"; 6649 } else return Gl(l, a, t); 6650 } 6651 if (e === "ordinal") return Sf(r) ? n(r) : wt(r) && i(r) ? r + "" : "-"; 6652 var u = Qr(r); 6653 return i(u) ? py(u) : Sf(r) ? n(r) : typeof r == "boolean" ? r + "" : "-"; 6654} 6655var m_ = ["a", "b", "c", "d", "e", "f", "g"], jv = function(r, e) { 6656 return "{" + r + (e ?? "") + "}"; 6657}; 6658function gy(r, e, t) { 6659 V(e) || (e = [e]); 6660 var a = e.length; 6661 if (!a) return ""; 6662 for (var n = e[0].$vars || [], i = 0; i < n.length; i++) { 6663 var o = m_[i]; 6664 r = r.replace(jv(o), jv(o, 0)); 6665 } 6666 for (var s = 0; s < a; s++) for (var l = 0; l < n.length; l++) { 6667 var u = e[s][n[l]]; 6668 r = r.replace(jv(m_[l], s), t ? xe(u) : u); 6669 } 6670 return r; 6671} 6672function Dk(r, e, t) { 6673 return D(e, function(a, n) { 6674 r = r.replace("{" + n + "}", a); 6675 }), r; 6676} 6677function jC(r, e) { 6678 var t = Y(r) ? { color: r, extraCssText: e } : r || {}, a = t.color, n = t.type; 6679 e = t.extraCssText; 6680 var i = t.renderMode || "html"; 6681 if (!a) return ""; 6682 if (i === "html") return n === "subItem" ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + xe(a) + ";" + (e || "") + '"></span>' : '<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:' + xe(a) + ";" + (e || "") + '"></span>'; 6683 var o = t.markerId || "markerX"; 6684 return { renderMode: i, content: "{" + o + "|} ", style: n === "subItem" ? { width: 4, height: 4, borderRadius: 2, backgroundColor: a } : { width: 10, height: 10, borderRadius: 5, backgroundColor: a } }; 6685} 6686function Mk(r, e, t) { 6687 (r === "week" || r === "month" || r === "quarter" || r === "half-year" || r === "year") && (r = `MM-dd 6688yyyy`); 6689 var a = Ke(e), n = t ? "getUTC" : "get", i = a[n + "FullYear"](), o = a[n + "Month"]() + 1, s = a[n + "Date"](), l = a[n + "Hours"](), u = a[n + "Minutes"](), f = a[n + "Seconds"](), h = a[n + "Milliseconds"](); 6690 return r = r.replace("MM", Le(o, 2)).replace("M", o).replace("yyyy", i).replace("yy", Le(i % 100 + "", 2)).replace("dd", Le(s, 2)).replace("d", s).replace("hh", Le(l, 2)).replace("h", l).replace("mm", Le(u, 2)).replace("m", u).replace("ss", Le(f, 2)).replace("s", f).replace("SSS", Le(h, 3)), r; 6691} 6692function Ik(r) { 6693 return r && r.charAt(0).toUpperCase() + r.substr(1); 6694} 6695function pi(r, e) { 6696 return e = e || "transparent", Y(r) ? r : tt(r) && r.colorStops && (r.colorStops[0] || {}).color || e; 6697} 6698function zf(r, e) { 6699 if (e === "_blank" || e === "blank") { 6700 var t = window.open(); 6701 t.opener = null, t.location.href = r; 6702 } else window.open(r, e); 6703} 6704var hf = D, JC = ["left", "right", "top", "bottom", "width", "height"], Kn = [["width", "left", "right"], ["height", "top", "bottom"]]; 6705function yy(r, e, t, a, n) { 6706 var i = 0, o = 0; 6707 a == null && (a = 1 / 0), n == null && (n = 1 / 0); 6708 var s = 0; 6709 e.eachChild(function(l, u) {
6710 var f = l.getBoundingRect(), h = e.childAt(u + 1), v = h && h.getBoundingRect(), c, p; 6711 if (r === "horizontal") { 6712 var d = f.width + (v ? -v.x + f.x : 0); 6713 c = i + d, c > a || l.newline ? (i = 0, c = d, o += s + t, s = f.height) : s = Math.max(s, f.height); 6714 } else { 6715 var g = f.height + (v ? -v.y + f.y : 0); 6716 p = o + g, p > n || l.newline ? (i += s + t, o = 0, p = g, s = f.width) : s = Math.max(s, f.width); 6717 } 6718 l.newline || (l.x = i, l.y = o, l.markRedraw(), r === "horizontal" ? i = c + t : o = p + t); 6719 }); 6720} 6721var ni = yy; 6722lt(yy, "vertical"); 6723lt(yy, "horizontal"); 6724function Lk(r, e, t) { 6725 var a = e.width, n = e.height, i = W(r.left, a), o = W(r.top, n), s = W(r.right, a), l = W(r.bottom, n); 6726 return (isNaN(i) || isNaN(parseFloat(r.left))) && (i = 0), (isNaN(s) || isNaN(parseFloat(r.right))) && (s = a), (isNaN(o) || isNaN(parseFloat(r.top))) && (o = 0), (isNaN(l) || isNaN(parseFloat(r.bottom))) && (l = n), t = bi(t || 0), { width: Math.max(s - i - t[1] - t[3], 0), height: Math.max(l - o - t[0] - t[2], 0) }; 6727} 6728function Qt(r, e, t) { 6729 t = bi(t || 0); 6730 var a = e.width, n = e.height, i = W(r.left, a), o = W(r.top, n), s = W(r.right, a), l = W(r.bottom, n), u = W(r.width, a), f = W(r.height, n), h = t[2] + t[0], v = t[1] + t[3], c = r.aspect;
6731 switch (isNaN(u) && (u = a - s - v - i), isNaN(f) && (f = n - l - h - o), c != null && (isNaN(u) && isNaN(f) && (c > a / n ? u = a * 0.8 : f = n * 0.8), isNaN(u) && (u = c * f), isNaN(f) && (f = u / c)), isNaN(i) && (i = a - s - u - v), isNaN(o) && (o = n - l - f - h), r.left || r.right) { 6732 case "center": 6733 i = a / 2 - u / 2 - t[3]; 6734 break; 6735 case "right": 6736 i = a - u - v; 6737 break; 6738 } 6739 switch (r.top || r.bottom) { 6740 case "middle": 6741 case "center": 6742 o = n / 2 - f / 2 - t[0]; 6743 break; 6744 case "bottom": 6745 o = n - f - h; 6746 break; 6747 } 6748 i = i || 0, o = o || 0, isNaN(u) && (u = a - v - i - (s || 0)), isNaN(f) && (f = n - h - o - (l || 0)); 6749 var p = new ht(i + t[3], o + t[0], u, f); 6750 return p.margin = t, p; 6751} 6752function Wh(r, e, t, a, n, i) { 6753 var o = !n || !n.hv || n.hv[0], s = !n || !n.hv || n.hv[1], l = n && n.boundingMode || "all"; 6754 if (i = i || r, i.x = r.x, i.y = r.y, !o && !s) return false; 6755 var u; 6756 if (l === "raw") u = r.type === "group" ? new ht(0, 0, +e.width || 0, +e.height || 0) : r.getBoundingRect(); 6757 else if (u = r.getBoundingRect(), r.needLocalTransform()) { 6758 var f = r.getLocalTransform(); 6759 u = u.clone(), u.applyTransform(f); 6760 } 6761 var h = Qt(Q({ width: u.width, height: u.height }, e), t, a), v = o ? h.x - u.x : 0, c = s ? h.y - u.y : 0; 6762 return l === "raw" ? (i.x = v, i.y = c) : (i.x += v, i.y += c), i === r && r.markRedraw(), true; 6763} 6764function Pk(r, e) { 6765 return r[Kn[e][0]] != null || r[Kn[e][1]] != null && r[Kn[e][2]] != null; 6766} 6767function hl(r) { 6768 var e = r.layoutMode || r.constructor.layoutMode; 6769 return tt(e) ? e : e ? { type: e } : null; 6770} 6771function an(r, e, t) { 6772 var a = t && t.ignoreSize; 6773 !V(a) && (a = [a, a]); 6774 var n = o(Kn[0], 0), i = o(Kn[1], 1); 6775 u(Kn[0], r, n), u(Kn[1], r, i); 6776 function o(f, h) { 6777 var v = {}, c = 0, p = {}, d = 0, g = 2; 6778 if (hf(f, function(_) { 6779 p[_] = r[_]; 6780 }), hf(f, function(_) { 6781 s(e, _) && (v[_] = p[_] = e[_]), l(v, _) && c++, l(p, _) && d++; 6782 }), a[h]) return l(e, f[1]) ? p[f[2]] = null : l(e, f[2]) && (p[f[1]] = null), p; 6783 if (d === g || !c) return p; 6784 if (c >= g) return v; 6785 for (var y = 0; y < f.length; y++) { 6786 var m = f[y]; 6787 if (!s(v, m) && s(r, m)) { 6788 v[m] = r[m]; 6789 break; 6790 } 6791 } 6792 return v; 6793 } 6794 function s(f, h) { 6795 return f.hasOwnProperty(h); 6796 } 6797 function l(f, h) { 6798 return f[h] != null && f[h] !== "auto"; 6799 } 6800 function u(f, h, v) { 6801 hf(f, function(c) { 6802 h[c] = v[c]; 6803 }); 6804 } 6805} 6806function Bo(r) { 6807 return QC({}, r); 6808} 6809function QC(r, e) { 6810 return e && r && hf(JC, function(t) { 6811 e.hasOwnProperty(t) && (r[t] = e[t]); 6812 }), r; 6813} 6814var Rk = bt(), gt = function(r) { 6815 N(e, r); 6816 function e(t, a, n) { 6817 var i = r.call(this, t, a, n) || this; 6818 return i.uid = No("ec_cpt_model"), i; 6819 } 6820 return e.prototype.init = function(t, a, n) { 6821 this.mergeDefaultAndTheme(t, n); 6822 }, e.prototype.mergeDefaultAndTheme = function(t, a) { 6823 var n = hl(this), i = n ? Bo(t) : {}, o = a.getTheme(); 6824 ut(t, o.get(this.mainType)), ut(t, this.getDefaultOption()), n && an(t, i, n); 6825 }, e.prototype.mergeOption = function(t, a) { 6826 ut(this.option, t, true); 6827 var n = hl(this); 6828 n && an(this.option, t, n); 6829 }, e.prototype.optionUpdated = function(t, a) { 6830 }, e.prototype.getDefaultOption = function() { 6831 var t = this.constructor; 6832 if (!TR(t)) return t.defaultOption; 6833 var a = Rk(this); 6834 if (!a.defaultOption) { 6835 for (var n = [], i = t; i; ) { 6836 var o = i.prototype.defaultOption; 6837 o && n.push(o), i = i.superClass; 6838 } 6839 for (var s = {}, l = n.length - 1; l >= 0; l--) s = ut(s, n[l], true); 6840 a.defaultOption = s; 6841 } 6842 return a.defaultOption; 6843 }, e.prototype.getReferringComponents = function(t, a) { 6844 var n = t + "Index", i = t + "Id"; 6845 return kl(this.ecModel, t, { index: this.get(n, true), id: this.get(i, true) }, a); 6846 }, e.prototype.getBoxLayoutParams = function() { 6847 var t = this; 6848 return { left: t.get("left"), top: t.get("top"), right: t.get("right"), bottom: t.get("bottom"), width: t.get("width"), height: t.get("height") }; 6849 }, e.prototype.getZLevelKey = function() { 6850 return ""; 6851 }, e.prototype.setZLevel = function(t) { 6852 this.option.zlevel = t; 6853 }, e.protoInitialize = function() { 6854 var t = e.prototype; 6855 t.type = "component", t.id = "", t.name = "", t.mainType = "", t.subType = "", t.componentIndex = 0; 6856 }(), e; 6857}(At); 6858rC(gt, At); 6859Ih(gt); 6860gk(gt); 6861yk(gt, Ek); 6862function Ek(r) { 6863 var e = []; 6864 return D(gt.getClassesByMainType(r), function(t) {
6865 e = e.concat(t.dependencies || t.prototype.dependencies || []); 6866 }), e = G(e, function(t) { 6867 return Yr(t).main; 6868 }), r !== "dataset" && vt(e, "dataset") <= 0 && e.unshift("dataset"), e; 6869} 6870var tA = ""; 6871typeof navigator < "u" && (tA = navigator.platform || ""); 6872var Ni = "rgba(0, 0, 0, 0.2)"; 6873const kk = { darkMode: "auto", colorBy: "series", color: ["#5470c6", "#91cc75", "#fac858", "#ee6666", "#73c0de", "#3ba272", "#fc8452", "#9a60b4", "#ea7ccc"], gradientColor: ["#f6efa6", "#d88273", "#bf444c"], aria: { decal: { decals: [{ color: Ni, dashArrayX: [1, 0], dashArrayY: [2, 5], symbolSize: 1, rotation: Math.PI / 6 }, { color: Ni, symbol: "circle", dashArrayX: [[8, 8], [0, 8, 8, 0]], dashArrayY: [6, 0], symbolSize: 0.8 }, { color: Ni, dashArrayX: [1, 0], dashArrayY: [4, 3], rotation: -Math.PI / 4 }, { color: Ni, dashArrayX: [[6, 6], [0, 6, 6, 0]], dashArrayY: [6, 0] }, { color: Ni, dashArrayX: [[1, 0], [1, 6]], dashArrayY: [1, 0, 6, 0], rotation: Math.PI / 4 }, { color: Ni, symbol: "triangle", dashArrayX: [[9, 9], [0, 9, 9, 0]], dashArrayY: [7, 2], symbolSize: 0.75 }] } }, textStyle: { fontFamily: tA.match(/^Win/) ? "Microsoft YaHei" : "sans-serif", fontSize: 12, fontStyle: "normal", fontWeight: "normal" }, blendMode: null, stateAnimation: { duration: 300, easing: "cubicOut" }, animation: "auto", animationDuration: 1e3, animationDurationUpdate: 500, animationEasing: "cubicInOut", animationEasingUpdate: "cubicInOut", animationThreshold: 2e3, progressiveThreshold: 3e3, progressive: 400, hoverLayerThreshold: 3e3, useUTC: false }; 6874var eA = Z(["tooltip", "label", "itemName", "itemId", "itemGroupId", "itemChildGroupId", "seriesName"]), dr = "original", Ae = "arrayRows", gr = "objectRows", ra = "keyedColumns", Ka = "typedArray", rA = "unknown", Kr = "column", zo = "row", ve = { Must: 1, Might: 2, Not: 3 }, aA = bt(); 6875function Ok(r) { 6876 aA(r).datasetMap = Z(); 6877} 6878function nA(r, e, t) { 6879 var a = {}, n = _y(e); 6880 if (!n || !r) return a; 6881 var i = [], o = [], s = e.ecModel, l = aA(s).datasetMap, u = n.uid + "_" + t.seriesLayoutBy, f, h; 6882 r = r.slice(), D(r, function(d, g) { 6883 var y = tt(d) ? d : r[g] = { name: d }; 6884 y.type === "ordinal" && f == null && (f = g, h = p(y)), a[y.name] = []; 6885 }); 6886 var v = l.get(u) || l.set(u, { categoryWayDim: h, valueWayDim: 0 }); 6887 D(r, function(d, g) { 6888 var y = d.name, m = p(d); 6889 if (f == null) { 6890 var _ = v.valueWayDim; 6891 c(a[y], _, m), c(o, _, m), v.valueWayDim += m; 6892 } else if (f === g) c(a[y], 0, m), c(i, 0, m); 6893 else { 6894 var _ = v.categoryWayDim; 6895 c(a[y], _, m), c(o, _, m), v.categoryWayDim += m; 6896 } 6897 }); 6898 function c(d, g, y) { 6899 for (var m = 0; m < y; m++) d.push(g + m); 6900 } 6901 function p(d) { 6902 var g = d.dimsDef; 6903 return g ? g.length : 1; 6904 } 6905 return i.length && (a.itemName = i), o.length && (a.seriesName = o), a; 6906} 6907function my(r, e, t) { 6908 var a = {}, n = _y(r); 6909 if (!n) return a; 6910 var i = e.sourceFormat, o = e.dimensionsDefine, s; 6911 (i === gr || i === ra) && D(o, function(f, h) { 6912 (tt(f) ? f.name : f) === "name" && (s = h); 6913 }); 6914 var l = function() { 6915 for (var f = {}, h = {}, v = [], c = 0, p = Math.min(5, t); c < p; c++) { 6916 var d = oA(e.data, i, e.seriesLayoutBy, o, e.startIndex, c); 6917 v.push(d); 6918 var g = d === ve.Not; 6919 if (g && f.v == null && c !== s && (f.v = c), (f.n == null || f.n === f.v || !g && v[f.n] === ve.Not) && (f.n = c), y(f) && v[f.n] !== ve.Not) return f; 6920 g || (d === ve.Might && h.v == null && c !== s && (h.v = c), (h.n == null || h.n === h.v) && (h.n = c)); 6921 } 6922 function y(m) { 6923 return m.v != null && m.n != null; 6924 } 6925 return y(f) ? f : y(h) ? h : null; 6926 }(); 6927 if (l) { 6928 a.value = [l.v]; 6929 var u = s ?? l.n; 6930 a.itemName = [u], a.seriesName = [u]; 6931 } 6932 return a; 6933} 6934function _y(r) { 6935 var e = r.get("data", true); 6936 if (!e) return kl(r.ecModel, "dataset", { index: r.get("datasetIndex", true), id: r.get("datasetId", true) }, Jt).models[0]; 6937} 6938function Nk(r) { 6939 return !r.get("transform", true) && !r.get("fromTransformResult", true) ? [] : kl(r.ecModel, "dataset", { index: r.get("fromDatasetIndex", true), id: r.get("fromDatasetId", true) }, Jt).models; 6940} 6941function iA(r, e) { 6942 return oA(r.data, r.sourceFormat, r.seriesLayoutBy, r.dimensionsDefine, r.startIndex, e); 6943} 6944function oA(r, e, t, a, n, i) { 6945 var o, s = 5; 6946 if (ke(r)) return ve.Not; 6947 var l, u; 6948 if (a) { 6949 var f = a[i]; 6950 tt(f) ? (l = f.name, u = f.type) : Y(f) && (l = f); 6951 } 6952 if (u != null) return u === "ordinal" ? ve.Must : ve.Not; 6953 if (e === Ae) { 6954 var h = r; 6955 if (t === zo) { 6956 for (var v = h[i], c = 0; c < (v || []).length && c < s;
6956 c++) if ((o = S(v[n + c])) != null) return o; 6957 } else for (var c = 0; c < h.length && c < s; c++) { 6958 var p = h[n + c]; 6959 if (p && (o = S(p[i])) != null) return o; 6960 } 6961 } else if (e === gr) { 6962 var d = r; 6963 if (!l) return ve.Not; 6964 for (var c = 0; c < d.length && c < s; c++) { 6965 var g = d[c]; 6966 if (g && (o = S(g[l])) != null) return o; 6967 } 6968 } else if (e === ra) { 6969 var y = r; 6970 if (!l) return ve.Not; 6971 var v = y[l]; 6972 if (!v || ke(v)) return ve.Not; 6973 for (var c = 0; c < v.length && c < s; c++) if ((o = S(v[c])) != null) return o; 6974 } else if (e === dr) for (var m = r, c = 0; c < m.length && c < s; c++) { 6975 var g = m[c], _ = Mo(g); 6976 if (!V(_)) return ve.Not; 6977 if ((o = S(_[i])) != null) return o; 6978 } 6979 function S(b) { 6980 var x = Y(b); 6981 if (b != null && Number.isFinite(Number(b)) && b !== "") return x ? ve.Might : ve.Not; 6982 if (x && b !== "-") return ve.Must; 6983 } 6984 return ve.Not; 6985} 6986var Sd = Z(); 6987function Bk(r, e) { 6988 we(Sd.get(r) == null && e), Sd.set(r, e); 6989} 6990function zk(r, e, t) { 6991 var a = Sd.get(e); 6992 if (!a) return t; 6993 var n = a(r); 6994 return n ? t.concat(n) : t; 6995} 6996var __ = bt(), Vk = bt(), Sy = function() { 6997 function r() { 6998 } 6999 return r.prototype.getColorFromPalette = function(e, t, a) { 7000 var n = Rt(this.get("color", true)), i = this.get("colorLayer", true); 7001 return sA(this, __, n, i, e, t, a); 7002 }, r.prototype.clearColorPalette = function() { 7003 Fk(this, __); 7004 }, r; 7005}(); 7006function xd(r, e, t, a) { 7007 var n = Rt(r.get(["aria", "decal", "decals"])); 7008 return sA(r, Vk, n, null, e, t, a); 7009} 7010function Gk(r, e) { 7011 for (var t = r.length, a = 0; a < t; a++) if (r[a].length > e) return r[a]; 7012 return r[t - 1]; 7013} 7014function sA(r, e, t, a, n, i, o) { 7015 i = i || r; 7016 var s = e(i), l = s.paletteIdx || 0, u = s.paletteNameMap = s.paletteNameMap || {}; 7017 if (u.hasOwnProperty(n)) return u[n]; 7018 var f = o == null || !a ? t : Gk(a, o); 7019 if (f = f || t, !(!f || !f.length)) { 7020 var h = f[l]; 7021 return n && (u[n] = h), s.paletteIdx = (l + 1) % f.length, h; 7022 } 7023} 7024function Fk(r, e) { 7025 e(r).paletteIdx = 0, e(r).paletteNameMap = {}; 7026} 7027var yu, es, S_, x_ = "\0_ec_inner", Hk = 1, xy = function(r) { 7028 N(e, r); 7029 function e() { 7030 return r !== null && r.apply(this, arguments) || this; 7031 } 7032 return e.prototype.init = function(t, a, n, i, o, s) { 7033 i = i || {}, this.option = null, this._theme = new At(i), this._locale = new At(o), this._optionManager = s; 7034 }, e.prototype.setOption = function(t, a, n) { 7035 var i = T_(a); 7036 this._optionManager.setOption(t, n, i), this._resetOption(null, i); 7037 }, e.prototype.resetOption = function(t, a) { 7038 return this._resetOption(t, T_(a)); 7039 }, e.prototype._resetOption = function(t, a) { 7040 var n = false, i = this._optionManager; 7041 if (!t || t === "recreate") { 7042 var o = i.mountOption(t === "recreate"); 7043 !this.option || t === "recreate" ? S_(this, o) : (this.restoreData(), this._mergeOption(o, a)), n = true; 7044 } 7045 if ((t === "timeline" || t === "media") && this.restoreData(), !t || t === "recreate" || t === "timeline") { 7046 var s = i.getTimelineOption(this); 7047 s && (n = true, this._mergeOption(s, a)); 7048 } 7049 if (!t || t === "recreate" || t === "media") { 7050 var l = i.getMediaOption(this); 7051 l.length && D(l, function(u) { 7052 n = true, this._mergeOption(u, a); 7053 }, this); 7054 } 7055 return n; 7056 }, e.prototype.mergeOption = function(t) { 7057 this._mergeOption(t, null); 7058 }, e.prototype._mergeOption = function(t, a) { 7059 var n = this.option, i = this._componentsMap, o = this._componentsCount, s = [], l = Z(), u = a && a.replaceMergeMainTypeMap; 7060 Ok(this), D(t, function(h, v) { 7061 h != null && (gt.hasClass(v) ? v && (s.push(v), l.set(v, true)) : n[v] = n[v] == null ? rt(h) : ut(n[v], h, true)); 7062 }), u && u.each(function(h, v) { 7063 gt.hasClass(v) && !l.get(v) && (s.push(v), l.set(v, true)); 7064 }), gt.topologicalTravel(s, gt.getAllClassMainTypes(), f, this); 7065 function f(h) { 7066 var v = zk(this, h, Rt(t[h])), c = i.get(h), p = c ? u && u.get(h) ? "replaceMerge" : "normalMerge" : "replaceAll", d = jT(c, v, p); 7067 dR(d, h, gt), n[h] = null, i.set(h, null), o.set(h, 0); 7068 var g = [], y = [], m = 0, _; 7069 D(d, function(S, b) { 7070 var x = S.existing, w = S.newOption; 7071 if (!w) x && (x.mergeOption({}, this), x.optionUpdated({}, false)); 7072 else { 7073 var T = h === "series", C = gt.getClass(h, S.keyInfo.subType, !T); 7074 if (!C) return; 7075 if (h === "tooltip") { 7076 if (_) return; 7077 _ = true; 7078 } 7079 if (x && x.constructor === C) x.name = S.keyInfo.name, x.mergeOption(w, this), x.optionUpdated(w, false); 7080 else { 7081 var A = z({ componentIndex: b }, S.keyInfo); 7082 x = new C(w, this, this, A), z(x, A), S.brandNew && (x.__requireNewView = true), x.init(w, this, this), x.optionUpdated(null, true); 7083 } 7084 } 7085 x ? (g.push(x.option), y.push(x), m++) : (g.push(void 0), y.push(void 0)); 7086 }
7086, this), n[h] = g, i.set(h, y), o.set(h, m), h === "series" && yu(this); 7087 } 7088 this._seriesIndices || yu(this); 7089 }, e.prototype.getOption = function() { 7090 var t = rt(this.option); 7091 return D(t, function(a, n) { 7092 if (gt.hasClass(n)) { 7093 for (var i = Rt(a), o = i.length, s = false, l = o - 1; l >= 0; l--) i[l] && !ol(i[l]) ? s = true : (i[l] = null, !s && o--); 7094 i.length = o, t[n] = i; 7095 } 7096 }), delete t[x_], t; 7097 }, e.prototype.getTheme = function() { 7098 return this._theme; 7099 }, e.prototype.getLocaleModel = function() { 7100 return this._locale; 7101 }, e.prototype.setUpdatePayload = function(t) { 7102 this._payload = t; 7103 }, e.prototype.getUpdatePayload = function() { 7104 return this._payload; 7105 }, e.prototype.getComponent = function(t, a) { 7106 var n = this._componentsMap.get(t); 7107 if (n) { 7108 var i = n[a || 0]; 7109 if (i) return i; 7110 if (a == null) { 7111 for (var o = 0; o < n.length; o++) if (n[o]) return n[o]; 7112 } 7113 } 7114 }, e.prototype.queryComponents = function(t) { 7115 var a = t.mainType; 7116 if (!a) return []; 7117 var n = t.index, i = t.id, o = t.name, s = this._componentsMap.get(a); 7118 if (!s || !s.length) return []; 7119 var l; 7120 return n != null ? (l = [], D(Rt(n), function(u) { 7121 s[u] && l.push(s[u]); 7122 })) : i != null ? l = b_("id", i, s) : o != null ? l = b_("name", o, s) : l = Ct(s, function(u) { 7123 return !!u; 7124 }), w_(l, t); 7125 }, e.prototype.findComponents = function(t) { 7126 var a = t.query, n = t.mainType, i = s(a), o = i ? this.queryComponents(i) : Ct(this._componentsMap.get(n), function(u) { 7127 return !!u; 7128 }); 7129 return l(w_(o, t)); 7130 function s(u) { 7131 var f = n + "Index", h = n + "Id", v = n + "Name"; 7132 return u && (u[f] != null || u[h] != null || u[v] != null) ? { mainType: n, index: u[f], id: u[h], name: u[v] } : null; 7133 } 7134 function l(u) { 7135 return t.filter ? Ct(u, t.filter) : u; 7136 } 7137 }, e.prototype.eachComponent = function(t, a, n) { 7138 var i = this._componentsMap; 7139 if (j(t)) { 7140 var o = a, s = t; 7141 i.each(function(h, v) { 7142 for (var c = 0; h && c < h.length; c++) { 7143 var p = h[c]; 7144 p && s.call(o, v, p, p.componentIndex); 7145 } 7146 }); 7147 } else for (var l = Y(t) ? i.get(t) : tt(t) ? this.findComponents(t) : null, u = 0; l && u < l.length; u++) { 7148 var f = l[u]; 7149 f && a.call(n, f, f.componentIndex); 7150 } 7151 }, e.prototype.getSeriesByName = function(t) { 7152 var a = te(t, null); 7153 return Ct(this._componentsMap.get("series"), function(n) { 7154 return !!n && a != null && n.name === a; 7155 }); 7156 }, e.prototype.getSeriesByIndex = function(t) { 7157 return this._componentsMap.get("series")[t]; 7158 }, e.prototype.getSeriesByType = function(t) { 7159 return Ct(this._componentsMap.get("series"), function(a) { 7160 return !!a && a.subType === t; 7161 }); 7162 }, e.prototype.getSeries = function() { 7163 return Ct(this._componentsMap.get("series"), function(t) { 7164 return !!t; 7165 }); 7166 }, e.prototype.getSeriesCount = function() { 7167 return this._componentsCount.get("series"); 7168 }, e.prototype.eachSeries = function(t, a) { 7169 es(this), D(this._seriesIndices, function(n) { 7170 var i = this._componentsMap.get("series")[n]; 7171 t.call(a, i, n); 7172 }, this); 7173 }, e.prototype.eachRawSeries = function(t, a) { 7174 D(this._componentsMap.get("series"), function(n) { 7175 n && t.call(a, n, n.componentIndex); 7176 }); 7177 }, e.prototype.eachSeriesByType = function(t, a, n) { 7178 es(this), D(this._seriesIndices, function(i) { 7179 var o = this._componentsMap.get("series")[i]; 7180 o.subType === t && a.call(n, o, i); 7181 }, this); 7182 }, e.prototype.eachRawSeriesByType = function(t, a, n) { 7183 return D(this.getSeriesByType(t), a, n); 7184 }, e.prototype.isSeriesFiltered = function(t) { 7185 return es(this), this._seriesIndicesMap.get(t.componentIndex) == null; 7186 }, e.prototype.getCurrentSeriesIndices = function() { 7187 return (this._seriesIndices || []).slice(); 7188 }, e.prototype.filterSeries = function(t, a) { 7189 es(this); 7190 var n = []; 7191 D(this._seriesIndices, function(i) { 7192 var o = this._componentsMap.get("series")[i]; 7193 t.call(a, o, i) && n.push(i); 7194 }, this), this._seriesIndices = n, this._seriesIndicesMap = Z(n); 7195 }, e.prototype.restoreData = function(t) { 7196 yu(this); 7197 var a = this._componentsMap, n = []; 7198 a.each(function(i, o) { 7199 gt.hasClass(o) && n.push(o); 7200 }), gt.topologicalTravel(n, gt.getAllClassMainTypes(), function(i) { 7201 D(a.get(i), function(o) { 7202 o && (i !== "series" || !Wk(o, t)) && o.restoreData(); 7203 }); 7204 }); 7205 }
7205, e.internalField = function() { 7206 yu = function(t) { 7207 var a = t._seriesIndices = []; 7208 D(t._componentsMap.get("series"), function(n) { 7209 n && a.push(n.componentIndex); 7210 }), t._seriesIndicesMap = Z(a); 7211 }, es = function(t) { 7212 }, S_ = function(t, a) { 7213 t.option = {}, t.option[x_] = Hk, t._componentsMap = Z({ series: [] }), t._componentsCount = Z(); 7214 var n = a.aria; 7215 tt(n) && n.enabled == null && (n.enabled = true), Uk(a, t._theme.option), ut(a, kk, false), t._mergeOption(a, null); 7216 }; 7217 }(), e; 7218}(At); 7219function Wk(r, e) { 7220 if (e) { 7221 var t = e.seriesIndex, a = e.seriesId, n = e.seriesName; 7222 return t != null && r.componentIndex !== t || a != null && r.id !== a || n != null && r.name !== n; 7223 } 7224} 7225function Uk(r, e) { 7226 var t = r.color && !r.colorLayer; 7227 D(e, function(a, n) { 7228 n === "colorLayer" && t || gt.hasClass(n) || (typeof a == "object" ? r[n] = r[n] ? ut(r[n], a, false) : rt(a) : r[n] == null && (r[n] = a)); 7229 }); 7230} 7231function b_(r, e, t) { 7232 if (V(e)) { 7233 var a = Z(); 7234 return D(e, function(i) { 7235 if (i != null) { 7236 var o = te(i, null); 7237 o != null && a.set(i, true); 7238 } 7239 }), Ct(t, function(i) { 7240 return i && a.get(i[r]); 7241 }); 7242 } else { 7243 var n = te(e, null); 7244 return Ct(t, function(i) { 7245 return i && n != null && i[r] === n; 7246 }); 7247 } 7248} 7249function w_(r, e) { 7250 return e.hasOwnProperty("subType") ? Ct(r, function(t) { 7251 return t && t.subType === e.subType; 7252 }) : r; 7253} 7254function T_(r) { 7255 var e = Z(); 7256 return r && D(Rt(r.replaceMerge), function(t) { 7257 e.set(t, true); 7258 }), { replaceMergeMainTypeMap: e }; 7259} 7260Xt(xy, Sy); 7261var Yk = ["getDom", "getZr", "getWidth", "getHeight", "getDevicePixelRatio", "dispatchAction", "isSSR", "isDisposed", "on", "off", "getDataURL", "getConnectedDataURL", "getOption", "getId", "updateLabelLayout"], lA = /* @__PURE__ */ function() { 7262 function r(e) { 7263 D(Yk, function(t) { 7264 this[t] = $(e[t], e); 7265 }, this); 7266 } 7267 return r; 7268}(), Jv = {}, Vo = function() { 7269 function r() { 7270 this._coordinateSystems = []; 7271 } 7272 return r.prototype.create = function(e, t) { 7273 var a = []; 7274 D(Jv, function(n, i) { 7275 var o = n.create(e, t); 7276 a = a.concat(o || []); 7277 }), this._coordinateSystems = a; 7278 }, r.prototype.update = function(e, t) { 7279 D(this._coordinateSystems, function(a) { 7280 a.update && a.update(e, t); 7281 }); 7282 }, r.prototype.getCoordinateSystems = function() { 7283 return this._coordinateSystems.slice(); 7284 }, r.register = function(e, t) { 7285 Jv[e] = t; 7286 }, r.get = function(e) { 7287 return Jv[e]; 7288 }, r; 7289}(), $k = /^(min|max)?(.+)$/, Xk = function() { 7290 function r(e) { 7291 this._timelineOptions = [], this._mediaList = [], this._currentMediaIndices = [], this._api = e; 7292 } 7293 return r.prototype.setOption = function(e, t, a) { 7294 e && (D(Rt(e.series), function(o) { 7295 o && o.data && ke(o.data) && Qs(o.data); 7296 }), D(Rt(e.dataset), function(o) { 7297 o && o.source && ke(o.source) && Qs(o.source); 7298 })), e = rt(e); 7299 var n = this._optionBackup, i = Zk(e, t, !n); 7300 this._newBaseOption = i.baseOption, n ? (i.timelineOptions.length && (n.timelineOptions = i.timelineOptions), i.mediaList.length && (n.mediaList = i.mediaList), i.mediaDefault && (n.mediaDefault = i.mediaDefault)) : this._optionBackup = i; 7301 }, r.prototype.mountOption = function(e) { 7302 var t = this._optionBackup; 7303 return this._timelineOptions = t.timelineOptions, this._mediaList = t.mediaList, this._mediaDefault = t.mediaDefault, this._currentMediaIndices = [], rt(e ? t.baseOption : this._newBaseOption); 7304 }, r.prototype.getTimelineOption = function(e) { 7305 var t, a = this._timelineOptions; 7306 if (a.length) { 7307 var n = e.getComponent("timeline"); 7308 n && (t = rt(a[n.getCurrentIndex()])); 7309 } 7310 return t; 7311 }, r.prototype.getMediaOption = function(e) { 7312 var t = this._api.getWidth(), a = this._api.getHeight(), n = this._mediaList, i = this._mediaDefault, o = [], s = []; 7313 if (!n.length && !i) return s; 7314 for (var l = 0, u = n.length; l < u; l++) qk(n[l].query, t, a) && o.push(l); 7315 return !o.length && i && (o = [-1]), o.length && !jk(o, this._currentMediaIndices) && (s = G(o, function(f) { 7316 return rt(f === -1 ? i.option : n[f].option); 7317 })), this._currentMediaIndices = o, s; 7318 }, r; 7319}(); 7320function Zk(r, e, t) { 7321 var a = [], n, i, o = r.baseOption, s = r.timeline, l = r.options, u = r.media, f = !!r.media, h = !!(l || s || o && o.timeline); 7322 o ? (i = o, i.timeline || (i.timeline = s)) : ((h || f) && (r.options = r.media = null), i = r), f && V(u) && D(u, function(c) { 7323 c && c.option && (c.query ? a.push(c) : n || (n = c)); 7324 }), v(i), D(l, function(c) { 7325 return v(c); 7326 }), D(a, function(c) { 7327 return v(c.option); 7328 }); 7329 function v(c) { 7330 D(e, function(p) { 7331 p(c, t); 7332 }); 7333 } 7334 return { baseOption: i, timelineOptions: l || [], mediaDefault: n, mediaList: a }; 7335} 7336function qk(r, e, t) { 7337 var a = { width: e, height: t, aspectratio: e / t }, n = true; 7338 return D(r, function(i, o) { 7339 var s = o.match($k); 7340 if (!(!s || !s[1] || !s[2])) { 7341 var l = s[1], u = s[2].toLowerCase(); 7342 Kk(a[u], i, l) || (n = false); 7343 } 7344 }), n; 7345} 7346function Kk(r, e, t) { 7347 return t === "min" ? r >= e : t === "max" ? r <= e : r === e; 7348} 7349function jk(r, e) { 7350 return r.join(",") === e.join(","); 7351} 7352var mr = D, vl = tt, C_ = ["areaStyle", "lineStyle", "nodeStyle", "linkStyle", "chordStyle", "label", "labelLine"]; 7353function Qv(r) { 7354 var e = r && r.itemStyle; 7355 if (e) for (var t = 0, a = C_.length; t < a; t++) { 7356 var n = C_[t], i = e.normal, o = e.emphasis; 7357 i && i[n] && (r[n] = r[n] || {}, r[n].normal ? ut(r[n].normal, i[n]) : r[n].normal = i[n], i[n] = null), o && o[n] && (r[n] = r[n] || {}, r[n].emphasis ? ut(r[n].emphasis, o[n]) : r[n].emphasis = o[n], o[n] = null); 7358 } 7359} 7360function Se(r, e, t) { 7361 if (r && r[e] && (r[e].normal || r[e].emphasis)) { 7362 var a = r[e].normal, n = r[e].emphasis; 7363 a && (t ? (r[e].normal = r[e].emphasis = null, Q(r[e], a)) : r[e] = a), n && (r.emphasis = r.emphasis || {}, r.emphasis[e] = n, n.focus && (r.emphasis.focus = n.focus), n.blurScope && (r.emphasis.blurScope = n.blurScope)); 7364 } 7365} 7366function Ms(r) { 7367 Se(r, "itemStyle"), Se(r, "lineStyle"), Se(r, "areaStyle"), Se(r, "label"), Se(r, "labelLine"), Se(r, "upperLabel"), Se(r, "edgeLabel"); 7368} 7369function jt(r, e) { 7370 var t = vl(r) && r[e], a = vl(t) && t.textStyle; 7371 if (a) for (var n = 0, i = P0.length; n < i; n++) { 7372 var o = P0[n]; 7373 a.hasOwnProperty(o) && (t[o] = a[o]); 7374 } 7375} 7376function ar(r) { 7377 r && (Ms(r), jt(r, "label"), r.emphasis && jt(r.emphasis, "label")); 7378} 7379function Jk(r) { 7380 if (vl(r)) { 7381 Qv(r), Ms(r), jt(r, "label"), jt(r, "upperLabel"), jt(r, "edgeLabel"), r.emphasis && (jt(r.emphasis, "label"), jt(r.emphasis, "upperLabel"), jt(r.emphasis, "edgeLabel")); 7382 var e = r.markPoint; 7383 e && (Qv(e), ar(e)); 7384 var t = r.markLine; 7385 t && (Qv(t), ar(t)); 7386 var a = r.markArea; 7387 a && ar(a); 7388 var n = r.data; 7389 if (r.type === "graph") { 7390 n = n || r.nodes; 7391 var i = r.links || r.edges; 7392 if (i && !ke(i)) for (var o = 0; o < i.length; o++) ar(i[o]); 7393 D(r.categories, function(u) { 7394 Ms(u); 7395 }); 7396 } 7397 if (n && !ke(n)) for (var o = 0; o < n.length; o++) ar(n[o]); 7398 if (e = r.markPoint, e && e.data) for (var s = e.data, o = 0; o < s.length; o++) ar(s[o]); 7399 if (t = r.markLine, t && t.data) for (var l = t.data, o = 0; o < l.length; o++) V(l[o]) ? (ar(l[o][0]), ar(l[o][1])) : ar(l[o]); 7400 r.type === "gauge" ? (jt(r, "axisLabel"), jt(r, "title"), jt(r, "detail")) : r.type === "treemap" ? (Se(r.breadcrumb, "itemStyle"), D(r.levels, function(u) { 7401 Ms(u); 7402 })) : r.type === "tree" && Ms(r.leaves); 7403 } 7404} 7405function oa(r) { 7406 return V(r) ? r : r ? [r] : []; 7407} 7408function A_(r) { 7409 return (V(r) ? r[0] : r) || {}; 7410} 7411function Qk(r, e) {
7412 mr(oa(r.series), function(a) { 7413 vl(a) && Jk(a); 7414 }); 7415 var t = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "parallelAxis", "radar"]; 7416 e && t.push("valueAxis", "categoryAxis", "logAxis", "timeAxis"), mr(t, function(a) { 7417 mr(oa(r[a]), function(n) { 7418 n && (jt(n, "axisLabel"), jt(n.axisPointer, "label")); 7419 }); 7420 }), mr(oa(r.parallel), function(a) { 7421 var n = a && a.parallelAxisDefault; 7422 jt(n, "axisLabel"), jt(n && n.axisPointer, "label"); 7423 }), mr(oa(r.calendar), function(a) { 7424 Se(a, "itemStyle"), jt(a, "dayLabel"), jt(a, "monthLabel"), jt(a, "yearLabel"); 7425 }), mr(oa(r.radar), function(a) { 7426 jt(a, "name"), a.name && a.axisName == null && (a.axisName = a.name, delete a.name), a.nameGap != null && a.axisNameGap == null && (a.axisNameGap = a.nameGap, delete a.nameGap); 7427 }), mr(oa(r.geo), function(a) { 7428 vl(a) && (ar(a), mr(oa(a.regions), function(n) { 7429 ar(n); 7430 })); 7431 }), mr(oa(r.timeline), function(a) { 7432 ar(a), Se(a, "label"), Se(a, "itemStyle"), Se(a, "controlStyle", true); 7433 var n = a.data; 7434 V(n) && D(n, function(i) { 7435 tt(i) && (Se(i, "label"), Se(i, "itemStyle")); 7436 }); 7437 }), mr(oa(r.toolbox), function(a) { 7438 Se(a, "iconStyle"), mr(a.feature, function(n) { 7439 Se(n, "iconStyle"); 7440 }); 7441 }), jt(A_(r.axisPointer), "label"), jt(A_(r.tooltip).axisPointer, "label"); 7442} 7443function tO(r, e) { 7444 for (var t = e.split(","), a = r, n = 0; n < t.length && (a = a && a[t[n]], a != null); n++) ; 7445 return a; 7446} 7447function eO(r, e, t, a) { 7448 for (var n = e.split(","), i = r, o, s = 0; s < n.length - 1; s++) o = n[s], i[o] == null && (i[o] = {}), i = i[o]; 7449 i[n[s]] == null && (i[n[s]] = t); 7450} 7451function D_(r) { 7452 r && D(rO, function(e) { 7453 e[0] in r && !(e[1] in r) && (r[e[1]] = r[e[0]]); 7454 }); 7455} 7456var rO = [["x", "left"], ["y", "top"], ["x2", "right"], ["y2", "bottom"]], aO = ["grid", "geo", "parallel", "legend", "toolbox", "title", "visualMap", "dataZoom", "timeline"], tc = [["borderRadius", "barBorderRadius"], ["borderColor", "barBorderColor"], ["borderWidth", "barBorderWidth"]]; 7457function rs(r) { 7458 var e = r && r.itemStyle; 7459 if (e) for (var t = 0; t < tc.length; t++) { 7460 var a = tc[t][1], n = tc[t][0]; 7461 e[a] != null && (e[n] = e[a]); 7462 } 7463} 7464function M_(r) { 7465 r && r.alignTo === "edge" && r.margin != null && r.edgeDistance == null && (r.edgeDistance = r.margin); 7466} 7467function I_(r) { 7468 r && r.downplay && !r.blur && (r.blur = r.downplay); 7469} 7470function nO(r) { 7471 r && r.focusNodeAdjacency != null && (r.emphasis = r.emphasis || {}, r.emphasis.focus == null && (r.emphasis.focus = "adjacency")); 7472} 7473function uA(r, e) { 7474 if (r) for (var t = 0; t < r.length; t++) e(r[t]), r[t] && uA(r[t].children, e); 7475} 7476function fA(r, e) { 7477 Qk(r, e), r.series = Rt(r.series), D(r.series, function(t) { 7478 if (tt(t)) { 7479 var a = t.type; 7480 if (a === "line") t.clipOverflow != null && (t.clip = t.clipOverflow); 7481 else if (a === "pie" || a === "gauge") { 7482 t.clockWise != null && (t.clockwise = t.clockWise), M_(t.label); 7483 var n = t.data; 7484 if (n && !ke(n)) for (var i = 0; i < n.length; i++) M_(n[i]); 7485 t.hoverOffset != null && (t.emphasis = t.emphasis || {}, (t.emphasis.scaleSize = null) && (t.emphasis.scaleSize = t.hoverOffset)); 7486 } else if (a === "gauge") { 7487 var o = tO(t, "pointer.color"); 7488 o != null && eO(t, "itemStyle.color", o); 7489 } else if (a === "bar") { 7490 rs(t), rs(t.backgroundStyle), rs(t.emphasis); 7491 var n = t.data; 7492 if (n && !ke(n)) for (var i = 0; i < n.length; i++) typeof n[i] == "object" && (rs(n[i]), rs(n[i] && n[i].emphasis)); 7493 } else if (a === "sunburst") { 7494 var s = t.highlightPolicy; 7495 s && (t.emphasis = t.emphasis || {}
7495, t.emphasis.focus || (t.emphasis.focus = s)), I_(t), uA(t.data, I_); 7496 } else a === "graph" || a === "sankey" ? nO(t) : a === "map" && (t.mapType && !t.map && (t.map = t.mapType), t.mapLocation && Q(t, t.mapLocation)); 7497 t.hoverAnimation != null && (t.emphasis = t.emphasis || {}, t.emphasis && t.emphasis.scale == null && (t.emphasis.scale = t.hoverAnimation)), D_(t); 7498 } 7499 }), r.dataRange && (r.visualMap = r.dataRange), D(aO, function(t) { 7500 var a = r[t]; 7501 a && (V(a) || (a = [a]), D(a, function(n) { 7502 D_(n); 7503 })); 7504 }); 7505} 7506function iO(r) { 7507 var e = Z(); 7508 r.eachSeries(function(t) { 7509 var a = t.get("stack"); 7510 if (a) { 7511 var n = e.get(a) || e.set(a, []), i = t.getData(), o = { stackResultDimension: i.getCalculationInfo("stackResultDimension"), stackedOverDimension: i.getCalculationInfo("stackedOverDimension"), stackedDimension: i.getCalculationInfo("stackedDimension"), stackedByDimension: i.getCalculationInfo("stackedByDimension"), isStackedByIndex: i.getCalculationInfo("isStackedByIndex"), data: i, seriesModel: t }; 7512 if (!o.stackedDimension || !(o.isStackedByIndex || o.stackedByDimension)) return; 7513 n.length && i.setCalculationInfo("stackedOnSeries", n[n.length - 1].seriesModel), n.push(o); 7514 } 7515 }), e.each(oO); 7516} 7517function oO(r) { 7518 D(r, function(e, t) { 7519 var a = [], n = [NaN, NaN], i = [e.stackResultDimension, e.stackedOverDimension], o = e.data, s = e.isStackedByIndex, l = e.seriesModel.get("stackStrategy") || "samesign"; 7520 o.modify(i, function(u, f, h) { 7521 var v = o.get(e.stackedDimension, h); 7522 if (isNaN(v)) return n; 7523 var c, p; 7524 s ? p = o.getRawIndex(h) : c = o.get(e.stackedByDimension, h); 7525 for (var d = NaN, g = t - 1; g >= 0; g--) { 7526 var y = r[g]; 7527 if (s || (p = y.data.rawIndexOf(y.stackedByDimension, c)), p >= 0) { 7528 var m = y.data.getByRawIndex(y.stackResultDimension, p); 7529 if (l === "all" || l === "positive" && m > 0 || l === "negative" && m < 0 || l === "samesign" && v >= 0 && m > 0 || l === "samesign" && v <= 0 && m < 0) { 7530 v = iR(v, m), d = m; 7531 break; 7532 } 7533 } 7534 } 7535 return a[0] = v, a[1] = d, a; 7536 }); 7537 }); 7538} 7539var Uh = /* @__PURE__ */ function() { 7540 function r(e) { 7541 this.data = e.data || (e.sourceFormat === ra ? {} : []), this.sourceFormat = e.sourceFormat || rA, this.seriesLayoutBy = e.seriesLayoutBy || Kr, this.startIndex = e.startIndex || 0, this.dimensionsDetectedCount = e.dimensionsDetectedCount, this.metaRawOption = e.metaRawOption; 7542 var t = this.dimensionsDefine = e.dimensionsDefine; 7543 if (t) for (var a = 0; a < t.length; a++) { 7544 var n = t[a]; 7545 n.type == null && iA(this, a) === ve.Must && (n.type = "ordinal"); 7546 } 7547 } 7548 return r; 7549}(); 7550function by(r) { 7551 return r instanceof Uh; 7552} 7553function bd(r, e, t) { 7554 t = t || hA(r); 7555 var a = e.seriesLayoutBy, n = lO(r, t, a, e.sourceHeader, e.dimensions), i = new Uh({ data: r, sourceFormat: t, seriesLayoutBy: a, dimensionsDefine: n.dimensionsDefine, startIndex: n.startIndex, dimensionsDetectedCount: n.dimensionsDetectedCount, metaRawOption: rt(e) }); 7556 return i; 7557} 7558function wy(r) { 7559 return new Uh({ data: r, sourceFormat: ke(r) ? Ka : dr }); 7560} 7561function sO(r) { 7562 return new Uh({ data: r.data, sourceFormat: r.sourceFormat, seriesLayoutBy: r.seriesLayoutBy, dimensionsDefine: rt(r.dimensionsDefine), startIndex: r.startIndex, dimensionsDetectedCount: r.dimensionsDetectedCount }); 7563} 7564function hA(r) { 7565 var e = rA; 7566 if (ke(r)) e = Ka; 7567 else if (V(r)) { 7568 r.length === 0 && (e = Ae); 7569 for (var t = 0, a = r.length; t < a; t++) { 7570 var n = r[t]; 7571 if (n != null) { 7572 if (V(n) || ke(n)) { 7573 e = Ae; 7574 break; 7575 } else if (tt(n)) { 7576 e = gr; 7577 break; 7578 } 7579 } 7580 } 7581 } else if (tt(r)) { 7582 for (var i in r) if (X(r, i) && ce(r[i])) { 7583 e = ra; 7584 break; 7585 } 7586 } 7587 return e; 7588} 7589function lO(r, e, t, a, n) { 7590 var i, o; 7591 if (!r) return { dimensionsDefine: L_(n), startIndex: o, dimensionsDetectedCount: i }; 7592 if (e === Ae) { 7593 var s = r; 7594 a === "auto" || a == null ? P_(function(u) { 7595 u != null && u !== "-" && (Y(u) ? o == null && (o = 1) : o = 0); 7596 }, t, s, 10) : o = wt(a) ? a : a ? 1 : 0, !n && o === 1 && (n = [], P_(function(u, f) { 7597 n[f] = u != null ? u + "" : ""; 7598 }, t, s, 1 / 0)), i = n ? n.length : t === zo ? s.length : s[0] ? s[0].length : null; 7599 } else if (e === gr) n || (n = uO(r)); 7600 else if (e === ra) n || (n = [], D(r, function(u, f) { 7601 n.push(f); 7602 })); 7603 else if (e === dr) { 7604 var l = Mo(r[0]); 7605 i = V(l) && l.length || 1; 7606 } 7607 return { startIndex: o, dimensionsDefine: L_(n), dimensionsDetectedCount: i }; 7608} 7609function uO(r) { 7610 for (var e = 0, t; e < r.length && !(t = r[e++]); ) ; 7611 if (t) return _t(t); 7612} 7613function L_(r) { 7614 if (r) { 7615 var e = Z(); 7616 return G(r, function(t, a) { 7617 t = tt(t) ? t : { name: t }; 7618 var n = { name: t.name, displayName: t.displayName, type: t.type }; 7619 if (n.name == null) return n; 7620 n.name += "", n.displayName == null && (n.displayName = n.name); 7621 var i = e.get(n.name); 7622 return i ? n.name += "-" + i.count++ : e.set(n.name, { count: 1 }), n; 7623 }); 7624 } 7625} 7626function P_(r, e, t, a) { 7627 if (e === zo) for (var n = 0; n < t.length && n < a; n++) r(t[n] ? t[n][0] : null, n); 7628 else for (var i = t[0] || [], n = 0; n < i.length && n < a; n++) r(i[n], n); 7629} 7630function vA(r) { 7631 var e = r.sourceFormat; 7632 return e === gr || e === ra; 7633} 7634var In, Ln, Pn, R_, E_, cA = function() { 7635 function r(e, t) { 7636 var a = by(e) ? e : wy(e); 7637 this._source = a; 7638 var n = this._data = a.data; 7639 a.sourceFormat === Ka && (this._offset = 0, this._dimSize = t, this._data = n), E_(this, n, a); 7640 } 7641 return r.prototype.getSource = function() { 7642 return this._source; 7643 }, r.prototype.count = function() { 7644 return 0; 7645 }, r.prototype.getItem = function(e, t) { 7646 }, r.prototype.appendData = function(e) { 7647 }, r.prototype.clean = function() { 7648 }, r.protoInitialize = function() { 7649 var e = r.prototype; 7650 e.pure = false, e.persistent = true; 7651 }(), r.internalField = function() { 7652 var e; 7653 E_ = function(o, s, l) { 7654 var u = l.sourceFormat, f = l.seriesLayoutBy, h = l.startIndex, v = l.dimensionsDefine, c = R_[Ty(u, f)]; 7655 if (z(o, c), u === Ka) o.getItem = t, o.count = n, o.fillStorage = a; 7656 else { 7657 var p = pA(u, f); 7658 o.getItem = $(p, null, s, h, v); 7659 var d = dA(u, f); 7660 o.count = $(d, null, s, h, v); 7661 } 7662 }; 7663 var t = function(o, s) { 7664 o = o - this._offset, s = s || []; 7665 for (var l = this._data, u = this._dimSize, f = u * o, h = 0; h < u; h++) s[h] = l[f + h]; 7666 return s; 7667 }, a = function(o, s, l, u) { 7668 for (var f = this._data, h = this._dimSize, v = 0; v < h; v++) { 7669 for (var c = u[v], p = c[0] == null ? 1 / 0 : c[0], d = c[1] == null ? -1 / 0 : c[1], g = s - o, y = l[v], m = 0; m < g; m++) { 7670 var _ = f[m * h + v]; 7671 y[o + m] = _, _ < p && (p = _), _ > d && (d = _); 7672 } 7673 c[0] = p, c[1] = d; 7674 } 7675 }, n = function() { 7676 return this._data ? this._data.length / this._dimSize : 0; 7677 }; 7678 R_ = (e = {}, e[Ae + "_" + Kr] = { pure: true, appendData: i }, e[Ae + "_" + zo] = { pure: true, appendData: function() { 7679 throw new Error('Do not support appendData when set seriesLayoutBy: "row".'); 7680 } }, e[gr] = { pure: true, appendData: i }, e[ra] = { pure: true, appendData: function(o) { 7681 var s = this._data; 7682 D(o, function(l, u) { 7683 for (var f = s[u] || (s[u] = []), h = 0; h < (l || []).length; h++) f.push(l[h]); 7684 }); 7685 } }, e[dr] = { appendData: i }, e[Ka] = { persistent: false, pure: true, appendData: function(o) { 7686 this._data = o; 7687 }, clean: function() { 7688 this._offset += this.count(), this._data = null; 7689 } }, e); 7690 function i(o) { 7691 for (var s = 0; s < o.length; s++) this._data.push(o[s]); 7692 } 7693 }(), r; 7694}(), k_ = function(r, e, t, a) { 7695 return r[a]; 7696}, fO = (In = {}, In[Ae + "_" + Kr] = function(r, e, t, a) { 7697 return r[a + e]; 7698}, In[Ae + "_" + zo] = function(r, e, t, a, n) { 7699 a += e; 7700 for (var i = n || [], o = r, s = 0; s < o.length; s++) { 7701 var l = o[s]; 7702 i[s] = l ? l[a] : null; 7703 } 7704 return i; 7705}, In[gr] = k_, In[ra] = function(r, e, t, a, n) { 7706 for (var i = n || [], o = 0; o < t.length; o++) { 7707 var s = t[o].name, l = r[s]; 7708 i[o] = l ? l[a] : null; 7709 } 7710 return i; 7711}, In[dr] = k_, In); 7712function pA(r, e) { 7713 var t = fO[Ty(r, e)]; 7714 return t; 7715} 7716var O_ = function(r, e, t) { 7717 return r.length; 7718}, hO = (Ln = {}, Ln[Ae + "_" + Kr] = function(r, e, t) { 7719 return Math.max(0, r.length - e); 7720}, Ln[Ae + "_" + zo] = function(r, e, t) { 7721 var a = r[0]; 7722 return a ? Math.max(0, a.length - e) : 0; 7723}, Ln[gr] = O_, Ln[ra] = function(r, e, t) { 7724 var a = t[0].name, n = r[a]; 7725 return n ? n.length : 0; 7726}, Ln[dr] = O_, Ln); 7727function dA(r, e) { 7728 var t = hO[Ty(r, e)]; 7729 return t; 7730} 7731var ec = function(r, e, t) { 7732 return r[e]; 7733}, vO = (Pn = {}, Pn[Ae] = ec, Pn[gr] = function(r, e, t) { 7734 return r[t]; 7735}, Pn[ra] = ec, Pn[dr] = function(r, e, t) { 7736 var a = Mo(r); 7737 return a instanceof Array ? a[e] : a; 7738}
7738, Pn[Ka] = ec, Pn); 7739function gA(r) { 7740 var e = vO[r]; 7741 return e; 7742} 7743function Ty(r, e) { 7744 return r === Ae ? r + "_" + e : r; 7745} 7746function So(r, e, t) { 7747 if (r) { 7748 var a = r.getRawDataItem(e); 7749 if (a != null) { 7750 var n = r.getStore(), i = n.getSource().sourceFormat; 7751 if (t != null) { 7752 var o = r.getDimensionIndex(t), s = n.getDimensionProperty(o); 7753 return gA(i)(a, o, s); 7754 } else { 7755 var l = a; 7756 return i === dr && (l = Mo(a)), l; 7757 } 7758 } 7759 } 7760} 7761var cO = /\{@(.+?)\}/g, Yh = function() { 7762 function r() { 7763 } 7764 return r.prototype.getDataParams = function(e, t) { 7765 var a = this.getData(t), n = this.getRawValue(e, t), i = a.getRawIndex(e), o = a.getName(e), s = a.getRawDataItem(e), l = a.getItemVisual(e, "style"), u = l && l[a.getItemVisual(e, "drawType") || "fill"], f = l && l.stroke, h = this.mainType, v = h === "series", c = a.userOutput && a.userOutput.get(); 7766 return { componentType: h, componentSubType: this.subType, componentIndex: this.componentIndex, seriesType: v ? this.subType : null, seriesIndex: this.seriesIndex, seriesId: v ? this.id : null, seriesName: v ? this.name : null, name: o, dataIndex: i, data: s, dataType: t, value: n, color: u, borderColor: f, dimensionNames: c ? c.fullDimensions : null, encode: c ? c.encode : null, $vars: ["seriesName", "name", "value"] }; 7767 }, r.prototype.getFormattedLabel = function(e, t, a, n, i, o) { 7768 t = t || "normal"; 7769 var s = this.getData(a), l = this.getDataParams(e, a); 7770 if (o && (l.value = o.interpolatedValue), n != null && V(l.value) && (l.value = l.value[n]), !i) { 7771 var u = s.getItemModel(e); 7772 i = u.get(t === "normal" ? ["label", "formatter"] : [t, "label", "formatter"]); 7773 } 7774 if (j(i)) return l.status = t, l.dimensionIndex = n, i(l); 7775 if (Y(i)) { 7776 var f = gy(i, l); 7777 return f.replace(cO, function(h, v) { 7778 var c = v.length, p = v; 7779 p.charAt(0) === "[" && p.charAt(c - 1) === "]" && (p = +p.slice(1, c - 1)); 7780 var d = So(s, e, p); 7781 if (o && V(o.interpolatedValue)) { 7782 var g = s.getDimensionIndex(p); 7783 g >= 0 && (d = o.interpolatedValue[g]); 7784 } 7785 return d != null ? d + "" : ""; 7786 }); 7787 } 7788 }, r.prototype.getRawValue = function(e, t) { 7789 return So(this.getData(t), e); 7790 }, r.prototype.formatTooltip = function(e, t, a) { 7791 }, r; 7792}(); 7793function N_(r) { 7794 var e, t; 7795 return tt(r) ? r.type && (t = r) : e = r, { text: e, frag: t }; 7796} 7797function Xs(r) { 7798 return new pO(r); 7799} 7800var pO = function() { 7801 function r(e) { 7802 e = e || {}, this._reset = e.reset, this._plan = e.plan, this._count = e.count, this._onDirty = e.onDirty, this._dirty = true; 7803 } 7804 return r.prototype.perform = function(e) { 7805 var t = this._upstream, a = e && e.skip; 7806 if (this._dirty && t) { 7807 var n = this.context; 7808 n.data = n.outputData = t.context.outputData; 7809 } 7810 this.__pipeline && (this.__pipeline.currentTask = this); 7811 var i; 7812 this._plan && !a && (i = this._plan(this.context)); 7813 var o = f(this._modBy), s = this._modDataCount || 0, l = f(e && e.modBy), u = e && e.modDataCount || 0; 7814 (o !== l || s !== u) && (i = "reset"); 7815 function f(m) { 7816 return !(m >= 1) && (m = 1), m; 7817 } 7818 var h; 7819 (this._dirty || i === "reset") && (this._dirty = false, h = this._doReset(a)), this._modBy = l, this._modDataCount = u; 7820 var v = e && e.step; 7821 if (t ? this._dueEnd = t._outputDueEnd : this._dueEnd = this._count ? this._count(this.context) : 1 / 0, this._progress) { 7822 var c = this._dueIndex, p = Math.min(v != null ? this._dueIndex + v : 1 / 0, this._dueEnd); 7823 if (!a && (h || c < p)) { 7824 var d = this._progress; 7825 if (V(d)) for (var g = 0; g < d.length; g++) this._doProgress(d[g], c, p, l, u); 7826 else this._doProgress(d, c, p, l, u); 7827 } 7828 this._dueIndex = p; 7829 var y = this._settedOutputEnd != null ? this._settedOutputEnd : p; 7830 this._outputDueEnd = y; 7831 } else this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd; 7832 return this.unfinished(); 7833 }, r.prototype.dirty = function() { 7834 this._dirty = true, this._onDirty && this._onDirty(this.context); 7835 }, r.prototype._doProgress = function(e, t, a, n, i) { 7836 B_.reset(t, a, n, i), this._callingProgress = e, this._callingProgress({ start: t, end: a, count: a - t, next: B_.next }, this.context); 7837 }, r.prototype._doReset = function(e) { 7838 this._dueIndex = this._outputDueEnd = this._dueEnd = 0, this._settedOutputEnd = null; 7839 var t, a; 7840 !e && this._reset && (t = this._reset(this.context), t && t.progress && (a = t.forceFirstProgress, t = t.progress), V(t) && !t.length && (t = null)), this._progress = t, this._modBy = this._modDataCount = null; 7841 var n = this._downstream; 7842 return n && n.dirty(), a; 7843 }, r.prototype.unfinished = function() { 7844 return this._progress && this._dueIndex < this._dueEnd; 7845 }, r.prototype.pipe = function(e) { 7846 (this._downstream !== e || this._dirty) && (this._downstream = e, e._upstream = this, e.dirty()); 7847 }, r.prototype.dispose = function() { 7848 this._disposed || (this._upstream && (this._upstream._downstream = null), this._downstream && (this._downstream._upstream = null), this._dirty = false, this._disposed = true); 7849 }, r.prototype.getUpstream = function() { 7850 return this._upstream; 7851 }, r.prototype.getDownstream = function() { 7852 return this._downstream; 7853 }, r.prototype.setOutputEnd = function(e) { 7854 this._outputDueEnd = this._settedOutputEnd = e; 7855 }, r; 7856}(), B_ = /* @__PURE__ */ function() { 7857 var r, e, t, a, n, i = { reset: function(l, u, f, h) { 7858 e = l, r = u, t = f, a = h, n = Math.ceil(a / t), i.next = t > 1 && a > 0 ? s : o; 7859 } }; 7860 return i; 7861 function o() { 7862 return e < r ? e++ : null; 7863 } 7864 function s() { 7865 var l = e % n * t + Math.ceil(e / n), u = e >= r ? null : l < a ? l : e; 7866 return e++, u; 7867 } 7868}(); 7869function ja(r, e) { 7870 var t = e && e.type; 7871 return t === "ordinal" ? r : (t === "time" && !wt(r) && r != null && r !== "-" && (r = +Ke(r)), r == null || r === "" ? NaN : Number(r)); 7872} 7873var dO = Z({ number: function(r) { 7874 return parseFloat(r); 7875}, time: function(r) { 7876 return +Ke(r); 7877}, trim: function(r) { 7878 return Y(r) ? ur(r) : r; 7879} }); 7880function yA(r) { 7881 return dO.get(r); 7882} 7883var mA = { lt: function(r, e) { 7884 return r < e; 7885}, lte: function(r, e) { 7886 return r <= e; 7887}, gt: function(r, e) { 7888 return r > e; 7889}, gte: function(r, e) { 7890 return r >= e; 7891} }, gO = function() { 7892 function r(e, t) { 7893 if (!wt(t)) { 7894 var a = ""; 7895 Mt(a); 7896 } 7897 this._opFn = mA[e], this._rvalFloat = Qr(t); 7898 } 7899 return r.prototype.evaluate = function(e) { 7900 return wt(e) ? this._opFn(e, this._rvalFloat) : this._opFn(Qr(e), this._rvalFloat); 7901 }, r; 7902}(), _A = function() { 7903 function r(e, t) { 7904 var a = e === "desc"; 7905 this._resultLT = a ? 1 : -1, t == null && (t = a ? "min" : "max"), this._incomparable = t === "min" ? -1 / 0 : 1 / 0; 7906 } 7907 return r.prototype.evaluate = function(e, t) { 7908 var a = wt(e) ? e : Qr(e), n = wt(t) ? t : Qr(t), i = isNaN(a), o = isNaN(n); 7909 if (i && (a = this._incomparable), o && (n = this._incomparable), i && o) { 7910 var s = Y(e), l = Y(t); 7911 s && (a = l ? e : 0), l && (n = s ? t : 0); 7912 } 7913 return a < n ? this._resultLT : a > n ? -this._resultLT : 0; 7914 }, r; 7915}(), yO = function() { 7916 function r(e, t) { 7917 this._rval = t, this._isEQ = e, this._rvalTypeof = typeof t, this._rvalFloat = Qr(t); 7918 } 7919 return r.prototype.evaluate = function(e) { 7920 var t = e === this._rval; 7921 if (!t) { 7922 var a = typeof e; 7923 a !== this._rvalTypeof && (a === "number" || this._rvalTypeof === "number") && (t = Qr(e) === this._rvalFloat); 7924 } 7925 return this._isEQ ? t : !t; 7926 }, r; 7927}(); 7928function mO(r, e) { 7929 return r === "eq" || r === "ne" ? new yO(r === "eq", e) : X(mA, r) ? new gO(r, e) : null; 7930} 7931var _O = function() { 7932 function r() { 7933 } 7934 return r.prototype.getRawData = function() { 7935 throw new Error("not supported"); 7936 }, r.prototype.getRawDataItem = function(e) { 7937 throw new Error("not supported"); 7938 }, r.prototype.cloneRawData = function() { 7939 }, r.prototype.getDimensionInfo = function(e) { 7940 }, r.prototype.cloneAllDimensionInfo = function() { 7941 }, r.prototype.count = function() { 7942 }, r.prototype.retrieveValue = function(e, t) { 7943 }, r.prototype.retrieveValueFromItem = function(e, t) { 7944 }, r.prototype.convertValue = function(e, t) { 7945 return ja(e, t); 7946 }, r; 7947}(); 7948function SO(r, e) { 7949 var t = new _O(), a = r.data, n = t.sourceFormat = r.sourceFormat, i = r.startIndex, o = ""; 7950 r.seriesLayoutBy !== Kr && Mt(o); 7951 var s = [], l = {}, u = r.dimensionsDefine; 7952 if (u) D(u, function(d, g) { 7953 var y = d.name, m = { index: g, name: y, displayName: d.displayName }; 7954 if (s.push(m), y != null) { 7955 var _ = ""; 7956 X(l, y) && Mt(_), l[y] = m; 7957 } 7958 }); 7959 else for (var f = 0; f < r.dimensionsDetectedCount; f++) s.push({ index: f });
7960 var h = pA(n, Kr); 7961 e.__isBuiltIn && (t.getRawDataItem = function(d) { 7962 return h(a, i, s, d); 7963 }, t.getRawData = $(xO, null, r)), t.cloneRawData = $(bO, null, r); 7964 var v = dA(n, Kr); 7965 t.count = $(v, null, a, i, s); 7966 var c = gA(n); 7967 t.retrieveValue = function(d, g) { 7968 var y = h(a, i, s, d); 7969 return p(y, g); 7970 }; 7971 var p = t.retrieveValueFromItem = function(d, g) { 7972 if (d != null) { 7973 var y = s[g]; 7974 if (y) return c(d, g, y.name); 7975 } 7976 }; 7977 return t.getDimensionInfo = $(wO, null, s, l), t.cloneAllDimensionInfo = $(TO, null, s), t; 7978} 7979function xO(r) { 7980 var e = r.sourceFormat; 7981 if (!Cy(e)) { 7982 var t = ""; 7983 Mt(t); 7984 } 7985 return r.data; 7986} 7987function bO(r) { 7988 var e = r.sourceFormat, t = r.data; 7989 if (!Cy(e)) { 7990 var a = ""; 7991 Mt(a); 7992 } 7993 if (e === Ae) { 7994 for (var n = [], i = 0, o = t.length; i < o; i++) n.push(t[i].slice()); 7995 return n; 7996 } else if (e === gr) { 7997 for (var n = [], i = 0, o = t.length; i < o; i++) n.push(z({}, t[i])); 7998 return n; 7999 } 8000} 8001function wO(r, e, t) { 8002 if (t != null) { 8003 if (wt(t) || !isNaN(t) && !X(e, t)) return r[t]; 8004 if (X(e, t)) return e[t]; 8005 } 8006} 8007function TO(r) { 8008 return rt(r); 8009} 8010var SA = Z(); 8011function CO(r) { 8012 r = rt(r); 8013 var e = r.type, t = ""; 8014 e || Mt(t); 8015 var a = e.split(":"); 8016 a.length !== 2 && Mt(t); 8017 var n = false; 8018 a[0] === "echarts" && (e = a[1], n = true), r.__isBuiltIn = n, SA.set(e, r); 8019} 8020function AO(r, e, t) { 8021 var a = Rt(r), n = a.length, i = ""; 8022 n || Mt(i); 8023 for (var o = 0, s = n; o < s; o++) { 8024 var l = a[o]; 8025 e = DO(l, e), o !== s - 1 && (e.length = Math.max(e.length, 1)); 8026 } 8027 return e; 8028} 8029function DO(r, e, t, a) { 8030 var n = ""; 8031 e.length || Mt(n), tt(r) || Mt(n); 8032 var i = r.type, o = SA.get(i); 8033 o || Mt(n); 8034 var s = G(e, function(u) { 8035 return SO(u, o); 8036 }), l = Rt(o.transform({ upstream: s[0], upstreamList: s, config: rt(r.config) })); 8037 return G(l, function(u, f) { 8038 var h = ""; 8039 tt(u) || Mt(h), u.data || Mt(h); 8040 var v = hA(u.data); 8041 Cy(v) || Mt(h); 8042 var c, p = e[0]; 8043 if (p && f === 0 && !u.dimensions) { 8044 var d = p.startIndex; 8045 d && (u.data = p.data.slice(0, d).concat(u.data)), c = { seriesLayoutBy: Kr, sourceHeader: d, dimensions: p.metaRawOption.dimensions }; 8046 } else c = { seriesLayoutBy: Kr, sourceHeader: 0, dimensions: u.dimensions }; 8047 return bd(u.data, c, null); 8048 }); 8049} 8050function Cy(r) { 8051 return r === Ae || r === gr; 8052} 8053var $h = "undefined", MO = typeof Uint32Array === $h ? Array : Uint32Array, IO = typeof Uint16Array === $h ? Array : Uint16Array, xA = typeof Int32Array === $h ? Array : Int32Array, z_ = typeof Float64Array === $h ? Array : Float64Array, bA = { float: z_, int: xA, ordinal: Array, number: Array, time: z_ }, rc; 8054function Bi(r) { 8055 return r > 65535 ? MO : IO; 8056} 8057function zi() { 8058 return [1 / 0, -1 / 0]; 8059} 8060function LO(r) { 8061 var e = r.constructor; 8062 return e === Array ? r.slice() : new e(r); 8063} 8064function V_(r, e, t, a, n) { 8065 var i = bA[t || "float"]; 8066 if (n) { 8067 var o = r[e], s = o && o.length; 8068 if (s !== a) { 8069 for (var l = new i(a), u = 0; u < s; u++) l[u] = o[u]; 8070 r[e] = l; 8071 } 8072 } else r[e] = new i(a); 8073} 8074var wd = function() { 8075 function r() { 8076 this._chunks = [], this._rawExtent = [], this._extent = [], this._count = 0, this._rawCount = 0, this._calcDimNameToIdx = Z(); 8077 } 8078 return r.prototype.initData = function(e, t, a) { 8079 this._provider = e, this._chunks = [], this._indices = null, this.getRawIndex = this._getRawIdxIdentity; 8080 var n = e.getSource(), i = this.defaultDimValueGetter = rc[n.sourceFormat]; 8081 this._dimValueGetter = a || i, this._rawExtent = [], vA(n), this._dimensions = G(t, function(o) { 8082 return { type: o.type, property: o.property }; 8083 }), this._initDataFromProvider(0, e.count()); 8084 }, r.prototype.getProvider = function() { 8085 return this._provider; 8086 }, r.prototype.getSource = function() { 8087 return this._provider.getSource(); 8088 }, r.prototype.ensureCalculationDimension = function(e, t) { 8089 var a = this._calcDimNameToIdx, n = this._dimensions, i = a.get(e); 8090 if (i != null) { 8091 if (n[i].type === t) return i; 8092 } else i = n.length; 8093 return n[i] = { type: t }, a.set(e, i), this._chunks[i] = new bA[t || "float"](this._rawCount), this._rawExtent[i] = zi(), i; 8094 }, r.prototype.collectOrdinalMeta = function(e, t) { 8095 var a = this._chunks[e], n = this._dimensions[e], i = this._rawExtent, o = n.ordinalOffset || 0, s = a.length; 8096 o === 0 && (i[e] = zi()); 8097 for (var l = i[e], u = o; u < s; u++) { 8098 var f = a[u] = t.parseAndCollect(a[u]); 8099 isNaN(f) || (l[0] = Math.min(f, l[0]), l[1] = Math.max(f, l[1])); 8100 } 8101 n.ordinalMeta = t, n.ordinalOffset = s, n.type = "ordinal"; 8102 }, r.prototype.getOrdinalMeta = function(e) { 8103 var t = this._dimensions[e], a = t.ordinalMeta; 8104 return a; 8105 }, r.prototype.getDimensionProperty = function(e) { 8106 var t = this._dimensions[e]; 8107 return t && t.property; 8108 }, r.prototype.appendData = function(e) { 8109 var t = this._provider, a = this.count(); 8110 t.appendData(e); 8111 var n = t.count(); 8112 return t.persistent || (n += a), a < n && this._initDataFromProvider(a, n, true), [a, n]; 8113 }, r.prototype.appendValues = function(e, t) { 8114 for (var a = this._chunks, n = this._dimensions, i = n.length, o = this._rawExtent, s = this.count(), l = s + Math.max(e.length, t || 0), u = 0; u < i; u++) { 8115 var f = n[u]; 8116 V_(a, u, f.type, l, true); 8117 } 8118 for (var h = [], v = s; v < l; v++) for (var c = v - s, p = 0; p < i; p++) { 8119 var f = n[p], d = rc.arrayRows.call(this, e[c] || h, f.property, c, p); 8120 a[p][v] = d; 8121 var g = o[p]; 8122 d < g[0] && (g[0] = d), d > g[1] && (g[1] = d); 8123 } 8124 return this._rawCount = this._count = l, { start: s, end: l }; 8125 }, r.prototype._initDataFromProvider = function(e, t, a) { 8126 for (var n = this._provider, i = this._chunks, o = this._dimensions, s = o.length, l = this._rawExtent, u = G(o, function(m) { 8127 return m.property; 8128 }), f = 0; f < s; f++) { 8129 var h = o[f]; 8130 l[f] || (l[f] = zi()), V_(i, f, h.type, t, a); 8131 } 8132 if (n.fillStorage) n.fillStorage(e, t, i, l); 8133 else for (var v = [], c = e; c < t; c++) { 8134 v = n.getItem(c, v); 8135 for (var p = 0; p < s; p++) { 8136 var d = i[p], g = this._dimValueGetter(v, u[p], c, p); 8137 d[c] = g; 8138 var y = l[p]; 8139 g < y[0] && (y[0] = g), g > y[1] && (y[1] = g); 8140 } 8141 } 8142 !n.persistent && n.clean && n.clean(), this._rawCount = this._count = t, this._extent = []; 8143 }, r.prototype.count = function() { 8144 return this._count; 8145 }, r.prototype.get = function(e, t) { 8146 if (!(t >= 0 && t < this._count)) return NaN; 8147 var a = this._chunks[e]; 8148 return a ? a[this.getRawIndex(t)] : NaN; 8149 }, r.prototype.getValues = function(e, t) { 8150 var a = [], n = []; 8151 if (t == null) { 8152 t = e, e = []; 8153 for (var i = 0; i < this._dimensions.length; i++) n.push(i); 8154 } else n = e; 8155 for (var i = 0, o = n.length; i < o; i++) a.push(this.get(n[i], t)); 8156 return a; 8157 }, r.prototype.getByRawIndex = function(e, t) { 8158 if (!(t >= 0 && t < this._rawCount)) return NaN; 8159 var a = this._chunks[e]; 8160 return a ? a[t] : NaN; 8161 }, r.prototype.getSum = function(e) { 8162 var t = this._chunks[e], a = 0; 8163 if (t) for (var n = 0, i = this.count(); n < i; n++) { 8164 var o = this.get(e, n); 8165 isNaN(o) || (a += o); 8166 } 8167 return a; 8168 }, r.prototype.getMedian = function(e) { 8169 var t = []; 8170 this.each([e], function(i) { 8171 isNaN(i) || t.push(i); 8172 }); 8173 var a = t.sort(function(i, o) { 8174 return i - o; 8175 }), n = this.count(); 8176 return n === 0 ? 0 : n % 2 === 1 ? a[(n - 1) / 2] : (a[n / 2] + a[n / 2 - 1]) / 2; 8177 }, r.prototype.indexOfRawIndex = function(e) { 8178 if (e >= this._rawCount || e < 0) return -1; 8179 if (!this._indices) return e; 8180 var t = this._indices, a = t[e]; 8181 if (a != null && a < this._count && a === e) return e; 8182 for (var n = 0, i = this._count - 1;
8182 n <= i; ) { 8183 var o = (n + i) / 2 | 0; 8184 if (t[o] < e) n = o + 1; 8185 else if (t[o] > e) i = o - 1; 8186 else return o; 8187 } 8188 return -1; 8189 }, r.prototype.indicesOfNearest = function(e, t, a) { 8190 var n = this._chunks, i = n[e], o = []; 8191 if (!i) return o; 8192 a == null && (a = 1 / 0); 8193 for (var s = 1 / 0, l = -1, u = 0, f = 0, h = this.count(); f < h; f++) { 8194 var v = this.getRawIndex(f), c = t - i[v], p = Math.abs(c); 8195 p <= a && ((p < s || p === s && c >= 0 && l < 0) && (s = p, l = c, u = 0), c === l && (o[u++] = f)); 8196 } 8197 return o.length = u, o; 8198 }, r.prototype.getIndices = function() { 8199 var e, t = this._indices; 8200 if (t) { 8201 var a = t.constructor, n = this._count; 8202 if (a === Array) { 8203 e = new a(n); 8204 for (var i = 0; i < n; i++) e[i] = t[i]; 8205 } else e = new a(t.buffer, 0, n); 8206 } else { 8207 var a = Bi(this._rawCount); 8208 e = new a(this.count()); 8209 for (var i = 0; i < e.length; i++) e[i] = i; 8210 } 8211 return e; 8212 }, r.prototype.filter = function(e, t) { 8213 if (!this._count) return this; 8214 for (var a = this.clone(), n = a.count(), i = Bi(a._rawCount), o = new i(n), s = [], l = e.length, u = 0, f = e[0], h = a._chunks, v = 0; v < n; v++) { 8215 var c = void 0, p = a.getRawIndex(v); 8216 if (l === 0) c = t(v); 8217 else if (l === 1) { 8218 var d = h[f][p]; 8219 c = t(d, v); 8220 } else { 8221 for (var g = 0; g < l; g++) s[g] = h[e[g]][p]; 8222 s[g] = v, c = t.apply(null, s); 8223 } 8224 c && (o[u++] = p); 8225 } 8226 return u < n && (a._indices = o), a._count = u, a._extent = [], a._updateGetRawIdx(), a; 8227 }, r.prototype.selectRange = function(e) { 8228 var t = this.clone(), a = t._count; 8229 if (!a) return this; 8230 var n = _t(e), i = n.length; 8231 if (!i) return this; 8232 var o = t.count(), s = Bi(t._rawCount), l = new s(o), u = 0, f = n[0], h = e[f][0], v = e[f][1], c = t._chunks, p = false; 8233 if (!t._indices) { 8234 var d = 0; 8235 if (i === 1) { 8236 for (var g = c[n[0]], y = 0; y < a; y++) { 8237 var m = g[y]; 8238 (m >= h && m <= v || isNaN(m)) && (l[u++] = d), d++; 8239 } 8240 p = true; 8241 } else if (i === 2) { 8242 for (var g = c[n[0]], _ = c[n[1]], S = e[n[1]][0], b = e[n[1]][1], y = 0; y < a; y++) { 8243 var m = g[y], x = _[y]; 8244 (m >= h && m <= v || isNaN(m)) && (x >= S && x <= b || isNaN(x)) && (l[u++] = d), d++; 8245 } 8246 p = true; 8247 } 8248 } 8249 if (!p) if (i === 1) for (var y = 0; y < o; y++) { 8250 var w = t.getRawIndex(y), m = c[n[0]][w]; 8251 (m >= h && m <= v || isNaN(m)) && (l[u++] = w); 8252 } 8253 else for (var y = 0; y < o; y++) { 8254 for (var T = true, w = t.getRawIndex(y), C = 0; C < i; C++) { 8255 var A = n[C], m = c[A][w]; 8256 (m < e[A][0] || m > e[A][1]) && (T = false); 8257 } 8258 T && (l[u++] = t.getRawIndex(y)); 8259 } 8260 return u < o && (t._indices = l), t._count = u, t._extent = [], t._updateGetRawIdx(), t; 8261 }, r.prototype.map = function(e, t) { 8262 var a = this.clone(e); 8263 return this._updateDims(a, e, t), a; 8264 }, r.prototype.modify = function(e, t) { 8265 this._updateDims(this, e, t); 8266 }, r.prototype._updateDims = function(e, t, a) { 8267 for (var n = e._chunks, i = [], o = t.length, s = e.count(), l = [], u = e._rawExtent, f = 0; f < t.length; f++) u[t[f]] = zi(); 8268 for (var h = 0; h < s; h++) { 8269 for (var v = e.getRawIndex(h), c = 0; c < o; c++) l[c] = n[t[c]][v]; 8270 l[o] = h; 8271 var p = a && a.apply(null, l); 8272 if (p != null) { 8273 typeof p != "object" && (i[0] = p, p = i); 8274 for (var f = 0; f < p.length; f++) { 8275 var d = t[f], g = p[f], y = u[d], m = n[d]; 8276 m && (m[v] = g), g < y[0] && (y[0] = g), g > y[1] && (y[1] = g); 8277 } 8278 } 8279 } 8280 }, r.prototype.lttbDownSample = function(e, t) { 8281 var a = this.clone([e], true), n = a._chunks, i = n[e], o = this.count(), s = 0, l = Math.floor(1 / t), u = this.getRawIndex(0), f, h, v, c = new (Bi(this._rawCount))(Math.min((Math.ceil(o / l) + 2) * 2, o)); 8282 c[s++] = u; 8283 for (var p = 1; p < o - 1; p += l) { 8284 for (var d = Math.min(p + l, o - 1), g = Math.min(p + l * 2, o), y = (g + d) / 2, m = 0, _ = d; _ < g; _++) { 8285 var S = this.getRawIndex(_), b = i[S]; 8286 isNaN(b) || (m += b); 8287 } 8288 m /= g - d; 8289 var x = p, w = Math.min(p + l, o), T = p - 1, C = i[u]; 8290 f = -1, v = x; 8291 for (var A = -1, M = 0, _ = x; _ < w; _++) { 8292 var S = this.getRawIndex(_), b = i[S]; 8293 if (isNaN(b)) { 8294 M++, A < 0 && (A = S); 8295 continue; 8296 } 8297 h = Math.abs((T - y) * (b - C) - (T - _) * (m - C)), h > f && (f = h, v = S); 8298 } 8299 M > 0 && M < w - x && (c[s++] = Math.min(A, v), v = Math.max(A, v)), c[s++] = v, u = v; 8300 } 8301 return c[s++] = this.getRawIndex(o - 1), a._count = s, a._indices = c, a.getRawIndex = this._getRawIdx, a; 8302 }, r.prototype.minmaxDownSample = function(e, t) { 8303 for (var a = this.clone([e], true), n = a._chunks, i = Math.floor(1 / t), o = n[e], s = this.count(), l = new (Bi(this._rawCount))(Math.ceil(s / i) * 2), u = 0, f = 0; f < s; f += i) { 8304 var h = f, v = o[this.getRawIndex(h)], c = f, p = o[this.getRawIndex(c)], d = i; 8305 f + i > s && (d = s - f); 8306 for (var g = 0; g < d; g++) { 8307 var y = this.getRawIndex(f + g), m = o[y]; 8308 m < v && (v = m, h = f + g), m > p && (p = m, c = f + g); 8309 } 8310 var _ = this.getRawIndex(h), S = this.getRawIndex(c); 8311 h < c ? (l[u++] = _, l[u++] = S) : (l[u++] = S, l[u++] = _); 8312 } 8313 return a._count = u, a._indices = l, a._updateGetRawIdx(), a; 8314 }, r.prototype.downSample = function(e, t, a, n) { 8315 for (var i = this.clone([e], true), o = i._chunks, s = [], l = Math.floor(1 / t), u = o[e], f = this.count(), h = i._rawExtent[e] = zi(), v = new (Bi(this._rawCount))(Math.ceil(f / l)), c = 0, p = 0; p < f; p += l) { 8316 l > f - p && (l = f - p, s.length = l); 8317 for (var d = 0; d < l; d++) { 8318 var g = this.getRawIndex(p + d); 8319 s[d] = u[g]; 8320 } 8321 var y = a(s), m = this.getRawIndex(Math.min(p + n(s, y) || 0, f - 1)); 8322 u[m] = y, y < h[0] && (h[0] = y), y > h[1] && (h[1] = y), v[c++] = m; 8323 } 8324 return i._count = c, i._indices = v, i._updateGetRawIdx(), i; 8325 }, r.prototype.each = function(e, t) { 8326 if (this._count) for (var a = e.length, n = this._chunks, i = 0, o = this.count(); i < o; i++) { 8327 var s = this.getRawIndex(i); 8328 switch (a) { 8329 case 0: 8330 t(i); 8331 break; 8332 case 1: 8333 t(n[e[0]][s], i); 8334 break; 8335 case 2: 8336 t(n[e[0]][s], n[e[1]][s], i); 8337 break; 8338 default: 8339 for (var l = 0, u = []; l < a; l++) u[l] = n[e[l]][s]; 8340 u[l] = i, t.apply(null, u); 8341 } 8342 } 8343 }, r.prototype.getDataExtent = function(e) { 8344 var t = this._chunks[e], a = zi(); 8345 if (!t) return a; 8346 var n = this.count(), i = !this._indices, o; 8347 if (i) return this._rawExtent[e].slice(); 8348 if (o = this._extent[e], o) return o.slice(); 8349 o = a; 8350 for (var s = o[0], l = o[1], u = 0; u < n; u++) { 8351 var f = this.getRawIndex(u), h = t[f]; 8352 h < s && (s = h), h > l && (l = h); 8353 } 8354 return o = [s, l], this._extent[e] = o, o; 8355 }, r.prototype.getRawDataItem = function(e) { 8356 var t = this.getRawIndex(e); 8357 if (this._provider.persistent) return this._provider.getItem(t); 8358 for (var a = [], n = this._chunks, i = 0; i < n.length; i++) a.push(n[i][t]); 8359 return a; 8360 }, r.prototype.clone = function(e, t) { 8361 var a = new r(), n = this._chunks, i = e && hr(e, function(s, l) { 8362 return s[l] = true, s; 8363 }, {}); 8364 if (i) for (var o = 0; o < n.length; o++) a._chunks[o] = i[o] ? LO(n[o]) : n[o]; 8365 else a._chunks = n; 8366 return this._copyCommonProps(a), t || (a._indices = this._cloneIndices()), a._updateGetRawIdx(), a; 8367 }, r.prototype._copyCommonProps = function(e) { 8368 e._count = this._count, e._rawCount = this._rawCount, e._provider = this._provider, e._dimensions = this._dimensions, e._extent = rt(this._extent), e._rawExtent = rt(this._rawExtent); 8369 }, r.prototype._cloneIndices = function() { 8370 if (this._indices) { 8371 var e = this._indices.constructor, t = void 0; 8372 if (e === Array) { 8373 var a = this._indices.length; 8374 t = new e(a); 8375 for (var n = 0; n < a; n++) t[n] = this._indices[n]; 8376 } else t = new e(this._indices); 8377 return t; 8378 } 8379 return null; 8380 }, r.prototype._getRawIdxIdentity = function(e) { 8381 return e; 8382 }, r.prototype._getRawIdx = function(e) { 8383 return e < this._count && e >= 0 ? this._indices[e] : -1; 8384 }, r.prototype._updateGetRawIdx = function() { 8385 this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity; 8386 }, r.internalField = function() { 8387 function e(t, a, n, i) { 8388 return ja(t[i], this._dimensions[i]); 8389 } 8390 rc = { arrayRows: e, objectRows: function(t, a, n, i) { 8391 return ja(t[a], this._dimensions[i]); 8392 }, keyedColumns: e, original: function(t, a, n, i) { 8393 var o = t && (t.value == null ? t : t.value); 8394 return ja(o instanceof Array ? o[i] : o, this._dimensions[i]); 8395 }, typedArray: function(t, a, n, i) { 8396 return t[i]; 8397 } }; 8398 }(), r; 8399}(), wA = function() { 8400 function r(e) { 8401 this._sourceList = [], this._storeList = [], this._upstreamSignList = [], this._versionSignBase = 0, this._dirty = true, this._sourceHost = e; 8402 } 8403 return r.prototype.dirty = function() { 8404 this._setLocalSource([], []), this._storeList = [], this._dirty = true; 8405 }, r.prototype._setLocalSource = function(e, t) { 8406 this._sourceList = e, this._upstreamSignList = t, this._versionSignBase++, this._versionSignBase > 9e10 && (this._versionSignBase = 0); 8407 }, r.prototype._getVersionSign = function() { 8408 return this._sourceHost.uid + "_" + this._versionSignBase; 8409 }, r.prototype.prepareSource = function() { 8410 this._isDirty() && (this._createSource(), this._dirty = false); 8411 }, r.prototype._createSource = function() { 8412 this._setLocalSource([], []); 8413 var e = this._sourceHost, t = this._getUpstreamSourceManagers(), a = !!t.length, n, i; 8414 if (mu(e)) { 8415 var o = e, s = void 0, l = void 0, u = void 0; 8416 if (a) { 8417 var f = t[0]; 8418 f.prepareSource(), u = f.getSource(), s = u.data, l = u.sourceFormat, i = [f._getVersionSign()]; 8419 } else s = o.get("data", true), l = ke(s) ? Ka : dr, i = []; 8420 var h = this._getSourceMetaRawOption() || {}, v = u && u.metaRawOption || {}, c = st(h.seriesLayoutBy, v.seriesLayoutBy) || null, p = st(h.sourceHeader, v.sourceHeader), d = st(h.dimensions, v.dimensions), g = c !== v.seriesLayoutBy || !!p != !!v.sourceHeader || d; 8421 n = g ? [bd(s, { seriesLayoutBy: c, sourceHeader: p, dimensions: d }, l)] : []; 8422 } else { 8423 var y = e; 8424 if (a) { 8425 var m = this._applyTransform(t); 8426 n = m.sourceList, i = m.upstreamSignList; 8427 } else { 8428 var _ = y.get("source", true); 8429 n = [bd(_, this._getSourceMetaRawOption(), null)], i = []; 8430 } 8431 } 8432 this._setLocalSource(n, i); 8433 }, r.prototype._applyTransform = function(e) { 8434 var t = this._sourceHost, a = t.get("transform", true), n = t.get("fromTransformResult", true); 8435 if (n != null) { 8436 var i = ""; 8437 e.length !== 1 && F_(i); 8438 } 8439 var o, s = [], l = []; 8440 return D(e, function(u) { 8441 u.prepareSource(); 8442 var f = u.getSource(n || 0), h = ""; 8443 n != null && !f && F_(h), s.push(f), l.push(u._getVersionSign()); 8444 }), a ? o = AO(a, s, { datasetIndex: t.componentIndex }) : n != null && (o = [sO(s[0])]), { sourceList: o, upstreamSignList: l }; 8445 }, r.prototype._isDirty = function() { 8446 if (this._dirty) return true; 8447 for (var e = this._getUpstreamSourceManagers(), t = 0; t < e.length; t++) { 8448 var a = e[t]; 8449 if (a._isDirty() || this._upstreamSignList[t] !== a._getVersionSign()) return true; 8450 } 8451 }, r.prototype.getSource = function(e) { 8452 e = e || 0; 8453 var t = this._sourceList[e]; 8454 if (!t) { 8455 var a = this._getUpstreamSourceManagers(); 8456 return a[0] && a[0].getSource(e); 8457 } 8458 return t; 8459 }, r.prototype.getSharedDataStore = function(e) { 8460 var t = e.makeStoreSchema(); 8461 return this._innerGetDataStore(t.dimensions, e.source, t.hash); 8462 }, r.prototype._innerGetDataStore = function(e, t, a) { 8463 var n = 0, i = this._storeList, o = i[n]; 8464 o || (o = i[n] = {}); 8465 var s = o[a]; 8466 if (!s) { 8467 var l = this._getUpstreamSourceManagers()[0]; 8468 mu(this._sourceHost) && l ? s = l._innerGetDataStore(e, t, a) : (s = new wd(), s.initData(new cA(t, e.length), e)), o[a] = s; 8469 } 8470 return s; 8471 }, r.prototype._getUpstreamSourceManagers = function() { 8472 var e = this._sourceHost; 8473 if (mu(e)) { 8474 var t = _y(e); 8475 return t ? [t.getSourceManager()] : []; 8476 } else return G(Nk(e), function(a) { 8477 return a.getSourceManager(); 8478 }); 8479 }, r.prototype._getSourceMetaRawOption = function() { 8480 var e = this._sourceHost, t, a, n; 8481 if (mu(e)) t = e.get("seriesLayoutBy", true), a = e.get("sourceHeader", true), n = e.get("dimensions", true); 8482 else if (!this._getUpstreamSourceManagers().length) { 8483 var i = e; 8484 t = i.get("seriesLayoutBy", true), a = i.get("sourceHeader", true), n = i.get("dimensions", true); 8485 } 8486 return { seriesLayoutBy: t, sourceHeader: a, dimensions: n }; 8487 }, r; 8488}(); 8489function G_(r) { 8490 var e = r.option.transform; 8491 e && Qs(r.option.transform); 8492} 8493function mu(r) { 8494 return r.mainType === "series"; 8495} 8496function F_(r) { 8497 throw new Error(r); 8498} 8499var PO = "line-height:1"; 8500function TA(r) { 8501 var e = r.lineHeight; 8502 return e == null ? PO : "line-height:" + xe(e + "") + "px"; 8503} 8504function CA(r, e) { 8505 var t = r.color || "#6e7079", a = r.fontSize || 12, n = r.fontWeight || "400", i = r.color || "#464646", o = r.fontSize || 14, s = r.fontWeight || "900"; 8506 return e === "html" ? { nameStyle: "font-size:" + xe(a + "") + "px;color:" + xe(t) + ";font-weight:" + xe(n + ""), valueStyle: "font-size:" + xe(o + "") + "px;color:" + xe(i) + ";font-weight:" + xe(s + "") } : { nameStyle: { fontSize: a, fill: t, fontWeight: n }, valueStyle: { fontSize: o, fill: i, fontWeight: s } }; 8507} 8508var RO = [0, 10, 20, 30], EO = ["", ` 8509`, ` 8510 8511`, ` 8512 8513 8514`]; 8515function le(r, e) { 8516 return e.type = r, e; 8517} 8518function Td(r) { 8519 return r.type === "section"; 8520} 8521function AA(r) { 8522 return Td(r) ? kO : OO; 8523} 8524function DA(r) { 8525 if (Td(r)) { 8526 var e = 0, t = r.blocks.length, a = t > 1 || t > 0 && !r.noHeader; 8527 return D(r.blocks, function(n) { 8528 var i = DA(n); 8529 i >= e && (e = i + +(a && (!i || Td(n) && !n.noHeader))); 8530 }), e; 8531 } 8532 return 0; 8533} 8534function kO(r, e, t, a) { 8535 var n = e.noHeader, i = NO(DA(e)), o = [], s = e.blocks || []; 8536 we(!s || V(s)), s = s || []; 8537 var l = r.orderMode; 8538 if (e.sortBlocks && l) { 8539 s = s.slice(); 8540 var u = { valueAsc: "asc", valueDesc: "desc" }; 8541 if (X(u, l)) { 8542 var f = new _A(u[l], null); 8543 s.sort(function(d, g) { 8544 return f.evaluate(d.sortParam, g.sortParam); 8545 }); 8546 } else l === "seriesDesc" && s.reverse(); 8547 } 8548 D(s, function(d, g) { 8549 var y = e.valueFormatter, m = AA(d)(y ? z(z({}, r), { valueFormatter: y }) : r, d, g > 0 ? i.html : 0, a); 8550 m != null && o.push(m); 8551 });
8552 var h = r.renderMode === "richText" ? o.join(i.richText) : Cd(a, o.join(""), n ? t : i.html); 8553 if (n) return h; 8554 var v = _d(e.header, "ordinal", r.useUTC), c = CA(a, r.renderMode).nameStyle, p = TA(a); 8555 return r.renderMode === "richText" ? MA(r, v, c) + i.richText + h : Cd(a, '<div style="' + c + ";" + p + ';">' + xe(v) + "</div>" + h, t); 8556} 8557function OO(r, e, t, a) { 8558 var n = r.renderMode, i = e.noName, o = e.noValue, s = !e.markerType, l = e.name, u = r.useUTC, f = e.valueFormatter || r.valueFormatter || function(S) { 8559 return S = V(S) ? S : [S], G(S, function(b, x) { 8560 return _d(b, V(c) ? c[x] : c, u); 8561 }); 8562 }; 8563 if (!(i && o)) { 8564 var h = s ? "" : r.markupStyleCreator.makeTooltipMarker(e.markerType, e.markerColor || "#333", n), v = i ? "" : _d(l, "ordinal", u), c = e.valueType, p = o ? [] : f(e.value, e.dataIndex), d = !s || !i, g = !s && i, y = CA(a, n), m = y.nameStyle, _ = y.valueStyle; 8565 return n === "richText" ? (s ? "" : h) + (i ? "" : MA(r, v, m)) + (o ? "" : VO(r, p, d, g, _)) : Cd(a, (s ? "" : h) + (i ? "" : BO(v, !s, m)) + (o ? "" : zO(p, d, g, _)), t); 8566 } 8567} 8568function H_(r, e, t, a, n, i) { 8569 if (r) { 8570 var o = AA(r), s = { useUTC: n, renderMode: t, orderMode: a, markupStyleCreator: e, valueFormatter: r.valueFormatter }; 8571 return o(s, r, 0, i); 8572 } 8573} 8574function NO(r) { 8575 return { html: RO[r], richText: EO[r] }; 8576} 8577function Cd(r, e, t) { 8578 var a = '<div style="clear:both"></div>', n = "margin: " + t + "px 0 0", i = TA(r); 8579 return '<div style="' + n + ";" + i + ';">' + e + a + "</div>"; 8580} 8581function BO(r, e, t) { 8582 var a = e ? "margin-left:2px" : ""; 8583 return '<span style="' + t + ";" + a + '">' + xe(r) + "</span>"; 8584} 8585function zO(r, e, t, a) { 8586 var n = t ? "10px" : "20px", i = e ? "float:right;margin-left:" + n : ""; 8587 return r = V(r) ? r : [r], '<span style="' + i + ";" + a + '">' + G(r, function(o) { 8588 return xe(o); 8589 }).join(" ") + "</span>"; 8590} 8591function MA(r, e, t) { 8592 return r.markupStyleCreator.wrapRichTextStyle(e, t); 8593} 8594function VO(r, e, t, a, n) { 8595 var i = [n], o = a ? 10 : 20; 8596 return t && i.push({ padding: [0, 0, 0, o], align: "right" }), r.markupStyleCreator.wrapRichTextStyle(V(e) ? e.join(" ") : e, i); 8597} 8598function IA(r, e) { 8599 var t = r.getData().getItemVisual(e, "style"), a = t[r.visualDrawType]; 8600 return pi(a); 8601} 8602function LA(r, e) { 8603 var t = r.get("padding"); 8604 return t ?? (e === "richText" ? [8, 10] : 10); 8605} 8606var ac = function() { 8607 function r() { 8608 this.richTextStyles = {}, this._nextStyleNameId = XT(); 8609 } 8610 return r.prototype._generateStyleName = function() { 8611 return "__EC_aUTo_" + this._nextStyleNameId++; 8612 }, r.prototype.makeTooltipMarker = function(e, t, a) { 8613 var n = a === "richText" ? this._generateStyleName() : null, i = jC({ color: t, type: e, renderMode: a, markerId: n }); 8614 return Y(i) ? i : (this.richTextStyles[n] = i.style, i.content); 8615 }, r.prototype.wrapRichTextStyle = function(e, t) { 8616 var a = {}; 8617 V(t) ? D(t, function(i) { 8618 return z(a, i); 8619 }) : z(a, t); 8620 var n = this._generateStyleName(); 8621 return this.richTextStyles[n] = a, "{" + n + "|" + e + "}"; 8622 }, r; 8623}(); 8624function PA(r) { 8625 var e = r.series, t = r.dataIndex, a = r.multipleSeries, n = e.getData(), i = n.mapDimensionsAll("defaultedTooltip"), o = i.length, s = e.getRawValue(t), l = V(s), u = IA(e, t), f, h, v, c; 8626 if (o > 1 || l && !o) { 8627 var p = GO(s, e, t, i, u); 8628 f = p.inlineValues, h = p.inlineValueTypes, v = p.blocks, c = p.inlineValues[0]; 8629 } else if (o) { 8630 var d = n.getDimensionInfo(i[0]); 8631 c = f = So(n, t, i[0]), h = d.type; 8632 } else c = f = l ? s[0] : s; 8633 var g = Yg(e), y = g && e.name || "", m = n.getName(t), _ = a ? y : m; 8634 return le("section", { header: y, noHeader: a || !g, sortParam: c, blocks: [le("nameValue", { markerType: "item", markerColor: u, name: _, noName: !ur(_), value: f, valueType: h, dataIndex: t })].concat(v || []) }); 8635} 8636function GO(r, e, t, a, n) { 8637 var i = e.getData(), o = hr(r, function(h, v, c) { 8638 var p = i.getDimensionInfo(c); 8639 return h = h || p && p.tooltip !== false && p.displayName != null; 8640 }, false), s = [], l = [], u = []; 8641 a.length ? D(a, function(h) { 8642 f(So(i, t, h), h); 8643 }) : D(r, f); 8644 function f(h, v) { 8645 var c = i.getDimensionInfo(v); 8646 !c || c.otherDims.tooltip === false || (o ? u.push(le("nameValue", { markerType: "subItem", markerColor: n, name: c.displayName, value: h, valueType: c.type })) : (s.push(h), l.push(c.type))); 8647 } 8648 return { inlineValues: s, inlineValueTypes: l, blocks: u }; 8649} 8650var Ia = bt(); 8651function _u(r, e) { 8652 return r.getName(e) || r.getId(e); 8653} 8654var vf = "__universalTransitionEnabled", Et = function(r) { 8655 N(e, r); 8656 function e() { 8657 var t = r !== null && r.apply(this, arguments) || this; 8658 return t._selectedDataIndicesMap = {}, t; 8659 } 8660 return e.prototype.init = function(t, a, n) { 8661 this.seriesIndex = this.componentIndex, this.dataTask = Xs({
8661count: HO, reset: WO }), this.dataTask.context = { model: this }, this.mergeDefaultAndTheme(t, n); 8662 var i = Ia(this).sourceManager = new wA(this); 8663 i.prepareSource(); 8664 var o = this.getInitialData(t, n); 8665 U_(o, this), this.dataTask.context.data = o, Ia(this).dataBeforeProcessed = o, W_(this), this._initSelectedMapFromData(o); 8666 }, e.prototype.mergeDefaultAndTheme = function(t, a) { 8667 var n = hl(this), i = n ? Bo(t) : {}, o = this.subType; 8668 gt.hasClass(o) && (o += "Series"), ut(t, a.getTheme().get(this.subType)), ut(t, this.getDefaultOption()), fi(t, "label", ["show"]), this.fillDataTextStyle(t.data), n && an(t, i, n); 8669 }, e.prototype.mergeOption = function(t, a) { 8670 t = ut(this.option, t, true), this.fillDataTextStyle(t.data); 8671 var n = hl(this); 8672 n && an(this.option, t, n); 8673 var i = Ia(this).sourceManager; 8674 i.dirty(), i.prepareSource(); 8675 var o = this.getInitialData(t, a); 8676 U_(o, this), this.dataTask.dirty(), this.dataTask.context.data = o, Ia(this).dataBeforeProcessed = o, W_(this), this._initSelectedMapFromData(o); 8677 }, e.prototype.fillDataTextStyle = function(t) { 8678 if (t && !ke(t)) for (var a = ["show"], n = 0; n < t.length; n++) t[n] && t[n].label && fi(t[n], "label", a); 8679 }, e.prototype.getInitialData = function(t, a) { 8680 }, e.prototype.appendData = function(t) { 8681 var a = this.getRawData(); 8682 a.appendData(t.data); 8683 }, e.prototype.getData = function(t) { 8684 var a = Ad(this); 8685 if (a) { 8686 var n = a.context.data; 8687 return t == null || !n.getLinkedData ? n : n.getLinkedData(t); 8688 } else return Ia(this).data; 8689 }, e.prototype.getAllData = function() { 8690 var t = this.getData(); 8691 return t && t.getLinkedDataAll ? t.getLinkedDataAll() : [{ data: t }]; 8692 }, e.prototype.setData = function(t) { 8693 var a = Ad(this); 8694 if (a) { 8695 var n = a.context; 8696 n.outputData = t, a !== this.dataTask && (n.data = t); 8697 } 8698 Ia(this).data = t; 8699 }, e.prototype.getEncode = function() { 8700 var t = this.get("encode", true); 8701 if (t) return Z(t); 8702 }, e.prototype.getSourceManager = function() { 8703 return Ia(this).sourceManager; 8704 }, e.prototype.getSource = function() { 8705 return this.getSourceManager().getSource(); 8706 }, e.prototype.getRawData = function() { 8707 return Ia(this).dataBeforeProcessed; 8708 }, e.prototype.getColorBy = function() { 8709 var t = this.get("colorBy"); 8710 return t || "series"; 8711 }, e.prototype.isColorBySeries = function() { 8712 return this.getColorBy() === "series"; 8713 }, e.prototype.getBaseAxis = function() { 8714 var t = this.coordinateSystem; 8715 return t && t.getBaseAxis && t.getBaseAxis(); 8716 }, e.prototype.formatTooltip = function(t, a, n) { 8717 return PA({ series: this, dataIndex: t, multipleSeries: a }); 8718 }, e.prototype.isAnimationEnabled = function() { 8719 var t = this.ecModel; 8720 if (yt.node && !(t && t.ssr)) return false; 8721 var a = this.getShallow("animation"); 8722 return a && this.getData().count() > this.getShallow("animationThreshold") && (a = false), !!a; 8723 }, e.prototype.restoreData = function() { 8724 this.dataTask.dirty(); 8725 }, e.prototype.getColorFromPalette = function(t, a, n) { 8726 var i = this.ecModel, o = Sy.prototype.getColorFromPalette.call(this, t, a, n); 8727 return o || (o = i.getColorFromPalette(t, a, n)), o; 8728 }, e.prototype.coordDimToDataDim = function(t) { 8729 return this.getRawData().mapDimensionsAll(t); 8730 }, e.prototype.getProgressive = function() { 8731 return this.get("progressive"); 8732 }, e.prototype.getProgressiveThreshold = function() { 8733 return this.get("progressiveThreshold"); 8734 }, e.prototype.select = function(t, a) { 8735 this._innerSelect(this.getData(a), t); 8736 }, e.prototype.unselect = function(t, a) { 8737 var n = this.option.selectedMap; 8738 if (n) { 8739 var i = this.option.selectedMode, o = this.getData(a); 8740 if (i === "series" || n === "all") { 8741 this.option.selectedMap = {}, this._selectedDataIndicesMap = {}; 8742 return; 8743 } 8744 for (var s = 0; s < t.length; s++) { 8745 var l = t[s], u = _u(o, l); 8746 n[u] = false, this._selectedDataIndicesMap[u] = -1; 8747 } 8748 } 8749 }, e.prototype.toggleSelect = function(t, a) { 8750 for (var n = [], i = 0; i < t.length; i++) n[0] = t[i], this.isSelected(t[i], a) ? this.unselect(n, a) : this.select(n, a); 8751 }, e.prototype.getSelectedDataIndices = function() { 8752 if (this.option.selectedMap === "all") return [].slice.call(this.getData().getIndices()); 8753 for (var t = this._selectedDataIndicesMap, a = _t(t), n = [], i = 0; i < a.length; i++) { 8754 var o = t[a[i]]; 8755 o >= 0 && n.push(o); 8756 } 8757 return n; 8758 }, e.prototype.isSelected = function(t, a) { 8759 var n = this.option.selectedMap; 8760 if (!n) return false;
8761 var i = this.getData(a); 8762 return (n === "all" || n[_u(i, t)]) && !i.getItemModel(t).get(["select", "disabled"]); 8763 }, e.prototype.isUniversalTransitionEnabled = function() { 8764 if (this[vf]) return true; 8765 var t = this.option.universalTransition; 8766 return t ? t === true ? true : t && t.enabled : false; 8767 }, e.prototype._innerSelect = function(t, a) { 8768 var n, i, o = this.option, s = o.selectedMode, l = a.length; 8769 if (!(!s || !l)) { 8770 if (s === "series") o.selectedMap = "all"; 8771 else if (s === "multiple") { 8772 tt(o.selectedMap) || (o.selectedMap = {}); 8773 for (var u = o.selectedMap, f = 0; f < l; f++) { 8774 var h = a[f], v = _u(t, h); 8775 u[v] = true, this._selectedDataIndicesMap[v] = t.getRawIndex(h); 8776 } 8777 } else if (s === "single" || s === true) { 8778 var c = a[l - 1], v = _u(t, c); 8779 o.selectedMap = (n = {}, n[v] = true, n), this._selectedDataIndicesMap = (i = {}, i[v] = t.getRawIndex(c), i); 8780 } 8781 } 8782 }, e.prototype._initSelectedMapFromData = function(t) { 8783 if (!this.option.selectedMap) { 8784 var a = []; 8785 t.hasItemOption && t.each(function(n) { 8786 var i = t.getRawDataItem(n); 8787 i && i.selected && a.push(n); 8788 }), a.length > 0 && this._innerSelect(t, a); 8789 } 8790 }, e.registerClass = function(t) { 8791 return gt.registerClass(t); 8792 }, e.protoInitialize = function() { 8793 var t = e.prototype; 8794 t.type = "series.__base__", t.seriesIndex = 0, t.ignoreStyleOnData = false, t.hasSymbolVisual = false, t.defaultSymbol = "circle", t.visualStyleAccessPath = "itemStyle", t.visualDrawType = "fill"; 8795 }(), e; 8796}(gt); 8797Xt(Et, Yh); 8798Xt(Et, Sy); 8799rC(Et, gt); 8800function W_(r) { 8801 var e = r.name; 8802 Yg(r) || (r.name = FO(r) || e); 8803} 8804function FO(r) { 8805 var e = r.getRawData(), t = e.mapDimensionsAll("seriesName"), a = []; 8806 return D(t, function(n) { 8807 var i = e.getDimensionInfo(n); 8808 i.displayName && a.push(i.displayName); 8809 }), a.join(" "); 8810} 8811function HO(r) { 8812 return r.model.getRawData().count(); 8813} 8814function WO(r) { 8815 var e = r.model; 8816 return e.setData(e.getRawData().cloneShallow()), UO; 8817} 8818function UO(r, e) { 8819 e.outputData && r.end > e.outputData.count() && e.model.getRawData().cloneShallow(e.outputData); 8820} 8821function U_(r, e) { 8822 D(go(r.CHANGABLE_METHODS, r.DOWNSAMPLE_METHODS), function(t) { 8823 r.wrapMethod(t, lt(YO, e)); 8824 }); 8825} 8826function YO(r, e) { 8827 var t = Ad(r); 8828 return t && t.setOutputEnd((e || this).count()), e; 8829} 8830function Ad(r) { 8831 var e = (r.ecModel || {}).scheduler, t = e && e.getPipeline(r.uid); 8832 if (t) { 8833 var a = t.currentTask; 8834 if (a) { 8835 var n = a.agentStubMap; 8836 n && (a = n.get(r.uid)); 8837 } 8838 return a; 8839 } 8840} 8841var Vt = function() { 8842 function r() { 8843 this.group = new at(), this.uid = No("viewComponent"); 8844 } 8845 return r.prototype.init = function(e, t) { 8846 }, r.prototype.render = function(e, t, a, n) { 8847 }, r.prototype.dispose = function(e, t) { 8848 }, r.prototype.updateView = function(e, t, a, n) { 8849 }, r.prototype.updateLayout = function(e, t, a, n) { 8850 }, r.prototype.updateVisual = function(e, t, a, n) { 8851 }, r.prototype.toggleBlurSeries = function(e, t, a) { 8852 }, r.prototype.eachRendered = function(e) { 8853 var t = this.group; 8854 t && t.traverse(e); 8855 }, r; 8856}(); 8857Xg(Vt); 8858Ih(Vt); 8859function Go() { 8860 var r = bt(); 8861 return function(e) { 8862 var t = r(e), a = e.pipelineContext, n = !!t.large, i = !!t.progressiveRender, o = t.large = !!(a && a.large), s = t.progressiveRender = !!(a && a.progressiveRender); 8863 return (n !== o || i !== s) && "reset"; 8864 }; 8865} 8866var RA = bt(), $O = Go(), Pt = function() { 8867 function r() { 8868 this.group = new at(), this.uid = No("viewChart"), this.renderTask = Xs({ plan: XO, reset: ZO }), this.renderTask.context = { view: this }; 8869 } 8870 return r.prototype.init = function(e, t) { 8871 }, r.prototype.render = function(e, t, a, n) { 8872 }, r.prototype.highlight = function(e, t, a, n) { 8873 var i = e.getData(n && n.dataType); 8874 i && $_(i, n, "emphasis"); 8875 }, r.prototype.downplay = function(e, t, a, n) { 8876 var i = e.getData(n && n.dataType); 8877 i && $_(i, n, "normal"); 8878 }, r.prototype.remove = function(e, t) { 8879 this.group.removeAll(); 8880 }, r.prototype.dispose = function(e, t) { 8881 }, r.prototype.updateView = function(e, t, a, n) { 8882 this.render(e, t, a, n); 8883 }, r.prototype.updateLayout = function(e, t, a, n) { 8884 this.render(e, t, a, n); 8885 }, r.prototype.updateVisual = function(e, t, a, n) { 8886 this.render(e, t, a, n); 8887 }, r.prototype.eachRendered = function(e) { 8888 un(this.group, e); 8889 }, r.markUpdateMethod = function(e, t) { 8890 RA(e).updateMethod = t; 8891 }, r.protoInitialize = function() { 8892 var e = r.prototype; 8893 e.type = "chart"; 8894 }(), r; 8895}(); 8896function Y_(r, e, t) { 8897 r && ll(r) && (e === "emphasis" ? ma : _a)(r, t); 8898} 8899function $_(r, e, t) { 8900 var a = hi(r, e), n = e && e.highlightKey != null ? PE(e.highlightKey) : null; 8901 a != null ? D(Rt(a), function(i) { 8902 Y_(r.getItemGraphicEl(i), t, n); 8903 }) : r.eachItemGraphicEl(function(i) { 8904 Y_(i, t, n); 8905 }); 8906} 8907Xg(Pt); 8908Ih(Pt); 8909function XO(r) { 8910 return $O(r.model); 8911} 8912function ZO(r) { 8913 var e = r.model, t = r.ecModel, a = r.api, n = r.payload, i = e.pipelineContext.progressiveRen
8913der, o = r.view, s = n && RA(n).updateMethod, l = i ? "incrementalPrepareRender" : s && o[s] ? s : "render"; 8914 return l !== "render" && o[l](e, t, a, n), qO[l]; 8915} 8916var qO = { incrementalPrepareRender: { progress: function(r, e) { 8917 e.view.incrementalRender(r, e.model, e.ecModel, e.api, e.payload); 8918} }, render: { forceFirstProgress: true, progress: function(r, e) { 8919 e.view.render(e.model, e.ecModel, e.api, e.payload); 8920} } }, Vf = "\0__throttleOriginMethod", X_ = "\0__throttleRate", Z_ = "\0__throttleType"; 8921function Xh(r, e, t) { 8922 var a, n = 0, i = 0, o = null, s, l, u, f; 8923 e = e || 0; 8924 function h() { 8925 i = (/* @__PURE__ */ new Date()).getTime(), o = null, r.apply(l, u || []); 8926 } 8927 var v = function() { 8928 for (var c = [], p = 0; p < arguments.length; p++) c[p] = arguments[p]; 8929 a = (/* @__PURE__ */ new Date()).getTime(), l = this, u = c; 8930 var d = f || e, g = f || t; 8931 f = null, s = a - (g ? n : i) - d, clearTimeout(o), g ? o = setTimeout(h, d) : s >= 0 ? h() : o = setTimeout(h, -s), n = a; 8932 }; 8933 return v.clear = function() { 8934 o && (clearTimeout(o), o = null); 8935 }, v.debounceNextCall = function(c) { 8936 f = c; 8937 }, v; 8938} 8939function Fo(r, e, t, a) { 8940 var n = r[e]; 8941 if (n) { 8942 var i = n[Vf] || n, o = n[Z_], s = n[X_]; 8943 if (s !== t || o !== a) { 8944 if (t == null || !a) return r[e] = i; 8945 n = r[e] = Xh(i, t, a === "debounce"), n[Vf] = i, n[Z_] = a, n[X_] = t; 8946 } 8947 return n; 8948 } 8949} 8950function cl(r, e) { 8951 var t = r[e]; 8952 t && t[Vf] && (t.clear && t.clear(), r[e] = t[Vf]); 8953} 8954var q_ = bt(), K_ = { itemStyle: vi(FC, true), lineStyle: vi(GC, true) }, KO = { lineStyle: "stroke", itemStyle: "fill" }; 8955function EA(r, e) { 8956 var t = r.visualStyleMapper || K_[e]; 8957 return t || (console.warn("Unknown style type '" + e + "'."), K_.itemStyle); 8958} 8959function kA(r, e) { 8960 var t = r.visualDrawType || KO[e]; 8961 return t || (console.warn("Unknown style type '" + e + "'."), "fill"); 8962} 8963var jO = { createOnAllSeries: true, performRawSeries: true, reset: function(r, e) { 8964 var t = r.getData(), a = r.visualStyleAccessPath || "itemStyle", n = r.getModel(a), i = EA(r, a), o = i(n), s = n.getShallow("decal"); 8965 s && (t.setVisual("decal", s), s.dirty = true); 8966 var l = kA(r, a), u = o[l], f = j(u) ? u : null, h = o.fill === "auto" || o.stroke === "auto"; 8967 if (!o[l] || f || h) { 8968 var v = r.getColorFromPalette(r.name, null, e.getSeriesCount()); 8969 o[l] || (o[l] = v, t.setVisual("colorFromPalette", true)), o.fill = o.fill === "auto" || j(o.fill) ? v : o.fill, o.stroke = o.stroke === "auto" || j(o.stroke) ? v : o.stroke; 8970 } 8971 if (t.setVisual("style", o), t.setVisual("drawType", l), !e.isSeriesFiltered(r) && f) return t.setVisual("colorFromPalette", false), { dataEach: function(c, p) { 8972 var d = r.getDataParams(p), g = z({}, o); 8973 g[l] = f(d), c.setItemVisual(p, "style", g); 8974 } }; 8975} }, as = new At(), JO = { createOnAllSeries: true, performRawSeries: true, reset: function(r, e) { 8976 if (!(r.ignoreStyleOnData || e.isSeriesFiltered(r))) { 8977 var t = r.getData(), a = r.visualStyleAccessPath || "itemStyle", n = EA(r, a), i = t.getVisual("drawType"); 8978 return { dataEach: t.hasItemOption ? function(o, s) { 8979 var l = o.getRawDataItem(s); 8980 if (l && l[a]) { 8981 as.option = l[a]; 8982 var u = n(as), f = o.ensureUniqueItemVisual(s, "style"); 8983 z(f, u), as.option.decal && (o.setItemVisual(s, "decal", as.option.decal), as.option.decal.dirty = true), i in u && o.setItemVisual(s, "colorFromPalette", false); 8984 } 8985 } : null }; 8986 } 8987} }, QO = { performRawSeries: true, overallReset: function(r) { 8988 var e = Z(); 8989 r.eachSeries(function(t) { 8990 var a = t.getColorBy(); 8991 if (!t.isColorBySeries()) { 8992 var n = t.type + "-" + a, i = e.get(n); 8993 i || (i = {}, e.set(n, i)), q_(t).scope = i; 8994 } 8995 }), r.eachSeries(function(t) { 8996 if (!(t.isColorBySeries() || r.isSeriesFiltered(t))) { 8997 var a = t.getRawData(), n = {}, i = t.getData(), o = q_(t).scope, s = t.visualStyleAccessPath || "itemStyle", l = kA(t, s); 8998 i.each(function(u) { 8999 var f = i.getRawIndex(u); 9000 n[f] = u; 9001 }), a.each(function(u) { 9002 var f = n[u], h = i.getItemVisual(f, "colorFromPalette"); 9003 if (h) { 9004 var v = i.ensureUniqueItemVisual(f, "style"), c = a.getName(u) || u + "", p = a.count(); 9005 v[l] = t.getColorFromPalette(c, o, p); 9006 } 9007 }); 9008 } 9009 }); 9010} }, Su = Math.PI; 9011function tN(r, e) { 9012 e = e || {}, Q(e, { text: "loading", textColor: "#000", fontSize: 12, fontWeight: "normal", fontStyle: "normal", fontFamily: "sans-serif", maskColor: "rgba(255, 255, 255, 0.8)", showSpinner: true, color: "#5470c6", spinnerRadius: 10, lineWidth: 5, zlevel: 0 }); 9013 var t = new at(), a = new xt({ style: { fill: e.maskColor }, zlevel: e.zlevel, z: 1e4 }); 9014 t.add(a); 9015 var n = new St({ style: { text: e.text, fill: e.textColor, fontSize: e.fontSize, fontWeight: e.fontWeight, fontStyle: e.fontStyle, fontFamily: e.fontFamily }, zlevel: e.zlevel, z: 10001 }), i = new xt({ style: { fill: "none" }, textContent: n, textConfig: { position: "right", distance: 10 }, zlevel: e.zlevel, z: 10001 }); 9016 t.add(i); 9017 var o; 9018 return e.showSpinner && (o = new Bl({ shape: { startAngle: -Su / 2, endAngle: -Su / 2 + 0.1, r: e.spinnerRadius }, style: { stroke: e.color, lineCap: "round", lineWidth: e.lineWidth }, zlevel: e.zlevel, z: 10001 }), o.animateShape(true).when(1e3, { endAngle: Su * 3 / 2 }).start("circularInOut"), o.animateShape(true).when(1e3, { startAngle: Su * 3 / 2 }).delay(300).start("circularInOut"), t.add(o)), t.resize = function() {
9019 var s = n.getBoundingRect().width, l = e.showSpinner ? e.spinnerRadius : 0, u = (r.getWidth() - l * 2 - (e.showSpinner && s ? 10 : 0) - s) / 2 - (e.showSpinner && s ? 0 : 5 + s / 2) + (e.showSpinner ? 0 : s / 2) + (s ? 0 : l), f = r.getHeight() / 2; 9020 e.showSpinner && o.setShape({ cx: u, cy: f }), i.setShape({ x: u - l, y: f - l, width: l * 2, height: l * 2 }), a.setShape({ x: 0, y: 0, width: r.getWidth(), height: r.getHeight() }); 9021 }, t.resize(), t; 9022} 9023var OA = function() { 9024 function r(e, t, a, n) { 9025 this._stageTaskMap = Z(), this.ecInstance = e, this.api = t, a = this._dataProcessorHandlers = a.slice(), n = this._visualHandlers = n.slice(), this._allHandlers = a.concat(n); 9026 } 9027 return r.prototype.restoreData = function(e, t) { 9028 e.restoreData(t), this._stageTaskMap.each(function(a) { 9029 var n = a.overallTask; 9030 n && n.dirty(); 9031 }); 9032 }, r.prototype.getPerformArgs = function(e, t) { 9033 if (e.__pipeline) { 9034 var a = this._pipelineMap.get(e.__pipeline.id), n = a.context, i = !t && a.progressiveEnabled && (!n || n.progressiveRender) && e.__idxInPipeline > a.blockIndex, o = i ? a.step : null, s = n && n.modDataCount, l = s != null ? Math.ceil(s / o) : null; 9035 return { step: o, modBy: l, modDataCount: s }; 9036 } 9037 }, r.prototype.getPipeline = function(e) { 9038 return this._pipelineMap.get(e); 9039 }, r.prototype.updateStreamModes = function(e, t) { 9040 var a = this._pipelineMap.get(e.uid), n = e.getData(), i = n.count(), o = a.progressiveEnabled && t.incrementalPrepareRender && i >= a.threshold, s = e.get("large") && i >= e.get("largeThreshold"), l = e.get("progressiveChunkMode") === "mod" ? i : null; 9041 e.pipelineContext = a.context = { progressiveRender: o, modDataCount: l, large: s }; 9042 }, r.prototype.restorePipelines = function(e) { 9043 var t = this, a = t._pipelineMap = Z(); 9044 e.eachSeries(function(n) { 9045 var i = n.getProgressive(), o = n.uid; 9046 a.set(o, { id: o, head: null, tail: null, threshold: n.getProgressiveThreshold(), progressiveEnabled: i && !(n.preventIncremental && n.preventIncremental()), blockIndex: -1, step: Math.round(i || 700), count: 0 }), t._pipe(n, n.dataTask); 9047 }); 9048 }, r.prototype.prepareStageTasks = function() { 9049 var e = this._stageTaskMap, t = this.api.getModel(), a = this.api; 9050 D(this._allHandlers, function(n) { 9051 var i = e.get(n.uid) || e.set(n.uid, {}), o = ""; 9052 we(!(n.reset && n.overallReset), o), n.reset && this._createSeriesStageTask(n, i, t, a), n.overallReset && this._createOverallStageTask(n, i, t, a); 9053 }, this); 9054 }, r.prototype.prepareView = function(e, t, a, n) { 9055 var i = e.renderTask, o = i.context; 9056 o.model = t, o.ecModel = a, o.api = n, i.__block = !e.incrementalPrepareRender, this._pipe(t, i); 9057 }, r.prototype.performDataProcessorTasks = function(e, t) { 9058 this._performStageTasks(this._dataProcessorHandlers, e, t, { block: true }); 9059 }, r.prototype.performVisualTasks = function(e, t, a) { 9060 this._performStageTasks(this._visualHandlers, e, t, a); 9061 }, r.prototype._performStageTasks = function(e, t, a, n) { 9062 n = n || {}; 9063 var i = false, o = this; 9064 D(e, function(l, u) { 9065 if (!(n.visualType && n.visualType !== l.visualType)) { 9066 var f = o._stageTaskMap.get(l.uid), h = f.seriesTaskMap, v = f.overallTask; 9067 if (v) { 9068 var c, p = v.agentStubMap; 9069 p.each(function(g) { 9070 s(n, g) && (g.dirty(), c = true); 9071 }), c && v.dirty(), o.updatePayload(v, a); 9072 var d = o.getPerformArgs(v, n.block); 9073 p.each(function(g) { 9074 g.perform(d); 9075 }), v.perform(d) && (i = true); 9076 } else h && h.each(function(g, y) { 9077 s(n, g) && g.dirty(); 9078 var m = o.getPerformArgs(g, n.block); 9079 m.skip = !l.performRawSeries && t.isSeriesFiltered(g.context.model), o.updatePayload(g, a), g.perform(m) && (i = true); 9080 }); 9081 } 9082 }); 9083 function s(l, u) { 9084 return l.setDirty && (!l.dirtyMap || l.dirtyMap.get(u.__pipeline.id)); 9085 } 9086 this.unfinished = i || this.unfinished; 9087 }, r.prototype.performSeriesTasks = function(e) { 9088 var t; 9089 e.eachSeries(function(a) { 9090 t = a.dataTask.perform() || t; 9091 }), this.unfinished = t || this.unfinished; 9092 }, r.prototype.plan = function() { 9093 this._pipelineMap.each(function(e) { 9094 var t = e.tail; 9095 do { 9096 if (t.__block) { 9097 e.blockIndex = t.__idxInPipeline; 9098 break; 9099 } 9100 t = t.getUpstream(); 9101 } while (t); 9102 }); 9103 }, r.prototype.updatePayload = function(e, t) { 9104 t !== "remain" && (e.context.payload = t); 9105 }, r.prototype._createSeriesStageTask = function(e, t, a, n) { 9106 var i = this, o = t.seriesTaskMap, s = t.seriesTaskMap = Z(), l = e.seriesType, u = e.getTargetSeries; 9107 e.createOnAllSeries ? a.eachRawSeries(f) : l ? a.eachRawSeriesByType(l, f) : u && u(a, n).each(f); 9108 function f(h) { 9109 var v = h.uid, c = s.set(v, o && o.get(v) || Xs({ plan: iN, reset: oN, count: lN })); 9110 c.context = { model: h, ecModel: a, api: n, useClearVisual: e.isVisual && !e.isLayout, plan: e.plan, reset: e.reset, scheduler: i }, i._pipe(h, c); 9111 } 9112 }, r.prototype._createOverallStageTask = function(e, t, a, n) { 9113 var i = this, o = t.overallTask = t.overallTask || Xs({ reset: eN });
9114 o.context = { ecModel: a, api: n, overallReset: e.overallReset, scheduler: i }; 9115 var s = o.agentStubMap, l = o.agentStubMap = Z(), u = e.seriesType, f = e.getTargetSeries, h = true, v = false, c = ""; 9116 we(!e.createOnAllSeries, c), u ? a.eachRawSeriesByType(u, p) : f ? f(a, n).each(p) : (h = false, D(a.getSeries(), p)); 9117 function p(d) { 9118 var g = d.uid, y = l.set(g, s && s.get(g) || (v = true, Xs({ reset: rN, onDirty: nN }))); 9119 y.context = { model: d, overallProgress: h }, y.agent = o, y.__block = h, i._pipe(d, y); 9120 } 9121 v && o.dirty(); 9122 }, r.prototype._pipe = function(e, t) { 9123 var a = e.uid, n = this._pipelineMap.get(a); 9124 !n.head && (n.head = t), n.tail && n.tail.pipe(t), n.tail = t, t.__idxInPipeline = n.count++, t.__pipeline = n; 9125 }, r.wrapStageHandler = function(e, t) { 9126 return j(e) && (e = { overallReset: e, seriesType: uN(e) }), e.uid = No("stageHandler"), t && (e.visualType = t), e; 9127 }, r; 9128}(); 9129function eN(r) { 9130 r.overallReset(r.ecModel, r.api, r.payload); 9131} 9132function rN(r) { 9133 return r.overallProgress && aN; 9134} 9135function aN() { 9136 this.agent.dirty(), this.getDownstream().dirty(); 9137} 9138function nN() { 9139 this.agent && this.agent.dirty(); 9140} 9141function iN(r) { 9142 return r.plan ? r.plan(r.model, r.ecModel, r.api, r.payload) : null; 9143} 9144function oN(r) { 9145 r.useClearVisual && r.data.clearAllVisual(); 9146 var e = r.resetDefines = Rt(r.reset(r.model, r.ecModel, r.api, r.payload)); 9147 return e.length > 1 ? G(e, function(t, a) { 9148 return NA(a); 9149 }) : sN; 9150} 9151var sN = NA(0); 9152function NA(r) { 9153 return function(e, t) { 9154 var a = t.data, n = t.resetDefines[r]; 9155 if (n && n.dataEach) for (var i = e.start; i < e.end; i++) n.dataEach(a, i); 9156 else n && n.progress && n.progress(e, a); 9157 }; 9158} 9159function lN(r) { 9160 return r.data.count(); 9161} 9162function uN(r) { 9163 Gf = null; 9164 try { 9165 r(pl, BA); 9166 } catch { 9167 } 9168 return Gf; 9169} 9170var pl = {}, BA = {}, Gf; 9171zA(pl, xy); 9172zA(BA, lA); 9173pl.eachSeriesByType = pl.eachRawSeriesByType = function(r) { 9174 Gf = r; 9175}; 9176pl.eachComponent = function(r) { 9177 r.mainType === "series" && r.subType && (Gf = r.subType); 9178}; 9179function zA(r, e) { 9180 for (var t in e.prototype) r[t] = $t; 9181} 9182var j_ = ["#37A2DA", "#32C5E9", "#67E0E3", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#E062AE", "#E690D1", "#e7bcf3", "#9d96f5", "#8378EA", "#96BFFF"]; 9183const fN = { color: j_, colorLayer: [["#37A2DA", "#ffd85c", "#fd7b5f"], ["#37A2DA", "#67E0E3", "#FFDB5C", "#ff9f7f", "#E062AE", "#9d96f5"], ["#37A2DA", "#32C5E9", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#e7bcf3", "#8378EA", "#96BFFF"], j_] }; 9184var me = "#B9B8CE", J_ = "#100C2A", xu = function() { 9185 return { axisLine: { lineStyle: { color: me } }, splitLine: { lineStyle: { color: "#484753" } }, splitArea: { areaStyle: { color: ["rgba(255,255,255,0.02)", "rgba(255,255,255,0.05)"] } }, minorSplitLine: { lineStyle: { color: "#20203B" } } }; 9186}, Q_ = ["#4992ff", "#7cffb2", "#fddd60", "#ff6e76", "#58d9f9", "#05c091", "#ff8a45", "#8d48e3", "#dd79ff"], VA = { darkMode: true, color: Q_, backgroundColor: J_, axisPointer: { lineStyle: { color: "#817f91" }, crossStyle: { color: "#817f91" }, label: { color: "#fff" } }, legend: { textStyle: { color: me }, pageTextStyle: { color: me } }, textStyle: { color: me }, title: { textStyle: { color: "#EEF1FA" }, subtextStyle: { color: "#B9B8CE" } }, toolbox: { iconStyle: { borderColor: me } }, dataZoom: { borderColor: "#71708A", textStyle: { color: me }, brushStyle: { color: "rgba(135,163,206,0.3)" }, handleStyle: { color: "#353450", borderColor: "#C5CBE3" }, moveHandleStyle: { color: "#B0B6C3", opacity: 0.3 }, fillerColor: "rgba(135,163,206,0.2)", emphasis: { handleStyle: { borderColor: "#91B7F2", color: "#4D587D" }, moveHandleStyle: { color: "#636D9A", opacity: 0.7 } }, dataBackground: { lineStyle: { color: "#71708A", width: 1 }, areaStyle: { color: "#71708A" } }, selectedDataBackground: { lineStyle: { color: "#87A3CE" }, areaStyle: { color: "#87A3CE" } } }, visualMap: { textStyle: { color: me } }, timeline: { lineStyle: { color: me }, label: { color: me }, controlStyle: { color: me, borderColor: me } }, calendar: { itemStyle: { color: J_ }, dayLabel: { color: me }, monthLabel: { color: me }, yearLabel: { color: me } }, timeAxis: xu(), logAxis: xu(), valueAxis: xu(), categoryAxis: xu(), line: { symbol: "circle" }, graph: { color: Q_ }, gauge: { title: { color: me }
9186, axisLine: { lineStyle: { color: [[1, "rgba(207,212,219,0.2)"]] } }, axisLabel: { color: me }, detail: { color: "#EEF1FA" } }, candlestick: { itemStyle: { color: "#f64e56", color0: "#54ea92", borderColor: "#f64e56", borderColor0: "#54ea92" } } }; 9187VA.categoryAxis.splitLine.show = false; 9188var hN = function() { 9189 function r() { 9190 } 9191 return r.prototype.normalizeQuery = function(e) { 9192 var t = {}, a = {}, n = {}; 9193 if (Y(e)) { 9194 var i = Yr(e); 9195 t.mainType = i.main || null, t.subType = i.sub || null; 9196 } else { 9197 var o = ["Index", "Name", "Id"], s = { name: 1, dataIndex: 1, dataType: 1 }; 9198 D(e, function(l, u) { 9199 for (var f = false, h = 0; h < o.length; h++) { 9200 var v = o[h], c = u.lastIndexOf(v); 9201 if (c > 0 && c === u.length - v.length) { 9202 var p = u.slice(0, c); 9203 p !== "data" && (t.mainType = p, t[v.toLowerCase()] = l, f = true); 9204 } 9205 } 9206 s.hasOwnProperty(u) && (a[u] = l, f = true), f || (n[u] = l); 9207 }); 9208 } 9209 return { cptQuery: t, dataQuery: a, otherQuery: n }; 9210 }, r.prototype.filter = function(e, t) { 9211 var a = this.eventInfo; 9212 if (!a) return true; 9213 var n = a.targetEl, i = a.packedEvent, o = a.model, s = a.view; 9214 if (!o || !s) return true; 9215 var l = t.cptQuery, u = t.dataQuery; 9216 return f(l, o, "mainType") && f(l, o, "subType") && f(l, o, "index", "componentIndex") && f(l, o, "name") && f(l, o, "id") && f(u, i, "name") && f(u, i, "dataIndex") && f(u, i, "dataType") && (!s.filterForExposedEvent || s.filterForExposedEvent(e, t.otherQuery, n, i)); 9217 function f(h, v, c, p) { 9218 return h[c] == null || v[p || c] === h[c]; 9219 } 9220 }, r.prototype.afterTrigger = function() { 9221 this.eventInfo = null; 9222 }, r; 9223}(), Dd = ["symbol", "symbolSize", "symbolRotate", "symbolOffset"], t1 = Dd.concat(["symbolKeepAspect"]), vN = { createOnAllSeries: true, performRawSeries: true, reset: function(r, e) { 9224 var t = r.getData(); 9225 if (r.legendIcon && t.setVisual("legendIcon", r.legendIcon), !r.hasSymbolVisual) return; 9226 for (var a = {}, n = {}, i = false, o = 0; o < Dd.length; o++) { 9227 var s = Dd[o], l = r.get(s); 9228 j(l) ? (i = true, n[s] = l) : a[s] = l; 9229 } 9230 if (a.symbol = a.symbol || r.defaultSymbol, t.setVisual(z({ legendIcon: r.legendIcon || a.symbol, symbolKeepAspect: r.get("symbolKeepAspect") }, a)), e.isSeriesFiltered(r)) return; 9231 var u = _t(n); 9232 function f(h, v) { 9233 for (var c = r.getRawValue(v), p = r.getDataParams(v), d = 0; d < u.length; d++) { 9234 var g = u[d]; 9235 h.setItemVisual(v, g, n[g](c, p)); 9236 } 9237 } 9238 return { dataEach: i ? f : null }; 9239} }, cN = { createOnAllSeries: true, performRawSeries: true, reset: function(r, e) { 9240 if (!r.hasSymbolVisual || e.isSeriesFiltered(r)) return; 9241 var t = r.getData(); 9242 function a(n, i) { 9243 for (var o = n.getItemModel(i), s = 0; s < t1.length; s++) { 9244 var l = t1[s], u = o.getShallow(l, true); 9245 u != null && n.setItemVisual(i, l, u); 9246 } 9247 } 9248 return { dataEach: t.hasItemOption ? a : null }; 9249} }; 9250function Ay(r, e, t) { 9251 switch (t) { 9252 case "color": 9253 var a = r.getItemVisual(e, "style"); 9254 return a[r.getVisual("drawType")]; 9255 case "opacity": 9256 return r.getItemVisual(e, "style").opacity; 9257 case "symbol": 9258 case "symbolSize": 9259 case "liftZ": 9260 return r.getItemVisual(e, t); 9261 } 9262} 9263function Fl(r, e) { 9264 switch (e) { 9265 case "color": 9266 var t = r.getVisual("style"); 9267 return t[r.getVisual("drawType")]; 9268 case "opacity": 9269 return r.getVisual("style").opacity; 9270 case "symbol": 9271 case "symbolSize": 9272 case "liftZ": 9273 return r.getVisual(e); 9274 } 9275} 9276function GA(r, e, t, a) { 9277 switch (t) { 9278 case "color": 9279 var n = r.ensureUniqueItemVisual(e, "style"); 9280 n[r.getVisual("drawType")] = a, r.setItemVisual(e, "colorFromPalette", false); 9281 break; 9282 case "opacity": 9283 r.ensureUniqueItemVisual(e, "style").opacity = a; 9284 break; 9285 case "symbol": 9286 case "symbolSize": 9287 case "liftZ": 9288 r.setItemVisual(e, t, a); 9289 break; 9290 } 9291} 9292function FA(r, e) { 9293 function t(a, n) { 9294 var i = []; 9295 return a.eachComponent({ mainType: "series", subType: r, query: n }, function(o) { 9296 i.push(o.seriesIndex); 9297 }), i; 9298 } 9299 D([[r + "ToggleSelect", "toggleSelect"], [r + "Select", "select"], [r + "UnSelect", "unselect"]], function(a) { 9300 e(a[0], function(n, i, o) { 9301 n = z({}, n), o.dispatchAction(z(n, { type: a[1], seriesIndex: t(i, n) })); 9302 }); 9303 }); 9304} 9305function Vi(r, e, t, a, n) { 9306 var i = r + e; 9307 t.isSilent(i) || a.eachComponent({ mainType: "series", subType: "pie" }, function(o) { 9308 for (var s = o.seriesIndex, l = o.option.selectedMap, u = n.selected, f = 0; f < u.length; f++) if (u[f].seriesIndex === s) { 9309 var h = o.getData(), v = hi(h, n.fromActionPayload); 9310 t.trigger(i, { type: i, seriesId: o.id, name: V(v) ? h.getName(v[0]) : h.getName(v), selected: Y(l) ? l : z({}, l) }); 9311 } 9312 }); 9313} 9314function pN(r, e, t) { 9315 r.on("selectchanged", function(a) { 9316 var n = t.getModel(); 9317 a.isFromClick ? (Vi("map", "selectchanged", e, n, a), Vi("pie", "selectchanged", e, n, a)) : a.fromAction === "select" ? (Vi("map", "selected", e, n, a), Vi("pie", "selected", e, n, a)) : a.fromAction === "unselect" && (Vi("map", "unselected", e, n, a), Vi("pie", "unselected", e, n, a)); 9318 }); 9319} 9320function jn(r, e, t) { 9321 for (var a; r && !(e(r) && (a = r, t)); ) r = r.__hostTarget || r.parent; 9322 return a; 9323} 9324var dN = Math.round(Math.random() * 9), gN = typeof Object.defineProperty == "function", yN = function() { 9325 function r() { 9326 this._id = "__ec_inner_" + dN++; 9327 } 9328 return r.prototype.get = function(e) { 9329 return this._guard(e)[this._id]; 9330 }, r.prototype.set = function(e, t) { 9331 var a = this._guard(e); 9332 return gN ? Object.defineProperty(a, this._id, { value: t, enumerable: false, configurable: true }) : a[this._id] = t, this; 9333 }, r.prototype.delete = function(e) { 9334 return this.has(e) ? (delete this._guard(e)[this._id], true) : false;
9335 }, r.prototype.has = function(e) { 9336 return !!this._guard(e)[this._id]; 9337 }, r.prototype._guard = function(e) { 9338 if (e !== Object(e)) throw TypeError("Value of WeakMap is not a non-null object."); 9339 return e; 9340 }, r; 9341}(), mN = mt.extend({ type: "triangle", shape: { cx: 0, cy: 0, width: 0, height: 0 }, buildPath: function(r, e) { 9342 var t = e.cx, a = e.cy, n = e.width / 2, i = e.height / 2; 9343 r.moveTo(t, a - i), r.lineTo(t + n, a + i), r.lineTo(t - n, a + i), r.closePath(); 9344} }), _N = mt.extend({ type: "diamond", shape: { cx: 0, cy: 0, width: 0, height: 0 }, buildPath: function(r, e) { 9345 var t = e.cx, a = e.cy, n = e.width / 2, i = e.height / 2; 9346 r.moveTo(t, a - i), r.lineTo(t + n, a), r.lineTo(t, a + i), r.lineTo(t - n, a), r.closePath(); 9347} }), SN = mt.extend({ type: "pin", shape: { x: 0, y: 0, width: 0, height: 0 }, buildPath: function(r, e) { 9348 var t = e.x, a = e.y, n = e.width / 5 * 3, i = Math.max(n, e.height), o = n / 2, s = o * o / (i - o), l = a - i + o + s, u = Math.asin(s / o), f = Math.cos(u) * o, h = Math.sin(u), v = Math.cos(u), c = o * 0.6, p = o * 0.7; 9349 r.moveTo(t - f, l + s), r.arc(t, l, o, Math.PI - u, Math.PI * 2 + u), r.bezierCurveTo(t + f - h * c, l + s + v * c, t, a - p, t, a), r.bezierCurveTo(t, a - p, t - f + h * c, l + s + v * c, t - f, l + s), r.closePath(); 9350} }), xN = mt.extend({ type: "arrow", shape: { x: 0, y: 0, width: 0, height: 0 }, buildPath: function(r, e) { 9351 var t = e.height, a = e.width, n = e.x, i = e.y, o = a / 3 * 2; 9352 r.moveTo(n, i), r.lineTo(n + o, i + t), r.lineTo(n, i + t / 4 * 3), r.lineTo(n - o, i + t), r.lineTo(n, i), r.closePath(); 9353} }), bN = { line: ee, rect: xt, roundRect: xt, square: xt, circle: ea, diamond: _N, pin: SN, arrow: xN, triangle: mN }, wN = { line: function(r, e, t, a, n) { 9354 n.x1 = r, n.y1 = e + a / 2, n.x2 = r + t, n.y2 = e + a / 2; 9355}, rect: function(r, e, t, a, n) { 9356 n.x = r, n.y = e, n.width = t, n.height = a; 9357}, roundRect: function(r, e, t, a, n) { 9358 n.x = r, n.y = e, n.width = t, n.height = a, n.r = Math.min(t, a) / 4; 9359}, square: function(r, e, t, a, n) { 9360 var i = Math.min(t, a); 9361 n.x = r, n.y = e, n.width = i, n.height = i; 9362}, circle: function(r, e, t, a, n) { 9363 n.cx = r + t / 2, n.cy = e + a / 2, n.r = Math.min(t, a) / 2; 9364}, diamond: function(r, e, t, a, n) { 9365 n.cx = r + t / 2, n.cy = e + a / 2, n.width = t, n.height = a; 9366}, pin: function(r, e, t, a, n) { 9367 n.x = r + t / 2, n.y = e + a / 2, n.width = t, n.height = a; 9368}, arrow: function(r, e, t, a, n) { 9369 n.x = r + t / 2, n.y = e + a / 2, n.width = t, n.height = a; 9370}, triangle: function(r, e, t, a, n) { 9371 n.cx = r + t / 2, n.cy = e + a / 2, n.width = t, n.height = a; 9372} }, Ff = {}; 9373D(bN, function(r, e) { 9374 Ff[e] = new r(); 9375}); 9376var TN = mt.extend({ type: "symbol", shape: { symbolType: "", x: 0, y: 0, width: 0, height: 0 }, calculateTextPosition: function(r, e, t) { 9377 var a = Lf(r, e, t), n = this.shape; 9378 return n && n.symbolType === "pin" && e.position === "inside" && (a.y = t.y + t.height * 0.4), a; 9379}, buildPath: function(r, e, t) { 9380 var a = e.symbolType; 9381 if (a !== "none") { 9382 var n = Ff[a]; 9383 n || (a = "rect", n = Ff[a]), wN[a](e.x, e.y, e.width, e.height, n.shape), n.buildPath(r, n.shape, t); 9384 } 9385} }); 9386function CN(r, e) { 9387 if (this.type !== "image") { 9388 var t = this.style; 9389 this.__isEmptyBrush ? (t.stroke = r, t.fill = e || "#fff", t.lineWidth = 2) : this.shape.symbolType === "line" ? t.stroke = r : t.fill = r, this.markRedraw(); 9390 } 9391} 9392function qt(r, e, t, a, n, i, o) { 9393 var s = r.indexOf("empty") === 0; 9394 s && (r = r.substr(5, 1).toLowerCase() + r.substr(6)); 9395 var l; 9396 return r.indexOf("image://") === 0 ? l = ny(r.slice(8), new ht(e, t, a, n), o ? "center" : "cover") : r.indexOf("path://") === 0 ? l = zl(r.slice(7), {}, new ht(e, t, a, n), o ? "center" : "cover") : l = new TN({ shape: { symbolType: r, x: e, y: t, width: a, height: n } }), l.__isEmptyBrush = s, l.setColor = CN, i && l.setColor(i), l; 9397} 9398function Ho(r) { 9399 return V(r) || (r = [+r, +r]), [r[0] || 0, r[1] || 0]; 9400} 9401function wi(r, e) { 9402 if (r != null) return V(r) || (r = [r, r]), [W(r[0], e[0]) || 0, W(st(r[1], r[0]), e[1]) || 0]; 9403} 9404function Jn(r) { 9405 return isFinite(r); 9406} 9407function AN(r, e, t) { 9408 var a = e.x == null ? 0 : e.x, n = e.x2 == null ? 1 : e.x2, i = e.y == null ? 0 : e.y, o = e.y2 == null ? 0 : e.y2; 9409 e.global || (a = a * t.width + t.x, n = n * t.width + t.x, i = i * t.height + t.y, o = o * t.height + t.y), a = Jn(a) ? a : 0, n = Jn(n) ? n : 1, i = Jn(i) ? i : 0, o = Jn(o) ? o : 0; 9410 var s = r.createLinearGradient(a, i, n, o); 9411 return s; 9412} 9413function DN(r, e, t) { 9414 var a = t.width, n = t.height, i = Math.min(a, n), o = e.x == null ? 0.5 : e.x, s = e.y == null ? 0.5 : e.y, l = e.r == null ? 0.5 : e.r; 9415 e.global || (o = o * a + t.x, s = s * n + t.y, l = l * i), o = Jn(o) ? o : 0.5, s = Jn(s) ? s : 0.5, l = l >= 0 && Jn(l) ? l : 0.5; 9416 var u = r.createRadialGradient(o, s, 0, o, s, l); 9417 return u; 9418} 9419function Md(r, e, t) { 9420 for (var a = e.type === "radial" ? DN(r, e, t) : AN(r, e, t), n = e.colorStops, i = 0; i < n.length; i++) a.addColorStop(n[i].offset, n[i].color); 9421 return a; 9422} 9423function MN(r, e) { 9424 if (r === e || !r && !e) return false;
9425 if (!r || !e || r.length !== e.length) return true; 9426 for (var t = 0; t < r.length; t++) if (r[t] !== e[t]) return true; 9427 return false; 9428} 9429function bu(r) { 9430 return parseInt(r, 10); 9431} 9432function no(r, e, t) { 9433 var a = ["width", "height"][e], n = ["clientWidth", "clientHeight"][e], i = ["paddingLeft", "paddingTop"][e], o = ["paddingRight", "paddingBottom"][e]; 9434 if (t[a] != null && t[a] !== "auto") return parseFloat(t[a]); 9435 var s = document.defaultView.getComputedStyle(r); 9436 return (r[n] || bu(s[a]) || bu(r.style[a])) - (bu(s[i]) || 0) - (bu(s[o]) || 0) | 0; 9437} 9438function IN(r, e) { 9439 return !r || r === "solid" || !(e > 0) ? null : r === "dashed" ? [4 * e, 2 * e] : r === "dotted" ? [e] : wt(r) ? [r] : V(r) ? r : null; 9440} 9441function Dy(r) { 9442 var e = r.style, t = e.lineDash && e.lineWidth > 0 && IN(e.lineDash, e.lineWidth), a = e.lineDashOffset; 9443 if (t) { 9444 var n = e.strokeNoScale && r.getLineScale ? r.getLineScale() : 1; 9445 n && n !== 1 && (t = G(t, function(i) { 9446 return i / n; 9447 }), a /= n); 9448 } 9449 return [t, a]; 9450} 9451var LN = new ta(true); 9452function Hf(r) { 9453 var e = r.stroke; 9454 return !(e == null || e === "none" || !(r.lineWidth > 0)); 9455} 9456function e1(r) { 9457 return typeof r == "string" && r !== "none"; 9458} 9459function Wf(r) { 9460 var e = r.fill; 9461 return e != null && e !== "none"; 9462} 9463function r1(r, e) { 9464 if (e.fillOpacity != null && e.fillOpacity !== 1) { 9465 var t = r.globalAlpha; 9466 r.globalAlpha = e.fillOpacity * e.opacity, r.fill(), r.globalAlpha = t; 9467 } else r.fill(); 9468} 9469function a1(r, e) { 9470 if (e.strokeOpacity != null && e.strokeOpacity !== 1) { 9471 var t = r.globalAlpha; 9472 r.globalAlpha = e.strokeOpacity * e.opacity, r.stroke(), r.globalAlpha = t; 9473 } else r.stroke(); 9474} 9475function Id(r, e, t) { 9476 var a = Zg(e.image, e.__image, t); 9477 if (Lh(a)) { 9478 var n = r.createPattern(a, e.repeat || "repeat"); 9479 if (typeof DOMMatrix == "function" && n && n.setTransform) { 9480 var i = new DOMMatrix(); 9481 i.translateSelf(e.x || 0, e.y || 0), i.rotateSelf(0, 0, (e.rotation || 0) * Os), i.scaleSelf(e.scaleX || 1, e.scaleY || 1), n.setTransform(i); 9482 } 9483 return n; 9484 } 9485} 9486function PN(r, e, t, a) { 9487 var n, i = Hf(t), o = Wf(t), s = t.strokePercent, l = s < 1, u = !e.path; 9488 (!e.silent || l) && u && e.createPathProxy(); 9489 var f = e.path || LN, h = e.__dirty; 9490 if (!a) { 9491 var v = t.fill, c = t.stroke, p = o && !!v.colorStops, d = i && !!c.colorStops, g = o && !!v.image, y = i && !!c.image, m = void 0, _ = void 0, S = void 0, b = void 0, x = void 0; 9492 (p || d) && (x = e.getBoundingRect()), p && (m = h ? Md(r, v, x) : e.__canvasFillGradient, e.__canvasFillGradient = m), d && (_ = h ? Md(r, c, x) : e.__canvasStrokeGradient, e.__canvasStrokeGradient = _), g && (S = h || !e.__canvasFillPattern ? Id(r, v, e) : e.__canvasFillPattern, e.__canvasFillPattern = S), y && (b = h || !e.__canvasStrokePattern ? Id(r, c, e) : e.__canvasStrokePattern, e.__canvasStrokePattern = S), p ? r.fillStyle = m : g && (S ? r.fillStyle = S : o = false), d ? r.strokeStyle = _ : y && (b ? r.strokeStyle = b : i = false); 9493 } 9494 var w = e.getGlobalScale(); 9495 f.setScale(w[0], w[1], e.segmentIgnoreThreshold); 9496 var T, C; 9497 r.setLineDash && t.lineDash && (n = Dy(e), T = n[0], C = n[1]); 9498 var A = true; 9499 (u || h & ji) && (f.setDPR(r.dpr), l ? f.setContext(null) : (f.setContext(r), A = false), f.reset(), e.buildPath(f, e.shape, a), f.toStatic(), e.pathUpdated()), A && f.rebuildPath(r, l ? s : 1), T && (r.setLineDash(T), r.lineDashOffset = C), a || (t.strokeFirst ? (i && a1(r, t), o && r1(r, t)) : (o && r1(r, t), i && a1(r, t))), T && r.setLineDash([]); 9500} 9501function RN(r, e, t) { 9502 var a = e.__image = Zg(t.image, e.__image, e, e.onload); 9503 if (!(!a || !Lh(a))) { 9504 var n = t.x || 0, i = t.y || 0, o = e.getWidth(), s = e.getHeight(), l = a.width / a.height; 9505 if (o == null && s != null ? o = s * l : s == null && o != null ? s = o / l : o == null && s == null && (o = a.width, s = a.height), t.sWidth && t.sHeight) { 9506 var u = t.sx || 0, f = t.sy || 0; 9507 r.drawImage(a, u, f, t.sWidth, t.sHeight, n, i, o, s); 9508 } else if (t.sx && t.sy) {
9509 var u = t.sx, f = t.sy, h = o - u, v = s - f; 9510 r.drawImage(a, u, f, h, v, n, i, o, s); 9511 } else r.drawImage(a, n, i, o, s); 9512 } 9513} 9514function EN(r, e, t) { 9515 var a, n = t.text; 9516 if (n != null && (n += ""), n) { 9517 r.font = t.font || tn, r.textAlign = t.textAlign, r.textBaseline = t.textBaseline; 9518 var i = void 0, o = void 0; 9519 r.setLineDash && t.lineDash && (a = Dy(e), i = a[0], o = a[1]), i && (r.setLineDash(i), r.lineDashOffset = o), t.strokeFirst ? (Hf(t) && r.strokeText(n, t.x, t.y), Wf(t) && r.fillText(n, t.x, t.y)) : (Wf(t) && r.fillText(n, t.x, t.y), Hf(t) && r.strokeText(n, t.x, t.y)), i && r.setLineDash([]); 9520 } 9521} 9522var n1 = ["shadowBlur", "shadowOffsetX", "shadowOffsetY"], i1 = [["lineCap", "butt"], ["lineJoin", "miter"], ["miterLimit", 10]]; 9523function HA(r, e, t, a, n) { 9524 var i = false; 9525 if (!a && (t = t || {}, e === t)) return false; 9526 if (a || e.opacity !== t.opacity) { 9527 Fe(r, n), i = true; 9528 var o = Math.max(Math.min(e.opacity, 1), 0); 9529 r.globalAlpha = isNaN(o) ? ri.opacity : o; 9530 } 9531 (a || e.blend !== t.blend) && (i || (Fe(r, n), i = true), r.globalCompositeOperation = e.blend || ri.blend); 9532 for (var s = 0; s < n1.length; s++) { 9533 var l = n1[s]; 9534 (a || e[l] !== t[l]) && (i || (Fe(r, n), i = true), r[l] = r.dpr * (e[l] || 0)); 9535 } 9536 return (a || e.shadowColor !== t.shadowColor) && (i || (Fe(r, n), i = true), r.shadowColor = e.shadowColor || ri.shadowColor), i; 9537} 9538function o1(r, e, t, a, n) { 9539 var i = dl(e, n.inHover), o = a ? null : t && dl(t, n.inHover) || {}; 9540 if (i === o) return false; 9541 var s = HA(r, i, o, a, n); 9542 if ((a || i.fill !== o.fill) && (s || (Fe(r, n), s = true), e1(i.fill) && (r.fillStyle = i.fill)), (a || i.stroke !== o.stroke) && (s || (Fe(r, n), s = true), e1(i.stroke) && (r.strokeStyle = i.stroke)), (a || i.opacity !== o.opacity) && (s || (Fe(r, n), s = true), r.globalAlpha = i.opacity == null ? 1 : i.opacity), e.hasStroke()) { 9543 var l = i.lineWidth, u = l / (i.strokeNoScale && e.getLineScale ? e.getLineScale() : 1); 9544 r.lineWidth !== u && (s || (Fe(r, n), s = true), r.lineWidth = u); 9545 } 9546 for (var f = 0; f < i1.length; f++) { 9547 var h = i1[f], v = h[0]; 9548 (a || i[v] !== o[v]) && (s || (Fe(r, n), s = true), r[v] = i[v] || h[1]); 9549 } 9550 return s; 9551} 9552function kN(r, e, t, a, n) { 9553 return HA(r, dl(e, n.inHover), t && dl(t, n.inHover), a, n); 9554} 9555function WA(r, e) { 9556 var t = e.transform, a = r.dpr || 1; 9557 t ? r.setTransform(a * t[0], a * t[1], a * t[2], a * t[3], a * t[4], a * t[5]) : r.setTransform(a, 0, 0, a, 0, 0); 9558} 9559function ON(r, e, t) { 9560 for (var a = false, n = 0; n < r.length; n++) { 9561 var i = r[n]; 9562 a = a || i.isZeroArea(), WA(e, i), e.beginPath(), i.buildPath(e, i.shape), e.clip(); 9563 } 9564 t.allClipped = a; 9565} 9566function NN(r, e) { 9567 return r && e ? r[0] !== e[0] || r[1] !== e[1] || r[2] !== e[2] || r[3] !== e[3] || r[4] !== e[4] || r[5] !== e[5] : !(!r && !e); 9568} 9569var s1 = 1, l1 = 2, u1 = 3, f1 = 4; 9570function BN(r) { 9571 var e = Wf(r), t = Hf(r); 9572 return !(r.lineDash || !(+e ^ +t) || e && typeof r.fill != "string" || t && typeof r.stroke != "string" || r.strokePercent < 1 || r.strokeOpacity < 1 || r.fillOpacity < 1); 9573} 9574function Fe(r, e) { 9575 e.batchFill && r.fill(), e.batchStroke && r.stroke(), e.batchFill = "", e.batchStroke = ""; 9576} 9577function dl(r, e) { 9578 return e && r.__hoverStyle || r.style; 9579} 9580function My(r, e) { 9581 Qn(r, e, { inHover: false, viewWidth: 0, viewHeight: 0 }, true); 9582} 9583function Qn(r, e, t, a) { 9584 var n = e.transform; 9585 if (!e.shouldBePainted(t.viewWidth, t.viewHeight, false, false)) { 9586 e.__dirty &= ~Ye, e.__isRendered = false; 9587 return; 9588 } 9589 var i = e.__clipPaths, o = t.prevElClipPaths, s = false, l = false; 9590 if ((!o || MN(i, o)) && (o && o.length && (Fe(r, t), r.restore(), l = s = true, t.prevElClipPaths = null, t.allClipped = false, t.prevEl = null), i && i.length && (Fe(r, t), r.save(), ON(i, r, t), s = true), t.prevElClipPaths = i), t.allClipped) { 9591 e.__isRendered = false; 9592 return; 9593 } 9594 e.beforeBrush && e.beforeBrush(), e.innerBeforeBrush(); 9595 var u = t.prevEl; 9596 u || (l = s = true); 9597 var f = e instanceof mt && e.autoBatch && BN(e.style); 9598 s || NN(n, u.transform) ? (Fe(r, t), WA(r, e)) : f || Fe(r, t);
9599 var h = dl(e, t.inHover); 9600 e instanceof mt ? (t.lastDrawType !== s1 && (l = true, t.lastDrawType = s1), o1(r, e, u, l, t), (!f || !t.batchFill && !t.batchStroke) && r.beginPath(), PN(r, e, h, f), f && (t.batchFill = h.fill || "", t.batchStroke = h.stroke || "")) : e instanceof mo ? (t.lastDrawType !== u1 && (l = true, t.lastDrawType = u1), o1(r, e, u, l, t), EN(r, e, h)) : e instanceof ue ? (t.lastDrawType !== l1 && (l = true, t.lastDrawType = l1), kN(r, e, u, l, t), RN(r, e, h)) : e.getTemporalDisplayables && (t.lastDrawType !== f1 && (l = true, t.lastDrawType = f1), zN(r, e, t)), f && a && Fe(r, t), e.innerAfterBrush(), e.afterBrush && e.afterBrush(), t.prevEl = e, e.__dirty = 0, e.__isRendered = true; 9601} 9602function zN(r, e, t) { 9603 var a = e.getDisplayables(), n = e.getTemporalDisplayables(); 9604 r.save(); 9605 var i = { prevElClipPaths: null, prevEl: null, allClipped: false, viewWidth: t.viewWidth, viewHeight: t.viewHeight, inHover: t.inHover }, o, s; 9606 for (o = e.getCursor(), s = a.length; o < s; o++) { 9607 var l = a[o]; 9608 l.beforeBrush && l.beforeBrush(), l.innerBeforeBrush(), Qn(r, l, i, o === s - 1), l.innerAfterBrush(), l.afterBrush && l.afterBrush(), i.prevEl = l; 9609 } 9610 for (var u = 0, f = n.length; u < f; u++) { 9611 var l = n[u]; 9612 l.beforeBrush && l.beforeBrush(), l.innerBeforeBrush(), Qn(r, l, i, u === f - 1), l.innerAfterBrush(), l.afterBrush && l.afterBrush(), i.prevEl = l; 9613 } 9614 e.clearTemporalDisplayables(), e.notClear = true, r.restore(); 9615} 9616var nc = new yN(), h1 = new Rl(100), v1 = ["symbol", "symbolSize", "symbolKeepAspect", "color", "backgroundColor", "dashArrayX", "dashArrayY", "maxTileWidth", "maxTileHeight"]; 9617function xo(r, e) { 9618 if (r === "none") return null; 9619 var t = e.getDevicePixelRatio(), a = e.getZr(), n = a.painter.type === "svg"; 9620 r.dirty && nc.delete(r); 9621 var i = nc.get(r); 9622 if (i) return i; 9623 var o = Q(r, { symbol: "rect", symbolSize: 1, symbolKeepAspect: true, color: "rgba(0, 0, 0, 0.2)", backgroundColor: null, dashArrayX: 5, dashArrayY: 5, rotation: 0, maxTileWidth: 512, maxTileHeight: 512 }); 9624 o.backgroundColor === "none" && (o.backgroundColor = null); 9625 var s = { repeat: "repeat" }; 9626 return l(s), s.rotation = o.rotation, s.scaleX = s.scaleY = n ? 1 : 1 / t, nc.set(r, s), r.dirty = false, s; 9627 function l(u) { 9628 for (var f = [t], h = true, v = 0; v < v1.length; ++v) { 9629 var c = o[v1[v]]; 9630 if (c != null && !V(c) && !Y(c) && !wt(c) && typeof c != "boolean") { 9631 h = false; 9632 break; 9633 } 9634 f.push(c); 9635 } 9636 var p; 9637 if (h) { 9638 p = f.join(",") + (n ? "-svg" : ""); 9639 var d = h1.get(p); 9640 d && (n ? u.svgElement = d : u.image = d); 9641 } 9642 var g = YA(o.dashArrayX), y = VN(o.dashArrayY), m = UA(o.symbol), _ = GN(g), S = $A(y), b = !n && Lr.createCanvas(), x = n && { tag: "g", attrs: {}, key: "dcl", children: [] }, w = C(), T; 9643 b && (b.width = w.width * t, b.height = w.height * t, T = b.getContext("2d")), A(), h && h1.put(p, b || x), u.image = b, u.svgElement = x, u.svgWidth = w.width, u.svgHeight = w.height; 9644 function C() { 9645 for (var M = 1, I = 0, L = _.length; I < L; ++I) M = I0(M, _[I]); 9646 for (var P = 1, I = 0, L = m.length; I < L; ++I) P = I0(P, m[I].length); 9647 M *= P; 9648 var R = S * _.length * m.length; 9649 return { width: Math.max(1, Math.min(M, o.maxTileWidth)), height: Math.max(1, Math.min(R, o.maxTileHeight)) }; 9650 } 9651 function A() { 9652 T && (T.clearRect(0, 0, b.width, b.height), o.backgroundColor && (T.fillStyle = o.backgroundColor, T.fillRect(0, 0, b.width, b.height))); 9653 for (var M = 0, I = 0; I < y.length; ++I) M += y[I]; 9654 if (M <= 0) return; 9655 for (var L = -S, P = 0, R = 0, E = 0; L < w.height; ) { 9656 if (P % 2 === 0) { 9657 for (var O = R / 2 % m.length, k = 0, B = 0, F = 0; k < w.width * 2; ) { 9658 for (var H = 0, I = 0; I < g[E].length; ++I) H += g[E][I]; 9659 if (H <= 0) break; 9660 if (B % 2 === 0) { 9661 var U = (1 - o.symbolSize) * 0.5, K = k + g[E][B] * U, J = L + y[P] * U, nt = g[E][B] * o.symbolSize, It = y[P] * o.symbolSize, Yt = F / 2 % m[O].length; 9662 ct(K, J, nt, It, m[O][Yt]); 9663 } 9664 k += g[E][B], ++F, ++B, B === g[E].length && (B = 0); 9665 } 9666 ++E, E === g.length && (E = 0); 9667 } 9668 L += y[P], ++R, ++P, P === y.length && (P = 0); 9669 } 9670 function ct(et, dt, q, ot, Bt) { 9671 var Lt = n ? 1 : t, kt = qt(Bt, et * Lt, dt * Lt, q * Lt, ot * Lt, o.color, o.symbolKeepAspect); 9672 if (n) { 9673 var Ht = a.painter.renderOneToVNode(kt); 9674 Ht && x.children.push(Ht); 9675 } else My(T, kt); 9676 } 9677 } 9678 } 9679} 9680function UA(r) { 9681 if (!r || r.length === 0) return [["rect"]]; 9682 if (Y(r)) return [[r]]; 9683 for (var e = true, t = 0; t < r.length; ++t) if (!Y(r[t])) { 9684 e = false;
9685 break; 9686 } 9687 if (e) return UA([r]); 9688 for (var a = [], t = 0; t < r.length; ++t) Y(r[t]) ? a.push([r[t]]) : a.push(r[t]); 9689 return a; 9690} 9691function YA(r) { 9692 if (!r || r.length === 0) return [[0, 0]]; 9693 if (wt(r)) { 9694 var e = Math.ceil(r); 9695 return [[e, e]]; 9696 } 9697 for (var t = true, a = 0; a < r.length; ++a) if (!wt(r[a])) { 9698 t = false; 9699 break; 9700 } 9701 if (t) return YA([r]); 9702 for (var n = [], a = 0; a < r.length; ++a) if (wt(r[a])) { 9703 var e = Math.ceil(r[a]); 9704 n.push([e, e]); 9705 } else { 9706 var e = G(r[a], function(s) { 9707 return Math.ceil(s); 9708 }); 9709 e.length % 2 === 1 ? n.push(e.concat(e)) : n.push(e); 9710 } 9711 return n; 9712} 9713function VN(r) { 9714 if (!r || typeof r == "object" && r.length === 0) return [0, 0]; 9715 if (wt(r)) { 9716 var e = Math.ceil(r); 9717 return [e, e]; 9718 } 9719 var t = G(r, function(a) { 9720 return Math.ceil(a); 9721 }); 9722 return r.length % 2 ? t.concat(t) : t; 9723} 9724function GN(r) { 9725 return G(r, function(e) { 9726 return $A(e); 9727 }); 9728} 9729function $A(r) { 9730 for (var e = 0, t = 0; t < r.length; ++t) e += r[t]; 9731 return r.length % 2 === 1 ? e * 2 : e; 9732} 9733function FN(r, e) { 9734 r.eachRawSeries(function(t) { 9735 if (!r.isSeriesFiltered(t)) { 9736 var a = t.getData(); 9737 a.hasItemVisual() && a.each(function(o) { 9738 var s = a.getItemVisual(o, "decal"); 9739 if (s) { 9740 var l = a.ensureUniqueItemVisual(o, "style"); 9741 l.decal = xo(s, e); 9742 } 9743 }); 9744 var n = a.getVisual("decal"); 9745 if (n) { 9746 var i = a.getVisual("style"); 9747 i.decal = xo(n, e); 9748 } 9749 } 9750 }); 9751} 9752var br = new cr(), XA = {}; 9753function HN(r, e) { 9754 XA[r] = e; 9755} 9756function ZA(r) { 9757 return XA[r]; 9758} 9759var WN = "5.6.0", UN = { zrender: "5.6.1" }, YN = 1, $N = 800, XN = 900, ZN = 1e3, qN = 2e3, KN = 5e3, qA = 1e3, jN = 1100, Iy = 2e3, KA = 3e3, JN = 4e3, Zh = 4500, QN = 4600, tB = 5e3, eB = 6e3, jA = 7e3, JA = { PROCESSOR: { FILTER: ZN, SERIES_FILTER: $N, STATISTIC: KN }, VISUAL: { LAYOUT: qA, PROGRESSIVE_LAYOUT: jN, GLOBAL: Iy, CHART: KA, POST_CHART_LAYOUT: QN, COMPONENT: JN, BRUSH: tB, CHART_ITEM: Zh, ARIA: eB, DECAL: jA } }, ye = "__flagInMainProcess", ze = "__pendingUpdate", ic = "__needsUpdateStatus", c1 = /^[a-zA-Z0-9_]+$/, oc = "__connectUpdateStatus", p1 = 0, rB = 1, aB = 2; 9760function QA(r) { 9761 return function() { 9762 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 9763 if (this.isDisposed()) { 9764 this.id; 9765 return; 9766 } 9767 return eD(this, r, e); 9768 }; 9769} 9770function tD(r) { 9771 return function() { 9772 for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; 9773 return eD(this, r, e); 9774 }; 9775} 9776function eD(r, e, t) { 9777 return t[0] = t[0] && t[0].toLowerCase(), cr.prototype[e].apply(r, t); 9778} 9779var rD = function(r) { 9780 N(e, r); 9781 function e() { 9782 return r !== null && r.apply(this, arguments) || this; 9783 } 9784 return e; 9785}(cr), aD = rD.prototype; 9786aD.on = tD("on"); 9787aD.off = tD("off"); 9788var Gi, sc, wu, La, lc, uc, fc, ns, is, d1, g1, hc, y1, Tu, m1, nD, je, _1, Uf = function(r) { 9789 N(e, r); 9790 function e(t, a, n) { 9791 var i = r.call(this, new hN()) || this; 9792 i._chartsViews = [], i._chartsMap = {}, i._componentsViews = [], i._componentsMap = {}, i._pendingActions = [], n = n || {}, Y(a) && (a = iD[a]), i._dom = t; 9793 var o = "canvas", s = "auto", l = false; 9794 n.ssr && HT(function(v) { 9795 var c = it(v), p = c.dataIndex; 9796 if (p != null) { 9797 var d = Z(); 9798 return d.set("series_index", c.seriesIndex), d.set("data_index", p), c.ssrType && d.set("ssr_type", c.ssrType), d; 9799 } 9800 }); 9801 var u = i._zr = rd(t, { renderer: n.renderer || o, devicePixelRatio: n.devicePixelRatio, width: n.width, height: n.height, ssr: n.ssr, useDirtyRect: st(n.useDirtyRect, l), useCoarsePointer: st(n.useCoarsePointer, s), pointerSize: n.pointerSize }); 9802 i._ssr = n.ssr, i._throttledZrFlush = Xh($(u.flush, u), 17), a = rt(a), a && fA(a, true), i._theme = a, i._locale = Sk(n.locale || HC), i._coordSysMgr = new Vo(); 9803 var f = i._api = m1(i); 9804 function h(v, c) { 9805 return v.__prio - c.__prio; 9806 } 9807 return tf($f, h), tf(Ld, h), i._scheduler = new OA(i, f, Ld, $f), i._messageCenter = new rD(), i._initEvents(), i.resize = $(i.resize, i), u.animation.on("frame", i._onframe, i), d1(u, i), g1(u, i), Qs(i), i; 9808 } 9809 return e.prototype._onframe = function() { 9810 if (!this._disposed) { 9811 _1(this); 9812 var t = this._scheduler; 9813 if (this[ze]) { 9814 var a = this[ze].silent; 9815 this[ye] = true; 9816 try { 9817 Gi(this), La.update.call(this, null, this[ze].updateParams); 9818 } catch (l) { 9819 throw this[ye] = false, this[ze] = null, l; 9820 } 9821 this._zr.flush(), this[ye] = false, this[ze] = null, ns.call(this, a), is.call(this, a); 9822 } else if (t.unfinished) { 9823 var n = YN, i = this._model, o = this._api; 9824 t.unfinished = false;
9825 do { 9826 var s = +/* @__PURE__ */ new Date(); 9827 t.performSeriesTasks(i), t.performDataProcessorTasks(i), uc(this, i), t.performVisualTasks(i), Tu(this, this._model, o, "remain", {}), n -= +/* @__PURE__ */ new Date() - s; 9828 } while (n > 0 && t.unfinished); 9829 t.unfinished || this._zr.flush(); 9830 } 9831 } 9832 }, e.prototype.getDom = function() { 9833 return this._dom; 9834 }, e.prototype.getId = function() { 9835 return this.id; 9836 }, e.prototype.getZr = function() { 9837 return this._zr; 9838 }, e.prototype.isSSR = function() { 9839 return this._ssr; 9840 }, e.prototype.setOption = function(t, a, n) { 9841 if (!this[ye]) { 9842 if (this._disposed) { 9843 this.id; 9844 return; 9845 } 9846 var i, o, s; 9847 if (tt(a) && (n = a.lazyUpdate, i = a.silent, o = a.replaceMerge, s = a.transition, a = a.notMerge), this[ye] = true, !this._model || a) { 9848 var l = new Xk(this._api), u = this._theme, f = this._model = new xy(); 9849 f.scheduler = this._scheduler, f.ssr = this._ssr, f.init(null, null, null, u, this._locale, l); 9850 } 9851 this._model.setOption(t, { replaceMerge: o }, Pd); 9852 var h = { seriesTransition: s, optionChanged: true }; 9853 if (n) this[ze] = { silent: i, updateParams: h }, this[ye] = false, this.getZr().wakeUp(); 9854 else { 9855 try { 9856 Gi(this), La.update.call(this, null, h); 9857 } catch (v) { 9858 throw this[ze] = null, this[ye] = false, v; 9859 } 9860 this._ssr || this._zr.flush(), this[ze] = null, this[ye] = false, ns.call(this, i), is.call(this, i); 9861 } 9862 } 9863 }, e.prototype.setTheme = function() { 9864 }, e.prototype.getModel = function() { 9865 return this._model; 9866 }, e.prototype.getOption = function() { 9867 return this._model && this._model.getOption(); 9868 }, e.prototype.getWidth = function() { 9869 return this._zr.getWidth(); 9870 }, e.prototype.getHeight = function() { 9871 return this._zr.getHeight(); 9872 }, e.prototype.getDevicePixelRatio = function() { 9873 return this._zr.painter.dpr || yt.hasGlobalWindow && window.devicePixelRatio || 1; 9874 }, e.prototype.getRenderedCanvas = function(t) { 9875 return this.renderToCanvas(t); 9876 }, e.prototype.renderToCanvas = function(t) { 9877 t = t || {}; 9878 var a = this._zr.painter; 9879 return a.getRenderedCanvas({ backgroundColor: t.backgroundColor || this._model.get("backgroundColor"), pixelRatio: t.pixelRatio || this.getDevicePixelRatio() }); 9880 }, e.prototype.renderToSVGString = function(t) { 9881 t = t || {}; 9882 var a = this._zr.painter; 9883 return a.renderToString({ useViewBox: t.useViewBox }); 9884 }, e.prototype.getSvgDataURL = function() { 9885 if (yt.svgSupported) { 9886 var t = this._zr, a = t.storage.getDisplayList(); 9887 return D(a, function(n) { 9888 n.stopAnimation(null, true); 9889 }), t.painter.toDataURL(); 9890 } 9891 }, e.prototype.getDataURL = function(t) { 9892 if (this._disposed) { 9893 this.id; 9894 return; 9895 } 9896 t = t || {}; 9897 var a = t.excludeComponents, n = this._model, i = [], o = this; 9898 D(a, function(l) { 9899 n.eachComponent({ mainType: l }, function(u) { 9900 var f = o._componentsMap[u.__viewId]; 9901 f.group.ignore || (i.push(f), f.group.ignore = true); 9902 }); 9903 }); 9904 var s = this._zr.painter.getType() === "svg" ? this.getSvgDataURL() : this.renderToCanvas(t).toDataURL("image/" + (t && t.type || "png")); 9905 return D(i, function(l) { 9906 l.group.ignore = false; 9907 }), s; 9908 }, e.prototype.getConnectedDataURL = function(t) { 9909 if (this._disposed) { 9910 this.id; 9911 return; 9912 } 9913 var a = t.type === "svg", n = this.group, i = Math.min, o = Math.max, s = 1 / 0; 9914 if (Xf[n]) { 9915 var l = s, u = s, f = -s, h = -s, v = [], c = t && t.pixelRatio || this.getDevicePixelRatio(); 9916 D(ii, function(_, S) { 9917 if (_.group === n) { 9918 var b = a ? _.getZr().painter.getSvgDom().innerHTML : _.renderToCanvas(rt(t)), x = _.getDom().getBoundingClientRect(); 9919 l = i(x.left, l), u = i(x.top, u), f = o(x.right, f), h = o(x.bottom, h), v.push({ dom: b, left: x.left, top: x.top }); 9920 } 9921 }), l *= c, u *= c, f *= c, h *= c; 9922 var p = f - l, d = h - u, g = Lr.createCanvas(), y = rd(g, { renderer: a ? "svg" : "canvas" }); 9923 if (y.resize({ width: p, height: d }), a) { 9924 var m = ""; 9925 return D(v, function(_) { 9926 var S = _.left - l, b = _.top - u; 9927 m += '<g transform="translate(' + S + "," + b + ')">' + _.dom + "</g>"; 9928 }
9928), y.painter.getSvgRoot().innerHTML = m, t.connectedBackgroundColor && y.painter.setBackgroundColor(t.connectedBackgroundColor), y.refreshImmediately(), y.painter.toDataURL(); 9929 } else return t.connectedBackgroundColor && y.add(new xt({ shape: { x: 0, y: 0, width: p, height: d }, style: { fill: t.connectedBackgroundColor } })), D(v, function(_) { 9930 var S = new ue({ style: { x: _.left * c - l, y: _.top * c - u, image: _.dom } }); 9931 y.add(S); 9932 }), y.refreshImmediately(), g.toDataURL("image/" + (t && t.type || "png")); 9933 } else return this.getDataURL(t); 9934 }, e.prototype.convertToPixel = function(t, a) { 9935 return lc(this, "convertToPixel", t, a); 9936 }, e.prototype.convertFromPixel = function(t, a) { 9937 return lc(this, "convertFromPixel", t, a); 9938 }, e.prototype.containPixel = function(t, a) { 9939 if (this._disposed) { 9940 this.id; 9941 return; 9942 } 9943 var n = this._model, i, o = Hs(n, t); 9944 return D(o, function(s, l) { 9945 l.indexOf("Models") >= 0 && D(s, function(u) { 9946 var f = u.coordinateSystem; 9947 if (f && f.containPoint) i = i || !!f.containPoint(a); 9948 else if (l === "seriesModels") { 9949 var h = this._chartsMap[u.__viewId]; 9950 h && h.containPoint && (i = i || h.containPoint(a, u)); 9951 } 9952 }, this); 9953 }, this), !!i; 9954 }, e.prototype.getVisual = function(t, a) { 9955 var n = this._model, i = Hs(n, t, { defaultMainType: "series" }), o = i.seriesModel, s = o.getData(), l = i.hasOwnProperty("dataIndexInside") ? i.dataIndexInside : i.hasOwnProperty("dataIndex") ? s.indexOfRawIndex(i.dataIndex) : null; 9956 return l != null ? Ay(s, l, a) : Fl(s, a); 9957 }, e.prototype.getViewOfComponentModel = function(t) { 9958 return this._componentsMap[t.__viewId]; 9959 }, e.prototype.getViewOfSeriesModel = function(t) { 9960 return this._chartsMap[t.__viewId]; 9961 }, e.prototype._initEvents = function() { 9962 var t = this; 9963 D(nB, function(a) { 9964 var n = function(i) { 9965 var o = t.getModel(), s = i.target, l, u = a === "globalout"; 9966 if (u ? l = {} : s && jn(s, function(p) { 9967 var d = it(p); 9968 if (d && d.dataIndex != null) { 9969 var g = d.dataModel || o.getSeriesByIndex(d.seriesIndex); 9970 return l = g && g.getDataParams(d.dataIndex, d.dataType, s) || {}, true; 9971 } else if (d.eventData) return l = z({}, d.eventData), true; 9972 }, true), l) { 9973 var f = l.componentType, h = l.componentIndex; 9974 (f === "markLine" || f === "markPoint" || f === "markArea") && (f = "series", h = l.seriesIndex); 9975 var v = f && h != null && o.getComponent(f, h), c = v && t[v.mainType === "series" ? "_chartsMap" : "_componentsMap"][v.__viewId]; 9976 l.event = i, l.type = a, t._$eventProcessor.eventInfo = { targetEl: s, packedEvent: l, model: v, view: c }, t.trigger(a, l); 9977 } 9978 }; 9979 n.zrEventfulCallAtLast = true, t._zr.on(a, n, t); 9980 }), D(Zs, function(a, n) { 9981 t._messageCenter.on(n, function(i) { 9982 this.trigger(n, i); 9983 }, t); 9984 }), D(["selectchanged"], function(a) { 9985 t._messageCenter.on(a, function(n) { 9986 this.trigger(a, n); 9987 }, t); 9988 }), pN(this._messageCenter, this, this._api); 9989 }, e.prototype.isDisposed = function() { 9990 return this._disposed; 9991 }, e.prototype.clear = function() { 9992 if (this._disposed) { 9993 this.id; 9994 return; 9995 } 9996 this.setOption({ series: [] }, true); 9997 }, e.prototype.dispose = function() { 9998 if (this._disposed) { 9999 this.id; 10000 return; 10001 } 10002 this._disposed = true; 10003 var t = this.getDom(); 10004 t && QT(this.getDom(), Py, ""); 10005 var a = this, n = a._api, i = a._model; 10006 D(a._componentsViews, function(o) { 10007 o.dispose(i, n); 10008 }), D(a._chartsViews, function(o) { 10009 o.dispose(i, n); 10010 }), a._zr.dispose(), a._dom = a._model = a._chartsMap = a._componentsMap = a._chartsViews = a._componentsViews = a._scheduler = a._api = a._zr = a._throttledZrFlush = a._theme = a._coordSysMgr = a._messageCenter = null, delete ii[a.id]; 10011 }, e.prototype.resize = function(t) { 10012 if (!this[ye]) { 10013 if (this._disposed) { 10014 this.id; 10015 return; 10016 } 10017 this._zr.resize(t); 10018 var a = this._model; 10019 if (this._loadingFX && this._loadingFX.resize(), !!a) { 10020 var n = a.resetOption("media"), i = t && t.silent; 10021 this[ze] && (i == null && (i = this[ze].silent), n = true, this[ze] = null), this[ye] = true; 10022 try { 10023 n && Gi(this), La.update.call(this, { type: "resize", animation: z({ duration: 0 }, t && t.animation) }); 10024 } catch (o) { 10025 throw this[ye] = false, o; 10026 } 10027 this[ye] = false, ns.call(this, i), is.call(this, i); 10028 } 10029 } 10030 }, e.prototype.showLoading = function(t, a) { 10031 if (this._disposed) { 10032 this.id; 10033 return; 10034 } 10035 if (tt(t) && (a = t, t = ""), t = t || "default", this.hideLoading(), !!Rd[t]) { 10036 var n = Rd[t](this._api, a), i = this._zr; 10037 this._loadingFX = n, i.add(n); 10038 } 10039 }, e.prototype.hideLoading = function() { 10040 if (this._disposed) { 10041 this.id; 10042 return; 10043 } 10044 this._loadingFX && this._zr.remove(this._loadingFX), this._loadingFX = null; 10045 }, e.prototype.makeActionFromEvent = function(t) { 10046 var a = z({}, t); 10047 return a.type = Zs[t.type], a; 10048 }, e.prototype.dispatchAction = function(t, a) { 10049 if (this._disposed) { 10050 this.id; 10051 return; 10052 } 10053 if (tt(a) || (a = { silent: !!a }), !!Yf[t.type] && this._model) { 10054 if (this[ye]) { 10055 this._pendingActions.push(t); 10056 return; 10057 } 10058 var n = a.silent; 10059 fc.call(this, t, n); 10060 var i = a.flush; 10061 i ? this._zr.flush() : i !== false && yt.browser.weChat && this._throttledZrFlush(), ns.call(this, n), is.call(this, n); 10062 } 10063 }, e.prototype.updateLabelLayout = function() { 10064 br.trigger("series:layoutlabels", this._model, this._api, { updatedSeries: [] }); 10065 }, e.prototype.appendData = function(t) { 10066 if (this._disposed) { 10067 this.id; 10068 return; 10069 } 10070 var a = t.seriesIndex, n = this.getModel(), i = n.getSeriesByIndex(a); 10071 i.appendData(t), this._scheduler.unfinished = true, this.getZr().wakeUp(); 10072 }
10072, e.internalField = function() { 10073 Gi = function(h) { 10074 var v = h._scheduler; 10075 v.restorePipelines(h._model), v.prepareStageTasks(), sc(h, true), sc(h, false), v.plan(); 10076 }, sc = function(h, v) { 10077 for (var c = h._model, p = h._scheduler, d = v ? h._componentsViews : h._chartsViews, g = v ? h._componentsMap : h._chartsMap, y = h._zr, m = h._api, _ = 0; _ < d.length; _++) d[_].__alive = false; 10078 v ? c.eachComponent(function(x, w) { 10079 x !== "series" && S(w); 10080 }) : c.eachSeries(S); 10081 function S(x) { 10082 var w = x.__requireNewView; 10083 x.__requireNewView = false; 10084 var T = "_ec_" + x.id + "_" + x.type, C = !w && g[T]; 10085 if (!C) { 10086 var A = Yr(x.type), M = v ? Vt.getClass(A.main, A.sub) : Pt.getClass(A.sub); 10087 C = new M(), C.init(c, m), g[T] = C, d.push(C), y.add(C.group); 10088 } 10089 x.__viewId = C.__id = T, C.__alive = true, C.__model = x, C.group.__ecComponentInfo = { mainType: x.mainType, index: x.componentIndex }, !v && p.prepareView(C, x, c, m); 10090 } 10091 for (var _ = 0; _ < d.length; ) { 10092 var b = d[_]; 10093 b.__alive ? _++ : (!v && b.renderTask.dispose(), y.remove(b.group), b.dispose(c, m), d.splice(_, 1), g[b.__id] === b && delete g[b.__id], b.__id = b.group.__ecComponentInfo = null); 10094 } 10095 }, wu = function(h, v, c, p, d) { 10096 var g = h._model; 10097 if (g.setUpdatePayload(c), !p) { 10098 D([].concat(h._componentsViews).concat(h._chartsViews), b); 10099 return; 10100 } 10101 var y = {}; 10102 y[p + "Id"] = c[p + "Id"], y[p + "Index"] = c[p + "Index"], y[p + "Name"] = c[p + "Name"]; 10103 var m = { mainType: p, query: y }; 10104 d && (m.subType = d); 10105 var _ = c.excludeSeriesId, S; 10106 _ != null && (S = Z(), D(Rt(_), function(x) { 10107 var w = te(x, null); 10108 w != null && S.set(w, true); 10109 })), g && g.eachComponent(m, function(x) { 10110 var w = S && S.get(x.id) != null; 10111 if (!w) if (e_(c)) if (x instanceof Et) c.type === ai && !c.notBlur && !x.get(["emphasis", "disabled"]) && wE(x, c, h._api); 10112 else { 10113 var T = ty(x.mainType, x.componentIndex, c.name, h._api), C = T.focusSelf, A = T.dispatchers; 10114 c.type === ai && C && !c.notBlur && vd(x.mainType, x.componentIndex, h._api), A && D(A, function(M) { 10115 c.type === ai ? ma(M) : _a(M); 10116 }); 10117 } 10118 else pd(c) && x instanceof Et && (AE(x, c, h._api), Q0(x), je(h)); 10119 }, h), g && g.eachComponent(m, function(x) { 10120 var w = S && S.get(x.id) != null; 10121 w || b(h[p === "series" ? "_chartsMap" : "_componentsMap"][x.__viewId]); 10122 }, h); 10123 function b(x) { 10124 x && x.__alive && x[v] && x[v](x.__model, g, h._api, c); 10125 } 10126 }, La = { prepareAndUpdate: function(h) { 10127 Gi(this), La.update.call(this, h, { optionChanged: h.newOption != null }); 10128 }, update: function(h, v) { 10129 var c = this._model, p = this._api, d = this._zr, g = this._coordSysMgr, y = this._scheduler; 10130 if (c) { 10131 c.setUpdatePayload(h), y.restoreData(c, h), y.performSeriesTasks(c), g.create(c, p), y.performDataProcessorTasks(c, h), uc(this, c), g.update(c, p), t(c), y.performVisualTasks(c, h), hc(this, c, p, h, v); 10132 var m = c.get("backgroundColor") || "transparent", _ = c.get("darkMode"); 10133 d.setBackgroundColor(m), _ != null && _ !== "auto" && d.setDarkMode(_), br.trigger("afterupdate", c, p); 10134 } 10135 }, updateTransform: function(h) { 10136 var v = this, c = this._model, p = this._api; 10137 if (c) { 10138 c.setUpdatePayload(h); 10139 var d = []; 10140 c.eachComponent(function(y, m) { 10141 if (y !== "series") { 10142 var _ = v.getViewOfComponentModel(m); 10143 if (_ && _.__alive) if (_.updateTransform) { 10144 var S = _.updateTransform(m, c, p, h); 10145 S && S.update && d.push(_); 10146 } else d.push(_); 10147 } 10148 }); 10149 var g = Z(); 10150 c.eachSeries(function(y) { 10151 var m = v._chartsMap[y.__viewId]; 10152 if (m.updateTransform) { 10153 var _ = m.updateTransform(y, c, p, h); 10154 _ && _.update && g.set(y.uid, 1); 10155 } else g.set(y.uid, 1); 10156 }), t(c), this._scheduler.performVisualTasks(c, h, { setDirty: true, dirtyMap: g }), Tu(this, c, p, h, {}, g), br.trigger("afterupdate", c, p); 10157 } 10158 }, updateView: function(h) { 10159 var v = this._model; 10160 v && (v.setUpdatePayload(h), Pt.markUpdateMethod(h, "updateView"), t(v), this._scheduler.performVisualTasks(v, h, { setDirty: true }), hc(this, v, this._api, h, {}), br.trigger("afterupdate", v, this._api)); 10161 }, updateVisual: function(h) { 10162 var v = this, c = this._model; 10163 c && (c.setUpdatePayload(h), c.eachSeries(function(p) { 10164 p.getData().clearAllVisual(); 10165 }), Pt.markUpdateMethod(h, "updateVisual"), t(c), this._scheduler.performVisualTasks(c, h, { visualType: "visual", setDirty: true }), c.eachComponent(function(p, d) { 10166 if (p !== "series") { 10167 var g = v.getViewOfComponentModel(d); 10168 g && g.__alive && g.updateVisual(d, c, v._api, h); 10169 } 10170 }), c.eachSeries(function(p) { 10171 var d = v._chartsMap[p.__viewId]; 10172 d.updateVisual(p, c, v._api, h); 10173 }), br.trigger("afterupdate", c, this._api)); 10174 }, updateLayout: function(h) { 10175 La.update.call(this, h); 10176 } }, lc = function(h, v, c, p) { 10177 if (h._disposed) { 10178 h.id; 10179 return; 10180 } 10181 for (var d = h._model, g = h._coordSysMgr.getCoordinateSystems(), y, m = Hs(d, c), _ = 0; _ < g.length; _++) { 10182 var S = g[_]; 10183 if (S[v] && (y = S[v](d, m, p)) != null) return y; 10184 } 10185 }, uc = function(h, v) { 10186 var c = h._chartsMap, p = h._scheduler; 10187 v.eachSeries(function(d) { 10188 p.updateStreamModes(d, c[d.__viewId]); 10189 }); 10190 }, fc = function(h, v) { 10191 var c = this, p = this.getModel(), d = h.type, g = h.escapeConnect, y = Yf[d], m = y.actionInfo, _ = (m.update || "update").split(":"), S = _.pop(), b = _[0] != null && Yr(_[0]); 10192 this[ye] = true; 10193 var x = [h], w = false;
10194 h.batch && (w = true, x = G(h.batch, function(P) { 10195 return P = Q(z({}, P), h), P.batch = null, P; 10196 })); 10197 var T = [], C, A = pd(h), M = e_(h); 10198 if (M && xC(this._api), D(x, function(P) { 10199 if (C = y.action(P, c._model, c._api), C = C || z({}, P), C.type = m.event || C.type, T.push(C), M) { 10200 var R = $g(h), E = R.queryOptionMap, O = R.mainTypeSpecified, k = O ? E.keys()[0] : "series"; 10201 wu(c, S, P, k), je(c); 10202 } else A ? (wu(c, S, P, "series"), je(c)) : b && wu(c, S, P, b.main, b.sub); 10203 }), S !== "none" && !M && !A && !b) try { 10204 this[ze] ? (Gi(this), La.update.call(this, h), this[ze] = null) : La[S].call(this, h); 10205 } catch (P) { 10206 throw this[ye] = false, P; 10207 } 10208 if (w ? C = { type: m.event || d, escapeConnect: g, batch: T } : C = T[0], this[ye] = false, !v) { 10209 var I = this._messageCenter; 10210 if (I.trigger(C.type, C), A) { 10211 var L = { type: "selectchanged", escapeConnect: g, selected: DE(p), isFromClick: h.isFromClick || false, fromAction: h.type, fromActionPayload: h }; 10212 I.trigger(L.type, L); 10213 } 10214 } 10215 }, ns = function(h) { 10216 for (var v = this._pendingActions; v.length; ) { 10217 var c = v.shift(); 10218 fc.call(this, c, h); 10219 } 10220 }, is = function(h) { 10221 !h && this.trigger("updated"); 10222 }, d1 = function(h, v) { 10223 h.on("rendered", function(c) { 10224 v.trigger("rendered", c), h.animation.isFinished() && !v[ze] && !v._scheduler.unfinished && !v._pendingActions.length && v.trigger("finished"); 10225 }); 10226 }, g1 = function(h, v) { 10227 h.on("mouseover", function(c) { 10228 var p = c.target, d = jn(p, ll); 10229 d && (TE(d, c, v._api), je(v)); 10230 }).on("mouseout", function(c) { 10231 var p = c.target, d = jn(p, ll); 10232 d && (CE(d, c, v._api), je(v)); 10233 }).on("click", function(c) { 10234 var p = c.target, d = jn(p, function(m) { 10235 return it(m).dataIndex != null; 10236 }, true); 10237 if (d) { 10238 var g = d.selected ? "unselect" : "select", y = it(d); 10239 v._api.dispatchAction({ type: g, dataType: y.dataType, dataIndexInside: y.dataIndex, seriesIndex: y.seriesIndex, isFromClick: true }); 10240 } 10241 }); 10242 }; 10243 function t(h) { 10244 h.clearColorPalette(), h.eachSeries(function(v) { 10245 v.clearColorPalette(); 10246 }); 10247 } 10248 function a(h) { 10249 var v = [], c = [], p = false; 10250 if (h.eachComponent(function(m, _) { 10251 var S = _.get("zlevel") || 0, b = _.get("z") || 0, x = _.getZLevelKey(); 10252 p = p || !!x, (m === "series" ? c : v).push({ zlevel: S, z: b, idx: _.componentIndex, type: m, key: x }); 10253 }), p) { 10254 var d = v.concat(c), g, y; 10255 tf(d, function(m, _) { 10256 return m.zlevel === _.zlevel ? m.z - _.z : m.zlevel - _.zlevel; 10257 }), D(d, function(m) { 10258 var _ = h.getComponent(m.type, m.idx), S = m.zlevel, b = m.key; 10259 g != null && (S = Math.max(g, S)), b ? (S === g && b !== y && S++, y = b) : y && (S === g && S++, y = ""), g = S, _.setZLevel(S); 10260 }); 10261 } 10262 } 10263 hc = function(h, v, c, p, d) { 10264 a(v), y1(h, v, c, p, d), D(h._chartsViews, function(g) { 10265 g.__alive = false; 10266 }), Tu(h, v, c, p, d), D(h._chartsViews, function(g) { 10267 g.__alive || g.remove(v, c); 10268 }); 10269 }, y1 = function(h, v, c, p, d, g) { 10270 D(g || h._componentsViews, function(y) { 10271 var m = y.__model; 10272 u(m, y), y.render(m, v, c, p), s(m, y), f(m, y); 10273 }); 10274 }, Tu = function(h, v, c, p, d, g) { 10275 var y = h._scheduler; 10276 d = z(d || {}, { updatedSeries: v.getSeries() }), br.trigger("series:beforeupdate", v, c, d); 10277 var m = false; 10278 v.eachSeries(function(_) { 10279 var S = h._chartsMap[_.__viewId]; 10280 S.__alive = true; 10281 var b = S.renderTask; 10282 y.updatePayload(b, p), u(_, S), g && g.get(_.uid) && b.dirty(), b.perform(y.getPerformArgs(b)) && (m = true), S.group.silent = !!_.get("silent"), o(_, S), Q0(_); 10283 }), y.unfinished = m || y.unfinished, br.trigger("series:layoutlabels", v, c, d), br.trigger("series:transition", v, c, d), v.eachSeries(function(_) { 10284 var S = h._chartsMap[_.__viewId]; 10285 s(_, S), f(_, S); 10286 }), i(h, v), br.trigger("series:afterupdate", v, c, d); 10287 }, je = function(h) { 10288 h[ic] = true, h.getZr().wakeUp(); 10289 }, _1 = function(h) { 10290 h[ic] && (h.getZr().storage.traverse(function(v) { 10291 uo(v) || n(v); 10292 }), h[ic] = false); 10293 }; 10294 function n(h) { 10295 for (var v = [], c = h.currentStates, p = 0; p < c.length; p++) { 10296 var d = c[p]; 10297 d === "emphasis" || d === "blur" || d === "select" || v.push(d); 10298 } 10299 h.selected && h.states.select && v.push("select"), h.hoverState === Eh && h.states.emphasis ? v.push("emphasis") : h.hoverState === Ol && h.states.blur && v.push("blur"), h.useStates(v); 10300 } 10301 function i(h, v) { 10302 var c = h._zr, p = c.storage, d = 0; 10303 p.traverse(function(g) { 10304 g.isGroup || d++; 10305 }), d > v.get("hoverLayerThreshold") && !yt.node && !yt.worker && v.eachSeries(function(g) { 10306 if (!g.preventUsingHoverLayer) { 10307 var y = h._chartsMap[g.__viewId]; 10308 y.__alive && y.eachRendered(function(m) { 10309 m.states.emphasis && (m.states.emphasis.hoverLayer = true); 10310 }); 10311 } 10312 }); 10313 } 10314 function o(h, v) { 10315 var c = h.get("blendMode") || null; 10316 v.eachRendered(function(p) { 10317 p.isGroup || (p.style.blend = c); 10318 }); 10319 } 10320 function s(h, v) { 10321 if (!h.preventAutoZ) { 10322 var c = h.get("z") || 0, p = h.get("zlevel") || 0; 10323 v.eachRendered(function(d) { 10324 return l(d, c, p, -1 / 0), true; 10325 }); 10326 } 10327 } 10328 function l(h, v, c, p) { 10329 var d = h.getTextContent(), g = h.getTextGuideLine(), y = h.isGroup; 10330 if (y) for (var m = h.childrenRef(), _ = 0; _ < m.length; _++) p = Math.max(l(m[_], v, c, p), p); 10331 else h.z = v, h.zlevel = c, p = Math.max(h.z2, p); 10332 if (d && (d.z = v, d.zlevel = c, isFinite(p) && (d.z2 = p + 2)), g) { 10333 var S = h.textGuideLineConfig; 10334 g.z = v, g.zlevel = c, isFinite(p) && (g.z2 = p + (S && S.showAbove ? 1 : -1)); 10335 } 10336 return p; 10337 } 10338 function u(h, v) { 10339 v.eachRendered(function(c) { 10340 if (!uo(c)) { 10341 var p = c.getTextContent(), d = c.getTextGuideLine(); 10342 c.stateTransition && (c.stateTransition = null), p && p.stateTransition && (p.stateTransition = null), d && d.stateTransition && (d.stateTransition = null), c.hasState() ? (c.prevStates = c.currentStates, c.clearStates()) : c.prevStates && (c.prevStates = null); 10343 } 10344 }); 10345 } 10346 function f(h, v) { 10347 var c = h.getModel("stateAnimation"), p = h.isAnimationEnabled(), d = c.get("duration"), g = d > 0 ? { duration: d, delay: c.get("delay"), easing: c.get("easing") } : null; 10348 v.eachRendered(function(y) { 10349 if (y.states && y.states.emphasis) { 10350 if (uo(y)) return; 10351 if (y instanceof mt && RE(y), y.__dirty) { 10352 var m = y.prevStates; 10353 m && y.useStates(m); 10354 } 10355 if (p) { 10356 y.stateTransition = g; 10357 var _ = y.getTextContent(), S = y.getTextGuideLine(); 10358 _ && (_.stateTransition = g), S && (S.stateTransition = g); 10359 } 10360 y.__dirty && n(y); 10361 } 10362 }); 10363 } 10364 m1 = function(h) { 10365 return new (function(v) { 10366 N(c, v); 10367 function c() { 10368 return v !== null && v.apply(this, arguments) || this; 10369 } 10370 return c.prototype.getCoordinateSystems = function() { 10371 return h._coordSysMgr.getCoordinateSystems(); 10372 }, c.prototype.getComponentByElement = function(p) { 10373 for (; p; ) { 10374 var d = p.__ecComponentInfo; 10375 if (d != null) return h._model.getComponent(d.mainType, d.index); 10376 p = p.parent; 10377 } 10378 }
10378, c.prototype.enterEmphasis = function(p, d) { 10379 ma(p, d), je(h); 10380 }, c.prototype.leaveEmphasis = function(p, d) { 10381 _a(p, d), je(h); 10382 }, c.prototype.enterBlur = function(p) { 10383 yC(p), je(h); 10384 }, c.prototype.leaveBlur = function(p) { 10385 Qg(p), je(h); 10386 }, c.prototype.enterSelect = function(p) { 10387 mC(p), je(h); 10388 }, c.prototype.leaveSelect = function(p) { 10389 _C(p), je(h); 10390 }, c.prototype.getModel = function() { 10391 return h.getModel(); 10392 }, c.prototype.getViewOfComponentModel = function(p) { 10393 return h.getViewOfComponentModel(p); 10394 }, c.prototype.getViewOfSeriesModel = function(p) { 10395 return h.getViewOfSeriesModel(p); 10396 }, c; 10397 }(lA))(h); 10398 }, nD = function(h) { 10399 function v(c, p) { 10400 for (var d = 0; d < c.length; d++) { 10401 var g = c[d]; 10402 g[oc] = p; 10403 } 10404 } 10405 D(Zs, function(c, p) { 10406 h._messageCenter.on(p, function(d) { 10407 if (Xf[h.group] && h[oc] !== p1) { 10408 if (d && d.escapeConnect) return; 10409 var g = h.makeActionFromEvent(d), y = []; 10410 D(ii, function(m) { 10411 m !== h && m.group === h.group && y.push(m); 10412 }), v(y, p1), D(y, function(m) { 10413 m[oc] !== rB && m.dispatchAction(g); 10414 }), v(y, aB); 10415 } 10416 }); 10417 }); 10418 }; 10419 }(), e; 10420}(cr), Ly = Uf.prototype; 10421Ly.on = QA("on"); 10422Ly.off = QA("off"); 10423Ly.one = function(r, e, t) { 10424 var a = this; 10425 function n() { 10426 for (var i = [], o = 0; o < arguments.length; o++) i[o] = arguments[o]; 10427 e && e.apply && e.apply(this, i), a.off(r, n); 10428 } 10429 this.on.call(this, r, n, t); 10430}; 10431var nB = ["click", "dblclick", "mouseover", "mouseout", "mousemove", "mousedown", "mouseup", "globalout", "contextmenu"]; 10432var Yf = {}, Zs = {}, Ld = [], Pd = [], $f = [], iD = {}, Rd = {}, ii = {}, Xf = {}, iB = +/* @__PURE__ */ new Date() - 0, oB = +/* @__PURE__ */ new Date() - 0, Py = "_echarts_instance_"; 10433function sB(r, e, t) { 10434 var a = !(t && t.ssr); 10435 if (a) { 10436 var n = Ry(r); 10437 if (n) return n; 10438 } 10439 var i = new Uf(r, e, t); 10440 return i.id = "ec_" + iB++, ii[i.id] = i, a && QT(r, Py, i.id), nD(i), br.trigger("afterinit", i), i; 10441} 10442function lB(r) { 10443 if (V(r)) { 10444 var e = r; 10445 r = null, D(e, function(t) { 10446 t.group != null && (r = t.group); 10447 }), r = r || "g_" + oB++, D(e, function(t) { 10448 t.group = r; 10449 }); 10450 } 10451 return Xf[r] = true, r; 10452} 10453function oD(r) { 10454 Xf[r] = false; 10455} 10456var uB = oD; 10457function fB(r) { 10458 Y(r) ? r = ii[r] : r instanceof Uf || (r = Ry(r)), r instanceof Uf && !r.isDisposed() && r.dispose(); 10459} 10460function Ry(r) { 10461 return ii[SR(r, Py)]; 10462} 10463function hB(r) { 10464 return ii[r]; 10465} 10466function Ey(r, e) { 10467 iD[r] = e; 10468} 10469function ky(r) { 10470 vt(Pd, r) < 0 && Pd.push(r); 10471} 10472function Oy(r, e) { 10473 Ny(Ld, r, e, qN); 10474} 10475function sD(r) { 10476 qh("afterinit", r); 10477} 10478function lD(r) { 10479 qh("afterupdate", r); 10480} 10481function qh(r, e) { 10482 br.on(r, e); 10483} 10484function kr(r, e, t) { 10485 j(e) && (t = e, e = ""); 10486 var a = tt(r) ? r.type : [r, r = { event: e }][0]; 10487 r.event = (r.event || a).toLowerCase(), e = r.event, !Zs[e] && (we(c1.test(a) && c1.test(e)), Yf[a] || (Yf[a] = { action: t, actionInfo: r }), Zs[e] = a); 10488} 10489function uD(r, e) { 10490 Vo.register(r, e); 10491} 10492function vB(r) { 10493 var e = Vo.get(r); 10494 if (e) return e.getDimensionsInfo ? e.getDimensionsInfo() : e.dimensions.slice(); 10495} 10496function fD(r, e) { 10497 Ny($f, r, e, qA, "layout"); 10498} 10499function hn(r, e) { 10500 Ny($f, r, e, KA, "visual"); 10501} 10502var S1 = []; 10503function Ny(r, e, t, a, n) { 10504 if ((j(e) || tt(e)) && (t = e, e = a), !(vt(S1, t) >= 0)) { 10505 S1.push(t); 10506 var i = OA.wrapStageHandler(t, n); 10507 i.__prio = e, i.__raw = t, r.push(i); 10508 } 10509} 10510function By(r, e) { 10511 Rd[r] = e; 10512} 10513function cB(r) { 10514 nT({ createCanvas: r }); 10515} 10516function hD(r, e, t) { 10517 var a = ZA("registerMap"); 10518 a && a(r, e, t); 10519} 10520function pB(r) { 10521 var e = ZA("getMap"); 10522 return e && e(r); 10523} 10524var vD = CO; 10525hn(Iy, jO); 10526hn(Zh, JO); 10527hn(Zh, QO); 10528hn(Iy, vN); 10529hn(Zh, cN); 10530hn(jA, FN); 10531ky(fA); 10532Oy(XN, iO); 10533By("default", tN); 10534kr({ type: ai, event: ai, update: ai }, $t); 10535kr({ type: sf, event: sf, update: sf }, $t); 10536kr({ type: Ws, event: Ws, update: Ws }, $t); 10537kr({ type: lf, event: lf, update: lf }, $t); 10538kr({ type: Us, event: Us, update: Us }, $t); 10539Ey("light", fN); 10540Ey("dark", VA); 10541var dB = {}, x1 = [], gB = { registerPreprocessor: ky, registerProcessor: Oy, registerPostInit: sD, registerPostUpdate: lD, registerUpdateLifecycle: qh, registerAction: kr, registerCoordinateSystem: uD, registerLayout: fD, registerVisual: hn, registerTransform: vD, registerLoading: By, registerMap: hD, registerImpl: HN, PRIORITY: JA, ComponentModel: gt, ComponentView: Vt, SeriesModel: Et, ChartView: Pt, registerComponentModel: function(r) { 10542 gt.registerClass(r); 10543}, registerComponentView: function(r) { 10544 Vt.registerClass(r); 10545}, registerSeriesModel: function(r) { 10546 Et.registerClass(r); 10547}, registerChartView: function(r) { 10548 Pt.registerClass(r); 10549}, registerSubTypeDefaulter: function(r, e) { 10550 gt.registerSubTypeDefaulter(r, e); 10551}, registerPainter: function(r, e) { 10552 GT(r, e); 10553} }; 10554function pt(r) { 10555 if (V(r)) { 10556 D(r, function(e) { 10557 pt(e); 10558 }); 10559 return; 10560 } 10561 vt(x1, r) >= 0 || (x1.push(r), j(r) && (r = { install: r }), r.install(gB)); 10562} 10563function os(r) { 10564 return r == null ? 0 : r.length || 1; 10565} 10566function b1(r) { 10567 return r; 10568} 10569var Sa = function() { 10570 function r(e, t, a, n, i, o) { 10571 this._old = e, this._new = t, this._oldKeyGetter = a || b1, this._newKeyGetter = n || b1, this.context = i, this._diffModeMultiple = o === "multiple"; 10572 } 10573 return r.prototype.add = function(e) { 10574 return this._add = e, this; 10575 }, r.prototype.update = function(e) { 10576 return this._update = e, this; 10577 }, r.prototype.updateManyToOne = function(e) { 10578 return this._updateManyToOne = e, this; 10579 }
10579, r.prototype.updateOneToMany = function(e) { 10580 return this._updateOneToMany = e, this; 10581 }, r.prototype.updateManyToMany = function(e) { 10582 return this._updateManyToMany = e, this; 10583 }, r.prototype.remove = function(e) { 10584 return this._remove = e, this; 10585 }, r.prototype.execute = function() { 10586 this[this._diffModeMultiple ? "_executeMultiple" : "_executeOneToOne"](); 10587 }, r.prototype._executeOneToOne = function() { 10588 var e = this._old, t = this._new, a = {}, n = new Array(e.length), i = new Array(t.length); 10589 this._initIndexMap(e, null, n, "_oldKeyGetter"), this._initIndexMap(t, a, i, "_newKeyGetter"); 10590 for (var o = 0; o < e.length; o++) { 10591 var s = n[o], l = a[s], u = os(l); 10592 if (u > 1) { 10593 var f = l.shift(); 10594 l.length === 1 && (a[s] = l[0]), this._update && this._update(f, o); 10595 } else u === 1 ? (a[s] = null, this._update && this._update(l, o)) : this._remove && this._remove(o); 10596 } 10597 this._performRestAdd(i, a); 10598 }, r.prototype._executeMultiple = function() { 10599 var e = this._old, t = this._new, a = {}, n = {}, i = [], o = []; 10600 this._initIndexMap(e, a, i, "_oldKeyGetter"), this._initIndexMap(t, n, o, "_newKeyGetter"); 10601 for (var s = 0; s < i.length; s++) { 10602 var l = i[s], u = a[l], f = n[l], h = os(u), v = os(f); 10603 if (h > 1 && v === 1) this._updateManyToOne && this._updateManyToOne(f, u), n[l] = null; 10604 else if (h === 1 && v > 1) this._updateOneToMany && this._updateOneToMany(f, u), n[l] = null; 10605 else if (h === 1 && v === 1) this._update && this._update(f, u), n[l] = null; 10606 else if (h > 1 && v > 1) this._updateManyToMany && this._updateManyToMany(f, u), n[l] = null; 10607 else if (h > 1) for (var c = 0; c < h; c++) this._remove && this._remove(u[c]); 10608 else this._remove && this._remove(u); 10609 } 10610 this._performRestAdd(o, n); 10611 }, r.prototype._performRestAdd = function(e, t) { 10612 for (var a = 0; a < e.length; a++) { 10613 var n = e[a], i = t[n], o = os(i); 10614 if (o > 1) for (var s = 0; s < o; s++) this._add && this._add(i[s]); 10615 else o === 1 && this._add && this._add(i); 10616 t[n] = null; 10617 } 10618 }, r.prototype._initIndexMap = function(e, t, a, n) { 10619 for (var i = this._diffModeMultiple, o = 0; o < e.length; o++) { 10620 var s = "_ec_" + this[n](e[o], o); 10621 if (i || (a[o] = s), !!t) { 10622 var l = t[s], u = os(l); 10623 u === 0 ? (t[s] = o, i && a.push(s)) : u === 1 ? t[s] = [l, o] : l.push(o); 10624 } 10625 } 10626 }, r; 10627}(), yB = function() { 10628 function r(e, t) { 10629 this._encode = e, this._schema = t; 10630 } 10631 return r.prototype.get = function() { 10632 return { fullDimensions: this._getFullDimensionNames(), encode: this._encode }; 10633 }, r.prototype._getFullDimensionNames = function() { 10634 return this._cachedDimNames || (this._cachedDimNames = this._schema ? this._schema.makeOutputDimensionNames() : []), this._cachedDimNames; 10635 }, r; 10636}(); 10637function mB(r, e) { 10638 var t = {}, a = t.encode = {}, n = Z(), i = [], o = [], s = {}; 10639 D(r.dimensions, function(v) { 10640 var c = r.getDimensionInfo(v), p = c.coordDim; 10641 if (p) { 10642 var d = c.coordDimIndex; 10643 vc(a, p)[d] = v, c.isExtraCoord || (n.set(p, 1), _B(c.type) && (i[0] = v), vc(s, p)[d] = r.getDimensionIndex(c.name)), c.defaultTooltip && o.push(v); 10644 } 10645 eA.each(function(g, y) { 10646 var m = vc(a, y), _ = c.otherDims[y]; 10647 _ != null && _ !== false && (m[_] = c.name); 10648 }); 10649 }); 10650 var l = [], u = {}; 10651 n.each(function(v, c) { 10652 var p = a[c]; 10653 u[c] = p[0], l = l.concat(p); 10654 }), t.dataDimsOnCoord = l, t.dataDimIndicesOnCoord = G(l, function(v) { 10655 return r.getDimensionInfo(v).storeDimIndex; 10656 }), t.encodeFirstDimNotExtra = u; 10657 var f = a.label; 10658 f && f.length && (i = f.slice()); 10659 var h = a.tooltip; 10660 return h && h.length ? o = h.slice() : o.length || (o = i.slice()), a.defaultedLabel = i, a.defaultedTooltip = o, t.userOutput = new yB(s, e), t; 10661} 10662function vc(r, e) { 10663 return r.hasOwnProperty(e) || (r[e] = []), r[e]; 10664} 10665function Zf(r) { 10666 return r === "category" ? "ordinal" : r === "time" ? "time" : "float"; 10667} 10668function _B(r) { 10669 return !(r === "ordinal" || r === "time"); 10670} 10671var cf = /* @__PURE__ */ function() { 10672 function r(e) { 10673 this.otherDims = {}, e != null && z(this, e); 10674 } 10675 return r; 10676}(), SB = bt(), xB = { float: "f", int: "i", ordinal: "o", number: "n", time: "t" }, cD = function() { 10677 function r(e) { 10678 this.dimensions = e.dimensions, this._dimOmitted = e.dimensionOmitted, this.source = e.source, this._fullDimCount = e.fullDimensionCount, this._updateDimOmitted(e.dimensionOmitted); 10679 } 10680 return r.prototype.isDimensionOmitted = function() { 10681 return this._dimOmitted; 10682 }, r.prototype._updateDimOmitted = function(e) { 10683 this._dimOmitted = e, e && (this._dimNameMap || (this._dimNameMap = gD(this.source))); 10684 }, r.prototype.getSourceDimensionIndex = function(e) { 10685 return st(this._dimNameMap.get(e), -1); 10686 }, r.prototype.getSourceDimension = function(e) { 10687 var t = this.source.dimensionsDefine; 10688 if (t) return t[e]; 10689 }, r.prototype.makeStoreSchema = function() { 10690 for (var e = this._fullDimCount, t = vA(this.source), a = !yD(e), n = "", i = [], o = 0, s = 0; o < e; o++) { 10691 var l = void 0, u = void 0, f = void 0, h = this.dimensions[s]; 10692 if (h && h.storeDimIndex === o) l = t ? h.name : null, u = h.type, f = h.ordinalMeta, s++; 10693 else {
10694 var v = this.getSourceDimension(o); 10695 v && (l = t ? v.name : null, u = v.type); 10696 } 10697 i.push({ property: l, type: u, ordinalMeta: f }), t && l != null && (!h || !h.isCalculationCoord) && (n += a ? l.replace(/\`/g, "`1").replace(/\$/g, "`2") : l), n += "$", n += xB[u] || "f", f && (n += f.uid), n += "$"; 10698 } 10699 var c = this.source, p = [c.seriesLayoutBy, c.startIndex, n].join("$$"); 10700 return { dimensions: i, hash: p }; 10701 }, r.prototype.makeOutputDimensionNames = function() { 10702 for (var e = [], t = 0, a = 0; t < this._fullDimCount; t++) { 10703 var n = void 0, i = this.dimensions[a]; 10704 if (i && i.storeDimIndex === t) i.isCalculationCoord || (n = i.name), a++; 10705 else { 10706 var o = this.getSourceDimension(t); 10707 o && (n = o.name); 10708 } 10709 e.push(n); 10710 } 10711 return e; 10712 }, r.prototype.appendCalculationDimension = function(e) { 10713 this.dimensions.push(e), e.isCalculationCoord = true, this._fullDimCount++, this._updateDimOmitted(true); 10714 }, r; 10715}(); 10716function pD(r) { 10717 return r instanceof cD; 10718} 10719function dD(r) { 10720 for (var e = Z(), t = 0; t < (r || []).length; t++) { 10721 var a = r[t], n = tt(a) ? a.name : a; 10722 n != null && e.get(n) == null && e.set(n, t); 10723 } 10724 return e; 10725} 10726function gD(r) { 10727 var e = SB(r); 10728 return e.dimNameMap || (e.dimNameMap = dD(r.dimensionsDefine)); 10729} 10730function yD(r) { 10731 return r > 30; 10732} 10733var ss = tt, Pa = G, bB = typeof Int32Array > "u" ? Array : Int32Array, wB = "e\0\0", w1 = -1, TB = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_dimSummary", "userOutput", "_rawData", "_dimValueGetter", "_nameDimIdx", "_idDimIdx", "_nameRepeatCount"], CB = ["_approximateExtent"], T1, Cu, ls, us, cc, fs, pc, be = function() { 10734 function r(e, t) { 10735 this.type = "list", this._dimOmitted = false, this._nameList = [], this._idList = [], this._visual = {}, this._layout = {}, this._itemVisuals = [], this._itemLayouts = [], this._graphicEls = [], this._approximateExtent = {}, this._calculationInfo = {}, this.hasItemOption = false, this.TRANSFERABLE_METHODS = ["cloneShallow", "downSample", "minmaxDownSample", "lttbDownSample", "map"], this.CHANGABLE_METHODS = ["filterSelf", "selectRange"], this.DOWNSAMPLE_METHODS = ["downSample", "minmaxDownSample", "lttbDownSample"]; 10736 var a, n = false; 10737 pD(e) ? (a = e.dimensions, this._dimOmitted = e.isDimensionOmitted(), this._schema = e) : (n = true, a = e), a = a || ["x", "y"]; 10738 for (var i = {}, o = [], s = {}, l = false, u = {}, f = 0; f < a.length; f++) { 10739 var h = a[f], v = Y(h) ? new cf({ name: h }) : h instanceof cf ? h : new cf(h), c = v.name; 10740 v.type = v.type || "float", v.coordDim || (v.coordDim = c, v.coordDimIndex = 0); 10741 var p = v.otherDims = v.otherDims || {}; 10742 o.push(c), i[c] = v, u[c] != null && (l = true), v.createInvertedIndices && (s[c] = []), p.itemName === 0 && (this._nameDimIdx = f), p.itemId === 0 && (this._idDimIdx = f), n && (v.storeDimIndex = f); 10743 } 10744 if (this.dimensions = o, this._dimInfos = i, this._initGetDimensionInfo(l), this.hostModel = t, this._invertedIndicesMap = s, this._dimOmitted) { 10745 var d = this._dimIdxToName = Z(); 10746 D(o, function(g) { 10747 d.set(i[g].storeDimIndex, g); 10748 }); 10749 } 10750 } 10751 return r.prototype.getDimension = function(e) { 10752 var t = this._recognizeDimIndex(e); 10753 if (t == null) return e; 10754 if (t = e, !this._dimOmitted) return this.dimensions[t]; 10755 var a = this._dimIdxToName.get(t); 10756 if (a != null) return a; 10757 var n = this._schema.getSourceDimension(t); 10758 if (n) return n.name; 10759 }, r.prototype.getDimensionIndex = function(e) { 10760 var t = this._recognizeDimIndex(e); 10761 if (t != null) return t; 10762 if (e == null) return -1; 10763 var a = this._getDimInfo(e); 10764 return a ? a.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(e) : -1; 10765 }, r.prototype._recognizeDimIndex = function(e) { 10766 if (wt(e) || e != null && !isNaN(e) && !this._getDimInfo(e) && (!this._dimOmitted || this._schema.getSourceDimensionIndex(e) < 0)) return +e; 10767 }, r.prototype._getStoreDimIndex = function(e) { 10768 var t = this.getDimensionIndex(e); 10769 return t; 10770 }, r.prototype.getDimensionInfo = function(e) { 10771 return this._getDimInfo(this.getDimension(e)); 10772 }, r.prototype._initGetDimensionInfo = function(e) { 10773 var t = this._dimInfos; 10774 this._getDimInfo = e ? function(a) { 10775 return t.hasOwnProperty(a) ? t[a] : void 0; 10776 } : function(a) { 10777 return t[a]; 10778 }; 10779 }, r.prototype.getDimensionsOnCoord = function() { 10780 return this._dimSummary.dataDimsOnCoord.slice(); 10781 }, r.prototype.mapDimension = function(e, t) { 10782 var a = this._dimSummary; 10783 if (t == null) return a.encodeFirstDimNotExtra[e]; 10784 var n = a.encode[e]; 10785 return n ? n[t] : null; 10786 }, r.prototype.mapDimensionsAll = function(e) { 10787 var t = this._dimSummary, a = t.encode[e]; 10788 return (a || []).slice(); 10789 }, r.prototype.getStore = function() { 10790 return this._store; 10791 }, r.prototype.initData = function(e, t, a) { 10792 var n = this, i; 10793 if (e instanceof wd && (i = e), !i) { 10794 var o = this.dimensions, s = by(e) || ce(e) ? new cA(e, o.length) : e; 10795 i = new wd(); 10796 var l = Pa(o, function(u) {
10797 return { type: n._dimInfos[u].type, property: u }; 10798 }); 10799 i.initData(s, l, a); 10800 } 10801 this._store = i, this._nameList = (t || []).slice(), this._idList = [], this._nameRepeatCount = {}, this._doInit(0, i.count()), this._dimSummary = mB(this, this._schema), this.userOutput = this._dimSummary.userOutput; 10802 }, r.prototype.appendData = function(e) { 10803 var t = this._store.appendData(e); 10804 this._doInit(t[0], t[1]); 10805 }, r.prototype.appendValues = function(e, t) { 10806 var a = this._store.appendValues(e, t && t.length), n = a.start, i = a.end, o = this._shouldMakeIdFromName(); 10807 if (this._updateOrdinalMeta(), t) for (var s = n; s < i; s++) { 10808 var l = s - n; 10809 this._nameList[s] = t[l], o && pc(this, s); 10810 } 10811 }, r.prototype._updateOrdinalMeta = function() { 10812 for (var e = this._store, t = this.dimensions, a = 0; a < t.length; a++) { 10813 var n = this._dimInfos[t[a]]; 10814 n.ordinalMeta && e.collectOrdinalMeta(n.storeDimIndex, n.ordinalMeta); 10815 } 10816 }, r.prototype._shouldMakeIdFromName = function() { 10817 var e = this._store.getProvider(); 10818 return this._idDimIdx == null && e.getSource().sourceFormat !== Ka && !e.fillStorage; 10819 }, r.prototype._doInit = function(e, t) { 10820 if (!(e >= t)) { 10821 var a = this._store, n = a.getProvider(); 10822 this._updateOrdinalMeta(); 10823 var i = this._nameList, o = this._idList, s = n.getSource().sourceFormat, l = s === dr; 10824 if (l && !n.pure) for (var u = [], f = e; f < t; f++) { 10825 var h = n.getItem(f, u); 10826 if (!this.hasItemOption && sR(h) && (this.hasItemOption = true), h) { 10827 var v = h.name; 10828 i[f] == null && v != null && (i[f] = te(v, null)); 10829 var c = h.id; 10830 o[f] == null && c != null && (o[f] = te(c, null)); 10831 } 10832 } 10833 if (this._shouldMakeIdFromName()) for (var f = e; f < t; f++) pc(this, f); 10834 T1(this); 10835 } 10836 }, r.prototype.getApproximateExtent = function(e) { 10837 return this._approximateExtent[e] || this._store.getDataExtent(this._getStoreDimIndex(e)); 10838 }, r.prototype.setApproximateExtent = function(e, t) { 10839 t = this.getDimension(t), this._approximateExtent[t] = e.slice(); 10840 }, r.prototype.getCalculationInfo = function(e) { 10841 return this._calculationInfo[e]; 10842 }, r.prototype.setCalculationInfo = function(e, t) { 10843 ss(e) ? z(this._calculationInfo, e) : this._calculationInfo[e] = t; 10844 }, r.prototype.getName = function(e) { 10845 var t = this.getRawIndex(e), a = this._nameList[t]; 10846 return a == null && this._nameDimIdx != null && (a = ls(this, this._nameDimIdx, t)), a == null && (a = ""), a; 10847 }, r.prototype._getCategory = function(e, t) { 10848 var a = this._store.get(e, t), n = this._store.getOrdinalMeta(e); 10849 return n ? n.categories[a] : a; 10850 }, r.prototype.getId = function(e) { 10851 return Cu(this, this.getRawIndex(e)); 10852 }, r.prototype.count = function() { 10853 return this._store.count(); 10854 }, r.prototype.get = function(e, t) { 10855 var a = this._store, n = this._dimInfos[e]; 10856 if (n) return a.get(n.storeDimIndex, t); 10857 }, r.prototype.getByRawIndex = function(e, t) { 10858 var a = this._store, n = this._dimInfos[e]; 10859 if (n) return a.getByRawIndex(n.storeDimIndex, t); 10860 }, r.prototype.getIndices = function() { 10861 return this._store.getIndices(); 10862 }, r.prototype.getDataExtent = function(e) { 10863 return this._store.getDataExtent(this._getStoreDimIndex(e)); 10864 }, r.prototype.getSum = function(e) { 10865 return this._store.getSum(this._getStoreDimIndex(e)); 10866 }, r.prototype.getMedian = function(e) { 10867 return this._store.getMedian(this._getStoreDimIndex(e)); 10868 }, r.prototype.getValues = function(e, t) { 10869 var a = this, n = this._store; 10870 return V(e) ? n.getValues(Pa(e, function(i) { 10871 return a._getStoreDimIndex(i); 10872 }), t) : n.getValues(e); 10873 }, r.prototype.hasValue = function(e) { 10874 for (var t = this._dimSummary.dataDimIndicesOnCoord, a = 0, n = t.length; a < n; a++) if (isNaN(this._store.get(t[a], e))) return false; 10875 return true; 10876 }, r.prototype.indexOfName = function(e) { 10877 for (var t = 0, a = this._store.count(); t < a; t++) if (this.getName(t) === e) return t; 10878 return -1; 10879 }, r.prototype.getRawIndex = function(e) { 10880 return this._store.getRawIndex(e); 10881 }, r.prototype.indexOfRawIndex = function(e) { 10882 return this._store.indexOfRawIndex(e); 10883 }, r.prototype.rawIndexOf = function(e, t) { 10884 var a = e && this._invertedIndicesMap[e], n = a && a[t]; 10885 return n == null || isNaN(n) ? w1 : n; 10886 }, r.prototype.indicesOfNearest = function(e, t, a) { 10887 return this._store.indicesOfNearest(this._getStoreDimIndex(e), t, a); 10888 }, r.prototype.each = function(e, t, a) { 10889 j(e) && (a = t, t = e, e = []); 10890 var n = a || this, i = Pa(us(e), this._getStoreDimIndex, this); 10891 this._store.each(i, n ? $(t, n) : t); 10892 }, r.prototype.filterSelf = function(e, t, a) { 10893 j(e) && (a = t, t = e, e = []); 10894 var n = a || this, i = Pa(us(e), this._getStoreDimIndex, this); 10895 return this._store = this._store.filter(i, n ? $(t, n) : t), this; 10896 }, r.prototype.selectRange = function(e) { 10897 var t = this, a = {}, n = _t(e); 10898 return D(n, function(i) {
10899 var o = t._getStoreDimIndex(i); 10900 a[o] = e[i]; 10901 }), this._store = this._store.selectRange(a), this; 10902 }, r.prototype.mapArray = function(e, t, a) { 10903 j(e) && (a = t, t = e, e = []), a = a || this; 10904 var n = []; 10905 return this.each(e, function() { 10906 n.push(t && t.apply(this, arguments)); 10907 }, a), n; 10908 }, r.prototype.map = function(e, t, a, n) { 10909 var i = a || n || this, o = Pa(us(e), this._getStoreDimIndex, this), s = fs(this); 10910 return s._store = this._store.map(o, i ? $(t, i) : t), s; 10911 }, r.prototype.modify = function(e, t, a, n) { 10912 var i = a || n || this, o = Pa(us(e), this._getStoreDimIndex, this); 10913 this._store.modify(o, i ? $(t, i) : t); 10914 }, r.prototype.downSample = function(e, t, a, n) { 10915 var i = fs(this); 10916 return i._store = this._store.downSample(this._getStoreDimIndex(e), t, a, n), i; 10917 }, r.prototype.minmaxDownSample = function(e, t) { 10918 var a = fs(this); 10919 return a._store = this._store.minmaxDownSample(this._getStoreDimIndex(e), t), a; 10920 }, r.prototype.lttbDownSample = function(e, t) { 10921 var a = fs(this); 10922 return a._store = this._store.lttbDownSample(this._getStoreDimIndex(e), t), a; 10923 }, r.prototype.getRawDataItem = function(e) { 10924 return this._store.getRawDataItem(e); 10925 }, r.prototype.getItemModel = function(e) { 10926 var t = this.hostModel, a = this.getRawDataItem(e); 10927 return new At(a, t, t && t.ecModel); 10928 }, r.prototype.diff = function(e) { 10929 var t = this; 10930 return new Sa(e ? e.getStore().getIndices() : [], this.getStore().getIndices(), function(a) { 10931 return Cu(e, a); 10932 }, function(a) { 10933 return Cu(t, a); 10934 }); 10935 }, r.prototype.getVisual = function(e) { 10936 var t = this._visual; 10937 return t && t[e]; 10938 }, r.prototype.setVisual = function(e, t) { 10939 this._visual = this._visual || {}, ss(e) ? z(this._visual, e) : this._visual[e] = t; 10940 }, r.prototype.getItemVisual = function(e, t) { 10941 var a = this._itemVisuals[e], n = a && a[t]; 10942 return n ?? this.getVisual(t); 10943 }, r.prototype.hasItemVisual = function() { 10944 return this._itemVisuals.length > 0; 10945 }, r.prototype.ensureUniqueItemVisual = function(e, t) { 10946 var a = this._itemVisuals, n = a[e]; 10947 n || (n = a[e] = {}); 10948 var i = n[t]; 10949 return i == null && (i = this.getVisual(t), V(i) ? i = i.slice() : ss(i) && (i = z({}, i)), n[t] = i), i; 10950 }, r.prototype.setItemVisual = function(e, t, a) { 10951 var n = this._itemVisuals[e] || {}; 10952 this._itemVisuals[e] = n, ss(t) ? z(n, t) : n[t] = a; 10953 }, r.prototype.clearAllVisual = function() { 10954 this._visual = {}, this._itemVisuals = []; 10955 }, r.prototype.setLayout = function(e, t) { 10956 ss(e) ? z(this._layout, e) : this._layout[e] = t; 10957 }, r.prototype.getLayout = function(e) { 10958 return this._layout[e]; 10959 }, r.prototype.getItemLayout = function(e) { 10960 return this._itemLayouts[e]; 10961 }, r.prototype.setItemLayout = function(e, t, a) { 10962 this._itemLayouts[e] = a ? z(this._itemLayouts[e] || {}, t) : t; 10963 }, r.prototype.clearItemLayouts = function() { 10964 this._itemLayouts.length = 0; 10965 }, r.prototype.setItemGraphicEl = function(e, t) { 10966 var a = this.hostModel && this.hostModel.seriesIndex; 10967 fd(a, this.dataType, e, t), this._graphicEls[e] = t; 10968 }, r.prototype.getItemGraphicEl = function(e) { 10969 return this._graphicEls[e]; 10970 }, r.prototype.eachItemGraphicEl = function(e, t) { 10971 D(this._graphicEls, function(a, n) { 10972 a && e && e.call(t, a, n); 10973 }); 10974 }, r.prototype.cloneShallow = function(e) { 10975 return e || (e = new r(this._schema ? this._schema : Pa(this.dimensions, this._getDimInfo, this), this.hostModel)), cc(e, this), e._store = this._store, e; 10976 }, r.prototype.wrapMethod = function(e, t) { 10977 var a = this[e]; 10978 j(a) && (this.__wrappedMethods = this.__wrappedMethods || [], this.__wrappedMethods.push(e), this[e] = function() { 10979 var n = a.apply(this, arguments); 10980 return t.apply(this, [n].concat(xh(arguments))); 10981 }); 10982 }, r.internalField = function() { 10983 T1 = function(e) { 10984 var t = e._invertedIndicesMap; 10985 D(t, function(a, n) { 10986 var i = e._dimInfos[n], o = i.ordinalMeta, s = e._store; 10987 if (o) { 10988 a = t[n] = new bB(o.categories.length); 10989 for (var l = 0; l < a.length; l++) a[l] = w1; 10990 for (var l = 0; l < s.count(); l++) a[s.get(i.storeDimIndex, l)] = l; 10991 } 10992 }); 10993 }, ls = function(e, t, a) { 10994 return te(e._getCategory(t, a), null); 10995 }, Cu = function(e, t) { 10996 var a = e._idList[t]; 10997 return a == null && e._idDimIdx != null && (a = ls(e, e._idDimIdx, t)), a == null && (a = wB + t), a; 10998 }, us = function(e) { 10999 return V(e) || (e = e != null ? [e] : []), e; 11000 }, fs = function(e) { 11001 var t = new r(e._schema ? e._schema : Pa(e.dimensions, e._getDimInfo, e), e.hostModel); 11002 return cc(t, e), t; 11003 }, cc = function(e, t) {
11004 D(TB.concat(t.__wrappedMethods || []), function(a) { 11005 t.hasOwnProperty(a) && (e[a] = t[a]); 11006 }), e.__wrappedMethods = t.__wrappedMethods, D(CB, function(a) { 11007 e[a] = rt(t[a]); 11008 }), e._calculationInfo = z({}, t._calculationInfo); 11009 }, pc = function(e, t) { 11010 var a = e._nameList, n = e._idList, i = e._nameDimIdx, o = e._idDimIdx, s = a[t], l = n[t]; 11011 if (s == null && i != null && (a[t] = s = ls(e, i, t)), l == null && o != null && (n[t] = l = ls(e, o, t)), l == null && s != null) { 11012 var u = e._nameRepeatCount, f = u[s] = (u[s] || 0) + 1; 11013 l = s, f > 1 && (l += "__ec__" + f), n[t] = l; 11014 } 11015 }; 11016 }(), r; 11017}(); 11018function AB(r, e) { 11019 return Wo(r, e).dimensions; 11020} 11021function Wo(r, e) { 11022 by(r) || (r = wy(r)), e = e || {}; 11023 var t = e.coordDimensions || [], a = e.dimensionsDefine || r.dimensionsDefine || [], n = Z(), i = [], o = MB(r, t, a, e.dimensionsCount), s = e.canOmitUnusedDimensions && yD(o), l = a === r.dimensionsDefine, u = l ? gD(r) : dD(a), f = e.encodeDefine; 11024 !f && e.encodeDefaulter && (f = e.encodeDefaulter(r, o)); 11025 for (var h = Z(f), v = new xA(o), c = 0; c < v.length; c++) v[c] = -1; 11026 function p(C) { 11027 var A = v[C]; 11028 if (A < 0) { 11029 var M = a[C], I = tt(M) ? M : { name: M }, L = new cf(), P = I.name; 11030 P != null && u.get(P) != null && (L.name = L.displayName = P), I.type != null && (L.type = I.type), I.displayName != null && (L.displayName = I.displayName); 11031 var R = i.length; 11032 return v[C] = R, L.storeDimIndex = C, i.push(L), L; 11033 } 11034 return i[A]; 11035 } 11036 if (!s) for (var c = 0; c < o; c++) p(c); 11037 h.each(function(C, A) { 11038 var M = Rt(C).slice(); 11039 if (M.length === 1 && !Y(M[0]) && M[0] < 0) { 11040 h.set(A, false); 11041 return; 11042 } 11043 var I = h.set(A, []); 11044 D(M, function(L, P) { 11045 var R = Y(L) ? u.get(L) : L; 11046 R != null && R < o && (I[P] = R, g(p(R), A, P)); 11047 }); 11048 }); 11049 var d = 0; 11050 D(t, function(C) { 11051 var A, M, I, L; 11052 if (Y(C)) A = C, L = {}; 11053 else { 11054 L = C, A = L.name; 11055 var P = L.ordinalMeta; 11056 L.ordinalMeta = null, L = z({}, L), L.ordinalMeta = P, M = L.dimsDef, I = L.otherDims, L.name = L.coordDim = L.coordDimIndex = L.dimsDef = L.otherDims = null; 11057 } 11058 var R = h.get(A); 11059 if (R !== false) { 11060 if (R = Rt(R), !R.length) for (var E = 0; E < (M && M.length || 1); E++) { 11061 for (; d < o && p(d).coordDim != null; ) d++; 11062 d < o && R.push(d++); 11063 } 11064 D(R, function(O, k) { 11065 var B = p(O); 11066 if (l && L.type != null && (B.type = L.type), g(Q(B, L), A, k), B.name == null && M) { 11067 var F = M[k]; 11068 !tt(F) && (F = { name: F }), B.name = B.displayName = F.name, B.defaultTooltip = F.defaultTooltip; 11069 } 11070 I && Q(B.otherDims, I); 11071 }); 11072 } 11073 }); 11074 function g(C, A, M) { 11075 eA.get(A) != null ? C.otherDims[A] = M : (C.coordDim = A, C.coordDimIndex = M, n.set(A, true)); 11076 } 11077 var y = e.generateCoord, m = e.generateCoordCount, _ = m != null; 11078 m = y ? m || 1 : 0; 11079 var S = y || "value"; 11080 function b(C) { 11081 C.name == null && (C.name = C.coordDim); 11082 } 11083 if (s) D(i, function(C) { 11084 b(C); 11085 }), i.sort(function(C, A) { 11086 return C.storeDimIndex - A.storeDimIndex; 11087 }); 11088 else for (var x = 0; x < o; x++) { 11089 var w = p(x), T = w.coordDim; 11090 T == null && (w.coordDim = IB(S, n, _), w.coordDimIndex = 0, (!y || m <= 0) && (w.isExtraCoord = true), m--), b(w), w.type == null && (iA(r, x) === ve.Must || w.isExtraCoord && (w.otherDims.itemName != null || w.otherDims.seriesName != null)) && (w.type = "ordinal"); 11091 } 11092 return DB(i), new cD({ source: r, dimensions: i, fullDimensionCount: o, dimensionOmitted: s }); 11093} 11094function DB(r) { 11095 for (var e = Z(), t = 0; t < r.length; t++) { 11096 var a = r[t], n = a.name, i = e.get(n) || 0; 11097 i > 0 && (a.name = n + (i - 1)), i++, e.set(n, i); 11098 } 11099} 11100function MB(r, e, t, a) { 11101 var n = Math.max(r.dimensionsDetectedCount || 1, e.length, t.length, a || 0); 11102 return D(e, function(i) { 11103 var o; 11104 tt(i) && (o = i.dimsDef) && (n = Math.max(n, o.length)); 11105 }), n; 11106} 11107function IB(r, e, t) { 11108 if (t || e.hasKey(r)) { 11109 for (var a = 0; e.hasKey(r + a); ) a++; 11110 r += a; 11111 } 11112 return e.set(r, true), r; 11113} 11114var LB = /* @__PURE__ */ function() { 11115 function r(e) { 11116 this.coordSysDims = [], this.axisMap = Z(), this.categoryAxisMap = Z(), this.coordSysName = e; 11117 } 11118 return r; 11119}(); 11120function PB(r) { 11121 var e = r.get("coordinateSystem"), t = new LB(e), a = RB[e]; 11122 if (a) return a(r, t, t.axisMap, t.categoryAxisMap), t; 11123} 11124var RB = { cartesian2d: function(r, e, t, a) { 11125 var n = r.getReferringComponents("xAxis", Jt).models[0], i = r.getReferringComponents("yAxis", Jt).models[0]; 11126 e.coordSysDims = ["x", "y"], t.set("x", n), t.set("y", i), Fi(n) && (a.set("x", n), e.firstCategoryDimIndex = 0), Fi(i) && (a.set("y", i), e.firstCategoryDimIndex == null && (e.firstCategoryDimIndex = 1)); 11127}, singleAxis: function(r, e, t, a) { 11128 var n = r.getReferringComponents("singleAxis", Jt).models[0]; 11129 e.coordSysDims = ["single"], t.set("single", n), Fi(n) && (a.set("single", n), e.firstCategoryDimIndex = 0); 11130}, polar: function(r, e, t, a) { 11131 var n = r.getReferringComponents("polar", Jt).models[0], i = n.findAxisModel("radiusAxis"), o = n.findAxisModel("angleAxis"); 11132 e.coordSysDims = ["radius", "angle"], t.set("radius", i), t.set("angle", o), Fi(i) && (a.set("radius", i), e.firstCategoryDimIndex = 0), Fi(o) && (a.set("angle", o), e.firstCategoryDimIndex == null && (e.firstCategoryDimIndex = 1)); 11133}, geo: function(r, e, t, a) { 11134 e.coordSysDims = ["lng", "lat"]; 11135}, parallel: function(r, e, t, a) {
11136 var n = r.ecModel, i = n.getComponent("parallel", r.get("parallelIndex")), o = e.coordSysDims = i.dimensions.slice(); 11137 D(i.parallelAxisIndex, function(s, l) { 11138 var u = n.getComponent("parallelAxis", s), f = o[l]; 11139 t.set(f, u), Fi(u) && (a.set(f, u), e.firstCategoryDimIndex == null && (e.firstCategoryDimIndex = l)); 11140 }); 11141} }; 11142function Fi(r) { 11143 return r.get("type") === "category"; 11144} 11145function mD(r, e, t) { 11146 t = t || {}; 11147 var a = t.byIndex, n = t.stackedCoordDimension, i, o, s; 11148 EB(e) ? i = e : (o = e.schema, i = o.dimensions, s = e.store); 11149 var l = !!(r && r.get("stack")), u, f, h, v; 11150 if (D(i, function(m, _) { 11151 Y(m) && (i[_] = m = { name: m }), l && !m.isExtraCoord && (!a && !u && m.ordinalMeta && (u = m), !f && m.type !== "ordinal" && m.type !== "time" && (!n || n === m.coordDim) && (f = m)); 11152 }), f && !a && !u && (a = true), f) { 11153 h = "__\0ecstackresult_" + r.id, v = "__\0ecstackedover_" + r.id, u && (u.createInvertedIndices = true); 11154 var c = f.coordDim, p = f.type, d = 0; 11155 D(i, function(m) { 11156 m.coordDim === c && d++; 11157 }); 11158 var g = { name: h, coordDim: c, coordDimIndex: d, type: p, isExtraCoord: true, isCalculationCoord: true, storeDimIndex: i.length }, y = { name: v, coordDim: v, coordDimIndex: d + 1, type: p, isExtraCoord: true, isCalculationCoord: true, storeDimIndex: i.length + 1 }; 11159 o ? (s && (g.storeDimIndex = s.ensureCalculationDimension(v, p), y.storeDimIndex = s.ensureCalculationDimension(h, p)), o.appendCalculationDimension(g), o.appendCalculationDimension(y)) : (i.push(g), i.push(y)); 11160 } 11161 return { stackedDimension: f && f.name, stackedByDimension: u && u.name, isStackedByIndex: a, stackedOverDimension: v, stackResultDimension: h }; 11162} 11163function EB(r) { 11164 return !pD(r.schema); 11165} 11166function xa(r, e) { 11167 return !!e && e === r.getCalculationInfo("stackedDimension"); 11168} 11169function zy(r, e) { 11170 return xa(r, e) ? r.getCalculationInfo("stackResultDimension") : e; 11171} 11172function kB(r, e) { 11173 var t = r.get("coordinateSystem"), a = Vo.get(t), n; 11174 return e && e.coordSysDims && (n = G(e.coordSysDims, function(i) { 11175 var o = { name: i }, s = e.axisMap.get(i); 11176 if (s) { 11177 var l = s.get("type"); 11178 o.type = Zf(l); 11179 } 11180 return o; 11181 })), n || (n = a && (a.getDimensionsInfo ? a.getDimensionsInfo() : a.dimensions.slice()) || ["x", "y"]), n; 11182} 11183function OB(r, e, t) { 11184 var a, n; 11185 return t && D(r, function(i, o) { 11186 var s = i.coordDim, l = t.categoryAxisMap.get(s); 11187 l && (a == null && (a = o), i.ordinalMeta = l.getOrdinalMeta(), e && (i.createInvertedIndices = true)), i.otherDims.itemName != null && (n = true); 11188 }), !n && a != null && (r[a].otherDims.itemName = 0), a; 11189} 11190function aa(r, e, t) { 11191 t = t || {}; 11192 var a = e.getSourceManager(), n, i = false; 11193 r ? (i = true, n = wy(r)) : (n = a.getSource(), i = n.sourceFormat === dr); 11194 var o = PB(e), s = kB(e, o), l = t.useEncodeDefaulter, u = j(l) ? l : l ? lt(nA, s, e) : null, f = { coordDimensions: s, generateCoord: t.generateCoord, encodeDefine: e.getEncode(), encodeDefaulter: u, canOmitUnusedDimensions: !i }, h = Wo(n, f), v = OB(h.dimensions, t.createInvertedIndices, o), c = i ? null : a.getSharedDataStore(h), p = mD(e, { schema: h, store: c }), d = new be(h, e); 11195 d.setCalculationInfo(p); 11196 var g = v != null && NB(n) ? function(y, m, _, S) { 11197 return S === v ? _ : this.defaultDimValueGetter(y, m, _, S); 11198 } : null; 11199 return d.hasItemOption = false, d.initData(i ? n : c, null, g), d; 11200} 11201function NB(r) { 11202 if (r.sourceFormat === dr) { 11203 var e = BB(r.data || []); 11204 return !V(Mo(e)); 11205 } 11206} 11207function BB(r) { 11208 for (var e = 0; e < r.length && r[e] == null; ) e++; 11209 return r[e]; 11210} 11211var na = function() { 11212 function r(e) { 11213 this._setting = e || {}, this._extent = [1 / 0, -1 / 0]; 11214 } 11215 return r.prototype.getSetting = function(e) { 11216 return this._setting[e]; 11217 }, r.prototype.unionExtent = function(e) { 11218 var t = this._extent; 11219 e[0] < t[0] && (t[0] = e[0]), e[1] > t[1] && (t[1] = e[1]); 11220 }, r.prototype.unionExtentFromData = function(e, t) { 11221 this.unionExtent(e.getApproximateExtent(t)); 11222 }, r.prototype.getExtent = function() { 11223 return this._extent.slice(); 11224 }, r.prototype.setExtent = function(e, t) { 11225 var a = this._extent; 11226 isNaN(e) || (a[0] = e), isNaN(t) || (a[1] = t); 11227 }, r.prototype.isInExtentRange = function(e) { 11228 return this._extent[0] <= e && this._extent[1] >= e; 11229 }, r.prototype.isBlank = function() { 11230 return this._isBlank; 11231 }, r.prototype.setBlank = function(e) { 11232 this._isBlank = e; 11233 }, r; 11234}(); 11235Ih(na); 11236var zB = 0, Ed = function() { 11237 function r(e) { 11238 this.categories = e.categories || [], this._needCollect = e.needCollect, this._deduplication = e.deduplication, this.uid = ++zB; 11239 } 11240 return r.createByAxisModel = function(e) { 11241 var t = e.option, a = t.data, n = a && G(a, VB); 11242 return new r({ categories: n, needCollect: !n, deduplication: t.dedplication !== false }); 11243 }, r.prototype.getOrdinal = function(e) { 11244 return this._getOrCreateMap().get(e); 11245 }, r.prototype.parseAndCollect = function(e) { 11246 var t, a = this._needCollect; 11247 if (!Y(e) && !a) return e; 11248 if (a && !this._deduplication) return t = this.categories.length, this.categories[t] = e, t; 11249 var n = this._getOrCreateMap(); 11250 return t = n.get(e), t == null && (a ? (t = this.categories.length, this.categories[t] = e, n.set(e, t)) : t = NaN), t; 11251 }, r.prototype._getOrCreateMap = function() { 11252 return this._map || (this._map = Z(this.categories)); 11253 }, r; 11254}(); 11255function VB(r) { 11256 return tt(r) && r.value != null ? r.value : r + ""; 11257} 11258function kd(r) { 11259 return r.type === "interval" || r.type === "log"; 11260} 11261function GB(r, e, t, a) { 11262 var n = {}, i = r[1] - r[0], o = n.interval = Wg(i / e, true); 11263 t != null && o < t && (o = n.interval = t), a != null && o > a && (o = n.interval = a); 11264 var s = n.intervalPrecision = _D(o), l = n.niceTickExtent = [Ut(Math.ceil(r[0] / o) * o, s), Ut(Math.floor(r[1] / o) * o, s)]; 11265 return FB(l, r), n; 11266} 11267function dc(r) { 11268 var e = Math.pow(10, Mh(r)), t = r / e; 11269 return t ? t === 2 ? t = 3 : t === 3 ? t = 5 : t *= 2 : t = 1, Ut(t * e); 11270} 11271function _D(r) { 11272 return Tr(r) + 2; 11273} 11274function C1(r, e, t) { 11275 r[e] = Math.max(Math.min(r[e], t[1]), t[0]); 11276} 11277function FB(r, e) { 11278 !isFinite(r[0]) && (r[0] = e[0]), !isFinite(r[1]) && (r[1] = e[1]), C1(r, 0, e), C1(r, 1, e), r[0] > r[1] && (r[0] = r[1]); 11279} 11280function Kh(r, e) { 11281 return r >= e[0] && r <= e[1]; 11282} 11283function jh(r, e) { 11284 return e[1] === e[0] ? 0.5 : (r - e[0]) / (e[1] - e[0]); 11285} 11286function Jh(r, e) { 11287 return r * (e[1] - e[0]) + e[0]; 11288} 11289var Qh = function(r) { 11290 N(e, r); 11291 function e(t) { 11292 var a = r.call(this, t) || this; 11293 a.type = "ordinal"; 11294 var n = a.getSetting("ordinalMeta"); 11295 return n || (n = new Ed({})), V(n) && (n = new Ed({ categories: G(n, function(i) { 11296 return tt(i) ? i.value : i; 11297 }) })), a._ordinalMeta = n, a._extent = a.getSetting("extent") || [0, n.categories.length - 1], a; 11298 } 11299 return e.prototype.parse = function(t) { 11300 return t == null ? NaN : Y(t) ? this._ordinalMeta.getOrdinal(t) : Math.round(t); 11301 }, e.prototype.contain = function(t) { 11302 return t = this.parse(t), Kh(t, this._extent) && this._ordinalMeta.categories[t] != null; 11303 }, e.prototype.normalize = function(t) { 11304 return t = this._getTickNumber(this.parse(t)), jh(t, this._extent); 11305 }, e.prototype.scale = function(t) { 11306 return t = Math.round(Jh(t, this._extent)), this.getRawOrdinalNumber(t); 11307 }, e.prototype.getTicks = function() { 11308 for (var t = [], a = this._extent, n = a[0]; n <= a[1]; ) t.push({ value: n }), n++; 11309 return t; 11310 }, e.prototype.getMinorTicks = function(t) { 11311 }, e.prototype.setSortInfo = function(t) { 11312 if (t == null) { 11313 this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null; 11314 return; 11315 } 11316 for (var a = t.ordinalNumbers, n = this._ordinalNumbersByTick = [], i = this._ticksByOrdinalNumber = [], o = 0, s = this._ordinalMeta.categories.length, l = Math.min(s, a.length); o < l; ++o) { 11317 var u = a[o]; 11318 n[o] = u, i[u] = o; 11319 } 11320 for (var f = 0; o < s; ++o) { 11321 for (; i[f] != null; ) f++; 11322 n.push(f), i[f] = o; 11323 } 11324 }, e.prototype._getTickNumber = function(t) { 11325 var a = this._ticksByOrdinalNumber; 11326 return a && t >= 0 && t < a.length ? a[t] : t; 11327 }, e.prototype.getRawOrdinalNumber = function(t) { 11328 var a = this._ordinalNumbersByTick; 11329 return a && t >= 0 && t < a.length ? a[t] : t; 11330 }, e.prototype.getLabel = function(t) { 11331 if (!this.isBlank()) { 11332 var a = this.getRawOrdinalNumber(t.value), n = this._ordinalMeta.categories[a]; 11333 return n == null ? "" : n + ""; 11334 } 11335 }, e.prototype.count = function() { 11336 return this._extent[1] - this._extent[0] + 1; 11337 }, e.prototype.unionExtentFromData = function(t, a) { 11338 this.unionExtent(t.getApproximateExtent(a)); 11339 }, e.prototype.isInExtentRange = function(t) { 11340 return t = this._getTickNumber(t), this._extent[0] <= t && this._extent[1] >= t; 11341 }, e.prototype.getOrdinalMeta = function() { 11342 return this._ordinalMeta; 11343 }, e.prototype.calcNiceTicks = function() { 11344 }, e.prototype.calcNiceExtent = function() { 11345 }, e.type = "ordinal", e; 11346}(na); 11347na.registerClass(Qh); 11348var Rn = Ut, ba = function(r) { 11349 N(e, r); 11350 function e() { 11351 var t = r !== null && r.apply(this, arguments) || this; 11352 return t.type = "interval", t._interval = 0, t._intervalPrecision = 2, t; 11353 } 11354 return e.prototype.parse = function(t) { 11355 return t; 11356 }, e.prototype.contain = function(t) { 11357 return Kh(t, this._extent); 11358 }, e.prototype.normalize = function(t) { 11359 return jh(t, this._extent); 11360 }, e.prototype.scale = function(t) { 11361 return Jh(t, this._extent); 11362 }, e.prototype.setExtent = function(t, a) { 11363 var n = this._extent; 11364 isNaN(t) || (n[0] = parseFloat(t)), isNaN(a) || (n[1] = parseFloat(a)); 11365 }, e.prototype.unionExtent = function(t) { 11366 var a = this._extent; 11367 t[0] < a[0] && (a[0] = t[0]), t[1] > a[1] && (a[1] = t[1]), this.setExtent(a[0], a[1]); 11368 }, e.prototype.getInterval = function() { 11369 return this._interval; 11370 }, e.prototype.setInterval = function(t) { 11371 this._interval = t, this._niceExtent = this._extent.slice(), this._intervalPrecision = _D(t); 11372 }, e.prototype.getTicks = function(t) { 11373 var a = this._interval, n = this._extent, i = this._niceExtent, o = this._intervalPrecision, s = []; 11374 if (!a) return s; 11375 var l = 1e4; 11376 n[0] < i[0] && (t ? s.push({ value: Rn(i[0] - a, o) }) : s.push({ value: n[0] })); 11377 for (var u = i[0]; u <= i[1] && (s.push({ value: u }), u = Rn(u + a, o), u !== s[s.length - 1].value); ) if (s.length > l) return []; 11378 var f = s.length ? s[s.length - 1].value : i[1]; 11379 return n[1] > f && (t ? s.push({ value: Rn(f + a, o) }) : s.push({ value: n[1] })), s; 11380 }, e.prototype.getMinorTicks = function(t) { 11381 for (var a = this.getTicks(true), n = [], i = this.getExtent(), o = 1; o < a.length; o++) { 11382 for (var s = a[o], l = a[o - 1], u = 0, f = [], h = s.value - l.value, v = h / t; u < t - 1; ) { 11383 var c = Rn(l.value + (u + 1) * v); 11384 c > i[0] && c < i[1] && f.push(c), u++; 11385 } 11386 n.push(f); 11387 } 11388 return n; 11389 }, e.prototype.getLabel = function(t, a) { 11390 if (t == null) return ""; 11391 var n = a && a.precision; 11392 n == null ? n = Tr(t.value) || 0 : n === "auto" && (n = this._intervalPrecision); 11393 var i = Rn(t.value, n, true); 11394 return py(i); 11395 }, e.prototype.calcNiceTicks = function(t, a, n) { 11396 t = t || 5; 11397 var i = this._extent, o = i[1] - i[0]; 11398 if (isFinite(o)) { 11399 o < 0 && (o = -o, i.reverse()); 11400 var s = GB(i, t, a, n); 11401 this._intervalPrecision = s.intervalPrecision, this._interval = s.interval, this._niceExtent = s.niceTickExtent; 11402 } 11403 }, e.prototype.calcNiceExtent = function(t) { 11404 var a = this._extent; 11405 if (a[0] === a[1]) if (a[0] !== 0) { 11406 var n = Math.abs(a[0]); 11407 t.fixMax || (a[1] += n / 2), a[0] -= n / 2; 11408 } else a[1] = 1; 11409 var i = a[1] - a[0]; 11410 isFinite(i) || (a[0] = 0, a[1] = 1), this.calcNiceTicks(t.splitNumber, t.minInterval, t.maxInterval); 11411 var o = this._interval; 11412 t.fixMin || (a[0] = Rn(Math.floor(a[0] / o) * o)), t.fixMax || (a[1] = Rn(Math.ceil(a[1] / o) * o)); 11413 }, e.prototype.setNiceExtent = function(t, a) { 11414 this._niceExtent = [t, a]; 11415 }, e.type = "interval", e; 11416}(na); 11417na.registerClass(ba); 11418var SD = typeof Float32Array < "u", HB = SD ? Float32Array : Array; 11419function $r(r) { 11420 return V(r) ? SD ? new Float32Array(r) : r : new HB(r); 11421} 11422var Od = "__ec_stack_"; 11423function xD(r) { 11424 return r.get("stack") || Od + r.seriesIndex; 11425} 11426function Vy(r) { 11427 return r.dim + r.index; 11428} 11429function WB(r) { 11430 var e = [], t = r.axis, a = "axis0"; 11431 if (t.type === "category") { 11432 for (var n = t.getBandWidth(), i = 0; i < r.count; i++) e.push(Q({ bandWidth: n, axisKey: a, stackId: Od + i }, r)); 11433 for (var o = TD(e), s = [], i = 0; i < r.count; i++) { 11434 var l = o[a][Od + i]; 11435 l.offsetCenter = l.offset + l.width / 2, s.push(l); 11436 } 11437 return s; 11438 } 11439} 11440function bD(r, e) { 11441 var t = []; 11442 return e.eachSeriesByType(r, function(a) { 11443 DD(a) && t.push(a); 11444 }), t;
11445} 11446function UB(r) { 11447 var e = {}; 11448 D(r, function(l) { 11449 var u = l.coordinateSystem, f = u.getBaseAxis(); 11450 if (!(f.type !== "time" && f.type !== "value")) for (var h = l.getData(), v = f.dim + "_" + f.index, c = h.getDimensionIndex(h.mapDimension(f.dim)), p = h.getStore(), d = 0, g = p.count(); d < g; ++d) { 11451 var y = p.get(c, d); 11452 e[v] ? e[v].push(y) : e[v] = [y]; 11453 } 11454 }); 11455 var t = {}; 11456 for (var a in e) if (e.hasOwnProperty(a)) { 11457 var n = e[a]; 11458 if (n) { 11459 n.sort(function(l, u) { 11460 return l - u; 11461 }); 11462 for (var i = null, o = 1; o < n.length; ++o) { 11463 var s = n[o] - n[o - 1]; 11464 s > 0 && (i = i === null ? s : Math.min(i, s)); 11465 } 11466 t[a] = i; 11467 } 11468 } 11469 return t; 11470} 11471function wD(r) { 11472 var e = UB(r), t = []; 11473 return D(r, function(a) { 11474 var n = a.coordinateSystem, i = n.getBaseAxis(), o = i.getExtent(), s; 11475 if (i.type === "category") s = i.getBandWidth(); 11476 else if (i.type === "value" || i.type === "time") { 11477 var l = i.dim + "_" + i.index, u = e[l], f = Math.abs(o[1] - o[0]), h = i.scale.getExtent(), v = Math.abs(h[1] - h[0]); 11478 s = u ? f / v * u : f; 11479 } else { 11480 var c = a.getData(); 11481 s = Math.abs(o[1] - o[0]) / c.count(); 11482 } 11483 var p = W(a.get("barWidth"), s), d = W(a.get("barMaxWidth"), s), g = W(a.get("barMinWidth") || (MD(a) ? 0.5 : 1), s), y = a.get("barGap"), m = a.get("barCategoryGap"); 11484 t.push({ bandWidth: s, barWidth: p, barMaxWidth: d, barMinWidth: g, barGap: y, barCategoryGap: m, axisKey: Vy(i), stackId: xD(a) }); 11485 }), TD(t); 11486} 11487function TD(r) { 11488 var e = {}; 11489 D(r, function(a, n) { 11490 var i = a.axisKey, o = a.bandWidth, s = e[i] || { bandWidth: o, remainedWidth: o, autoWidthCount: 0, categoryGap: null, gap: "20%", stacks: {} }, l = s.stacks; 11491 e[i] = s; 11492 var u = a.stackId; 11493 l[u] || s.autoWidthCount++, l[u] = l[u] || { width: 0, maxWidth: 0 }; 11494 var f = a.barWidth; 11495 f && !l[u].width && (l[u].width = f, f = Math.min(s.remainedWidth, f), s.remainedWidth -= f); 11496 var h = a.barMaxWidth; 11497 h && (l[u].maxWidth = h); 11498 var v = a.barMinWidth; 11499 v && (l[u].minWidth = v); 11500 var c = a.barGap; 11501 c != null && (s.gap = c); 11502 var p = a.barCategoryGap; 11503 p != null && (s.categoryGap = p); 11504 }); 11505 var t = {}; 11506 return D(e, function(a, n) { 11507 t[n] = {}; 11508 var i = a.stacks, o = a.bandWidth, s = a.categoryGap; 11509 if (s == null) { 11510 var l = _t(i).length; 11511 s = Math.max(35 - l * 4, 15) + "%"; 11512 } 11513 var u = W(s, o), f = W(a.gap, 1), h = a.remainedWidth, v = a.autoWidthCount, c = (h - u) / (v + (v - 1) * f); 11514 c = Math.max(c, 0), D(i, function(y) { 11515 var m = y.maxWidth, _ = y.minWidth; 11516 if (y.width) { 11517 var S = y.width; 11518 m && (S = Math.min(S, m)), _ && (S = Math.max(S, _)), y.width = S, h -= S + f * S, v--; 11519 } else { 11520 var S = c; 11521 m && m < S && (S = Math.min(m, h)), _ && _ > S && (S = _), S !== c && (y.width = S, h -= S + f * S, v--); 11522 } 11523 }), c = (h - u) / (v + (v - 1) * f), c = Math.max(c, 0); 11524 var p = 0, d; 11525 D(i, function(y, m) { 11526 y.width || (y.width = c), d = y, p += y.width * (1 + f); 11527 }), d && (p -= d.width * f); 11528 var g = -p / 2; 11529 D(i, function(y, m) { 11530 t[n][m] = t[n][m] || { bandWidth: o, offset: g, width: y.width }, g += y.width * (1 + f); 11531 }); 11532 }), t; 11533} 11534function YB(r, e, t) { 11535 if (r && e) { 11536 var a = r[Vy(e)]; 11537 return a; 11538 } 11539} 11540function CD(r, e) { 11541 var t = bD(r, e), a = wD(t); 11542 D(t, function(n) { 11543 var i = n.getData(), o = n.coordinateSystem, s = o.getBaseAxis(), l = xD(n), u = a[Vy(s)][l], f = u.offset, h = u.width; 11544 i.setLayout({ bandWidth: u.bandWidth, offset: f, size: h }); 11545 }); 11546} 11547function AD(r) { 11548 return { seriesType: r, plan: Go(), reset: function(e) { 11549 if (DD(e)) { 11550 var t = e.getData(), a = e.coordinateSystem, n = a.getBaseAxis(), i = a.getOtherAxis(n), o = t.getDimensionIndex(t.mapDimension(i.dim)), s = t.getDimensionIndex(t.mapDimension(n.dim)), l = e.get("showBackground", true), u = t.mapDimension(i.dim), f = t.getCalculationInfo("stackResultDimension"), h = xa(t, u) && !!t.getCalculationInfo("stackedOnSeries"), v = i.isHorizontal(), c = $B(n, i), p = MD(e), d = e.get("barMinHeight") || 0, g = f && t.getDimensionIndex(f), y = t.getLayout("size"), m = t.getLayout("offset"); 11551 return { progress: function(_, S) { 11552 for (var b = _.count, x = p && $r(b * 3), w = p && l && $r(b * 3), T = p && $r(b), C = a.master.getRect(), A = v ? C.width : C.height, M, I = S.getStore(), L = 0; (M = _.next()) != null; ) { 11553 var P = I.get(h ? g : o, M), R = I.get(s, M), E = c, O = void 0; 11554 h && (O = +P - I.get(o, M)); 11555 var k = void 0, B = void 0, F = void 0, H = void 0; 11556 if (v) { 11557 var U = a.dataToPoint([P, R]); 11558 if (h) { 11559 var K = a.dataToPoint([O, R]); 11560 E = K[0]; 11561 } 11562 k = E, B = U[1] + m, F = U[0] - E, H = y, Math.abs(F) < d && (F = (F < 0 ? -1 : 1) * d); 11563 } else { 11564 var U = a.dataToPoint([R, P]); 11565 if (h) { 11566 var K = a.dataToPoint([R, O]); 11567 E = K[1]; 11568 } 11569 k = U[0] + m, B = E, F = y, H = U[1] - E, Math.abs(H) < d && (H = (H <= 0 ? -1 : 1) * d); 11570 } 11571 p ? (x[L] = k, x[L + 1] = B, x[L + 2] = v ? F : H, w && (w[L] = v ? C.x : k, w[L + 1] = v ? B : C.y, w[L + 2] = A), T[M] = M) : S.setItemLayout(M, { x: k, y: B, width: F, height: H }), L += 3; 11572 } 11573 p && S.setLayout({ largePoints: x, largeDataIndices: T, largeBackgroun
11573dPoints: w, valueAxisHorizontal: v }); 11574 } }; 11575 } 11576 } }; 11577} 11578function DD(r) { 11579 return r.coordinateSystem && r.coordinateSystem.type === "cartesian2d"; 11580} 11581function MD(r) { 11582 return r.pipelineContext && r.pipelineContext.large; 11583} 11584function $B(r, e) { 11585 var t = e.model.get("startValue"); 11586 return t || (t = 0), e.toGlobalCoord(e.dataToCoord(e.type === "log" ? t > 0 ? t : 1 : t)); 11587} 11588var XB = function(r, e, t, a) { 11589 for (; t < a; ) { 11590 var n = t + a >>> 1; 11591 r[n][1] < e ? t = n + 1 : a = n; 11592 } 11593 return t; 11594}, Gy = function(r) { 11595 N(e, r); 11596 function e(t) { 11597 var a = r.call(this, t) || this; 11598 return a.type = "time", a; 11599 } 11600 return e.prototype.getLabel = function(t) { 11601 var a = this.getSetting("useUTC"); 11602 return Gl(t.value, g_[wk(ho(this._minLevelUnit))] || g_.second, a, this.getSetting("locale")); 11603 }, e.prototype.getFormattedLabel = function(t, a, n) { 11604 var i = this.getSetting("useUTC"), o = this.getSetting("locale"); 11605 return Tk(t, a, n, o, i); 11606 }, e.prototype.getTicks = function() { 11607 var t = this._interval, a = this._extent, n = []; 11608 if (!t) return n; 11609 n.push({ value: a[0], level: 0 }); 11610 var i = this.getSetting("useUTC"), o = tz(this._minLevelUnit, this._approxInterval, i, a); 11611 return n = n.concat(o), n.push({ value: a[1], level: 0 }), n; 11612 }, e.prototype.calcNiceExtent = function(t) { 11613 var a = this._extent; 11614 if (a[0] === a[1] && (a[0] -= lr, a[1] += lr), a[1] === -1 / 0 && a[0] === 1 / 0) { 11615 var n = /* @__PURE__ */ new Date(); 11616 a[1] = +new Date(n.getFullYear(), n.getMonth(), n.getDate()), a[0] = a[1] - lr; 11617 } 11618 this.calcNiceTicks(t.splitNumber, t.minInterval, t.maxInterval); 11619 }, e.prototype.calcNiceTicks = function(t, a, n) { 11620 t = t || 10; 11621 var i = this._extent, o = i[1] - i[0]; 11622 this._approxInterval = o / t, a != null && this._approxInterval < a && (this._approxInterval = a), n != null && this._approxInterval > n && (this._approxInterval = n); 11623 var s = Au.length, l = Math.min(XB(Au, this._approxInterval, 0, s), s - 1); 11624 this._interval = Au[l][1], this._minLevelUnit = Au[Math.max(l - 1, 0)][0]; 11625 }, e.prototype.parse = function(t) { 11626 return wt(t) ? t : +Ke(t); 11627 }, e.prototype.contain = function(t) { 11628 return Kh(this.parse(t), this._extent); 11629 }, e.prototype.normalize = function(t) { 11630 return jh(this.parse(t), this._extent); 11631 }, e.prototype.scale = function(t) { 11632 return Jh(t, this._extent); 11633 }, e.type = "time", e; 11634}(ba), Au = [["second", hy], ["minute", vy], ["hour", $s], ["quarter-day", $s * 6], ["half-day", $s * 12], ["day", lr * 1.2], ["half-week", lr * 3.5], ["week", lr * 7], ["month", lr * 31], ["quarter", lr * 95], ["half-year", d_ / 2], ["year", d_]]; 11635function ZB(r, e, t, a) { 11636 var n = Ke(e), i = Ke(t), o = function(p) { 11637 return y_(n, p, a) === y_(i, p, a); 11638 }, s = function() { 11639 return o("year"); 11640 }, l = function() { 11641 return s() && o("month"); 11642 }, u = function() { 11643 return l() && o("day"); 11644 }, f = function() { 11645 return u() && o("hour"); 11646 }, h = function() { 11647 return f() && o("minute"); 11648 }, v = function() { 11649 return h() && o("second"); 11650 }, c = function() { 11651 return v() && o("millisecond"); 11652 }; 11653 switch (r) { 11654 case "year": 11655 return s(); 11656 case "month": 11657 return l(); 11658 case "day": 11659 return u(); 11660 case "hour": 11661 return f(); 11662 case "minute": 11663 return h(); 11664 case "second": 11665 return v(); 11666 case "millisecond": 11667 return c(); 11668 } 11669} 11670function qB(r, e) { 11671 return r /= lr, r > 16 ? 16 : r > 7.5 ? 7 : r > 3.5 ? 4 : r > 1.5 ? 2 : 1; 11672} 11673function KB(r) { 11674 var e = 30 * lr; 11675 return r /= e, r > 6 ? 6 : r > 3 ? 3 : r > 2 ? 2 : 1; 11676} 11677function jB(r) { 11678 return r /= $s, r > 12 ? 12 : r > 6 ? 6 : r > 3.5 ? 4 : r > 2 ? 2 : 1; 11679} 11680function A1(r, e) { 11681 return r /= e ? vy : hy, r > 30 ? 30 : r > 20 ? 20 : r > 15 ? 15 : r > 10 ? 10 : r > 5 ? 5 : r > 2 ? 2 : 1; 11682} 11683function JB(r) { 11684 return Wg(r, true); 11685} 11686function QB(r, e, t) { 11687 var a = new Date(r); 11688 switch (ho(e)) { 11689 case "year": 11690 case "month": 11691 a[YC(t)](0); 11692 case "day": 11693 a[$C(t)](1); 11694 case "hour": 11695 a[XC(t)](0); 11696 case "minute": 11697 a[ZC(t)](0); 11698 case "second": 11699 a[qC(t)](0), a[KC(t)](0); 11700 } 11701 return a.getTime(); 11702} 11703function tz(r, e, t, a) { 11704 var n = 1e4, i = WC, o = 0; 11705 function s(A, M, I, L, P, R, E) { 11706 for (var O = new Date(M), k = M, B = O[L](); k < I && k <= a[1]; ) E.push({ value: k }), B += A, O[P](B), k = O.getTime(); 11707 E.push({ value: k, notAdd: true }); 11708 } 11709 function l(A, M, I) { 11710 var L = [], P = !M.length; 11711 if (!ZB(ho(A), a[0], a[1], t)) { 11712 P && (M = [{ value: QB(new Date(a[0]), A, t) }, { value: a[1] }]); 11713 for (var R = 0; R < M.length - 1; R++) { 11714 var E = M[R].value, O = M[R + 1].value; 11715 if (E !== O) { 11716 var k = void 0, B = void 0, F = void 0, H = false;
11717 switch (A) { 11718 case "year": 11719 k = Math.max(1, Math.round(e / lr / 365)), B = cy(t), F = Ck(t); 11720 break; 11721 case "half-year": 11722 case "quarter": 11723 case "month": 11724 k = KB(e), B = vo(t), F = YC(t); 11725 break; 11726 case "week": 11727 case "half-week": 11728 case "day": 11729 k = qB(e), B = Vh(t), F = $C(t), H = true; 11730 break; 11731 case "half-day": 11732 case "quarter-day": 11733 case "hour": 11734 k = jB(e), B = fl(t), F = XC(t); 11735 break; 11736 case "minute": 11737 k = A1(e, true), B = Gh(t), F = ZC(t); 11738 break; 11739 case "second": 11740 k = A1(e, false), B = Fh(t), F = qC(t); 11741 break; 11742 case "millisecond": 11743 k = JB(e), B = Hh(t), F = KC(t); 11744 break; 11745 } 11746 s(k, E, O, B, F, H, L), A === "year" && I.length > 1 && R === 0 && I.unshift({ value: I[0].value - k }); 11747 } 11748 } 11749 for (var R = 0; R < L.length; R++) I.push(L[R]); 11750 return L; 11751 } 11752 } 11753 for (var u = [], f = [], h = 0, v = 0, c = 0; c < i.length && o++ < n; ++c) { 11754 var p = ho(i[c]); 11755 if (bk(i[c])) { 11756 l(i[c], u[u.length - 1] || [], f); 11757 var d = i[c + 1] ? ho(i[c + 1]) : null; 11758 if (p !== d) { 11759 if (f.length) { 11760 v = h, f.sort(function(A, M) { 11761 return A.value - M.value; 11762 }); 11763 for (var g = [], y = 0; y < f.length; ++y) { 11764 var m = f[y].value; 11765 (y === 0 || f[y - 1].value !== m) && (g.push(f[y]), m >= a[0] && m <= a[1] && h++); 11766 } 11767 var _ = (a[1] - a[0]) / e; 11768 if (h > _ * 1.5 && v > _ / 1.5 || (u.push(g), h > _ || r === i[c])) break; 11769 } 11770 f = []; 11771 } 11772 } 11773 } 11774 for (var S = Ct(G(u, function(A) { 11775 return Ct(A, function(M) { 11776 return M.value >= a[0] && M.value <= a[1] && !M.notAdd; 11777 }); 11778 }), function(A) { 11779 return A.length > 0; 11780 }), b = [], x = S.length - 1, c = 0; c < S.length; ++c) for (var w = S[c], T = 0; T < w.length; ++T) b.push({ value: w[T].value, level: x - c }); 11781 b.sort(function(A, M) { 11782 return A.value - M.value; 11783 }); 11784 for (var C = [], c = 0; c < b.length; ++c) (c === 0 || b[c].value !== b[c - 1].value) && C.push(b[c]); 11785 return C; 11786} 11787na.registerClass(Gy); 11788var D1 = na.prototype, qs = ba.prototype, ez = Ut, rz = Math.floor, az = Math.ceil, Du = Math.pow, _r = Math.log, Fy = function(r) { 11789 N(e, r); 11790 function e() { 11791 var t = r !== null && r.apply(this, arguments) || this; 11792 return t.type = "log", t.base = 10, t._originalScale = new ba(), t._interval = 0, t; 11793 } 11794 return e.prototype.getTicks = function(t) { 11795 var a = this._originalScale, n = this._extent, i = a.getExtent(), o = qs.getTicks.call(this, t); 11796 return G(o, function(s) { 11797 var l = s.value, u = Ut(Du(this.base, l)); 11798 return u = l === n[0] && this._fixMin ? Mu(u, i[0]) : u, u = l === n[1] && this._fixMax ? Mu(u, i[1]) : u, { value: u }; 11799 }, this); 11800 }, e.prototype.setExtent = function(t, a) { 11801 var n = _r(this.base); 11802 t = _r(Math.max(0, t)) / n, a = _r(Math.max(0, a)) / n, qs.setExtent.call(this, t, a); 11803 }, e.prototype.getExtent = function() { 11804 var t = this.base, a = D1.getExtent.call(this); 11805 a[0] = Du(t, a[0]), a[1] = Du(t, a[1]); 11806 var n = this._originalScale, i = n.getExtent(); 11807 return this._fixMin && (a[0] = Mu(a[0], i[0])), this._fixMax && (a[1] = Mu(a[1], i[1])), a; 11808 }, e.prototype.unionExtent = function(t) { 11809 this._originalScale.unionExtent(t); 11810 var a = this.base; 11811 t[0] = _r(t[0]) / _r(a), t[1] = _r(t[1]) / _r(a), D1.unionExtent.call(this, t); 11812 }, e.prototype.unionExtentFromData = function(t, a) { 11813 this.unionExtent(t.getApproximateExtent(a)); 11814 }, e.prototype.calcNiceTicks = function(t) { 11815 t = t || 10; 11816 var a = this._extent, n = a[1] - a[0]; 11817 if (!(n === 1 / 0 || n <= 0)) { 11818 var i = $T(n), o = t / n * i; 11819 for (o <= 0.5 && (i *= 10); !isNaN(i) && Math.abs(i) < 1 && Math.abs(i) > 0; ) i *= 10; 11820 var s = [Ut(az(a[0] / i) * i), Ut(rz(a[1] / i) * i)]; 11821 this._interval = i, this._niceExtent = s; 11822 } 11823 }, e.prototype.calcNiceExtent = function(t) { 11824 qs.calcNiceExtent.call(this, t), this._fixMin = t.fixMin, this._fixMax = t.fixMax; 11825 }, e.prototype.parse = function(t) { 11826 return t; 11827 }, e.prototype.contain = function(t) { 11828 return t = _r(t) / _r(this.base), Kh(t, this._extent); 11829 }, e.prototype.normalize = function(t) { 11830 return t = _r(t) / _r(this.base), jh(t, this._extent); 11831 }, e.prototype.scale = function(t) { 11832 return t = Jh(t, this._extent), Du(this.base, t); 11833 }, e.type = "log", e; 11834}(na), ID = Fy.prototype; 11835ID.getMinorTicks = qs.getMinorTicks; 11836ID.getLabel = qs.getLabel; 11837function Mu(r, e) { 11838 return ez(r, Tr(e)); 11839} 11840na.registerClass(Fy); 11841var nz = function() { 11842 function r(e, t, a) { 11843 this._prepareParams(e, t, a); 11844 } 11845 return r.prototype._prepareParams = function(e, t, a) { 11846 a[1] < a[0] && (a = [NaN, NaN]), this._dataMin = a[0], this._dataMax = a[1]; 11847 var n = this._isOrdinal = e.type === "ordinal"; 11848 this._needCrossZero = e.type === "interval" && t.getNeedCrossZero && t.getNeedCrossZero(); 11849 var i = t.get("min", true); 11850 i == null && (i = t.get("startValue", true)); 11851 var o = this._modelMinRaw = i; 11852 j(o) ? this._modelMinNum = Iu(e, o({ min: a[0], max: a[1] })) : o !== "dataMin" && (this._modelMinNum = Iu(e, o)); 11853 var s = this._modelMaxRaw = t.get("max", true); 11854 if (j(s) ? this._modelMaxNum = Iu(e, s({ min: a[0], max: a[1] })) : s !== "dataMax" && (this._modelMaxNum = Iu(e, s)), n) this._axisDataLen = t.getCategories().length; 11855 else { 11856 var l = t.get("boundaryGap"), u = V(l) ? l : [l || 0, l || 0]; 11857 typeof u[0] == "boolean" || typeof u[1] == "boolean" ? this._boundaryGapInner = [0, 0] : this._boundaryGapInner = [Rr(u[0], 1), Rr(u[1], 1)]; 11858 } 11859 }, r.prototype.calculate = function() { 11860 var e = this._isOrdinal, t = this._dataMin, a = this._dataMax, n = this._axisDataLen, i = this._boundaryGapInner, o = e ? null : a - t || Math.abs(t), s = this._modelMinRaw === "dataMin" ? t : this._modelMinNum, l = this._modelMaxRaw === "dataMax" ? a : this._modelMaxNum, u = s != null, f = l != null; 11861 s == null && (s = e ? n ? 0 : NaN : t - i[0] * o), l == null && (l = e ? n ? n - 1 : NaN : a + i[1] * o), (s == null || !isFinite(s)) && (s = NaN), (l == null || !isFinite(l)) && (l = NaN); 11862 var h = po(s) || po(l) || e && !n; 11863 this._needCrossZero && (s > 0 && l > 0 && !u && (s = 0), s < 0 && l < 0 && !f && (l = 0)); 11864 var v = this._determinedMin, c = this._determinedMax; 11865 return v != null && (s = v, u = true), c != null && (l = c, f = true), { min: s, max: l, minFixed: u, maxFixed: f, isBlank: h }; 11866 }, r.prototype.modifyDataMinMax = function(e, t) { 11867 this[oz[e]] = t; 11868 }, r.prototype.setDeterminedMinMax = function(e, t) { 11869 var a = iz[e]; 11870 this[a] = t; 11871 }, r.prototype.freeze = function() { 11872 this.frozen = true; 11873 }, r; 11874}(), iz = { min: "_determinedMin", max: "_determinedMax" }, oz = { min: "_dataMin", max: "_dataMax" }; 11875function LD(r, e, t) { 11876 var a = r.rawExtentInfo; 11877 return a || (a = new nz(r, e, t), r.rawExtentInfo = a, a); 11878} 11879function Iu(r, e) { 11880 return e == null ? null : po(e) ? NaN : r.parse(e); 11881} 11882function PD(r, e) {
11883 var t = r.type, a = LD(r, e, r.getExtent()).calculate(); 11884 r.setBlank(a.isBlank); 11885 var n = a.min, i = a.max, o = e.ecModel; 11886 if (o && t === "time") { 11887 var s = bD("bar", o), l = false; 11888 if (D(s, function(h) { 11889 l = l || h.getBaseAxis() === e.axis; 11890 }), l) { 11891 var u = wD(s), f = sz(n, i, e, u); 11892 n = f.min, i = f.max; 11893 } 11894 } 11895 return { extent: [n, i], fixMin: a.minFixed, fixMax: a.maxFixed }; 11896} 11897function sz(r, e, t, a) { 11898 var n = t.axis.getExtent(), i = Math.abs(n[1] - n[0]), o = YB(a, t.axis); 11899 if (o === void 0) return { min: r, max: e }; 11900 var s = 1 / 0; 11901 D(o, function(c) { 11902 s = Math.min(c.offset, s); 11903 }); 11904 var l = -1 / 0; 11905 D(o, function(c) { 11906 l = Math.max(c.offset + c.width, l); 11907 }), s = Math.abs(s), l = Math.abs(l); 11908 var u = s + l, f = e - r, h = 1 - (s + l) / i, v = f / h - f; 11909 return e += v * (l / u), r -= v * (s / u), { min: r, max: e }; 11910} 11911function di(r, e) { 11912 var t = e, a = PD(r, t), n = a.extent, i = t.get("splitNumber"); 11913 r instanceof Fy && (r.base = t.get("logBase")); 11914 var o = r.type, s = t.get("interval"), l = o === "interval" || o === "time"; 11915 r.setExtent(n[0], n[1]), r.calcNiceExtent({ splitNumber: i, fixMin: a.fixMin, fixMax: a.fixMax, minInterval: l ? t.get("minInterval") : null, maxInterval: l ? t.get("maxInterval") : null }), s != null && r.setInterval && r.setInterval(s); 11916} 11917function Hl(r, e) { 11918 if (e = e || r.get("type"), e) switch (e) { 11919 case "category": 11920 return new Qh({ ordinalMeta: r.getOrdinalMeta ? r.getOrdinalMeta() : r.getCategories(), extent: [1 / 0, -1 / 0] }); 11921 case "time": 11922 return new Gy({ locale: r.ecModel.getLocaleModel(), useUTC: r.ecModel.get("useUTC") }); 11923 default: 11924 return new (na.getClass(e) || ba)(); 11925 } 11926} 11927function lz(r) { 11928 var e = r.scale.getExtent(), t = e[0], a = e[1]; 11929 return !(t > 0 && a > 0 || t < 0 && a < 0); 11930} 11931function Uo(r) { 11932 var e = r.getLabelModel().get("formatter"), t = r.type === "category" ? r.scale.getExtent()[0] : null; 11933 return r.scale.type === "time" ? /* @__PURE__ */ function(a) { 11934 return function(n, i) { 11935 return r.scale.getFormattedLabel(n, i, a); 11936 }; 11937 }(e) : Y(e) ? /* @__PURE__ */ function(a) { 11938 return function(n) { 11939 var i = r.scale.getLabel(n), o = a.replace("{value}", i ?? ""); 11940 return o; 11941 }; 11942 }(e) : j(e) ? /* @__PURE__ */ function(a) { 11943 return function(n, i) { 11944 return t != null && (i = n.value - t), a(Hy(r, n), i, n.level != null ? { level: n.level } : null); 11945 }; 11946 }(e) : function(a) { 11947 return r.scale.getLabel(a); 11948 }; 11949} 11950function Hy(r, e) { 11951 return r.type === "category" ? r.scale.getLabel(e) : e.value; 11952} 11953function uz(r) { 11954 var e = r.model, t = r.scale; 11955 if (!(!e.get(["axisLabel", "show"]) || t.isBlank())) { 11956 var a, n, i = t.getExtent(); 11957 t instanceof Qh ? n = t.count() : (a = t.getTicks(), n = a.length); 11958 var o = r.getLabelModel(), s = Uo(r), l, u = 1; 11959 n > 40 && (u = Math.ceil(n / 40)); 11960 for (var f = 0; f < n; f += u) { 11961 var h = a ? a[f] : { value: i[0] + f }, v = s(h, f), c = o.getTextRect(v), p = fz(c, o.get("rotate") || 0); 11962 l ? l.union(p) : l = p; 11963 } 11964 return l; 11965 } 11966} 11967function fz(r, e) { 11968 var t = e * Math.PI / 180, a = r.width, n = r.height, i = a * Math.abs(Math.cos(t)) + Math.abs(n * Math.sin(t)), o = a * Math.abs(Math.sin(t)) + Math.abs(n * Math.cos(t)), s = new ht(r.x, r.y, i, o); 11969 return s; 11970} 11971function Wy(r) { 11972 var e = r.get("interval"); 11973 return e ?? "auto"; 11974} 11975function RD(r) { 11976 return r.type === "category" && Wy(r.getLabelModel()) === 0; 11977} 11978function qf(r, e) { 11979 var t = {}; 11980 return D(r.mapDimensionsAll(e), function(a) { 11981 t[zy(r, a)] = true; 11982 }), _t(t); 11983} 11984function hz(r, e, t) { 11985 e && D(qf(e, t), function(a) { 11986 var n = e.getApproximateExtent(a); 11987 n[0] < r[0] && (r[0] = n[0]), n[1] > r[1] && (r[1] = n[1]); 11988 }); 11989} 11990var Yo = function() { 11991 function r() { 11992 } 11993 return r.prototype.getNeedCrossZero = function() { 11994 var e = this.option; 11995 return !e.scale; 11996 }, r.prototype.getCoordSysModel = function() { 11997 }, r; 11998}(); 11999function vz(r) { 12000 return aa(null, r); 12001} 12002var cz = { isDimensionStacked: xa, enableDataStack: mD, getStackedDimension: zy }; 12003function pz(r, e) { 12004 var t = e; 12005 e instanceof At || (t = new At(e)); 12006 var a = Hl(t); 12007 return a.setExtent(r[0], r[1]), di(a, t), a; 12008} 12009function dz(r) { 12010 Xt(r, Yo); 12011} 12012function gz(r, e) { 12013 return e = e || {}
12013, Nt(r, null, null, e.state !== "normal"); 12014} 12015const yz = Object.freeze(Object.defineProperty({ __proto__: null, createDimensions: AB, createList: vz, createScale: pz, createSymbol: qt, createTextStyle: gz, dataStack: cz, enableHoverEmphasis: Za, getECData: it, getLayoutRect: Qt, mixinAxisModelCommonMethods: dz }, Symbol.toStringTag, { value: "Module" })); 12016var mz = 1e-8; 12017function M1(r, e) { 12018 return Math.abs(r - e) < mz; 12019} 12020function Wn(r, e, t) { 12021 var a = 0, n = r[0]; 12022 if (!n) return false; 12023 for (var i = 1; i < r.length; i++) { 12024 var o = r[i]; 12025 a += ua(n[0], n[1], o[0], o[1], e, t), n = o; 12026 } 12027 var s = r[0]; 12028 return (!M1(n[0], s[0]) || !M1(n[1], s[1])) && (a += ua(n[0], n[1], s[0], s[1], e, t)), a !== 0; 12029} 12030var _z = []; 12031function gc(r, e) { 12032 for (var t = 0; t < r.length; t++) he(r[t], r[t], e); 12033} 12034function I1(r, e, t, a) { 12035 for (var n = 0; n < r.length; n++) { 12036 var i = r[n]; 12037 a && (i = a.project(i)), i && isFinite(i[0]) && isFinite(i[1]) && (ha(e, e, i), va(t, t, i)); 12038 } 12039} 12040function Sz(r) { 12041 for (var e = 0, t = 0, a = 0, n = r.length, i = r[n - 1][0], o = r[n - 1][1], s = 0; s < n; s++) { 12042 var l = r[s][0], u = r[s][1], f = i * u - l * o;
12043 e += f, t += (i + l) * f, a += (o + u) * f, i = l, o = u; 12044 } 12045 return e ? [t / e / 3, a / e / 3, e] : [r[0][0] || 0, r[0][1] || 0]; 12046} 12047var ED = function() { 12048 function r(e) { 12049 this.name = e; 12050 } 12051 return r.prototype.setCenter = function(e) { 12052 this._center = e; 12053 }, r.prototype.getCenter = function() { 12054 var e = this._center; 12055 return e || (e = this._center = this.calcCenter()), e; 12056 }, r; 12057}(), L1 = /* @__PURE__ */ function() { 12058 function r(e, t) { 12059 this.type = "polygon", this.exterior = e, this.interiors = t; 12060 } 12061 return r; 12062}(), P1 = /* @__PURE__ */ function() { 12063 function r(e) { 12064 this.type = "linestring", this.points = e; 12065 } 12066 return r; 12067}(), kD = function(r) { 12068 N(e, r); 12069 function e(t, a, n) { 12070 var i = r.call(this, t) || this; 12071 return i.type = "geoJSON", i.geometries = a, i._center = n && [n[0], n[1]], i; 12072 } 12073 return e.prototype.calcCenter = function() { 12074 for (var t = this.geometries, a, n = 0, i = 0; i < t.length; i++) { 12075 var o = t[i], s = o.exterior, l = s && s.length; 12076 l > n && (a = o, n = l); 12077 } 12078 if (a) return Sz(a.exterior); 12079 var u = this.getBoundingRect(); 12080 return [u.x + u.width / 2, u.y + u.height / 2]; 12081 }, e.prototype.getBoundingRect = function(t) { 12082 var a = this._rect; 12083 if (a && !t) return a; 12084 var n = [1 / 0, 1 / 0], i = [-1 / 0, -1 / 0], o = this.geometries; 12085 return D(o, function(s) { 12086 s.type === "polygon" ? I1(s.exterior, n, i, t) : D(s.points, function(l) { 12087 I1(l, n, i, t); 12088 }); 12089 }), isFinite(n[0]) && isFinite(n[1]) && isFinite(i[0]) && isFinite(i[1]) || (n[0] = n[
120891] = i[0] = i[1] = 0), a = new ht(n[0], n[1], i[0] - n[0], i[1] - n[1]), t || (this._rect = a), a; 12090 }, e.prototype.contain = function(t) { 12091 var a = this.getBoundingRect(), n = this.geometries; 12092 if (!a.contain(t[0], t[1])) return false; 12093 t: for (var i = 0, o = n.length; i < o; i++) { 12094 var s = n[i]; 12095 if (s.type === "polygon") { 12096 var l = s.exterior, u = s.interiors; 12097 if (Wn(l, t[0], t[1])) { 12098 for (var f = 0; f < (u ? u.length : 0); f++) if (Wn(u[f], t[0], t[1])) continue t; 12099 return true; 12100 } 12101 } 12102 } 12103 return false; 12104 }, e.prototype.transformTo = function(t, a, n, i) { 12105 var o = this.getBoundingRect(), s = o.width / o.height; 12106 n ? i || (i = n / s) : n = s * i; 12107 for (var l = new ht(t, a, n, i), u = o.calculateTransform(l), f = this.geometries, h = 0; h < f.length; h++) { 12108 var v = f[h]; 12109 v.type === "polygon" ? (gc(v.exterior, u), D(v.interiors, function(c) { 12110 gc(c, u); 12111 })) : D(v.points, function(c) { 12112 gc(c, u); 12113 }); 12114 } 12115 o = this._rect, o.copy(l), this._center = [o.x + o.width / 2, o.y + o.height / 2]; 12116 }, e.prototype.cloneShallow = function(t) { 12117 t == null && (t = this.name); 12118 var a = new e(t, this.geometries, this._center); 12119 return a._rect = this._rect, a.transformTo = null, a; 12120 }, e; 12121}(ED), xz = function(r) { 12122 N(e, r); 12123 function e(t, a) { 12124 var n = r.call(this, t) || this; 12125 return n.type = "geoSVG", n._elOnlyForCalculate = a, n; 12126 } 12127 return e.prototype.calcCenter = function() { 12128 for (var t = this._elOnlyForCalculate, a = t.getBoundingRect(), n = [a.x + a.width / 2, a.y + a.height / 2], i = Pl(_z), o = t; o && !o.isGeoSVGGraphicRoot; ) qr(i, o.getLocalTransform(), i), o = o.parent; 12129 return _i(i, i), he(n, n, i), n; 12130 }, e; 12131}(ED); 12132function bz(r) { 12133 if (!r.UTF8Encoding) return r; 12134 var e = r, t = e.UTF8Scale; 12135 t == null && (t = 1024); 12136 var a = e.features; 12137 return D(a, function(n) { 12138 var i = n.geometry, o = i.encodeOffsets, s = i.coordinates; 12139 if (o) switch (i.type) { 12140 case "LineString": 12141 i.coordinates = OD(s, o, t); 12142 break; 12143 case "Polygon": 12144 yc(s, o, t); 12145 break; 12146 case "MultiLineString": 12147 yc(s, o, t); 12148 break; 12149 case "MultiPolygon": 12150 D(s, function(l, u) { 12151 return yc(l, o[u], t); 12152 }); 12153 } 12154 }), e.UTF8Encoding = false, e; 12155} 12156function yc(r, e, t) { 12157 for (var a = 0; a < r.length; a++) r[a] = OD(r[a], e[a], t); 12158} 12159function OD(r, e, t) { 12160 for (var a = [], n = e[0], i = e[1], o = 0; o < r.length; o += 2) { 12161 var s = r.charCodeAt(o) - 64, l = r.charCodeAt(o + 1) - 64; 12162 s = s >> 1 ^ -(s & 1), l = l >> 1 ^ -(l & 1), s += n, l += i, n = s, i = l, a.push([s / t, l / t]); 12163 } 12164 return a; 12165} 12166function Nd(r, e) { 12167 return r = bz(r), G(Ct(r.features, function(t) { 12168 return t.geometry && t.properties && t.geometry.coordinates.length > 0; 12169 }), function(t) { 12170 var a = t.properties, n = t.geometry, i = []; 12171 switch (n.type) { 12172 case "Polygon": 12173 var o = n.coordinates; 12174 i.push(new L1(o[0], o.slice(1))); 12175 break; 12176 case "MultiPolygon": 12177 D(n.coordinates, function(l) { 12178 l[0] && i.push(new L1(l[0], l.slice(1))); 12179 }); 12180 break; 12181 case "LineString": 12182 i.push(new P1([n.coordinates])); 12183 break; 12184 case "MultiLineString": 12185 i.push(new P1(n.coordinates)); 12186 } 12187 var s = new kD(a[e || "name"], i, a.cp); 12188 return s.properties = a, s; 12189 }); 12190} 12191const wz = Object.freeze(Object.defineProperty({ __proto__: null, MAX_SAFE_INTEGER: nd, asc: Xe, getPercentWithPrecision: nR, getPixelPrecision: Fg, getPrecision: Tr, getPrecisionSafe: UT, isNumeric: Ug, isRadianAroundZero: yo, linearMap: Dt, nice: Wg, numericToNumber: Qr, parseDate: Ke, quantile: of, quantity: $T, quantityExponent: Mh, reformIntervals: id, remRadian: Hg, round: Ut }, Symbol.toStringTag, { value: "Module" })), Tz = Object.freeze(Object.defineProperty({ __proto__: null, format: Gl, parse: Ke }, Symbol.toStringTag, { value: "Module" })), Cz = Object.freeze(Object.defineProperty({ __proto__: null, Arc: Bl, BezierCurve: Po, BoundingRect: ht, Circle: ea, CompoundPath: Oh, Ellipse: Nl, Group: at, Image: ue, IncrementalDis
12191playable: LC, Line: ee, LinearGradient: Ro, Polygon: Ce, Polyline: De, RadialGradient: ry, Rect: xt, Ring: Lo, Sector: Te, Text: St, clipPointsByRect: oy, clipRectByRect: OC, createIcon: ko, extendPath: EC, extendShape: RC, getShapeClass: Nh, getTransform: qa, initProps: Gt, makeImage: ny, makePath: zl, mergePath: $e, registerShape: pr, resizePath: iy, updateProps: Tt }, Symbol.toStringTag, { value: "Module" })), Az = Object.freeze(Object.defineProperty({ __proto__: null, addCommas: py, capitalFirst: Ik, encodeHTML: xe, formatTime: Mk, formatTpl: gy, getTextRect: Ak, getTooltipMarker: jC, normalizeCssArray: bi, toCamelCase: dy, truncateText: kR }, Symbol.toStringTag, { value: "Module" })), Dz = Object.freeze(Object.defineProperty({ __proto__: null, bind: $, clone: rt, curry: lt, defaults: Q, each: D, extend: z, filter: Ct, indexOf: vt, inherits: Eg, isArray: V, isFunction: j, isObject: tt, isString: Y, map: G, merge: ut, reduce: hr }, Symbol.toStringTag, { value: "Module" })); 12192var gl = bt(); 12193function ND(r, e) { 12194 var t = G(e, function(a) { 12195 return r.scale.parse(a); 12196 }); 12197 return r.type === "time" && t.length > 0 && (t.sort(), t.unshift(t[0]), t.push(t[t.length - 1])), t; 12198} 12199function Mz(r) { 12200 var e = r.getLabelModel().get("customValues"); 12201 if (e) { 12202 var t = Uo(r), a = r.scale.getExtent(), n = ND(r, e), i = Ct(n, function(o) { 12203 return o >= a[0] && o <= a[1]; 12204 }); 12205 return { labels: G(i, function(o) { 12206 var s = { value: o }; 12207 return { formattedLabel: t(s), rawLabel: r.scale.getLabel(s), tickValue: o }; 12208 }) }; 12209 } 12210 return r.type === "category" ? Lz(r) : Rz(r); 12211} 12212function Iz(r, e) { 12213 var t = r.getTickModel().get("customValues"); 12214 if (t) { 12215 var a = r.scale.getExtent(), n = ND(r, t); 12216 return { ticks: Ct(n, function(i) { 12217 return i >= a[0] && i <= a[1]; 12218 }) }; 12219 } 12220 return r.type === "category" ? Pz(r, e) : { ticks: G(r.scale.getTicks(), function(i) { 12221 return i.value; 12222 }) }; 12223} 12224function Lz(r) { 12225 var e = r.getLabelModel(), t = BD(r, e); 12226 return !e.get("show") || r.scale.isBlank() ? { labels: [], labelCategoryInterval: t.labelCategoryInterval } : t; 12227} 12228function BD(r, e) { 12229 var t = zD(r, "labels"), a = Wy(e), n = VD(t, a); 12230 if (n) return n; 12231 var i, o; 12232 return j(a) ? i = HD(r, a) : (o = a === "auto" ? Ez(r) : a, i = FD(r, o)), GD(t, a, { labels: i, labelCategoryInterval: o }); 12233} 12234function Pz(r, e) { 12235 var t = zD(r, "ticks"), a = Wy(e), n = VD(t, a); 12236 if (n) return n; 12237 var i, o; 12238 if ((!e.get("show") || r.scale.isBlank()) && (i = []), j(a)) i = HD(r, a, true); 12239 else if (a === "auto") { 12240 var s = BD(r, r.getLabelModel()); 12241 o = s.labelCategoryInterval, i = G(s.labels, function(l) { 12242 return l.tickValue; 12243 }); 12244 } else o = a, i = FD(r, o, true); 12245 return GD(t, a, { ticks: i, tickCategoryInterval: o }); 12246} 12247function Rz(r) { 12248 var e = r.scale.getTicks(), t = Uo(r); 12249 return { labels: G(e, function(a, n) { 12250 return { level: a.level, formattedLabel: t(a, n), rawLabel: r.scale.getLabel(a), tickValue: a.value }; 12251 }) }; 12252} 12253function zD(r, e) { 12254 return gl(r)[e] || (gl(r)[e] = []); 12255} 12256function VD(r, e) { 12257 for (var t = 0; t < r.length; t++) if (r[t].key === e) return r[t].value; 12258} 12259function GD(r, e, t) { 12260 return r.push({ key: e, value: t }), t; 12261} 12262function Ez(r) { 12263 var e = gl(r).autoInterval; 12264 return e ?? (gl(r).autoInterval = r.calculateCategoryInterval()); 12265} 12266function kz(r) { 12267 var e = Oz(r), t = Uo(r), a = (e.axisRotate - e.labelRotate) / 180 * Math.PI, n = r.scale, i = n.getExtent(), o = n.count(); 12268 if (i[1] - i[0] < 1) return 0; 12269 var s = 1; 12270 o > 40 && (s = Math.max(1, Math.floor(o / 40))); 12271 for (var l = i[0], u = r.dataToCoord(l + 1) - r.dataToCoord(l), f = Math.abs(u * Math.cos(a)), h = Math.abs(u * Math.sin(a)), v = 0, c = 0; l <= i[1]; l += s) { 12272 var p = 0, d = 0, g = El(t({ value: l }), e.font, "center", "top"); 12273 p = g.width * 1.3, d = g.height * 1.3, v = Math.max(v, p, 7), c = Math.max(c, d, 7); 12274 } 12275 var y = v / f, m = c / h; 12276 isNaN(y) && (y = 1 / 0), isNaN(m) && (m = 1 / 0); 12277 var _ = Math.max(0, Math.floor(Math.min(y, m))), S = gl(r.model), b = r.getExtent(), x = S.lastAutoInterval, w = S.lastTickCount; 12278 return x != null && w != null && Math.abs(x - _) <= 1 && Math.abs(w - o) <= 1 && x > _ && S.axisExtent0 === b[0] && S.axisExtent1 === b[1] ? _ = x : (S.lastTickCount = o, S.lastAutoInterval = _, S.axisExtent0 = b[0], S.axisExtent1 = b[1]), _; 12279} 12280function Oz(r) { 12281 var e = r.getLabelModel(); 12282 return { axisRotate: r.getRotate ? r.getRotate() : r.isHorizontal && !r.isHorizontal() ? 90 : 0, labelRotate: e.get("rotate") || 0, font: e.getFont() }; 12283} 12284function FD(r, e, t) { 12285 var a = Uo(r), n = r.scale, i = n.getExtent(), o = r.getLabelModel(), s = [], l = Math.max((e || 0) + 1, 1), u = i[0], f = n.count(); 12286 u !== 0 && l > 1 && f / l > 2 && (u = Math.round(Math.ceil(u / l) * l));
12287 var h = RD(r), v = o.get("showMinLabel") || h, c = o.get("showMaxLabel") || h; 12288 v && u !== i[0] && d(i[0]); 12289 for (var p = u; p <= i[1]; p += l) d(p); 12290 c && p - l !== i[1] && d(i[1]); 12291 function d(g) { 12292 var y = { value: g }; 12293 s.push(t ? g : { formattedLabel: a(y), rawLabel: n.getLabel(y), tickValue: g }); 12294 } 12295 return s; 12296} 12297function HD(r, e, t) { 12298 var a = r.scale, n = Uo(r), i = []; 12299 return D(a.getTicks(), function(o) { 12300 var s = a.getLabel(o), l = o.value; 12301 e(o.value, s) && i.push(t ? l : { formattedLabel: n(o), rawLabel: s, tickValue: l }); 12302 }), i; 12303} 12304var R1 = [0, 1], yr = function() { 12305 function r(e, t, a) { 12306 this.onBand = false, this.inverse = false, this.dim = e, this.scale = t, this._extent = a || [0, 0]; 12307 } 12308 return r.prototype.contain = function(e) { 12309 var t = this._extent, a = Math.min(t[0], t[1]), n = Math.max(t[0], t[1]); 12310 return e >= a && e <= n; 12311 }, r.prototype.containData = function(e) { 12312 return this.scale.contain(e); 12313 }, r.prototype.getExtent = function() { 12314 return this._extent.slice(); 12315 }, r.prototype.getPixelPrecision = function(e) { 12316 return Fg(e || this.scale.getExtent(), this._extent); 12317 }, r.prototype.setExtent = function(e, t) { 12318 var a = this._extent; 12319 a[0] = e, a[1] = t; 12320 }, r.prototype.dataToCoord = function(e, t) { 12321 var a = this._extent, n = this.scale; 12322 return e = n.normalize(e), this.onBand && n.type === "ordinal" && (a = a.slice(), E1(a, n.count())), Dt(e, R1, a, t); 12323 }, r.prototype.coordToData = function(e, t) { 12324 var a = this._extent, n = this.scale; 12325 this.onBand && n.type === "ordinal" && (a = a.slice(), E1(a, n.count())); 12326 var i = Dt(e, a, R1, t); 12327 return this.scale.scale(i); 12328 }, r.prototype.pointToData = function(e, t) { 12329 }, r.prototype.getTicksCoords = function(e) { 12330 e = e || {}; 12331 var t = e.tickModel || this.getTickModel(), a = Iz(this, t), n = a.ticks, i = G(n, function(s) { 12332 return { coord: this.dataToCoord(this.scale.type === "ordinal" ? this.scale.getRawOrdinalNumber(s) : s), tickValue: s }; 12333 }, this), o = t.get("alignWithLabel"); 12334 return Nz(this, i, o, e.clamp), i; 12335 }, r.prototype.getMinorTicksCoords = function() { 12336 if (this.scale.type === "ordinal") return []; 12337 var e = this.model.getModel("minorTick"), t = e.get("splitNumber"); 12338 t > 0 && t < 100 || (t = 5); 12339 var a = this.scale.getMinorTicks(t), n = G(a, function(i) { 12340 return G(i, function(o) { 12341 return { coord: this.dataToCoord(o), tickValue: o }; 12342 }, this); 12343 }, this); 12344 return n; 12345 }, r.prototype.getViewLabels = function() { 12346 return Mz(this).labels; 12347 }, r.prototype.getLabelModel = function() { 12348 return this.model.getModel("axisLabel"); 12349 }, r.prototype.getTickModel = function() { 12350 return this.model.getModel("axisTick"); 12351 }, r.prototype.getBandWidth = function() { 12352 var e = this._extent, t = this.scale.getExtent(), a = t[1] - t[0] + (this.onBand ? 1 : 0); 12353 a === 0 && (a = 1); 12354 var n = Math.abs(e[1] - e[0]); 12355 return Math.abs(n) / a; 12356 }, r.prototype.calculateCategoryInterval = function() { 12357 return kz(this); 12358 }, r; 12359}(); 12360function E1(r, e) { 12361 var t = r[1] - r[0], a = e, n = t / a / 2; 12362 r[0] += n, r[1] -= n; 12363} 12364function Nz(r, e, t, a) { 12365 var n = e.length; 12366 if (!r.onBand || t || !n) return; 12367 var i = r.getExtent(), o, s; 12368 if (n === 1) e[0].coord = i[0], o = e[1] = { coord: i[1], tickValue: e[0].tickValue }; 12369 else { 12370 var l = e[n - 1].tickValue - e[0].tickValue, u = (e[n - 1].coord - e[0].coord) / l; 12371 D(e, function(c) { 12372 c.coord -= u / 2; 12373 }); 12374 var f = r.scale.getExtent(); 12375 s = 1 + f[1] - e[n - 1].tickValue, o = { coord: e[n - 1].coord + u * s, tickValue: f[1] + 1 }, e.push(o); 12376 } 12377 var h = i[0] > i[1]; 12378 v(e[0].coord, i[0]) && (a ? e[0].coord = i[0] : e.shift()), a && v(i[0], e[0].coord) && e.unshift({ coord: i[0] }), v(i[1], o.coord) && (a ? o.coord = i[1] : e.pop()), a && v(o.coord, i[1]) && e.push({ coord: i[1] }); 12379 function v(c, p) { 12380 return c = Ut(c), p = Ut(p), h ? c > p : c < p; 12381 } 12382} 12383function Bz(r) { 12384 var e = gt.extend(r); 12385 return gt.registerClass(e), e; 12386} 12387function zz(r) { 12388 var e = Vt.extend(r); 12389 return Vt.registerClass(e), e; 12390} 12391function Vz(r) { 12392 var e = Et.extend(r); 12393 return Et.registerClass(e), e; 12394} 12395function Gz(r) { 12396 var e = Pt.extend(r); 12397 return Pt.registerClass(e), e; 12398} 12399var hs = Math.PI * 2, En = ta.CMD, Fz = ["top", "right", "bottom", "left"]; 12400function Hz(r, e, t, a, n) { 12401 var i = t.width, o = t.height; 12402 switch (r) { 12403 case "top": 12404 a.set(t.x + i / 2, t.y - e), n.set(0, -1); 12405 break; 12406 case "bottom": 12407 a.set(t.x + i / 2, t.y + o + e), n.set(0, 1); 12408 break;
12409 case "left": 12410 a.set(t.x - e, t.y + o / 2), n.set(-1, 0); 12411 break; 12412 case "right": 12413 a.set(t.x + i + e, t.y + o / 2), n.set(1, 0); 12414 break; 12415 } 12416} 12417function Wz(r, e, t, a, n, i, o, s, l) { 12418 o -= r, s -= e; 12419 var u = Math.sqrt(o * o + s * s); 12420 o /= u, s /= u; 12421 var f = o * t + r, h = s * t + e; 12422 if (Math.abs(a - n) % hs < 1e-4) return l[0] = f, l[1] = h, u - t; 12423 if (i) { 12424 var v = a; 12425 a = Ze(n), n = Ze(v); 12426 } else a = Ze(a), n = Ze(n); 12427 a > n && (n += hs); 12428 var c = Math.atan2(s, o); 12429 if (c < 0 && (c += hs), c >= a && c <= n || c + hs >= a && c + hs <= n) return l[0] = f, l[1] = h, u - t; 12430 var p = t * Math.cos(a) + r, d = t * Math.sin(a) + e, g = t * Math.cos(n) + r, y = t * Math.sin(n) + e, m = (p - o) * (p - o) + (d - s) * (d - s), _ = (g - o) * (g - o) + (y - s) * (y - s); 12431 return m < _ ? (l[0] = p, l[1] = d, Math.sqrt(m)) : (l[0] = g, l[1] = y, Math.sqrt(_)); 12432} 12433function Kf(r, e, t, a, n, i, o, s) { 12434 var l = n - r, u = i - e, f = t - r, h = a - e, v = Math.sqrt(f * f + h * h); 12435 f /= v, h /= v; 12436 var c = l * f + u * h, p = c / v; 12437 s && (p = Math.min(Math.max(p, 0), 1)), p *= v; 12438 var d = o[0] = r + p * f, g = o[1] = e + p * h;
12439 return Math.sqrt((d - n) * (d - n) + (g - i) * (g - i)); 12440} 12441function WD(r, e, t, a, n, i, o) { 12442 t < 0 && (r = r + t, t = -t), a < 0 && (e = e + a, a = -a); 12443 var s = r + t, l = e + a, u = o[0] = Math.min(Math.max(n, r), s), f = o[1] = Math.min(Math.max(i, e), l); 12444 return Math.sqrt((u - n) * (u - n) + (f - i) * (f - i)); 12445} 12446var wr = []; 12447function Uz(r, e, t) { 12448 var a = WD(e.x, e.y, e.width, e.height, r.x, r.y, wr); 12449 return t.set(wr[0], wr[1]), a; 12450} 12451function Yz(r, e, t) { 12452 for (var a = 0, n = 0, i = 0, o = 0, s, l, u = 1 / 0, f = e.data, h = r.x, v = r.y, c = 0; c < f.length; ) { 12453 var p = f[c++]; 12454 c === 1 && (a = f[c], n = f[c + 1], i = a, o = n); 12455 var d = u; 12456 switch (p) { 12457 case En.M: 12458 i = f[c++], o = f[c++], a = i, n = o; 12459 break; 12460 case En.L: 12461 d = Kf(a, n, f[c], f[c + 1], h, v, wr, true), a = f[c++], n = f[c++]; 12462 break; 12463 case En.C: 12464 d = TT(a, n, f[c++], f[c++], f[c++], f[c++], f[c], f[c + 1], h, v, wr), a = f[c++], n = f[c++]; 12465 break; 12466 case En.Q: 12467 d = AT(a, n, f[c++], f[c++], f[c], f[c + 1], h, v, wr), a = f[c++], n = f[c++]; 12468 break; 12469 case En.A: 12470 var g = f[c++], y = f[c++], m = f[c++], _ = f[c++], S = f[c++], b = f[c++]; 12471 c += 1; 12472 var x = !!(1 - f[c++]); 12473 s = Math.cos(S) * m + g, l = Math.sin(S) * _ + y, c <= 1 && (i = s, o = l); 12474 var w = (h - g) * _ / m + g; 12475 d = Wz(g, y, _, S, S + b, x, w, v, wr), a = Math.cos(S + b) * m + g, n = Math.sin(S + b) * _ + y; 12476 break; 12477 case En.R: 12478 i = a = f[c++], o = n = f[c++]; 12479 var T = f[c++], C = f[c++]; 12480 d = WD(i, o, T, C, h, v, wr); 12481 break; 12482 case En.Z: 12483 d = Kf(a, n, i, o, h, v, wr, true), a = i, n = o; 12484 break; 12485 } 12486 d < u && (u = d, t.set(wr[0], wr[1])); 12487 } 12488 return u; 12489} 12490var Cr = new ft(), zt = new ft(), Zt = new ft(), Xr = new ft(), Ur = new ft(); 12491function k1(r, e) { 12492 if (r) { 12493 var t = r.getTextGuideLine(), a = r.getTextContent(); 12494 if (a && t) { 12495 var n = r.textGuideLineConfig || {}, i = [[0, 0], [0, 0], [0, 0]], o = n.candidates || Fz, s = a.getBoundingRect().clone(); 12496 s.applyTransform(a.getComputedTransform()); 12497 var l = 1 / 0, u = n.anchor, f = r.getComputedTransform(), h = f && _i([], f), v = e.get("length2") || 0; 12498 u && Zt.copy(u); 12499 for (var c = 0; c < o.length; c++) { 12500 var p = o[c]; 12501 Hz(p, 0, s, Cr, Xr), ft.scaleAndAdd(zt, Cr, Xr, v), zt.transform(h); 12502 var d = r.getBoundingRect(), g = u ? u.distance(zt) : r instanceof mt ? Yz(zt, r.path, Zt) : Uz(zt, d, Zt); 12503 g < l && (l = g, zt.transform(f), Zt.transform(f), Zt.toArray(i[0]), zt.toArray(i[1]), Cr.toArray(i[2])); 12504 } 12505 UD(i, e.get("minTurnAngle")), t.setShape({ points: i }); 12506 } 12507 } 12508} 12509var jf = [], Pe = new ft(); 12510function UD(r, e) { 12511 if (e <= 180 && e > 0) { 12512 e = e / 180 * Math.PI, Cr.fromArray(r[0]), zt.fromArray(r[1]), Zt.fromArray(r[2]), ft.sub(Xr, Cr, zt), ft.sub(Ur, Zt, zt); 12513 var t = Xr.len(), a = Ur.len(); 12514 if (!(t < 1e-3 || a < 1e-3)) { 12515 Xr.scale(1 / t), Ur.scale(1 / a); 12516 var n = Xr.dot(Ur), i = Math.cos(e); 12517 if (i < n) { 12518 var o = Kf(zt.x, zt.y, Zt.x, Zt.y, Cr.x, Cr.y, jf, false); 12519 Pe.fromArray(jf), Pe.scaleAndAdd(Ur, o / Math.tan(Math.PI - e)); 12520 var s = Zt.x !== zt.x ? (Pe.x - zt.x) / (Zt.x - zt.x) : (Pe.y - zt.y) / (Zt.y - zt.y); 12521 if (isNaN(s)) return; 12522 s < 0 ? ft.copy(Pe, zt) : s > 1 && ft.copy(Pe, Zt), Pe.toArray(r[1]); 12523 } 12524 } 12525 } 12526} 12527function $z(r, e, t) { 12528 if (t <= 180 && t > 0) { 12529 t = t / 180 * Math.PI, Cr.fromArray(r[0]), zt.fromArray(r[1]), Zt.fromArray(r[2]), ft.sub(Xr, zt, Cr), ft.sub(Ur, Zt, zt); 12530 var a = Xr.len(), n = Ur.len(); 12531 if (!(a < 1e-3 || n < 1e-3)) { 12532 Xr.scale(1 / a), Ur.scale(1 / n); 12533 var i = Xr.dot(e), o = Math.cos(t); 12534 if (i < o) { 12535 var s = Kf(zt.x, zt.y, Zt.x, Zt.y, Cr.x, Cr.y, jf, false); 12536 Pe.fromArray(jf); 12537 var l = Math.PI / 2, u = Math.acos(Ur.dot(e)), f = l + u - t; 12538 if (f >= l) ft.copy(Pe, Zt); 12539 else { 12540 Pe.scaleAndAdd(Ur, s / Math.tan(Math.PI / 2 - f)); 12541 var h = Zt.x !== zt.x ? (Pe.x - zt.x) / (Zt.x - zt.x) : (Pe.y - zt.y) / (Zt.y - zt.y); 12542 if (isNaN(h)) return;
12543 h < 0 ? ft.copy(Pe, zt) : h > 1 && ft.copy(Pe, Zt); 12544 } 12545 Pe.toArray(r[1]); 12546 } 12547 } 12548 } 12549} 12550function mc(r, e, t, a) { 12551 var n = t === "normal", i = n ? r : r.ensureState(t); 12552 i.ignore = e; 12553 var o = a.get("smooth"); 12554 o && o === true && (o = 0.3), i.shape = i.shape || {}, o > 0 && (i.shape.smooth = o); 12555 var s = a.getModel("lineStyle").getLineStyle(); 12556 n ? r.useStyle(s) : i.style = s; 12557} 12558function Xz(r, e) { 12559 var t = e.smooth, a = e.points; 12560 if (a) if (r.moveTo(a[0][0], a[0][1]), t > 0 && a.length >= 3) { 12561 var n = fa(a[0], a[1]), i = fa(a[1], a[2]); 12562 if (!n || !i) { 12563 r.lineTo(a[1][0], a[1][1]), r.lineTo(a[2][0], a[2][1]); 12564 return; 12565 } 12566 var o = Math.min(n, i) * t, s = Bs([], a[1], a[0], o / n), l = Bs([], a[1], a[2], o / i), u = Bs([], s, l, 0.5); 12567 r.bezierCurveTo(s[0], s[1], s[0], s[1], u[0], u[1]), r.bezierCurveTo(l[0], l[1], l[0], l[1], a[2][0], a[2][1]); 12568 } else for (var f = 1; f < a.length; f++) r.lineTo(a[f][0], a[f][1]); 12569} 12570function Uy(r, e, t) { 12571 var a = r.getTextGuideLine(), n = r.getTextContent(); 12572 if (!n) { 12573 a && r.removeTextGuideLine(); 12574 return; 12575 } 12576 for (var i = e.normal, o = i.get("show"), s = n.ignore, l = 0; l < sl.length; l++) { 12577 var u = sl[l], f = e[u], h = u === "normal"; 12578 if (f) { 12579 var v = f.get("show"), c = h ? s : st(n.states[u] && n.states[u].ignore, s); 12580 if (c || !st(v, o)) { 12581 var p = h ? a : a && a.states[u]; 12582 p && (p.ignore = true), a && mc(a, true, u, f); 12583 continue; 12584 } 12585 a || (a = new De(), r.setTextGuideLine(a), !h && (s || !o) && mc(a, true, "normal", e.normal), r.stateProxy && (a.stateProxy = r.stateProxy)), mc(a, false, u, f); 12586 } 12587 } 12588 if (a) { 12589 Q(a.style, t), a.style.fill = null; 12590 var d = i.get("showAbove"), g = r.textGuideLineConfig = r.textGuideLineConfig || {}; 12591 g.showAbove = d || false, a.buildPath = Xz; 12592 } 12593} 12594function Yy(r, e) { 12595 e = e || "labelLine"; 12596 for (var t = { normal: r.getModel(e) }, a = 0; a < Oe.length; a++) { 12597 var n = Oe[a]; 12598 t[n] = r.getModel([n, e]); 12599 } 12600 return t; 12601} 12602function YD(r) { 12603 for (var e = [], t = 0; t < r.length; t++) { 12604 var a = r[t]; 12605 if (!a.defaultAttr.ignore) { 12606 var n = a.label, i = n.getComputedTransform(), o = n.getBoundingRect(), s = !i || i[1] < 1e-5 && i[2] < 1e-5, l = n.style.margin || 0, u = o.clone(); 12607 u.applyTransform(i), u.x -= l / 2, u.y -= l / 2, u.width += l, u.height += l; 12608 var f = s ? new Ef(o, i) : null; 12609 e.push({ label: n, labelLine: a.labelLine, rect: u, localRect: o, obb: f, priority: a.priority, defaultAttr: a.defaultAttr, layoutOption: a.computedLayoutOption, axisAligned: s, transform: i }); 12610 } 12611 } 12612 return e; 12613} 12614function $D(r, e, t, a, n, i) { 12615 var o = r.length; 12616 if (o < 2) return; 12617 r.sort(function(x, w) { 12618 return x.rect[e] - w.rect[e]; 12619 }); 12620 for (var s = 0, l, u = false, f = 0; f < o; f++) { 12621 var h = r[f], v = h.rect; 12622 l = v[e] - s, l < 0 && (v[e] -= l, h.label[e] -= l, u = true), s = v[e] + v[t]; 12623 } 12624 var c = r[0], p = r[o - 1], d, g; 12625 y(), d < 0 && S(-d, 0.8), g < 0 && S(g, 0.8), y(), m(d, g, 1), m(g, d, -1), y(), d < 0 && b(-d), g < 0 && b(g); 12626 function y() { 12627 d = c.rect[e] - a, g = n - p.rect[e] - p.rect[t]; 12628 } 12629 function m(x, w, T) { 12630 if (x < 0) { 12631 var C = Math.min(w, -x); 12632 if (C > 0) { 12633 _(C * T, 0, o); 12634 var A = C + x; 12635 A < 0 && S(-A * T, 1); 12636 } else S(-x * T, 1); 12637 } 12638 } 12639 function _(x, w, T) { 12640 x !== 0 && (u = true); 12641 for (var C = w; C < T; C++) { 12642 var A = r[C], M = A.rect; 12643 M[e] += x, A.label[e] += x; 12644 } 12645 } 12646 function S(x, w) { 12647 for (var T = [], C = 0, A = 1; A < o; A++) { 12648 var M = r[A - 1].rect, I = Math.max(r[A].rect[e] - M[e] - M[t], 0); 12649 T.push(I), C += I; 12650 } 12651 if (C) { 12652 var L = Math.min(Math.abs(x) / C, w); 12653 if (x > 0) for (var A = 0; A < o - 1; A++) { 12654 var P = T[A] * L; 12655 _(P, 0, A + 1); 12656 } 12657 else for (var A = o - 1; A > 0; A--) { 12658 var P = T[A - 1] * L; 12659 _(-P, A, o); 12660 } 12661 } 12662 } 12663 function b(x) { 12664 var w = x < 0 ? -1 : 1; 12665 x = Math.abs(x);
12666 for (var T = Math.ceil(x / (o - 1)), C = 0; C < o - 1; C++) if (w > 0 ? _(T, 0, C + 1) : _(-T, o - C - 1, o), x -= T, x <= 0) return; 12667 } 12668 return u; 12669} 12670function Zz(r, e, t, a) { 12671 return $D(r, "x", "width", e, t); 12672} 12673function XD(r, e, t, a) { 12674 return $D(r, "y", "height", e, t); 12675} 12676function ZD(r) { 12677 var e = []; 12678 r.sort(function(d, g) { 12679 return g.priority - d.priority; 12680 }); 12681 var t = new ht(0, 0, 0, 0); 12682 function a(d) { 12683 if (!d.ignore) { 12684 var g = d.ensureState("emphasis"); 12685 g.ignore == null && (g.ignore = false); 12686 } 12687 d.ignore = true; 12688 } 12689 for (var n = 0; n < r.length; n++) { 12690 var i = r[n], o = i.axisAligned, s = i.localRect, l = i.transform, u = i.label, f = i.labelLine; 12691 t.copy(i.rect), t.width -= 0.1, t.height -= 0.1, t.x += 0.05, t.y += 0.05; 12692 for (var h = i.obb, v = false, c = 0; c < e.length; c++) { 12693 var p = e[c]; 12694 if (t.intersect(p.rect)) { 12695 if (o && p.axisAligned) { 12696 v = true; 12697 break; 12698 } 12699 if (p.obb || (p.obb = new Ef(p.localRect, p.transform)), h || (h = new Ef(s, l)), h.intersect(p.obb)) { 12700 v = true; 12701 break; 12702 } 12703 } 12704 } 12705 v ? (a(u), f && a(f)) : (u.attr("ignore", i.defaultAttr.ignore), f && f.attr("ignore", i.defaultAttr.labelGuideIgnore), e.push(i)); 12706 } 12707} 12708function qz(r) { 12709 if (r) { 12710 for (var e = [], t = 0; t < r.length; t++) e.push(r[t].slice()); 12711 return e; 12712 } 12713} 12714function Kz(r, e) { 12715 var t = r.label, a = e && e.getTextGuideLine(); 12716 return { dataIndex: r.dataIndex, dataType: r.dataType, seriesIndex: r.seriesModel.seriesIndex, text: r.label.style.text, rect: r.hostRect, labelRect: r.rect, align: t.style.align, verticalAlign: t.style.verticalAlign, labelLinePoints: qz(a && a.shape.points) }; 12717} 12718var O1 = ["align", "verticalAlign", "width", "height", "fontSize"], Me = new ca(), _c = bt(), jz = bt(); 12719function Lu(r, e, t) { 12720 for (var a = 0; a < t.length; a++) { 12721 var n = t[a]; 12722 e[n] != null && (r[n] = e[n]); 12723 } 12724} 12725var Pu = ["x", "y", "rotation"], Jz = function() { 12726 function r() { 12727 this._labelList = [], this._chartViewList = []; 12728 } 12729 return r.prototype.clearLabels = function() { 12730 this._labelList = [], this._chartViewList = []; 12731 }, r.prototype._addLabel = function(e, t, a, n, i) { 12732 var o = n.style, s = n.__hostTarget, l = s.textConfig || {}, u = n.getComputedTransform(), f = n.getBoundingRect().plain(); 12733 ht.applyTransform(f, f, u), u ? Me.setLocalTransform(u) : (Me.x = Me.y = Me.rotation = Me.originX = Me.originY = 0, Me.scaleX = Me.scaleY = 1), Me.rotation = Ze(Me.rotation); 12734 var h = n.__hostTarget, v; 12735 if (h) { 12736 v = h.getBoundingRect().plain(); 12737 var c = h.getComputedTransform(); 12738 ht.applyTransform(v, v, c); 12739 } 12740 var p = v && h.getTextGuideLine(); 12741 this._labelList.push({ label: n, labelLine: p, seriesModel: a, dataIndex: e, dataType: t, layoutOption: i, computedLayoutOption: null, rect: f, hostRect: v, priority: v ? v.width * v.height : 0, defaultAttr: { ignore: n.ignore, labelGuideIgnore: p && p.ignore, x: Me.x, y: Me.y, scaleX: Me.scaleX, scaleY: Me.scaleY, rotation: Me.rotation, style: { x: o.x, y: o.y, align: o.align, verticalAlign: o.verticalAlign, width: o.width, height: o.height, fontSize: o.fontSize }, cursor: n.cursor, attachedPos: l.position, attachedRot: l.rotation } }); 12742 }, r.prototype.addLabelsOfSeries = function(e) { 12743 var t = this; 12744 this._chartViewList.push(e); 12745 var a = e.__model, n = a.get("labelLayout"); 12746 (j(n) || _t(n).length) && e.group.traverse(function(i) { 12747 if (i.ignore) return true; 12748 var o = i.getTextContent(), s = it(i); 12749 o && !o.disableLabelLayout && t._addLabel(s.dataIndex, s.dataType, a, o, n); 12750 }); 12751 }, r.prototype.updateLayoutConfig = function(e) { 12752 var t = e.getWidth(), a = e.getHeight(); 12753 function n(_, S) { 12754 return function() { 12755 k1(_, S); 12756 }; 12757 } 12758 for (var i = 0; i < this._labelList.length; i++) { 12759 var o = this._labelList[i], s = o.label, l = s.__hostTarget, u = o.defaultAttr, f = void 0; 12760 j(o.layoutOption) ? f = o.layoutOption(Kz(o, l)) : f = o.layoutOption, f = f || {}, o.computedLayoutOption = f; 12761 var h = Math.PI / 180; 12762 l && l.setTextConfig({ local: false, position: f.x != null || f.y != null ? null : u.attachedPos, rotation: f.rotate != null ? f.rotate * h : u.attachedRot, offset: [f.dx || 0, f.dy || 0] }); 12763 var v = false;
12764 if (f.x != null ? (s.x = W(f.x, t), s.setStyle("x", 0), v = true) : (s.x = u.x, s.setStyle("x", u.style.x)), f.y != null ? (s.y = W(f.y, a), s.setStyle("y", 0), v = true) : (s.y = u.y, s.setStyle("y", u.style.y)), f.labelLinePoints) { 12765 var c = l.getTextGuideLine(); 12766 c && (c.setShape({ points: f.labelLinePoints }), v = false); 12767 } 12768 var p = _c(s); 12769 p.needsUpdateLabelLine = v, s.rotation = f.rotate != null ? f.rotate * h : u.rotation, s.scaleX = u.scaleX, s.scaleY = u.scaleY; 12770 for (var d = 0; d < O1.length; d++) { 12771 var g = O1[d]; 12772 s.setStyle(g, f[g] != null ? f[g] : u.style[g]); 12773 } 12774 if (f.draggable) { 12775 if (s.draggable = true, s.cursor = "move", l) { 12776 var y = o.seriesModel; 12777 if (o.dataIndex != null) { 12778 var m = o.seriesModel.getData(o.dataType); 12779 y = m.getItemModel(o.dataIndex); 12780 } 12781 s.on("drag", n(l, y.getModel("labelLine"))); 12782 } 12783 } else s.off("drag"), s.cursor = u.cursor; 12784 } 12785 }, r.prototype.layout = function(e) { 12786 var t = e.getWidth(), a = e.getHeight(), n = YD(this._labelList), i = Ct(n, function(l) { 12787 return l.layoutOption.moveOverlap === "shiftX"; 12788 }), o = Ct(n, function(l) { 12789 return l.layoutOption.moveOverlap === "shiftY"; 12790 }); 12791 Zz(i, 0, t), XD(o, 0, a); 12792 var s = Ct(n, function(l) { 12793 return l.layoutOption.hideOverlap; 12794 }); 12795 ZD(s); 12796 }, r.prototype.processLabelsOverall = function() { 12797 var e = this; 12798 D(this._chartViewList, function(t) { 12799 var a = t.__model, n = t.ignoreLabelLineUpdate, i = a.isAnimationEnabled(); 12800 t.group.traverse(function(o) { 12801 if (o.ignore && !o.forceLabelAnimation) return true; 12802 var s = !n, l = o.getTextContent(); 12803 !s && l && (s = _c(l).needsUpdateLabelLine), s && e._updateLabelLine(o, a), i && e._animateLabels(o, a); 12804 }); 12805 }); 12806 }, r.prototype._updateLabelLine = function(e, t) { 12807 var a = e.getTextContent(), n = it(e), i = n.dataIndex; 12808 if (a && i != null) { 12809 var o = t.getData(n.dataType), s = o.getItemModel(i), l = {}, u = o.getItemVisual(i, "style"); 12810 if (u) { 12811 var f = o.getVisual("drawType"); 12812 l.stroke = u[f]; 12813 } 12814 var h = s.getModel("labelLine"); 12815 Uy(e, Yy(s), l), k1(e, h); 12816 } 12817 }, r.prototype._animateLabels = function(e, t) { 12818 var a = e.getTextContent(), n = e.getTextGuideLine(); 12819 if (a && (e.forceLabelAnimation || !a.ignore && !a.invisible && !e.disableLabelAnimation && !uo(e))) { 12820 var i = _c(a), o = i.oldLayout, s = it(e), l = s.dataIndex, u = { x: a.x, y: a.y, rotation: a.rotation }, f = t.getData(s.dataType); 12821 if (o) { 12822 a.attr(o); 12823 var v = e.prevStates; 12824 v && (vt(v, "select") >= 0 && a.attr(i.oldLayoutSelect), vt(v, "emphasis") >= 0 && a.attr(i.oldLayoutEmphasis)), Tt(a, u, t, l); 12825 } else if (a.attr(u), !Oo(a).valueAnimation) { 12826 var h = st(a.style.opacity, 1); 12827 a.style.opacity = 0, Gt(a, { style: { opacity: h } }, t, l); 12828 } 12829 if (i.oldLayout = u, a.states.select) { 12830 var c = i.oldLayoutSelect = {}; 12831 Lu(c, u, Pu), Lu(c, a.states.select, Pu); 12832 } 12833 if (a.states.emphasis) { 12834 var p = i.oldLayoutEmphasis = {}; 12835 Lu(p, u, Pu), Lu(p, a.states.emphasis, Pu); 12836 } 12837 VC(a, l, f, t, t); 12838 } 12839 if (n && !n.ignore && !n.invisible) { 12840 var i = jz(n), o = i.oldLayout, d = { points: n.shape.points }; 12841 o ? (n.attr({ shape: o }), Tt(n, { shape: d }, t)) : (n.setShape(d), n.style.strokePercent = 0, Gt(n, { style: { strokePercent: 1 } }, t)), i.oldLayout = d; 12842 } 12843 }, r; 12844}(), Sc = bt(); 12845function Qz(r) { 12846 r.registerUpdateLifecycle("series:beforeupdate", function(e, t, a) { 12847 var n = Sc(t).labelManager; 12848 n || (n = Sc(t).labelManager = new Jz()), n.clearLabels(); 12849 }), r.registerUpdateLifecycle("series:layoutlabels", function(e, t, a) { 12850 var n = Sc(t).labelManager; 12851 a.updatedSeries.forEach(function(i) { 12852 n.addLabelsOfSeries(t.getViewOfSeriesModel(i)); 12853 }), n.updateLayoutConfig(t), n.layout(t), n.processLabelsOverall(); 12854 }); 12855} 12856var xc = Math.sin, bc = Math.cos, qD = Math.PI, kn = Math.PI * 2, tV = 180 / qD, KD = function() { 12857 function r() { 12858 } 12859 return r.prototype.reset = function(e) { 12860 this._start = true, this._d = [], this._str = "", this._p = Math.pow(10, e || 4); 12861 }, r.prototype.moveTo = function(e, t) { 12862 this._add("M", e, t); 12863 }, r.prototype.lineTo = function(e, t) { 12864 this._add("L", e, t); 12865 }, r.prototype.bezierCurveTo = function(e, t, a, n, i, o) { 12866 this._add("C", e, t, a, n, i, o); 12867 }, r.prototype.quadraticCurveTo = function(e, t, a, n) { 12868 this._add("Q", e, t, a, n); 12869 }, r.prototype.arc = function(e, t, a, n, i, o) { 12870 this.ellipse(e, t, a, a, 0, n, i, o); 12871 }, r.prototype.ellipse = function(e, t, a, n, i, o, s, l) {
12872 var u = s - o, f = !l, h = Math.abs(u), v = Ha(h - kn) || (f ? u >= kn : -u >= kn), c = u > 0 ? u % kn : u % kn + kn, p = false; 12873 v ? p = true : Ha(h) ? p = false : p = c >= qD == !!f; 12874 var d = e + a * bc(o), g = t + n * xc(o); 12875 this._start && this._add("M", d, g); 12876 var y = Math.round(i * tV); 12877 if (v) { 12878 var m = 1 / this._p, _ = (f ? 1 : -1) * (kn - m); 12879 this._add("A", a, n, y, 1, +f, e + a * bc(o + _), t + n * xc(o + _)), m > 0.01 && this._add("A", a, n, y, 0, +f, d, g); 12880 } else { 12881 var S = e + a * bc(s), b = t + n * xc(s); 12882 this._add("A", a, n, y, +p, +f, S, b); 12883 } 12884 }, r.prototype.rect = function(e, t, a, n) { 12885 this._add("M", e, t), this._add("l", a, 0), this._add("l", 0, n), this._add("l", -a, 0), this._add("Z"); 12886 }, r.prototype.closePath = function() { 12887 this._d.length > 0 && this._add("Z"); 12888 }, r.prototype._add = function(e, t, a, n, i, o, s, l, u) { 12889 for (var f = [], h = this._p, v = 1; v < arguments.length; v++) { 12890 var c = arguments[v]; 12891 if (isNaN(c)) { 12892 this._invalid = true; 12893 return; 12894 } 12895 f.push(Math.round(c * h) / h); 12896 } 12897 this._d.push(e + f.join(" ")), this._start = e === "Z"; 12898 }, r.prototype.generateStr = function() { 12899 this._str = this._invalid ? "" : this._d.join(""), this._d = []; 12900 }, r.prototype.getStr = function() { 12901 return this._str; 12902 }, r; 12903}(), $y = "none", eV = Math.round; 12904function rV(r) { 12905 var e = r.fill; 12906 return e != null && e !== $y; 12907} 12908function aV(r) { 12909 var e = r.stroke; 12910 return e != null && e !== $y; 12911} 12912var Bd = ["lineCap", "miterLimit", "lineJoin"], nV = G(Bd, function(r) { 12913 return "stroke-" + r.toLowerCase(); 12914}); 12915function iV(r, e, t, a) { 12916 var n = e.opacity == null ? 1 : e.opacity; 12917 if (t instanceof ue) { 12918 r("opacity", n); 12919 return; 12920 } 12921 if (rV(e)) { 12922 var i = il(e.fill); 12923 r("fill", i.color); 12924 var o = e.fillOpacity != null ? e.fillOpacity * i.opacity * n : i.opacity * n; 12925 o < 1 && r("fill-opacity", o); 12926 } else r("fill", $y); 12927 if (aV(e)) { 12928 var s = il(e.stroke); 12929 r("stroke", s.color); 12930 var l = e.strokeNoScale ? t.getLineScale() : 1, u = l ? (e.lineWidth || 0) / l : 0, f = e.strokeOpacity != null ? e.strokeOpacity * s.opacity * n : s.opacity * n, h = e.strokeFirst; 12931 if (u !== 1 && r("stroke-width", u), h && r("paint-order", h ? "stroke" : "fill"), f < 1 && r("stroke-opacity", f), e.lineDash) { 12932 var v = Dy(t), c = v[0], p = v[1]; 12933 c && (p = eV(p || 0), r("stroke-dasharray", c.join(",")), (p || a) && r("stroke-dashoffset", p)); 12934 } 12935 for (var d = 0; d < Bd.length; d++) { 12936 var g = Bd[d]; 12937 if (e[g] !== Pf[g]) { 12938 var y = e[g] || Pf[g]; 12939 y && r(nV[d], y); 12940 } 12941 } 12942 } 12943} 12944var jD = "http://www.w3.org/2000/svg", JD = "http://www.w3.org/1999/xlink", oV = "http://www.w3.org/2000/xmlns/", sV = "http://www.w3.org/XML/1998/namespace", N1 = "ecmeta_"; 12945function QD(r) { 12946 return document.createElementNS(jD, r); 12947} 12948function ie(r, e, t, a, n) { 12949 return { tag: r, attrs: t || {}, children: a, text: n, key: e }; 12950} 12951function lV(r, e) { 12952 var t = []; 12953 if (e) for (var a in e) { 12954 var n = e[a], i = a; 12955 n !== false && (n !== true && n != null && (i += '="' + n + '"'), t.push(i)); 12956 } 12957 return "<" + r + " " + t.join(" ") + ">"; 12958} 12959function uV(r) { 12960 return "</" + r + ">"; 12961} 12962function Xy(r, e) { 12963 e = e || {}; 12964 var t = e.newline ? ` 12965` : ""; 12966 function a(n) { 12967 var i = n.children, o = n.tag, s = n.attrs, l = n.text; 12968 return lV(o, s) + (o !== "style" ? xe(l) : l || "") + (i ? "" + t + G(i, function(u) { 12969 return a(u); 12970 }).join(t) + t : "") + uV(o); 12971 } 12972 return a(r); 12973} 12974function fV(r, e, t) { 12975 t = t || {}; 12976 var a = t.newline ? ` 12977` : "", n = " {" + a, i = a + "}", o = G(_t(r), function(l) { 12978 return l + n + G(_t(r[l]), function(u) { 12979 return u + ":" + r[l][u] + ";"; 12980 }).join(a) + i; 12981 }).join(a), s = G(_t(e), function(l) { 12982 return "@keyframes " + l + n + G(_t(e[l]), function(u) { 12983 return u + n + G(_t(e[l][u]), function(f) { 12984 var h = e[l][u][f]; 12985 return f === "d" && (h = 'path("' + h + '")'), f + ":" + h + ";"; 12986 }).join(a) + i; 12987 }).join(a) + i; 12988 }).join(a); 12989 return !o && !s ? "" : ["<![CDATA[", o, s, "]]>"].join(a); 12990} 12991function zd(r) { 12992 return { zrId: r, shadowCache: {}, patternCache: {}, gradientCache: {}, clipPathCache: {}, defs: {}, cssNodes: {}, cssAnims: {}, cssStyleCache: {}, cssAnimIdx: 0, shadowIdx: 0, gradientIdx: 0, patternIdx: 0, clipPathIdx: 0 }; 12993} 12994function B1(r, e, t, a) { 12995 return ie("svg", "root", { width: r, height: e, xmlns: jD, "xmlns:xlink": JD, version: "1.1", baseProfile: "full", viewBox: a ? "0 0 " + r + " " + e : false }, t); 12996} 12997var hV = 0; 12998function tM() { 12999 return hV++; 13000}
13001var z1 = { cubicIn: "0.32,0,0.67,0", cubicOut: "0.33,1,0.68,1", cubicInOut: "0.65,0,0.35,1", quadraticIn: "0.11,0,0.5,0", quadraticOut: "0.5,1,0.89,1", quadraticInOut: "0.45,0,0.55,1", quarticIn: "0.5,0,0.75,0", quarticOut: "0.25,1,0.5,1", quarticInOut: "0.76,0,0.24,1", quinticIn: "0.64,0,0.78,0", quinticOut: "0.22,1,0.36,1", quinticInOut: "0.83,0,0.17,1", sinusoidalIn: "0.12,0,0.39,0", sinusoidalOut: "0.61,1,0.88,1", sinusoidalInOut: "0.37,0,0.63,1", exponentialIn: "0.7,0,0.84,0", exponentialOut: "0.16,1,0.3,1", exponentialInOut: "0.87,0,0.13,1", circularIn: "0.55,0,1,0.45", circularOut: "0,0.55,0.45,1", circularInOut: "0.85,0,0.15,1" }, Bn = "transform-origin"; 13002function vV(r, e, t) { 13003 var a = z({}, r.shape); 13004 z(a, e), r.buildPath(t, a); 13005 var n = new KD(); 13006 return n.reset(ET(r)), t.rebuildPath(n, 1), n.generateStr(), n.getStr(); 13007} 13008function cV(r, e) { 13009 var t = e.originX, a = e.originY; 13010 (t || a) && (r[Bn] = t + "px " + a + "px"); 13011} 13012var pV = { fill: "fill", opacity: "opacity", lineWidth: "stroke-width", lineDashOffset: "stroke-dashoffset" }; 13013function eM(r, e) { 13014 var t = e.zrId + "-ani-" + e.cssAnimIdx++; 13015 return e.cssAnims[t] = r, t; 13016} 13017function dV(r, e, t) { 13018 var a = r.shape.paths, n = {}, i, o; 13019 if (D(a, function(l) { 13020 var u = zd(t.zrId); 13021 u.animation = true, tv(l, {}, u, true); 13022 var f = u.cssAnims, h = u.cssNodes, v = _t(f), c = v.length; 13023 if (c) { 13024 o = v[c - 1]; 13025 var p = f[o]; 13026 for (var d in p) { 13027 var g = p[d]; 13028 n[d] = n[d] || { d: "" }, n[d].d += g.d || ""; 13029 } 13030 for (var y in h) { 13031 var m = h[y].animation; 13032 m.indexOf(o) >= 0 && (i = m); 13033 } 13034 } 13035 }), !!i) { 13036 e.d = false; 13037 var s = eM(n, t); 13038 return i.replace(o, s); 13039 } 13040} 13041function V1(r) { 13042 return Y(r) ? z1[r] ? "cubic-bezier(" + z1[r] + ")" : Bg(r) ? r : "" : ""; 13043} 13044function tv(r, e, t, a) { 13045 var n = r.animators, i = n.length, o = []; 13046 if (r instanceof Oh) { 13047 var s = dV(r, e, t); 13048 if (s) o.push(s); 13049 else if (!i) return; 13050 } else if (!i) return; 13051 for (var l = {}, u = 0; u < i; u++) { 13052 var f = n[u], h = [f.getMaxTime() / 1e3 + "s"], v = V1(f.getClip().easing), c = f.getDelay(); 13053 v ? h.push(v) : h.push("linear"), c && h.push(c / 1e3 + "s"), f.getLoop() && h.push("infinite"); 13054 var p = h.join(" "); 13055 l[p] = l[p] || [p, []], l[p][1].push(f); 13056 } 13057 function d(m) { 13058 var _ = m[1], S = _.length, b = {}, x = {}, w = {}, T = "animation-timing-function"; 13059 function C(ct, et, dt) { 13060 for (var q = ct.getTracks(), ot = ct.getMaxTime(), Bt = 0; Bt < q.length; Bt++) { 13061 var Lt = q[Bt]; 13062 if (Lt.needsAnimate()) { 13063 var kt = Lt.keyframes, Ht = Lt.propName; 13064 if (dt && (Ht = dt(Ht)), Ht) for (var re = 0; re < kt.length; re++) { 13065 var We = kt[re], Ne = Math.round(We.time / ot * 100) + "%", vn = V1(We.easing), Aa = We.rawValue; 13066 (Y(Aa) || wt(Aa)) && (et[Ne] = et[Ne] || {}, et[Ne][Ht] = We.rawValue, vn && (et[Ne][T] = vn)); 13067 } 13068 } 13069 } 13070 } 13071 for (var A = 0; A < S; A++) { 13072 var M = _[A], I = M.targetName; 13073 I ? I === "shape" && C(M, x) : !a && C(M, b); 13074 } 13075 for (var L in b) { 13076 var P = {}; 13077 zT(P, r), z(P, b[L]); 13078 var R = kT(P), E = b[L][T]; 13079 w[L] = R ? { transform: R } : {}, cV(w[L], P), E && (w[L][T] = E); 13080 } 13081 var O, k = true; 13082 for (var L in x) { 13083 w[L] = w[L] || {}; 13084 var B = !O, E = x[L][T]; 13085 B && (O = new ta()); 13086 var F = O.len(); 13087 O.reset(), w[L].d = vV(r, x[L], O); 13088 var H = O.len(); 13089 if (!B && F !== H) { 13090 k = false; 13091 break; 13092 } 13093 E && (w[L][T] = E); 13094 } 13095 if (!k) for (var L in w) delete w[L].d; 13096 if (!a) for (var A = 0; A < S; A++) { 13097 var M = _[A], I = M.targetName; 13098 I === "style" && C(M, w, function(q) { 13099 return pV[q]; 13100 }); 13101 } 13102 for (var U = _t(w), K = true, J, A = 1; A < U.length; A++) { 13103 var nt = U[A - 1], It = U[A]; 13104 if (w[nt][Bn] !== w[It][Bn]) { 13105 K = false; 13106 break; 13107 } 13108 J = w[nt][Bn]; 13109 } 13110 if (K && J) { 13111 for (var L in w) w[L][Bn] && delete w[L][Bn]; 13112 e[Bn] = J; 13113 } 13114 if (Ct(U, function(ct) { 13115 return _t(w[ct]).length > 0; 13116 }).length) { 13117 var Yt = eM(w, t); 13118 return Yt + " " + m[0] + " both"; 13119 } 13120 } 13121 for (var g in l) { 13122 var s = d(l[g]); 13123 s && o.push(s); 13124 } 13125 if (o.length) { 13126 var y = t.zrId + "-cls-" + tM(); 13127 t.cssNodes["." + y] = { animation: o.join(",") }, e.class = y; 13128 } 13129} 13130function gV(r, e, t) { 13131 if (!r.ignore) if (r.isSilent()) { 13132 var a = { "pointer-events": "none" }; 13133 G1(a, e, t); 13134 } else { 13135 var n = r.states.emphasis && r.states.emphasis.style ? r.states.emphasis.style : {}, i = n.fill; 13136 if (!i) { 13137 var o = r.style && r.style.fill, s = r.states.select && r.states.select.style && r.states.select.style.fill, l = r.currentStates.indexOf("select") >= 0 && s || o; 13138 l && (i = Df(l)); 13139 } 13140 var u = n.lineWidth; 13141 if (u) { 13142 var f = !n.strokeNoScale && r.transform ? r.transform[0] : 1; 13143 u = u / f; 13144 } 13145 var a = { cursor: "pointer" }; 13146 i && (a.fill = i), n.stroke && (a.stroke = n.stroke), u && (a["stroke-width"] = u), G1(a, e, t); 13147 } 13148} 13149function G1(r, e, t, a) { 13150 var n = JSON.stringify(r), i = t.cssStyleCache[n]; 13151 i || (i = t.zrId + "-cls-" + tM(), t.cssStyleCache[n] = i, t.cssNodes["." + i + ":hover"] = r), e.class = e.class ? e.class + " " + i : i; 13152} 13153var yl = Math.round; 13154function rM(r) { 13155 return r && Y(r.src); 13156} 13157function aM(r) { 13158 return r && j(r.toDataURL); 13159} 13160function Zy(r, e, t, a) { 13161 iV(function(n, i) { 13162 var o = n === "fill" || n === "stroke"; 13163 o && RT(i) ? iM(e, r, n, a) : o && Vg(i) ? oM(t, r, n, a) : r[n] = i, o && a.ssr && i === "
13163none" && (r["pointer-events"] = "visible"); 13164 }, e, t, false), wV(t, r, a); 13165} 13166function qy(r, e) { 13167 var t = FT(e); 13168 t && (t.each(function(a, n) { 13169 a != null && (r[(N1 + n).toLowerCase()] = a + ""); 13170 }), e.isSilent() && (r[N1 + "silent"] = "true")); 13171} 13172function F1(r) { 13173 return Ha(r[0] - 1) && Ha(r[1]) && Ha(r[2]) && Ha(r[3] - 1); 13174} 13175function yV(r) { 13176 return Ha(r[4]) && Ha(r[5]); 13177} 13178function Ky(r, e, t) { 13179 if (e && !(yV(e) && F1(e))) { 13180 var a = 1e4; 13181 r.transform = F1(e) ? "translate(" + yl(e[4] * a) / a + " " + yl(e[5] * a) / a + ")" : bP(e); 13182 } 13183} 13184function H1(r, e, t) { 13185 for (var a = r.points, n = [], i = 0; i < a.length; i++) n.push(yl(a[i][0] * t) / t), n.push(yl(a[i][1] * t) / t); 13186 e.points = n.join(" "); 13187} 13188function W1(r) { 13189 return !r.smooth; 13190} 13191function mV(r) { 13192 var e = G(r, function(t) { 13193 return typeof t == "string" ? [t, t] : t; 13194 }); 13195 return function(t, a, n) { 13196 for (var i = 0; i < e.length; i++) { 13197 var o = e[i], s = t[o[0]]; 13198 s != null && (a[o[1]] = yl(s * n) / n); 13199 } 13200 }; 13201} 13202var _V = { circle: [mV(["cx", "cy", "r"])], polyline: [H1, W1], polygon: [H1, W1] }; 13203function SV(r) { 13204 for (var e = r.animators, t = 0; t < e.length; t++) if (e[t].targetName === "shape") return true; 13205 return false; 13206} 13207function nM(r, e) { 13208 var t = r.style, a = r.shape, n = _V[r.type], i = {}, o = e.animation, s = "path", l = r.style.strokePercent, u = e.compress && ET(r) || 4; 13209 if (n && !e.willUpdate && !(n[1] && !n[1](a)) && !(o && SV(r)) && !(l < 1)) { 13210 s = r.type; 13211 var f = Math.pow(10, u); 13212 n[0](a, i, f); 13213 } else { 13214 var h = !r.path || r.shapeChanged(); 13215 r.path || r.createPathProxy(); 13216 var v = r.path; 13217 h && (v.beginPath(), r.buildPath(v, r.shape), r.pathUpdated()); 13218 var c = v.getVersion(), p = r, d = p.__svgPathBuilder; 13219 (p.__svgPathVersion !== c || !d || l !== p.__svgPathStrokePercent) && (d || (d = p.__svgPathBuilder = new KD()), d.reset(u), v.rebuildPath(d, l), d.generateStr(), p.__svgPathVersion = c, p.__svgPathStrokePercent = l), i.d = d.getStr(); 13220 } 13221 return Ky(i, r.transform), Zy(i, t, r, e), qy(i, r), e.animation && tv(r, i, e), e.emphasis && gV(r, i, e), ie(s, r.id + "", i); 13222} 13223function xV(r, e) { 13224 var t = r.style, a = t.image; 13225 if (a && !Y(a) && (rM(a) ? a = a.src : aM(a) && (a = a.toDataURL())), !!a) { 13226 var n = t.x || 0, i = t.y || 0, o = t.width, s = t.height, l = { href: a, width: o, height: s }; 13227 return n && (l.x = n), i && (l.y = i), Ky(l, r.transform), Zy(l, t, r, e), qy(l, r), e.animation && tv(r, l, e), ie("image", r.id + "", l); 13228 } 13229} 13230function bV(r, e) { 13231 var t = r.style, a = t.text; 13232 if (a != null && (a += ""), !(!a || isNaN(t.x) || isNaN(t.y))) { 13233 var n = t.font || tn, i = t.x || 0, o = TP(t.y || 0, Ah(n), t.textBaseline), s = wP[t.textAlign] || t.textAlign, l = { "dominant-baseline": "central", "text-anchor": s }; 13234 if (vC(t)) { 13235 var u = "", f = t.fontStyle, h = hC(t.fontSize); 13236 if (!parseFloat(h)) return; 13237 var v = t.fontFamily || aT, c = t.fontWeight; 13238 u += "font-size:" + h + ";font-family:" + v + ";", f && f !== "normal" && (u += "font-style:" + f + ";"), c && c !== "normal" && (u += "font-weight:" + c + ";"), l.style = u; 13239 } else l.style = "font: " + n; 13240 return a.match(/\s/) && (l["xml:space"] = "preserve"), i && (l.x = i), o && (l.y = o), Ky(l, r.transform), Zy(l, t, r, e), qy(l, r), e.animation && tv(r, l, e), ie("text", r.id + "", l, void 0, a); 13241 } 13242} 13243function U1(r, e) { 13244 if (r instanceof mt) return nM(r, e); 13245 if (r instanceof ue) return xV(r, e); 13246 if (r instanceof mo) return bV(r, e); 13247} 13248function wV(r, e, t) { 13249 var a = r.style; 13250 if (CP(a)) { 13251 var n = AP(r), i = t.shadowCache, o = i[n]; 13252 if (!o) { 13253 var s = r.getGlobalScale(), l = s[0], u = s[1]; 13254 if (!l || !u) return; 13255 var f = a.shadowOffsetX || 0, h = a.shadowOffsetY || 0, v = a.shadowBlur, c = il(a.shadowColor), p = c.opacity, d = c.color, g = v / 2 / l, y = v / 2 / u, m = g + " " + y; 13256 o = t.zrId + "-s" + t.shadowIdx++, t.defs[o] = ie("filter", o, { id: o, x: "-100%", y: "-100%", width: "300%", height: "300%" }, [ie("feDropShadow", "", { dx: f / l, dy: h / u, stdDeviation: m, "flood-color": d, "flood-opacity": p })]), i[n] = o; 13257 } 13258 e.filter = Ch(o); 13259 } 13260} 13261function iM(r, e, t, a) { 13262 var n = r[t], i, o = { gradientUnits: n.global ? "userSpaceOnUse" : "objectBoundingBox" }; 13263 if (LT(n)) i = "linearGradient", o.x1 = n.x, o.y1 = n.y, o.x2 = n.x2, o.y2 = n.y2; 13264 else if (PT(n)) i = "radialGradient", o.cx = st(n.x, 0.5), o.cy = st(n.y, 0.5), o.r = st(n.r, 0.5); 13265 else return; 13266 for (var s = n.colorStops, l = [], u = 0, f = s.length; u < f; ++u) { 13267 var h = Xp(s[u].offset) * 100 + "%", v = s[u].color, c = il(v), p = c.color, d = c.opacity, g = { offset: h }; 13268 g["stop-color"] = p, d < 1 && (g["stop-opacity"] = d), l.push(ie("stop", u + "", g)); 13269 } 13270 var y = ie(i, "", o, l), m = Xy(y), _ = a.gradientCache, S = _[m]; 13271 S || (S = a.zrId + "-g" + a.gradientIdx++, _[m] = S, o.id = S, a.defs[S] = ie(i, S, o, l)), e[t] = Ch(S); 13272} 13273function oM(r, e, t, a) {
13274 var n = r.style[t], i = r.getBoundingRect(), o = {}, s = n.repeat, l = s === "no-repeat", u = s === "repeat-x", f = s === "repeat-y", h; 13275 if (IT(n)) { 13276 var v = n.imageWidth, c = n.imageHeight, p = void 0, d = n.image; 13277 if (Y(d) ? p = d : rM(d) ? p = d.src : aM(d) && (p = d.toDataURL()), typeof Image > "u") { 13278 var g = "Image width/height must been given explictly in svg-ssr renderer."; 13279 we(v, g), we(c, g); 13280 } else if (v == null || c == null) { 13281 var y = function(A, M) { 13282 if (A) { 13283 var I = A.elm, L = v || M.width, P = c || M.height; 13284 A.tag === "pattern" && (u ? (P = 1, L /= i.width) : f && (L = 1, P /= i.height)), A.attrs.width = L, A.attrs.height = P, I && (I.setAttribute("width", L), I.setAttribute("height", P)); 13285 } 13286 }, m = Zg(p, null, r, function(A) { 13287 l || y(x, A), y(h, A); 13288 }); 13289 m && m.width && m.height && (v = v || m.width, c = c || m.height); 13290 } 13291 h = ie("image", "img", { href: p, width: v, height: c }), o.width = v, o.height = c; 13292 } else n.svgElement && (h = rt(n.svgElement), o.width = n.svgWidth, o.height = n.svgHeight); 13293 if (h) { 13294 var _, S; 13295 l ? _ = S = 1 : u ? (S = 1, _ = o.width / i.width) : f ? (_ = 1, S = o.height / i.height) : o.patternUnits = "userSpaceOnUse", _ != null && !isNaN(_) && (o.width = _), S != null && !isNaN(S) && (o.height = S); 13296 var b = kT(n); 13297 b && (o.patternTransform = b); 13298 var x = ie("pattern", "", o, [h]), w = Xy(x), T = a.patternCache, C = T[w]; 13299 C || (C = a.zrId + "-p" + a.patternIdx++, T[w] = C, o.id = C, x = a.defs[C] = ie("pattern", C, o, [h])), e[t] = Ch(C); 13300 } 13301} 13302function TV(r, e, t) { 13303 var a = t.clipPathCache, n = t.defs, i = a[r.id]; 13304 if (!i) { 13305 i = t.zrId + "-c" + t.clipPathIdx++; 13306 var o = { id: i }; 13307 a[r.id] = i, n[i] = ie("clipPath", i, o, [nM(r, t)]); 13308 } 13309 e["clip-path"] = Ch(i); 13310} 13311function Y1(r) { 13312 return document.createTextNode(r); 13313} 13314function Un(r, e, t) { 13315 r.insertBefore(e, t); 13316} 13317function $1(r, e) { 13318 r.removeChild(e); 13319} 13320function X1(r, e) { 13321 r.appendChild(e); 13322} 13323function sM(r) { 13324 return r.parentNode; 13325} 13326function lM(r) { 13327 return r.nextSibling; 13328} 13329function wc(r, e) { 13330 r.textContent = e; 13331} 13332var Z1 = 58, CV = 120, AV = ie("", ""); 13333function Vd(r) { 13334 return r === void 0; 13335} 13336function Hr(r) { 13337 return r !== void 0; 13338} 13339function DV(r, e, t) { 13340 for (var a = {}, n = e; n <= t; ++n) { 13341 var i = r[n].key; 13342 i !== void 0 && (a[i] = n); 13343 } 13344 return a; 13345} 13346function Is(r, e) { 13347 var t = r.key === e.key, a = r.tag === e.tag; 13348 return a && t; 13349} 13350function ml(r) { 13351 var e, t = r.children, a = r.tag; 13352 if (Hr(a)) { 13353 var n = r.elm = QD(a); 13354 if (jy(AV, r), V(t)) for (e = 0; e < t.length; ++e) { 13355 var i = t[e]; 13356 i != null && X1(n, ml(i)); 13357 } 13358 else Hr(r.text) && !tt(r.text) && X1(n, Y1(r.text)); 13359 } else r.elm = Y1(r.text); 13360 return r.elm; 13361} 13362function uM(r, e, t, a, n) { 13363 for (; a <= n; ++a) { 13364 var i = t[a]; 13365 i != null && Un(r, ml(i), e); 13366 } 13367} 13368function Jf(r, e, t, a) { 13369 for (; t <= a; ++t) { 13370 var n = e[t]; 13371 if (n != null) if (Hr(n.tag)) { 13372 var i = sM(n.elm); 13373 $1(i, n.elm); 13374 } else $1(r, n.elm); 13375 } 13376} 13377function jy(r, e) { 13378 var t, a = e.elm, n = r && r.attrs || {}, i = e.attrs || {}; 13379 if (n !== i) { 13380 for (t in i) { 13381 var o = i[t], s = n[t]; 13382 s !== o && (o === true ? a.setAttribute(t, "") : o === false ? a.removeAttribute(t) : t === "style" ? a.style.cssText = o : t.charCodeAt(0) !== CV ? a.setAttribute(t, o) : t === "xmlns:xlink" || t === "xmlns" ? a.setAttributeNS(oV, t, o) : t.charCodeAt(3) === Z1 ? a.setAttributeNS(sV, t, o) : t.charCodeAt(5) === Z1 ? a.setAttributeNS(JD, t, o) : a.setAttribute(t, o)); 13383 } 13384 for (t in n) t in i || a.removeAttribute(t); 13385 } 13386} 13387function MV(r, e, t) { 13388 for (var a = 0, n = 0, i = e.length - 1, o = e[0], s = e[i], l = t.length - 1, u = t[0], f = t[l], h, v, c, p; a <= i && n <= l; ) o == null ? o = e[++a] : s == null ? s = e[--i] : u == null ? u = t[++n] : f == null ? f = t[--l] : Is(o, u) ? (Qi(o, u), o = e[++a], u = t[++n]) : Is(s, f) ? (Qi(s, f), s = e[--i], f = t[--l]) : Is(o, f) ? (Qi(o, f), Un(r, o.elm, lM(s.elm)), o = e[++a], f = t[--l]) : Is(s, u) ? (Qi(s, u), Un(r, s.elm, o.elm), s = e[--i], u = t[++n]) : (Vd(h) && (h = DV(e, a, i)), v = h[u.key], Vd(v) ? Un(r, ml(u), o.elm) : (c = e[v], c.tag !== u.tag ? Un(r, ml(u), o.elm) : (Qi(c, u), e[v] = void 0, Un(r, c.elm, o.elm))), u = t[++n]); 13389 (a <= i || n <= l) && (a >
13389 i ? (p = t[l + 1] == null ? null : t[l + 1].elm, uM(r, p, t, n, l)) : Jf(r, e, a, i)); 13390} 13391function Qi(r, e) { 13392 var t = e.elm = r.elm, a = r.children, n = e.children; 13393 r !== e && (jy(r, e), Vd(e.text) ? Hr(a) && Hr(n) ? a !== n && MV(t, a, n) : Hr(n) ? (Hr(r.text) && wc(t, ""), uM(t, null, n, 0, n.length - 1)) : Hr(a) ? Jf(t, a, 0, a.length - 1) : Hr(r.text) && wc(t, "") : r.text !== e.text && (Hr(a) && Jf(t, a, 0, a.length - 1), wc(t, e.text))); 13394} 13395function IV(r, e) { 13396 if (Is(r, e)) Qi(r, e); 13397 else { 13398 var t = r.elm, a = sM(t); 13399 ml(e), a !== null && (Un(a, e.elm, lM(t)), Jf(a, [r], 0, 0)); 13400 } 13401 return e; 13402} 13403var LV = 0, PV = function() { 13404 function r(e, t, a) { 13405 if (this.type = "svg", this.refreshHover = q1(), this.configLayer = q1(), this.storage = t, this._opts = a = z({}, a), this.root = e, this._id = "zr" + LV++, this._oldVNode = B1(a.width, a.height), e && !a.ssr) { 13406 var n = this._viewport = document.createElement("div"); 13407 n.style.cssText = "position:relative;overflow:hidden"; 13408 var i = this._svgDom = this._oldVNode.elm = QD("svg"); 13409 jy(null, this._oldVNode), n.appendChild(i), e.appendChild(n); 13410 } 13411 this.resize(a.width, a.height); 13412 } 13413 return r.prototype.getType = function() { 13414 return this.type; 13415 }, r.prototype.getViewportRoot = function() { 13416 return this._viewport; 13417 }, r.prototype.getViewportRootOffset = function() { 13418 var e = this.getViewportRoot(); 13419 if (e) return { offsetLeft: e.offsetLeft || 0, offsetTop: e.offsetTop || 0 }; 13420 }, r.prototype.getSvgDom = function() { 13421 return this._svgDom; 13422 }, r.prototype.refresh = function() { 13423 if (this.root) { 13424 var e = this.renderToVNode({ willUpdate: true }); 13425 e.attrs.style = "position:absolute;left:0;top:0;user-select:none", IV(this._oldVNode, e), this._oldVNode = e; 13426 } 13427 }, r.prototype.renderOneToVNode = function(e) { 13428 return U1(e, zd(this._id)); 13429 }, r.prototype.renderToVNode = function(e) { 13430 e = e || {}; 13431 var t = this.storage.getDisplayList(true), a = this._width, n = this._height, i = zd(this._id); 13432 i.animation = e.animation, i.willUpdate = e.willUpdate, i.compress = e.compress, i.emphasis = e.emphasis, i.ssr = this._opts.ssr; 13433 var o = [], s = this._bgVNode = RV(a, n, this._backgroundColor, i); 13434 s && o.push(s); 13435 var l = e.compress ? null : this._mainVNode = ie("g", "main", {}, []); 13436 this._paintList(t, i, l ? l.children : o), l && o.push(l); 13437 var u = G(_t(i.defs), function(v) { 13438 return i.defs[v]; 13439 }); 13440 if (u.length && o.push(ie("defs", "defs", {}, u)), e.animation) { 13441 var f = fV(i.cssNodes, i.cssAnims, { newline: true }); 13442 if (f) { 13443 var h = ie("style", "stl", {}, [], f); 13444 o.push(h); 13445 } 13446 } 13447 return B1(a, n, o, e.useViewBox); 13448 }, r.prototype.renderToString = function(e) { 13449 return e = e || {}, Xy(this.renderToVNode({ animation: st(e.cssAnimation, true), emphasis: st(e.cssEmphasis, true), willUpdate: false, compress: true, useViewBox: st(e.useViewBox, true) }), { newline: true }); 13450 }, r.prototype.setBackgroundColor = function(e) { 13451 this._backgroundColor = e; 13452 }, r.prototype.getSvgRoot = function() { 13453 return this._mainVNode && this._mainVNode.elm; 13454 }, r.prototype._paintList = function(e, t, a) { 13455 for (var n = e.length, i = [], o = 0, s, l, u = 0, f = 0; f < n; f++) { 13456 var h = e[f]; 13457 if (!h.invisible) { 13458 var v = h.__clipPaths, c = v && v.length || 0, p = l && l.length || 0, d = void 0; 13459 for (d = Math.max(c - 1, p - 1); d >= 0 && !(v && l && v[d] === l[d]); d--) ; 13460 for (var g = p - 1; g > d; g--) o--, s = i[o - 1]; 13461 for (var y = d + 1; y < c; y++) { 13462 var m = {}; 13463 TV(v[y], m, t); 13464 var _ = ie("g", "clip-g-" + u++, m, []); 13465 (s ? s.children : a).push(_), i[o++] = _, s = _; 13466 } 13467 l = v; 13468 var S = U1(h, t); 13469 S && (s ? s.children : a).push(S); 13470 } 13471 } 13472 }, r.prototype.resize = function(e, t) { 13473 var a = this._opts, n = this.root, i = this._viewport; 13474 if (e != null && (a.width = e), t != null && (a.height = t), n && i && (i.style.display = "none", e = no(n, 0, a), t = no(n, 1, a), i.style.display = ""), this._width !== e || this._height !== t) { 13475 if (this._width = e, this._height = t, i) { 13476 var o = i.style; 13477 o.width = e + "px", o.height = t + "px"; 13478 } 13479 if (Vg(this._backgroundColor)) this.refresh(); 13480 else { 13481 var s = this._svgDom; 13482 s && (s.setAttribute("width", e), s.setAttribute("height", t)); 13483 var l = this._bgVNode && this._bgVNode.elm; 13484 l && (l.setAttribute("width", e), l.setAttribute("height", t)); 13485 } 13486 } 13487 }, r.prototype.getWidth = function() { 13488 return this._width; 13489 }, r.prototype.getHeight = function() { 13490 return this._height; 13491 }, r.prototype.dispose = function() { 13492 this.root && (this.root.innerHTML = ""), this._svgDom = this._viewport = this.storage = this._oldVNode = this._bgVNode = this._mainVNode = null; 13493 }, r.prototype.clear = function() { 13494 this._svgDom && (this._svgDom.innerHTML = null), this._oldVNode = null; 13495 }, r.prototype.toDataURL = function(e) { 13496 var t = this.renderToString(), a = "data:image/svg+xml;"; 13497 return e ? (t = MP(t), t && a + "base64," + t) : a + "charset=UTF-8," + encodeURIComponent(t); 13498 }, r; 13499}(); 13500function q1(r) { 13501 return function() { 13502 }; 13503} 13504function RV(r, e, t, a) { 13505 var n; 13506 if (t && t !== "none") if (n = ie("rect", "bg", { width: r, height: e, x: "0", y: "0" }), RT(t)) iM({ fill: t }, n.attrs, "fill", a); 13507 else if (Vg(t)) oM({ style: { fill: t }, dirty: $t, getBoundingRect: function() { 13508 return { width: r, height: e }; 13509 } }, n.attrs, "fill", a); 13510 else { 13511 var i = il(t), o = i.color, s = i.opacity; 13512 n.attrs.fill = o, s < 1 && (n.attrs["fill-opacity"] = s); 13513 } 13514 return n; 13515} 13516function EV(r) { 13517 r.registerPainter("svg", PV); 13518} 13519function K1(r, e, t) {
13520 var a = Lr.createCanvas(), n = e.getWidth(), i = e.getHeight(), o = a.style; 13521 return o && (o.position = "absolute", o.left = "0", o.top = "0", o.width = n + "px", o.height = i + "px", a.setAttribute("data-zr-dom-id", r)), a.width = n * t, a.height = i * t, a; 13522} 13523var Tc = function(r) { 13524 Ft(e, r); 13525 function e(t, a, n) { 13526 var i = r.call(this) || this; 13527 i.motionBlur = false, i.lastFrameAlpha = 0.7, i.dpr = 1, i.virtual = false, i.config = {}, i.incremental = false, i.zlevel = 0, i.maxRepaintRectCount = 5, i.__dirty = true, i.__firstTimePaint = true, i.__used = false, i.__drawIndex = 0, i.__startIndex = 0, i.__endIndex = 0, i.__prevStartIndex = null, i.__prevEndIndex = null; 13528 var o; 13529 n = n || If, typeof t == "string" ? o = K1(t, a, n) : tt(t) && (o = t, t = o.id), i.id = t, i.dom = o; 13530 var s = o.style; 13531 return s && (kg(o), o.onselectstart = function() { 13532 return false; 13533 }, s.padding = "0", s.margin = "0", s.borderWidth = "0"), i.painter = a, i.dpr = n, i; 13534 } 13535 return e.prototype.getElementCount = function() { 13536 return this.__endIndex - this.__startIndex; 13537 }, e.prototype.afterBrush = function() { 13538 this.__prevStartIndex = this.__startIndex, this.__prevEndIndex = this.__endIndex; 13539 }, e.prototype.initContext = function() { 13540 this.ctx = this.dom.getContext("2d"), this.ctx.dpr = this.dpr; 13541 }, e.prototype.setUnpainted = function() { 13542 this.__firstTimePaint = true; 13543 }, e.prototype.createBackBuffer = function() { 13544 var t = this.dpr; 13545 this.domBack = K1("back-" + this.id, this.painter, t), this.ctxBack = this.domBack.getContext("2d"), t !== 1 && this.ctxBack.scale(t, t); 13546 }, e.prototype.createRepaintRects = function(t, a, n, i) { 13547 if (this.__firstTimePaint) return this.__firstTimePaint = false, null; 13548 var o = [], s = this.maxRepaintRectCount, l = false, u = new ht(0, 0, 0, 0); 13549 function f(m) { 13550 if (!(!m.isFinite() || m.isZero())) if (o.length === 0) { 13551 var _ = new ht(0, 0, 0, 0); 13552 _.copy(m), o.push(_); 13553 } else { 13554 for (var S = false, b = 1 / 0, x = 0, w = 0; w < o.length; ++w) { 13555 var T = o[w]; 13556 if (T.intersect(m)) { 13557 var C = new ht(0, 0, 0, 0); 13558 C.copy(T), C.union(m), o[w] = C, S = true; 13559 break; 13560 } else if (l) { 13561 u.copy(m), u.union(T); 13562 var A = m.width * m.height, M = T.width * T.height, I = u.width * u.height, L = I - A - M; 13563 L < b && (b = L, x = w); 13564 } 13565 } 13566 if (l && (o[x].union(m), S = true), !S) { 13567 var _ = new ht(0, 0, 0, 0); 13568 _.copy(m), o.push(_); 13569 } 13570 l || (l = o.length >= s); 13571 } 13572 } 13573 for (var h = this.__startIndex; h < this.__endIndex; ++h) { 13574 var v = t[h]; 13575 if (v) { 13576 var c = v.shouldBePainted(n, i, true, true), p = v.__isRendered && (v.__dirty & Ye || !c) ? v.getPrevPaintRect() : null; 13577 p && f(p); 13578 var d = c && (v.__dirty & Ye || !v.__isRendered) ? v.getPaintRect() : null; 13579 d && f(d); 13580 } 13581 } 13582 for (var h = this.__prevStartIndex; h < this.__prevEndIndex; ++h) { 13583 var v = a[h], c = v && v.shouldBePainted(n, i, true, true); 13584 if (v && (!c || !v.__zr) && v.__isRendered) { 13585 var p = v.getPrevPaintRect(); 13586 p && f(p); 13587 } 13588 } 13589 var g; 13590 do { 13591 g = false;
13592 for (var h = 0; h < o.length; ) { 13593 if (o[h].isZero()) { 13594 o.splice(h, 1); 13595 continue; 13596 } 13597 for (var y = h + 1; y < o.length; ) o[h].intersect(o[y]) ? (g = true, o[h].union(o[y]), o.splice(y, 1)) : y++; 13598 h++; 13599 } 13600 } while (g); 13601 return this._paintRects = o, o; 13602 }, e.prototype.debugGetPaintRects = function() { 13603 return (this._paintRects || []).slice(); 13604 }, e.prototype.resize = function(t, a) { 13605 var n = this.dpr, i = this.dom, o = i.style, s = this.domBack; 13606 o && (o.width = t + "px", o.height = a + "px"), i.width = t * n, i.height = a * n, s && (s.width = t * n, s.height = a * n, n !== 1 && this.ctxBack.scale(n, n)); 13607 }, e.prototype.clear = function(t, a, n) { 13608 var i = this.dom, o = this.ctx, s = i.width, l = i.height; 13609 a = a || this.clearColor; 13610 var u = this.motionBlur && !t, f = this.lastFrameAlpha, h = this.dpr, v = this; 13611 u && (this.domBack || this.createBackBuffer(), this.ctxBack.globalCompositeOperation = "copy", this.ctxBack.drawImage(i, 0, 0, s / h, l / h)); 13612 var c = this.domBack; 13613 function p(d, g, y, m) { 13614 if (o.clearRect(d, g, y, m), a && a !== "transparent") { 13615 var _ = void 0; 13616 if (Il(a)) { 13617 var S = a.global || a.__width === y && a.__height === m; 13618 _ = S && a.__canvasGradient || Md(o, a, { x: 0, y: 0, width: y, height: m }), a.__canvasGradient = _, a.__width = y, a.__height = m; 13619 } else lT(a) && (a.scaleX = a.scaleX || h, a.scaleY = a.scaleY || h, _ = Id(o, a, { dirty: function() { 13620 v.setUnpainted(), v.painter.refresh(); 13621 } })); 13622 o.save(), o.fillStyle = _ || a, o.fillRect(d, g, y, m), o.restore(); 13623 } 13624 u && (o.save(), o.globalAlpha = f, o.drawImage(c, d, g, y, m), o.restore()); 13625 } 13626 !n || u ? p(0, 0, s, l) : n.length && D(n, function(d) { 13627 p(d.x * h, d.y * h, d.width * h, d.height * h); 13628 }); 13629 }, e; 13630}(cr), j1 = 1e5, On = 314159, Ru = 0.01, kV = 1e-3; 13631function OV(r) { 13632 return r ? r.__builtin__ ? true : !(typeof r.resize != "function" || typeof r.refresh != "function") : false; 13633} 13634function NV(r, e) { 13635 var t = document.createElement("div"); 13636 return t.style.cssText = ["position:relative", "width:" + r + "px", "height:" + e + "px", "padding:0", "margin:0", "border-width:0"].join(";") + ";", t; 13637} 13638var BV = function() { 13639 function r(e, t, a, n) { 13640 this.type = "canvas", this._zlevelList = [], this._prevDisplayList = [], this._layers = {}, this._layerConfig = {}, this._needsManuallyCompositing = false, this.type = "canvas"; 13641 var i = !e.nodeName || e.nodeName.toUpperCase() === "CANVAS"; 13642 this._opts = a = z({}, a || {}), this.dpr = a.devicePixelRatio || If, this._singleCanvas = i, this.root = e; 13643 var o = e.style; 13644 o && (kg(e), e.innerHTML = ""), this.storage = t; 13645 var s = this._zlevelList; 13646 this._prevDisplayList = []; 13647 var l = this._layers; 13648 if (i) { 13649 var f = e, h = f.width, v = f.height; 13650 a.width != null && (h = a.width), a.height != null && (v = a.height), this.dpr = a.devicePixelRatio || 1, f.width = h * this.dpr, f.height = v * this.dpr, this._width = h, this._height = v; 13651 var c = new Tc(f, this, this.dpr); 13652 c.__builtin__ = true, c.initContext(), l[On] = c, c.zlevel = On, s.push(On), this._domRoot = e; 13653 } else { 13654 this._width = no(e, 0, a), this._height = no(e, 1, a); 13655 var u = this._domRoot = NV(this._width, this._height); 13656 e.appendChild(u); 13657 } 13658 } 13659 return r.prototype.getType = function() { 13660 return "canvas"; 13661 }, r.prototype.isSingleCanvas = function() { 13662 return this._singleCanvas; 13663 }, r.prototype.getViewportRoot = function() { 13664 return this._domRoot; 13665 }, r.prototype.getViewportRootOffset = function() { 13666 var e = this.getViewportRoot(); 13667 if (e) return { offsetLeft: e.offsetLeft || 0, offsetTop: e.offsetTop || 0 }; 13668 }, r.prototype.refresh = function(e) { 13669 var t = this.storage.getDisplayList(true), a = this._prevDisplayList, n = this._zlevelList; 13670 this._redrawId = Math.random(), this._paintList(t, a, e, this._redrawId); 13671 for (var i = 0; i < n.length; i++) { 13672 var o = n[i], s = this._layers[o]; 13673 if (!s.__builtin__ && s.refresh) { 13674 var l = i === 0 ? this._backgroundColor : null; 13675 s.refresh(l); 13676 } 13677 } 13678 return this._opts.useDirtyRect && (this._prevDisplayList = t.slice()), this; 13679 }, r.prototype.refreshHover = function() { 13680 this._paintHoverList(this.storage.getDisplayList(false)); 13681 }, r.prototype._paintHoverList = function(e) { 13682 var t = e.length, a = this._hoverlayer; 13683 if (a && a.clear(), !!t) { 13684 for (var n = { inHover: true, viewWidth: this._width, viewHeight: this._height }, i, o = 0; o < t; o++) { 13685 var s = e[o]; 13686 s.__inHover && (a || (a = this._hoverlayer = this.getLayer(j1)), i || (i = a.ctx, i.save()), Qn(i, s, n, o === t - 1)); 13687 }
13688 i && i.restore(); 13689 } 13690 }, r.prototype.getHoverLayer = function() { 13691 return this.getLayer(j1); 13692 }, r.prototype.paintOne = function(e, t) { 13693 My(e, t); 13694 }, r.prototype._paintList = function(e, t, a, n) { 13695 if (this._redrawId === n) { 13696 a = a || false, this._updateLayerStatus(e); 13697 var i = this._doPaintList(e, t, a), o = i.finished, s = i.needsRefreshHover; 13698 if (this._needsManuallyCompositing && this._compositeManually(), s && this._paintHoverList(e), o) this.eachLayer(function(u) { 13699 u.afterBrush && u.afterBrush(); 13700 }); 13701 else { 13702 var l = this; 13703 wf(function() { 13704 l._paintList(e, t, a, n); 13705 }); 13706 } 13707 } 13708 }, r.prototype._compositeManually = function() { 13709 var e = this.getLayer(On).ctx, t = this._domRoot.width, a = this._domRoot.height; 13710 e.clearRect(0, 0, t, a), this.eachBuiltinLayer(function(n) { 13711 n.virtual && e.drawImage(n.dom, 0, 0, t, a); 13712 }); 13713 }, r.prototype._doPaintList = function(e, t, a) { 13714 for (var n = this, i = [], o = this._opts.useDirtyRect, s = 0; s < this._zlevelList.length; s++) { 13715 var l = this._zlevelList[s], u = this._layers[l]; 13716 u.__builtin__ && u !== this._hoverlayer && (u.__dirty || a) && i.push(u); 13717 } 13718 for (var f = true, h = false, v = function(d) { 13719 var g = i[d], y = g.ctx, m = o && g.createRepaintRects(e, t, c._width, c._height), _ = a ? g.__startIndex : g.__drawIndex, S = !a && g.incremental && Date.now, b = S && Date.now(), x = g.zlevel === c._zlevelList[0] ? c._backgroundColor : null; 13720 if (g.__startIndex === g.__endIndex) g.clear(false, x, m); 13721 else if (_ === g.__startIndex) { 13722 var w = e[_]; 13723 (!w.incremental || !w.notClear || a) && g.clear(false, x, m); 13724 } 13725 _ === -1 && (console.error("For some unknown reason. drawIndex is -1"), _ = g.__startIndex); 13726 var T, C = function(L) { 13727 var P = { inHover: false, allClipped: false, prevEl: null, viewWidth: n._width, viewHeight: n._height }; 13728 for (T = _; T < g.__endIndex; T++) { 13729 var R = e[T]; 13730 if (R.__inHover && (h = true), n._doPaintEl(R, g, o, L, P, T === g.__endIndex - 1), S) { 13731 var E = Date.now() - b; 13732 if (E > 15) break; 13733 } 13734 } 13735 P.prevElClipPaths && y.restore(); 13736 }; 13737 if (m) if (m.length === 0) T = g.__endIndex; 13738 else for (var A = c.dpr, M = 0; M < m.length; ++M) { 13739 var I = m[M]; 13740 y.save(), y.beginPath(), y.rect(I.x * A, I.y * A, I.width * A, I.height * A), y.clip(), C(I), y.restore(); 13741 } 13742 else y.save(), C(), y.restore(); 13743 g.__drawIndex = T, g.__drawIndex < g.__endIndex && (f = false); 13744 }, c = this, p = 0; p < i.length; p++) v(p); 13745 return yt.wxa && D(this._layers, function(d) { 13746 d && d.ctx && d.ctx.draw && d.ctx.draw(); 13747 }), { finished: f, needsRefreshHover: h }; 13748 }, r.prototype._doPaintEl = function(e, t, a, n, i, o) { 13749 var s = t.ctx; 13750 if (a) { 13751 var l = e.getPaintRect(); 13752 (!n || l && l.intersect(n)) && (Qn(s, e, i, o), e.setPrevPaintRect(l)); 13753 } else Qn(s, e, i, o); 13754 }, r.prototype.getLayer = function(e, t) { 13755 this._singleCanvas && !this._needsManuallyCompositing && (e = On); 13756 var a = this._layers[e]; 13757 return a || (a = new Tc("zr_" + e, this, this.dpr), a.zlevel = e, a.__builtin__ = true, this._layerConfig[e] ? ut(a, this._layerConfig[e], true) : this._layerConfig[e - Ru] && ut(a, this._layerConfig[e - Ru], true), t && (a.virtual = t), this.insertLayer(e, a), a.initContext()), a; 13758 }, r.prototype.insertLayer = function(e, t) { 13759 var a = this._layers, n = this._zlevelList, i = n.length, o = this._domRoot, s = null, l = -1; 13760 if (!a[e] && OV(t)) { 13761 if (i > 0 && e > n[0]) { 13762 for (l = 0; l < i - 1 && !(n[l] < e && n[l + 1] > e); l++) ; 13763 s = a[n[l]]; 13764 } 13765 if (n.splice(l + 1, 0, e), a[e] = t, !t.virtual) if (s) { 13766 var u = s.dom; 13767 u.nextSibling ? o.insertBefore(t.dom, u.nextSibling) : o.appendChild(t.dom); 13768 } else o.firstChild ? o.insertBefore(t.dom, o.firstChild) : o.appendChild(t.dom); 13769 t.painter || (t.painter = this); 13770 } 13771 }, r.prototype.eachLayer = function(e, t) { 13772 for (var a = this._zlevelList, n = 0; n < a.length; n++) { 13773 var i = a[n]; 13774 e.call(t, this._layers[i], i); 13775 } 13776 }, r.prototype.eachBuiltinLayer = function(e, t) { 13777 for (var a = this._zlevelList, n = 0; n < a.length; n++) { 13778 var i = a[n], o = this._layers[i]; 13779 o.__builtin__ && e.call(t, o, i); 13780 } 13781 }, r.prototype.eachOtherLayer = function(e, t) { 13782 for (var a = this._zlevelList, n = 0; n < a.length; n++) { 13783 var i = a[n], o = this._layers[i]; 13784 o.__builtin__ || e.call(t, o, i); 13785 } 13786 }, r.prototype.getLayers = function() { 13787 return this._layers; 13788 }, r.prototype._updateLayerStatus = function(e) { 13789 this.eachBuiltinLayer(function(h, v) { 13790 h.__dirty = h.__used = false;
13791 }); 13792 function t(h) { 13793 i && (i.__endIndex !== h && (i.__dirty = true), i.__endIndex = h); 13794 } 13795 if (this._singleCanvas) for (var a = 1; a < e.length; a++) { 13796 var n = e[a]; 13797 if (n.zlevel !== e[a - 1].zlevel || n.incremental) { 13798 this._needsManuallyCompositing = true; 13799 break; 13800 } 13801 } 13802 var i = null, o = 0, s, l; 13803 for (l = 0; l < e.length; l++) { 13804 var n = e[l], u = n.zlevel, f = void 0; 13805 s !== u && (s = u, o = 0), n.incremental ? (f = this.getLayer(u + kV, this._needsManuallyCompositing), f.incremental = true, o = 1) : f = this.getLayer(u + (o > 0 ? Ru : 0), this._needsManuallyCompositing), f.__builtin__ || _h("ZLevel " + u + " has been used by unkown layer " + f.id), f !== i && (f.__used = true, f.__startIndex !== l && (f.__dirty = true), f.__startIndex = l, f.incremental ? f.__drawIndex = -1 : f.__drawIndex = l, t(l), i = f), n.__dirty & Ye && !n.__inHover && (f.__dirty = true, f.incremental && f.__drawIndex < 0 && (f.__drawIndex = l)); 13806 } 13807 t(l), this.eachBuiltinLayer(function(h, v) { 13808 !h.__used && h.getElementCount() > 0 && (h.__dirty = true, h.__startIndex = h.__endIndex = h.__drawIndex = 0), h.__dirty && h.__drawIndex < 0 && (h.__drawIndex = h.__startIndex); 13809 }); 13810 }, r.prototype.clear = function() { 13811 return this.eachBuiltinLayer(this._clearLayer), this; 13812 }, r.prototype._clearLayer = function(e) { 13813 e.clear(); 13814 }, r.prototype.setBackgroundColor = function(e) { 13815 this._backgroundColor = e, D(this._layers, function(t) { 13816 t.setUnpainted(); 13817 }); 13818 }, r.prototype.configLayer = function(e, t) { 13819 if (t) { 13820 var a = this._layerConfig; 13821 a[e] ? ut(a[e], t, true) : a[e] = t; 13822 for (var n = 0; n < this._zlevelList.length; n++) { 13823 var i = this._zlevelList[n]; 13824 if (i === e || i === e + Ru) { 13825 var o = this._layers[i]; 13826 ut(o, a[e], true); 13827 } 13828 } 13829 } 13830 }, r.prototype.delLayer = function(e) { 13831 var t = this._layers, a = this._zlevelList, n = t[e]; 13832 n && (n.dom.parentNode.removeChild(n.dom), delete t[e], a.splice(vt(a, e), 1)); 13833 }, r.prototype.resize = function(e, t) { 13834 if (this._domRoot.style) { 13835 var a = this._domRoot; 13836 a.style.display = "none"; 13837 var n = this._opts, i = this.root; 13838 if (e != null && (n.width = e), t != null && (n.height = t), e = no(i, 0, n), t = no(i, 1, n), a.style.display = "", this._width !== e || t !== this._height) { 13839 a.style.width = e + "px", a.style.height = t + "px"; 13840 for (var o in this._layers) this._layers.hasOwnProperty(o) && this._layers[o].resize(e, t); 13841 this.refresh(true); 13842 } 13843 this._width = e, this._height = t; 13844 } else { 13845 if (e == null || t == null) return; 13846 this._width = e, this._height = t, this.getLayer(On).resize(e, t); 13847 } 13848 return this; 13849 }, r.prototype.clearLayer = function(e) { 13850 var t = this._layers[e]; 13851 t && t.clear(); 13852 }, r.prototype.dispose = function() { 13853 this.root.innerHTML = "", this.root = this.storage = this._domRoot = this._layers = null; 13854 }, r.prototype.getRenderedCanvas = function(e) { 13855 if (e = e || {}, this._singleCanvas && !this._compositeManually) return this._layers[On].dom; 13856 var t = new Tc("image", this, e.pixelRatio || this.dpr); 13857 t.initContext(), t.clear(false, e.backgroundColor || this._backgroundColor); 13858 var a = t.ctx; 13859 if (e.pixelRatio <= this.dpr) { 13860 this.refresh(); 13861 var n = t.dom.width, i = t.dom.height; 13862 this.eachLayer(function(h) { 13863 h.__builtin__ ? a.drawImage(h.dom, 0, 0, n, i) : h.renderToCanvas && (a.save(), h.renderToCanvas(a), a.restore()); 13864 }); 13865 } else for (var o = { inHover: false, viewWidth: this._width, viewHeight: this._height }, s = this.storage.getDisplayList(true), l = 0, u = s.length; l < u; l++) { 13866 var f = s[l]; 13867 Qn(a, f, o, l === u - 1); 13868 } 13869 return t.dom; 13870 }, r.prototype.getWidth = function() { 13871 return this._width; 13872 }, r.prototype.getHeight = function() { 13873 return this._height; 13874 }, r; 13875}(); 13876function zV(r) { 13877 r.registerPainter("canvas", BV); 13878} 13879var VV = function(r) { 13880 N(e, r); 13881 function e() { 13882 var t = r !== null && r.apply(this, arguments) || this; 13883 return t.type = e.type, t.hasSymbolVisual = true, t; 13884 } 13885 return e.prototype.getInitialData = function(t) { 13886 return aa(null, this, { useEncodeDefaulter: true }); 13887 }, e.prototype.getLegendIcon = function(t) { 13888 var a = new at(), n = qt("line", 0, t.itemHeight / 2, t.itemWidth, 0, t.lineStyle.stroke, false); 13889 a.add(n), n.setStyle(t.lineStyle); 13890 var i = this.getData().getVisual("symbol"), o = this.getData().getVisual("symbolRotate"), s = i === "none" ? "circle" : i, l = t.itemHeight * 0.8, u = qt(s, (t.itemWidth - l) / 2, (t.itemHeight - l) / 2, l, l, t.itemStyle.fill); 13891 a.add(u), u.setStyle(t.itemStyle); 13892 var f = t.iconRotate === "inherit" ? o : t.iconRotate || 0; 13893 return u.rotation = f * Math.PI / 180, u.setOrigin([t.itemWidth / 2, t.itemHeight / 2]), s.indexOf("empty") > -1 && (u.style.stroke = u.style.fill, u.style.fill = "#fff", u.style.lineWidth = 2), a; 13894 }, e.type = "series.line", e.dependencies = ["grid", "polar"], e.defaultOption = { z: 3, coordinateSystem: "cartesian2d", legendHoverLink: true, clip: true, label: { position: "top" }, endLabel: { show: false, valueAnimation: true, distance: 8 }, lineStyle: { width: 2, type: "solid" }, emphasis: { scale: true }
13894, step: false, smooth: false, smoothMonotone: null, symbol: "emptyCircle", symbolSize: 4, symbolRotate: null, showSymbol: true, showAllSymbol: "auto", connectNulls: false, sampling: "none", animationEasing: "linear", progressive: 0, hoverLayerThreshold: 1 / 0, universalTransition: { divideShape: "clone" }, triggerLineEvent: false }, e; 13895}(Et); 13896function bo(r, e) { 13897 var t = r.mapDimensionsAll("defaultedLabel"), a = t.length; 13898 if (a === 1) { 13899 var n = So(r, e, t[0]); 13900 return n != null ? n + "" : null; 13901 } else if (a) { 13902 for (var i = [], o = 0; o < t.length; o++) i.push(So(r, e, t[o])); 13903 return i.join(" "); 13904 } 13905} 13906function fM(r, e) { 13907 var t = r.mapDimensionsAll("defaultedLabel"); 13908 if (!V(e)) return e + ""; 13909 for (var a = [], n = 0; n < t.length; n++) { 13910 var i = r.getDimensionIndex(t[n]); 13911 i >= 0 && a.push(e[i]); 13912 } 13913 return a.join(" "); 13914} 13915var Wl = function(r) { 13916 N(e, r); 13917 function e(t, a, n, i) { 13918 var o = r.call(this) || this; 13919 return o.updateData(t, a, n, i), o; 13920 } 13921 return e.prototype._createSymbol = function(t, a, n, i, o) { 13922 this.removeAll(); 13923 var s = qt(t, -1, -1, 2, 2, null, o); 13924 s.attr({ z2: 100, culling: true, scaleX: i[0] / 2, scaleY: i[1] / 2 }), s.drift = GV, this._symbolType = t, this.add(s); 13925 }, e.prototype.stopSymbolAnimation = function(t) { 13926 this.childAt(0).stopAnimation(null, t); 13927 }, e.prototype.getSymbolType = function() { 13928 return this._symbolType; 13929 }, e.prototype.getSymbolPath = function() { 13930 return this.childAt(0); 13931 }, e.prototype.highlight = function() { 13932 ma(this.childAt(0)); 13933 }, e.prototype.downplay = function() { 13934 _a(this.childAt(0)); 13935 }, e.prototype.setZ = function(t, a) { 13936 var n = this.childAt(0); 13937 n.zlevel = t, n.z = a; 13938 }, e.prototype.setDraggable = function(t, a) { 13939 var n = this.childAt(0); 13940 n.draggable = t, n.cursor = !a && t ? "move" : n.cursor; 13941 }, e.prototype.updateData = function(t, a, n, i) { 13942 this.silent = false; 13943 var o = t.getItemVisual(a, "symbol") || "circle", s = t.hostModel, l = e.getSymbolSize(t, a), u = o !== this._symbolType, f = i && i.disableAnimation; 13944 if (u) { 13945 var h = t.getItemVisual(a, "symbolKeepAspect"); 13946 this._createSymbol(o, t, a, l, h); 13947 } else { 13948 var v = this.childAt(0); 13949 v.silent = false; 13950 var c = { scaleX: l[0] / 2, scaleY: l[1] / 2 }; 13951 f ? v.attr(c) : Tt(v, c, s, a), Er(v); 13952 } 13953 if (this._updateCommon(t, a, l, n, i), u) { 13954 var v = this.childAt(0); 13955 if (!f) { 13956 var c = { scaleX: this._sizeX, scaleY: this._sizeY, style: { opacity: v.style.opacity } }; 13957 v.scaleX = v.scaleY = 0, v.style.opacity = 0, Gt(v, c, s, a); 13958 } 13959 } 13960 f && this.childAt(0).stopAnimation("leave"); 13961 }, e.prototype._updateCommon = function(t, a, n, i, o) { 13962 var s = this.childAt(0), l = t.hostModel, u, f, h, v, c, p, d, g, y; 13963 if (i && (u = i.emphasisItemStyle, f = i.blurItemStyle, h = i.selectItemStyle, v = i.focus, c = i.blurScope, d = i.labelStatesModels, g = i.hoverScale, y = i.cursorStyle, p = i.emphasisDisabled), !i || t.hasItemOption) { 13964 var m = i && i.itemModel ? i.itemModel : t.getItemModel(a), _ = m.getModel("emphasis"); 13965 u = _.getModel("itemStyle").getItemStyle(), h = m.getModel(["select", "itemStyle"]).getItemStyle(), f = m.getModel(["blur", "itemStyle"]).getItemStyle(), v = _.get("focus"), c = _.get("blurScope"), p = _.get("disabled"), d = se(m), g = _.getShallow("scale"), y = m.getShallow("cursor"); 13966 } 13967 var S = t.getItemVisual(a, "symbolRotate"); 13968 s.attr("rotation", (S || 0) * Math.PI / 180 || 0); 13969 var b = wi(t.getItemVisual(a, "symbolOffset"), n); 13970 b && (s.x = b[0], s.y = b[1]), y && s.attr("cursor", y); 13971 var x = t.getItemVisual(a, "style"), w = x.fill; 13972 if (s instanceof ue) { 13973 var T = s.style; 13974 s.useStyle(z({ image: T.image, x: T.x, y: T.y, width: T.width, height: T.height }, x)); 13975 } else s.__isEmptyBrush ? s.useStyle(z({}, x)) : s.useStyle(x), s.style.decal = null, s.setColor(w, o && o.symbolInnerColor), s.style.strokeNoScale = true; 13976 var C = t.getItemVisual(a, "liftZ"), A = this._z2; 13977 C != null ? A == null && (this._z2 = s.z2, s.z2 += C) : A != null && (s.z2 = A, this._z2 = null); 13978 var M = o && o.useNameLabel; 13979 de(s, d, { labelFetcher: l, labelDataIndex: a, defaultText: I, inheritColor: w, defaultOpacity: x.opacity }); 13980 function I(R) { 13981 return M ? t.getName(R) : bo(t, R); 13982 } 13983 this._sizeX = n[0] / 2, this._sizeY = n[1] / 2; 13984 var L = s.ensureState("emphasis"); 13985 L.style = u, s.ensureState("select").style = h, s.ensureState("blur").style = f; 13986 var P = g == null || g === true ? Math.max(1.1, 3 / this._sizeY) : isFinite(g) && g > 0 ? +g : 1; 13987 L.scaleX = this._sizeX * P, L.scaleY = this._sizeY * P, this.setSymbolScale(1), Wt(this, v, c, p); 13988 }, e.prototype.setSymbolScale = function(t) { 13989 this.scaleX = this.scaleY = t; 13990 }, e.prototype.fadeOut = function(t, a, n) { 13991 var i = this.childAt(0), o = it(this).dataIndex, s = n && n.animation; 13992 if (this.silent = i.silent = true, n && n.fadeLabel) { 13993 var l = i.getTextContent(); 13994 l && rn(l, { style: { opacity: 0 } }, a, { dataIndex: o, removeOpt: s, cb: function() { 13995 i.removeTextContent(); 13996 } }); 13997 } else i.removeTextContent(); 13998 rn(i, { style: { opacity: 0 }, scaleX: 0, scaleY: 0 }, a, { dataIndex: o, cb: t, removeOpt: s }); 13999 }, e.getSymbolSize = function(t, a) { 14000 return Ho(t.getItemVisual(a, "symbolSize")); 14001 }, e; 14002}(at); 14003function GV(r, e) { 14004 this.parent.drift(r, e); 14005} 14006function Cc(r, e, t, a) { 14007 return e && !isNaN(e[0]) && !isNaN(e[1]) && !(a.isIgnore && a.isIgnore(t)) && !(a.clipShape && !a.clipShape.contain(e[0], e[1])) && r.getItemVisual(t, "symbol") !== "none"; 14008} 14009function J1(r) { 14010 return r != null && !tt(r) && (r = { isIgnore: r }), r || {}; 14011} 14012function Q1(r) { 14013 var e = r.hostModel, t = e.getModel("emphasis"); 14014 return { emphasisItemStyle: t.getModel("itemStyle").getItemStyle(), blurItemStyle: e.getModel(["blur", "itemStyle"]).getItemStyle(), selectItemStyle: e.getModel(["select", "itemStyle"]).getItemStyle(), focus: t.get("focus"), blurScope: t.get("blurScope"), emphasisDisabled: t.get("disabled"), hoverScale: t.get("scale"), labelStatesModels: se(e), cursorStyle: e.get("cursor") }; 14015} 14016var Ul = function() { 14017 function r(e) { 14018 this.group = new at(), this._SymbolCtor = e || Wl; 14019 } 14020 return r.prototype.updateData = function(e, t) { 14021 this._progressiveEls = null, t = J1(t); 14022 var a = this.group, n = e.hostModel, i = this._data, o = this._SymbolCtor, s = t.disableAnimation, l = Q1(e), u = { disableAnimation: s }, f = t.getSymbolPoint || function(h) { 14023 return e.getItemLayout(h); 14024 }; 14025 i || a.removeAll(), e.diff(i).add(function(h) { 14026 var v = f(h); 14027 if (Cc(e, v, h, t)) { 14028 var c = new o(e, h, l, u); 14029 c.setPosition(v), e.setItemGraphicEl(h, c), a.add(c); 14030 } 14031 }).update(function(h, v) { 14032 var c = i.getItemGraphicEl(v), p = f(h); 14033 if (!Cc(e, p, h, t)) { 14034 a.remove(c); 14035 return; 14036 } 14037 var d = e.getItemVisual(h, "symbol") || "circle", g = c && c.getSymbolType && c.getSymbolType(); 14038 if (!c || g && g !== d) a.remove(c), c = new o(e, h, l, u), c.setPosition(p); 14039 else { 14040 c.updateData(e, h, l, u); 14041 var y = { x: p[0], y: p[1] }; 14042 s ? c.attr(y) : Tt(c, y, n); 14043 } 14044 a.add(c), e.setItemGraphicEl(h, c); 14045 }).remove(function(h) { 14046 var v = i.getItemGraphicEl(h); 14047 v && v.fadeOut(function() { 14048 a.remove(v); 14049 }, n); 14050 }).execute(), this._getSymbolPoint = f, this._data = e; 14051 }, r.prototype.updateLayout = function() { 14052 var e = this, t = this._data; 14053 t && t.eachItemGraphicEl(function(a, n) { 14054 var i = e._getSymbolPoint(n); 14055 a.setPosition(i), a.markRedraw(); 14056 }); 14057 }, r.prototype.incrementalPrepareUpdate = function(e) { 14058 this._seriesScope = Q1(e), this._data = null, this.group.removeAll(); 14059 }, r.prototype.incrementalUpdate = function(e, t, a) { 14060 this._progressiveEls = [], a = J1(a); 14061 function n(l) { 14062 l.isGroup || (l.incremental = true, l.ensureState("emphasis").hoverLayer = true); 14063 } 14064 for (var i = e.start; i < e.end; i++) { 14065 var o = t.getItemLayout(i); 14066 if (Cc(t, o, i, a)) { 14067 var s = new this._SymbolCtor(t, i, this._seriesScope); 14068 s.traverse(n), s.setPosition(o), this.group.add(s), t.setItemGraphicEl(i, s), this._progressiveEls.push(s); 14069 } 14070 } 14071 }, r.prototype.eachRendered = function(e) { 14072 un(this._progressiveEls || this.group, e); 14073 }, r.prototype.remove = function(e) { 14074 var t = this.group, a = this._data; 14075 a && e ? a.eachItemGraphicEl(function(n) { 14076 n.fadeOut(function() { 14077 t.remove(n); 14078 }, a.hostModel); 14079 }) : t.removeAll(); 14080 }, r; 14081}(); 14082function hM(r, e, t) { 14083 var a = r.getBaseAxis(), n = r.getOtherAxis(a), i = FV(n, t), o = a.dim, s = n.dim, l = e.mapDimension(s), u = e.mapDimension(o), f = s === "x" || s === "radius" ? 1 : 0, h = G(r.dimensions, function(p) { 14084 return e.mapDimension(p); 14085 }), v = false, c = e.getCalculationInfo("stackResultDimension"); 14086 return xa(e, h[0]) && (v = true, h[0] = c), xa(e, h[1]) && (v = true, h[1] = c), { dataDimsForPoint: h, valueStart: i, valueAxisDim: s, baseAxisDim: o, stacked: !!v, valueDim: l, baseDim: u, baseDataOffset: f, stackedOverDimension: e.getCalculationInfo("stackedOverDimension") }; 14087} 14088function FV(r, e) { 14089 var t = 0, a = r.scale.getExtent(); 14090 return e === "start" ? t = a[0] : e === "end" ? t = a[1] : wt(e) && !isNaN(e) ? t = e : a[0] > 0 ? t = a[0] : a[1] < 0 && (t = a[1]), t; 14091} 14092function vM(r, e, t, a) { 14093 var n = NaN; 14094 r.stacked && (n = t.get(t.getCalculationInfo("stackedOverDimension"), a)), isNaN(n) && (n = r.valueStart); 14095 var i = r.baseDataOffset, o = []; 14096 return o[i] = t.get(r.baseDim, a), o[1 - i] = n, e.dataToPoint(o); 14097} 14098function HV(r, e) { 14099 var t = []; 14100 return e.diff(r).add(function(a) { 14101 t.push({ cmd: "+", idx: a }); 14102 }).update(function(a, n) { 14103 t.push({ cmd: "=", idx: n, idx1: a }); 14104 }).remove(function(a) { 14105 t.push({ cmd: "-", idx: a }); 14106 }).execute(), t; 14107} 14108function WV(r, e, t, a, n, i, o, s) { 14109 for (var l = HV(r, e), u = [], f = [], h = [], v = [], c = [], p
14109= [], d = [], g = hM(n, e, o), y = r.getLayout("points") || [], m = e.getLayout("points") || [], _ = 0; _ < l.length; _++) { 14110 var S = l[_], b = true, x = void 0, w = void 0; 14111 switch (S.cmd) { 14112 case "=": 14113 x = S.idx * 2, w = S.idx1 * 2; 14114 var T = y[x], C = y[x + 1], A = m[w], M = m[w + 1]; 14115 (isNaN(T) || isNaN(C)) && (T = A, C = M), u.push(T, C), f.push(A, M), h.push(t[x], t[x + 1]), v.push(a[w], a[w + 1]), d.push(e.getRawIndex(S.idx1)); 14116 break; 14117 case "+": 14118 var I = S.idx, L = g.dataDimsForPoint, P = n.dataToPoint([e.get(L[0], I), e.get(L[1], I)]); 14119 w = I * 2, u.push(P[0], P[1]), f.push(m[w], m[w + 1]); 14120 var R = vM(g, n, e, I); 14121 h.push(R[0], R[1]), v.push(a[w], a[w + 1]), d.push(e.getRawIndex(I)); 14122 break; 14123 case "-": 14124 b = false; 14125 } 14126 b && (c.push(S), p.push(p.length)); 14127 } 14128 p.sort(function(nt, It) { 14129 return d[nt] - d[It]; 14130 }); 14131 for (var E = u.length, O = $r(E), k = $r(E), B = $r(E), F = $r(E), H = [], _ = 0; _ < p.length; _++) { 14132 var U = p[_], K = _ * 2, J = U * 2; 14133 O[K] = u[J], O[K + 1] = u[J + 1], k[K] = f[J], k[K + 1] = f[J + 1], B[K] = h[J], B[K + 1] = h[J + 1], F[K] = v[J], F[K + 1] = v[J + 1], H[_] = c[U]; 14134 } 14135 return { current: O, next: k, stackedOnCurrent: B, stackedOnNext: F, status: H }; 14136} 14137var Ra = Math.min, Ea = Math.max; 14138function oi(r, e) { 14139 return isNaN(r) || isNaN(e); 14140} 14141function Gd(r, e, t, a, n, i, o, s, l) { 14142 for (var u, f, h, v, c, p, d = t, g = 0; g < a; g++) { 14143 var y = e[d * 2], m = e[d * 2 + 1]; 14144 if (d >= n || d < 0) break; 14145 if (oi(y, m)) { 14146 if (l) { 14147 d += i; 14148 continue; 14149 } 14150 break; 14151 } 14152 if (d === t) r[i > 0 ? "moveTo" : "lineTo"](y, m), h = y, v = m; 14153 else { 14154 var _ = y - u, S = m - f; 14155 if (_ * _ + S * S < 0.5) { 14156 d += i; 14157 continue; 14158 } 14159 if (o > 0) { 14160 for (var b = d + i, x = e[b * 2], w = e[b * 2 + 1]; x === y && w === m && g < a; ) g++, b += i, d += i, x = e[b * 2], w = e[b * 2 + 1], y = e[d * 2], m = e[d * 2 + 1], _ = y - u, S = m - f; 14161 var T = g + 1; 14162 if (l) for (; oi(x, w) && T < a; ) T++, b += i, x = e[b * 2], w = e[b * 2 + 1]; 14163 var C = 0.5, A = 0, M = 0, I = void 0, L = void 0; 14164 if (T >= a || oi(x, w)) c = y, p = m; 14165 else { 14166 A = x - u, M = w - f; 14167 var P = y - u, R = x - y, E = m - f, O = w - m, k = void 0, B = void 0; 14168 if (s === "x") { 14169 k = Math.abs(P), B = Math.abs(R); 14170 var F = A > 0 ? 1 : -1; 14171 c = y - F * k * o, p = m, I = y + F * B * o, L = m; 14172 } else if (s === "y") { 14173 k = Math.abs(E), B = Math.abs(O); 14174 var H = M > 0 ? 1 : -1; 14175 c = y, p = m - H * k * o, I = y, L = m + H * B * o; 14176 } else k = Math.sqrt(P * P + E * E), B = Math.sqrt(R * R + O * O), C = B / (B + k), c = y - A * o * (1 - C), p = m - M * o * (1 - C), I = y + A * o * C, L = m + M * o * C, I = Ra(I, Ea(x, y)), L = Ra(L, Ea(w, m)), I = Ea(I, Ra(x, y)), L = Ea(L, Ra(w, m)), A = I - y, M = L - m, c = y - A * k / B, p = m - M * k / B, c = Ra(c, Ea(u, y)), p = Ra(p, Ea(f, m)), c = Ea(c, Ra(u, y)), p = Ea(p, Ra(f, m)), A = y - c, M = m - p, I = y + A * B / k, L = m + M * B / k; 14177 } 14178 r.bezierCurveTo(h, v, c, p, y, m), h = I, v = L; 14179 } else r.lineTo(y, m); 14180 } 14181 u = y, f = m, d += i; 14182 } 14183 return g; 14184} 14185var cM = /* @__PURE__ */ function() { 14186 function r() { 14187 this.smooth = 0, this.smoothConstraint = true; 14188 } 14189 return r; 14190}(), UV = function(r) { 14191 N(e, r); 14192 function e(t) { 14193 var a = r.call(this, t) || this; 14194 return a.type = "ec-polyline", a; 14195 } 14196 return e.prototype.getDefaultStyle = function() { 14197 return { stroke: "#000", fill: null }; 14198 }, e.prototype.getDefaultShape = function() { 14199 return new cM(); 14200 }, e.prototype.buildPath = function(t, a) { 14201 var n = a.points, i = 0, o = n.length / 2; 14202 if (a.connectNulls) { 14203 for (; o > 0 && oi(n[o * 2 - 2], n[o * 2 - 1]); o--) ; 14204 for (; i < o && oi(n[i * 2], n[i * 2 + 1]); i++) ; 14205 } 14206 for (; i < o; ) i += Gd(t, n, i, o, o, 1, a.smooth, a.smoothMonotone, a.connectNulls) + 1; 14207 }, e.prototype.getPointOn = function(t, a) { 14208 this.path || (this.createPathProxy(), this.buildPath(this.path, this.shape)); 14209 for (var n = this.path, i = n.data, o = ta.CMD, s, l, u = a === "x", f = [], h = 0; h < i.length; ) { 14210 var v = i[h++], c = void 0, p = void 0, d = void 0, g = void 0, y = void 0, m = void 0, _ = void 0; 14211 switch (v) { 14212 case o.M: 14213 s = i[h++], l = i[h++]; 14214 break; 14215 case o.L: 14216 if (c = i[h++], p = i[h++], _ = u ? (t - s) / (c - s) : (t - l) / (p - l), _ <= 1 && _ >= 0) { 14217 var S = u ? (p - l) * _ + l : (c - s) * _ + s; 14218 return u ? [t, S] : [S, t]; 14219 } 14220 s = c, l = p; 14221 break; 14222 case o.C: 14223 c = i[h++], p = i[h++], d = i[h++], g = i[h++], y = i[h++], m = i[h++]; 14224 var b = u ? Cf(s, c, d, y, t, f) : Cf(l, p, g, m, t, f); 14225 if (b > 0) for (var x = 0; x < b; x++) { 14226 var w = f[x]; 14227 if (w <= 1 && w >= 0) { 14228 var S = u ? ae(l, p, g, m, w) : ae(s, c, d, y, w); 14229 return u ? [t, S] : [S, t]; 14230 } 14231 } 14232 s = y, l = m; 14233 break; 14234 } 14235 } 14236 }, e; 14237}(mt), YV = function(r) { 14238 N(e, r); 14239 function e() { 14240 return r !== null && r.apply(this, arguments) || this; 14241 } 14242 return e; 14243}(cM), pM = function(r) { 14244 N(e, r); 14245 function e(t) { 14246 var a = r.call(this, t) || this; 14247 return a.type = "ec-polygon", a; 14248 } 14249 return e.prototype.getDefaultShape = function() { 14250 return new YV(); 14251 }, e.prototype.buildPath = function(t, a) { 14252 var n = a.points, i = a.stackedOnPoints, o = 0, s = n.length / 2, l = a.smoothMonotone; 14253 if (a.connectNulls) { 14254 for (; s > 0 && oi(n[s * 2 - 2], n[s * 2 - 1]); s--) ; 14255 for (; o < s && oi(n[o * 2], n[o * 2 + 1]); o++) ; 14256 } 14257 for (; o < s; ) { 14258 var u = Gd(t, n, o, s, s, 1, a.smooth, l, a.connectNulls); 14259 Gd(t, i, o + u - 1, u, s, -1, a.stackedOnSmooth, l, a.connectNulls), o += u + 1, t.closePath(); 14260 } 14261 }, e; 14262}(mt); 14263function dM(r, e, t, a, n) { 14264 var i = r.getArea(), o = i.x, s = i.y, l = i.width, u = i.height, f = t.get(["lineStyle", "width"]) || 0;
14265 o -= f / 2, s -= f / 2, l += f, u += f, l = Math.ceil(l), o !== Math.floor(o) && (o = Math.floor(o), l++); 14266 var h = new xt({ shape: { x: o, y: s, width: l, height: u } }); 14267 if (e) { 14268 var v = r.getBaseAxis(), c = v.isHorizontal(), p = v.inverse; 14269 c ? (p && (h.shape.x += l), h.shape.width = 0) : (p || (h.shape.y += u), h.shape.height = 0); 14270 var d = j(n) ? function(g) { 14271 n(g, h); 14272 } : null; 14273 Gt(h, { shape: { width: l, height: u, x: o, y: s } }, t, null, a, d); 14274 } 14275 return h; 14276} 14277function gM(r, e, t) { 14278 var a = r.getArea(), n = Ut(a.r0, 1), i = Ut(a.r, 1), o = new Te({ shape: { cx: Ut(r.cx, 1), cy: Ut(r.cy, 1), r0: n, r: i, startAngle: a.startAngle, endAngle: a.endAngle, clockwise: a.clockwise } }); 14279 if (e) { 14280 var s = r.getBaseAxis().dim === "angle"; 14281 s ? o.shape.endAngle = a.startAngle : o.shape.r = n, Gt(o, { shape: { endAngle: a.endAngle, r: i } }, t); 14282 } 14283 return o; 14284} 14285function Yl(r, e, t, a, n) { 14286 if (r) { 14287 if (r.type === "polar") return gM(r, e, t); 14288 if (r.type === "cartesian2d") return dM(r, e, t, a, n); 14289 } else return null; 14290 return null; 14291} 14292function Ti(r, e) { 14293 return r.type === e; 14294} 14295function tS(r, e) { 14296 if (r.length === e.length) { 14297 for (var t = 0; t < r.length; t++) if (r[t] !== e[t]) return; 14298 return true; 14299 } 14300} 14301function eS(r) { 14302 for (var e = 1 / 0, t = 1 / 0, a = -1 / 0, n = -1 / 0, i = 0; i < r.length; ) { 14303 var o = r[i++], s = r[i++]; 14304 isNaN(o) || (e = Math.min(o, e), a = Math.max(o, a)), isNaN(s) || (t = Math.min(s, t), n = Math.max(s, n)); 14305 } 14306 return [[e, t], [a, n]]; 14307} 14308function rS(r, e) { 14309 var t = eS(r), a = t[0], n = t[1], i = eS(e), o = i[0], s = i[1]; 14310 return Math.max(Math.abs(a[0] - o[0]), Math.abs(a[1] - o[1]), Math.abs(n[0] - s[0]), Math.abs(n[1] - s[1])); 14311} 14312function aS(r) { 14313 return wt(r) ? r : r ? 0.5 : 0; 14314} 14315function $V(r, e, t) { 14316 if (!t.valueDim) return []; 14317 for (var a = e.count(), n = $r(a * 2), i = 0; i < a; i++) { 14318 var o = vM(t, r, e, i); 14319 n[i * 2] = o[0], n[i * 2 + 1] = o[1]; 14320 } 14321 return n; 14322} 14323function ka(r, e, t, a, n) { 14324 var i = t.getBaseAxis(), o = i.dim === "x" || i.dim === "radius" ? 0 : 1, s = [], l = 0, u = [], f = [], h = [], v = []; 14325 if (n) { 14326 for (l = 0; l < r.length; l += 2) { 14327 var c = e || r; 14328 !isNaN(c[l]) && !isNaN(c[l + 1]) && v.push(r[l], r[l + 1]); 14329 } 14330 r = v; 14331 } 14332 for (l = 0; l < r.length - 2; l += 2) switch (h[0] = r[l + 2], h[1] = r[l + 3], f[0] = r[l], f[1] = r[l + 1], s.push(f[0], f[1]), a) { 14333 case "end": 14334 u[o] = h[o], u[1 - o] = f[1 - o], s.push(u[0], u[1]); 14335 break; 14336 case "middle": 14337 var p = (f[o] + h[o]) / 2, d = []; 14338 u[o] = d[o] = p, u[1 - o] = f[1 - o], d[1 - o] = h[1 - o], s.push(u[0], u[1]), s.push(d[0], d[1]); 14339 break; 14340 default: 14341 u[o] = f[o], u[1 - o] = h[1 - o], s.push(u[0], u[1]); 14342 } 14343 return s.push(r[l++], r[l++]), s; 14344} 14345function XV(r, e) { 14346 var t = [], a = r.length, n, i; 14347 function o(f, h, v) { 14348 var c = f.coord, p = (v - c) / (h.coord - c), d = zg(p, [f.color, h.color]); 14349 return { coord: v, color: d }; 14350 } 14351 for (var s = 0; s < a; s++) { 14352 var l = r[s], u = l.coord; 14353 if (u < 0) n = l; 14354 else if (u > e) { 14355 i ? t.push(o(i, l, e)) : n && t.push(o(n, l, 0), o(n, l, e)); 14356 break; 14357 } else n && (t.push(o(n, l, 0)), n = null), t.push(l), i = l; 14358 } 14359 return t; 14360} 14361function ZV(r, e, t) { 14362 var a = r.getVisual("visualMeta"); 14363 if (!(!a || !a.length || !r.count()) && e.type === "cartesian2d") { 14364 for (var n, i, o = a.length - 1; o >= 0; o--) { 14365 var s = r.getDimensionInfo(a[o].dimension); 14366 if (n = s && s.coordDim, n === "x" || n === "y") { 14367 i = a[o]; 14368 break; 14369 } 14370 } 14371 if (i) { 14372 var l = e.getAxis(n), u = G(i.stops, function(_) { 14373 return { coord: l.toGlobalCoord(l.dataToCoord(_.value)), color: _.color }; 14374 }), f = u.length, h = i.outerColors.slice(); 14375 f && u[0].coord > u[f - 1].coord && (u.reverse(), h.reverse()); 14376 var v = XV(u, n === "x" ? t.getWidth() : t.getHeight()), c = v.length; 14377 if (!c && f) return u[0].coord < 0 ? h[1] ? h[1] : u[f - 1].color : h[0] ? h[0] : u[0].color; 14378 var p = 10, d = v[0].coord - p, g = v[c - 1].coord + p, y = g - d; 14379 if (y < 1e-3) return "transparent";
14380 D(v, function(_) { 14381 _.offset = (_.coord - d) / y; 14382 }), v.push({ offset: c ? v[c - 1].offset : 0.5, color: h[1] || "transparent" }), v.unshift({ offset: c ? v[0].offset : 0.5, color: h[0] || "transparent" }); 14383 var m = new Ro(0, 0, 0, 0, v, true); 14384 return m[n] = d, m[n + "2"] = g, m; 14385 } 14386 } 14387} 14388function qV(r, e, t) { 14389 var a = r.get("showAllSymbol"), n = a === "auto"; 14390 if (!(a && !n)) { 14391 var i = t.getAxesByScale("ordinal")[0]; 14392 if (i && !(n && KV(i, e))) { 14393 var o = e.mapDimension(i.dim), s = {}; 14394 return D(i.getViewLabels(), function(l) { 14395 var u = i.scale.getRawOrdinalNumber(l.tickValue); 14396 s[u] = 1; 14397 }), function(l) { 14398 return !s.hasOwnProperty(e.get(o, l)); 14399 }; 14400 } 14401 } 14402} 14403function KV(r, e) { 14404 var t = r.getExtent(), a = Math.abs(t[1] - t[0]) / r.scale.count(); 14405 isNaN(a) && (a = 0); 14406 for (var n = e.count(), i = Math.max(1, Math.round(n / 5)), o = 0; o < n; o += i) if (Wl.getSymbolSize(e, o)[r.isHorizontal() ? 1 : 0] * 1.5 > a) return false; 14407 return true; 14408} 14409function jV(r, e) { 14410 return isNaN(r) || isNaN(e); 14411} 14412function JV(r) { 14413 for (var e = r.length / 2; e > 0 && jV(r[e * 2 - 2], r[e * 2 - 1]); e--) ; 14414 return e - 1; 14415} 14416function nS(r, e) { 14417 return [r[e * 2], r[e * 2 + 1]]; 14418} 14419function QV(r, e, t) { 14420 for (var a = r.length / 2, n = t === "x" ? 0 : 1, i, o, s = 0, l = -1, u = 0; u < a; u++) if (o = r[u * 2 + n], !(isNaN(o) || isNaN(r[u * 2 + 1 - n]))) { 14421 if (u === 0) { 14422 i = o; 14423 continue; 14424 } 14425 if (i <= e && o >= e || i >= e && o <= e) { 14426 l = u; 14427 break; 14428 } 14429 s = u, i = o; 14430 } 14431 return { range: [s, l], t: (e - i) / (o - i) }; 14432} 14433function yM(r) { 14434 if (r.get(["endLabel", "show"])) return true; 14435 for (var e = 0; e < Oe.length; e++) if (r.get([Oe[e], "endLabel", "show"])) return true; 14436 return false; 14437} 14438function Ac(r, e, t, a) { 14439 if (Ti(e, "cartesian2d")) { 14440 var n = a.getModel("endLabel"), i = n.get("valueAnimation"), o = a.getData(), s = { lastFrameIndex: 0 }, l = yM(a) ? function(c, p) { 14441 r._endLabelOnDuring(c, p, o, s, i, n, e); 14442 } : null, u = e.getBaseAxis().isHorizontal(), f = dM(e, t, a, function() { 14443 var c = r._endLabel; 14444 c && t && s.originalX != null && c.attr({ x: s.originalX, y: s.originalY }); 14445 }, l); 14446 if (!a.get("clip", true)) { 14447 var h = f.shape, v = Math.max(h.width, h.height); 14448 u ? (h.y -= v, h.height += v * 2) : (h.x -= v, h.width += v * 2); 14449 } 14450 return l && l(1, f), f; 14451 } else return gM(e, t, a); 14452} 14453function t5(r, e) { 14454 var t = e.getBaseAxis(), a = t.isHorizontal(), n = t.inverse, i = a ? n ? "right" : "left" : "center", o = a ? "middle" : n ? "top" : "bottom"; 14455 return { normal: { align: r.get("align") || i, verticalAlign: r.get("verticalAlign") || o } }; 14456} 14457var e5 = function(r) { 14458 N(e, r); 14459 function e() { 14460 return r !== null && r.apply(this, arguments) || this; 14461 } 14462 return e.prototype.init = function() { 14463 var t = new at(), a = new Ul(); 14464 this.group.add(a.group), this._symbolDraw = a, this._lineGroup = t, this._changePolyState = $(this._changePolyState, this); 14465 }, e.prototype.render = function(t, a, n) { 14466 var i = t.coordinateSystem, o = this.group, s = t.getData(), l = t.getModel("lineStyle"), u = t.getModel("areaStyle"), f = s.getLayout("points") || [], h = i.type === "polar", v = this._coordSys, c = this._symbolDraw, p = this._polyline, d = this._polygon, g = this._lineGroup, y = !a.ssr && t.get("animation"), m = !u.isEmpty(), _ = u.get("origin"), S = hM(i, s, _), b = m && $V(i, s, S), x = t.get("showSymbol"), w = t.get("connectNulls"), T = x && !h && qV(t, s, i), C = this._data; 14467 C && C.eachItemGraphicEl(function(nt, It) { 14468 nt.__temp && (o.remove(nt), C.setItemGraphicEl(It, null)); 14469 }), x || c.remove(), o.add(g); 14470 var A = h ? false : t.get("step"), M; 14471 i && i.getArea && t.get("clip", true) && (M = i.getArea(), M.width != null ? (M.x -= 0.1, M.y -= 0.1, M.width += 0.2, M.height += 0.2) : M.r0 && (M.r0 -= 0.5, M.r += 0.5)), this._clipShapeForSymbol = M; 14472 var I = ZV(s, i, n) || s.getVisual("style")[s.getVisual("drawType")]; 14473 if (!(p && v.type === i.type && A === this._step)) x && c.updateData(s, { isIgnore: T, clipShape: M, disableAnimation: true, getSymbolPoint: function(nt) { 14474 return [f[nt * 2], f[nt * 2 + 1]]; 14475 } }), y && this._initSymbolLabelAnimation(s, i, M), A && (b && (b = ka(b, f, i, A, w)), f = ka(f, null, i, A, w)), p = this._newPolyline(f), m ? d = this._newPolygon(f, b) : d && (g.remove(d), d = this._polygon = null), h || this._initOrUpdateEndLabel(t, i, pi(I)), g.setClipPath(Ac(this, i, true, t)); 14476 else { 14477 m && !d ? d = this._newPolygon(f, b) : d && !m && (g.remove(d), d = this._polygon = null), h || this._initOrUpdateEndLabel(t, i, pi(I)); 14478 var L = g.getClipPath(); 14479 if (L) { 14480 var P = Ac(this, i, false, t); 14481 Gt(L, { shape: P.shape }, t); 14482 } else g.setClipPath(Ac(this, i, true, t)); 14483 x && c.updateData(s, { isIgnore: T, clipShape: M, disableAnimation: true, getSymbolPoint: function(nt) { 14484 return [f[nt * 2], f[nt * 2 + 1]]; 14485 } }), (!tS(this._stackedOnPoints, b) || !tS(this._points, f)) && (y ? this._doUpdateAnimation(s, b, i, n, A, _, w) : (A && (b && (b = ka(b, f, i, A, w)), f = ka(f, null, i, A, w)), p.setShape({ points: f }), d && d.setShape({ points: f, stackedOnPoints: b }))); 14486 } 14487 var R = t.getModel("emphasis"), E = R.get("focus"), O = R.get("blurScope"), k = R.get("disabled");
14488 if (p.useStyle(Q(l.getLineStyle(), { fill: "none", stroke: I, lineJoin: "bevel" })), pe(p, t, "lineStyle"), p.style.lineWidth > 0 && t.get(["emphasis", "lineStyle", "width"]) === "bolder") { 14489 var B = p.getState("emphasis").style; 14490 B.lineWidth = +p.style.lineWidth + 1; 14491 } 14492 it(p).seriesIndex = t.seriesIndex, Wt(p, E, O, k); 14493 var F = aS(t.get("smooth")), H = t.get("smoothMonotone"); 14494 if (p.setShape({ smooth: F, smoothMonotone: H, connectNulls: w }), d) { 14495 var U = s.getCalculationInfo("stackedOnSeries"), K = 0; 14496 d.useStyle(Q(u.getAreaStyle(), { fill: I, opacity: 0.7, lineJoin: "bevel", decal: s.getVisual("style").decal })), U && (K = aS(U.get("smooth"))), d.setShape({ smooth: F, stackedOnSmooth: K, smoothMonotone: H, connectNulls: w }), pe(d, t, "areaStyle"), it(d).seriesIndex = t.seriesIndex, Wt(d, E, O, k); 14497 } 14498 var J = this._changePolyState; 14499 s.eachItemGraphicEl(function(nt) { 14500 nt && (nt.onHoverStateChange = J); 14501 }), this._polyline.onHoverStateChange = J, this._data = s, this._coordSys = i, this._stackedOnPoints = b, this._points = f, this._step = A, this._valueOrigin = _, t.get("triggerLineEvent") && (this.packEventData(t, p), d && this.packEventData(t, d)); 14502 }, e.prototype.packEventData = function(t, a) { 14503 it(a).eventData = { componentType: "series", componentSubType: "line", componentIndex: t.componentIndex, seriesIndex: t.seriesIndex, seriesName: t.name, seriesType: "line" }; 14504 }, e.prototype.highlight = function(t, a, n, i) { 14505 var o = t.getData(), s = hi(o, i); 14506 if (this._changePolyState("emphasis"), !(s instanceof Array) && s != null && s >= 0) { 14507 var l = o.getLayout("points"), u = o.getItemGraphicEl(s); 14508 if (!u) { 14509 var f = l[s * 2], h = l[s * 2 + 1]; 14510 if (isNaN(f) || isNaN(h) || this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(f, h)) return; 14511 var v = t.get("zlevel") || 0, c = t.get("z") || 0; 14512 u = new Wl(o, s), u.x = f, u.y = h, u.setZ(v, c); 14513 var p = u.getSymbolPath().getTextContent(); 14514 p && (p.zlevel = v, p.z = c, p.z2 = this._polyline.z2 + 1), u.__temp = true, o.setItemGraphicEl(s, u), u.stopSymbolAnimation(true), this.group.add(u); 14515 } 14516 u.highlight(); 14517 } else Pt.prototype.highlight.call(this, t, a, n, i); 14518 }, e.prototype.downplay = function(t, a, n, i) { 14519 var o = t.getData(), s = hi(o, i); 14520 if (this._changePolyState("normal"), s != null && s >= 0) { 14521 var l = o.getItemGraphicEl(s); 14522 l && (l.__temp ? (o.setItemGraphicEl(s, null), this.group.remove(l)) : l.downplay()); 14523 } else Pt.prototype.downplay.call(this, t, a, n, i); 14524 }, e.prototype._changePolyState = function(t) { 14525 var a = this._polygon; 14526 Rf(this._polyline, t), a && Rf(a, t); 14527 }, e.prototype._newPolyline = function(t) { 14528 var a = this._polyline; 14529 return a && this._lineGroup.remove(a), a = new UV({ shape: { points: t }
14529, segmentIgnoreThreshold: 2, z2: 10 }), this._lineGroup.add(a), this._polyline = a, a; 14530 }, e.prototype._newPolygon = function(t, a) { 14531 var n = this._polygon; 14532 return n && this._lineGroup.remove(n), n = new pM({ shape: { points: t, stackedOnPoints: a }, segmentIgnoreThreshold: 2 }), this._lineGroup.add(n), this._polygon = n, n; 14533 }, e.prototype._initSymbolLabelAnimation = function(t, a, n) { 14534 var i, o, s = a.getBaseAxis(), l = s.inverse; 14535 a.type === "cartesian2d" ? (i = s.isHorizontal(), o = false) : a.type === "polar" && (i = s.dim === "angle", o = true); 14536 var u = t.hostModel, f = u.get("animationDuration"); 14537 j(f) && (f = f(null)); 14538 var h = u.get("animationDelay") || 0, v = j(h) ? h(null) : h; 14539 t.eachItemGraphicEl(function(c, p) { 14540 var d = c; 14541 if (d) { 14542 var g = [c.x, c.y], y = void 0, m = void 0, _ = void 0; 14543 if (n) if (o) { 14544 var S = n, b = a.pointToCoord(g); 14545 i ? (y = S.startAngle, m = S.endAngle, _ = -b[1] / 180 * Math.PI) : (y = S.r0, m = S.r, _ = b[0]); 14546 } else { 14547 var x = n; 14548 i ? (y = x.x, m = x.x + x.width, _ = c.x) : (y = x.y + x.height, m = x.y, _ = c.y); 14549 } 14550 var w = m === y ? 0 : (_ - y) / (m - y); 14551 l && (w = 1 - w); 14552 var T = j(h) ? h(p) : f * w + v, C = d.getSymbolPath(), A = C.getTextContent(); 14553 d.attr({ scaleX: 0, scaleY: 0 }), d.animateTo({ scaleX: 1, scaleY: 1 }, { duration: 200, setToFinal: true, delay: T }), A && A.animateFrom({ style: { opacity: 0 } }, { duration: 300, delay: T }), C.disableLabelAnimation = true; 14554 } 14555 }); 14556 }, e.prototype._initOrUpdateEndLabel = function(t, a, n) { 14557 var i = t.getModel("endLabel"); 14558 if (yM(t)) { 14559 var o = t.getData(), s = this._polyline, l = o.getLayout("points"); 14560 if (!l) { 14561 s.removeTextContent(), this._endLabel = null; 14562 return; 14563 } 14564 var u = this._endLabel; 14565 u || (u = this._endLabel = new St({ z2: 200 }), u.ignoreClip = true, s.setTextContent(this._endLabel), s.disableLabelAnimation = true); 14566 var f = JV(l); 14567 f >= 0 && (de(s, se(t, "endLabel"), { inheritColor: n, labelFetcher: t, labelDataIndex: f, defaultText: function(h, v, c) {
14568 return c != null ? fM(o, c) : bo(o, h); 14569 }, enableTextSetter: true }, t5(i, a)), s.textConfig.position = null); 14570 } else this._endLabel && (this._polyline.removeTextContent(), this._endLabel = null); 14571 }, e.prototype._endLabelOnDuring = function(t, a, n, i, o, s, l) { 14572 var u = this._endLabel, f = this._polyline; 14573 if (u) { 14574 t < 1 && i.originalX == null && (i.originalX = u.x, i.originalY = u.y); 14575 var h = n.getLayout("points"), v = n.hostModel, c = v.get("connectNulls"), p = s.get("precision"), d = s.get("distance") || 0, g = l.getBaseAxis(), y = g.isHorizontal(), m = g.inverse, _ = a.shape, S = m ? y ? _.x : _.y + _.height : y ? _.x + _.width : _.y, b = (y ? d : 0) * (m ? -1 : 1), x = (y ? 0 : -d) * (m ? -1 : 1), w = y ? "x" : "y", T = QV(h, S, w), C = T.range, A = C[1] - C[0], M = void 0; 14576 if (A >= 1) { 14577 if (A > 1 && !c) { 14578 var I = nS(h, C[0]); 14579 u.attr({ x: I[0] + b, y: I[1] + x }), o && (M = v.getRawValue(C[0])); 14580 } else { 14581 var I = f.getPointOn(S, w); 14582 I && u.attr({ x: I[0] + b, y: I[1] + x }); 14583 var L = v.getRawValue(C[0]), P = v.getRawValue(C[1]); 14584 o && (M = tC(n, p, L, P, T.t)); 14585 } 14586 i.lastFrameIndex = C[0]; 14587 } else { 14588 var R = t === 1 || i.lastFrameIndex > 0 ? C[0] : 0, I = nS(h, R); 14589 o && (M = v.getRawValue(R)), u.attr({ x: I[0] + b, y: I[1] + x }); 14590 } 14591 if (o) { 14592 var E = Oo(u); 14593 typeof E.setLabelText == "function" && E.setLabelText(M); 14594 } 14595 } 14596 }, e.prototype._doUpdateAnimation = function(t, a, n, i, o, s, l) { 14597 var u = this._polyline, f = this._polygon, h = t.hostModel, v = WV(this._data, t, this._stackedOnPoints, a, this._coordSys, n, this._valueOrigin), c = v.current, p = v.stackedOnCurrent, d = v.next, g = v.stackedOnNext; 14598 if (o && (p = ka(v.stackedOnCurrent, v.current, n, o, l), c = ka(v.current, null, n, o, l), g = ka(v.stackedOnNext, v.next, n, o, l), d = ka(v.next, null, n, o, l)), rS(c, d) > 3e3 || f && rS(p, g) > 3e3) { 14599 u.stopAnimation(), u.setShape({ points: d }), f && (f.stopAnimation(), f.setShape({ points: d, stackedOnPoints: g })); 14600 return; 14601 } 14602 u.shape.__points = v.current, u.shape.points = c; 14603 var y = { shape: { points: d } }; 14604 v.current !== c && (y.shape.__points = v.next), u.stopAnimation(), Tt(u, y, h), f && (f.setShape({ points: c, stackedOnPoints: p }), f.stopAnimation(), Tt(f, { shape: { stackedOnPoints: g } }, h), u.shape.points !== f.shape.points && (f.shape.points = u.shape.points)); 14605 for (var m = [], _ = v.status, S = 0; S < _.length; S++) { 14606 var b = _[S].cmd; 14607 if (b === "=") { 14608 var x = t.getItemGraphicEl(_[S].idx1); 14609 x && m.push({ el: x, ptIdx: S }); 14610 } 14611 } 14612 u.animators && u.animators.length && u.animators[0].during(function() { 14613 f && f.dirtyShape(); 14614 for (var w = u.shape.__points, T = 0; T < m.length; T++) { 14615 var C = m[T].el, A = m[T].ptIdx * 2; 14616 C.x = w[A], C.y = w[A + 1], C.markRedraw(); 14617 } 14618 }); 14619 }, e.prototype.remove = function(t) { 14620 var a = this.group, n = this._data; 14621 this._lineGroup.removeAll(), this._symbolDraw.remove(true), n && n.eachItemGraphicEl(function(i, o) { 14622 i.__temp && (a.remove(i), n.setItemGraphicEl(o, null)); 14623 }), this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._endLabel = this._data = null; 14624 }, e.type = "line", e; 14625}(Pt); 14626function $l(r, e) { 14627 return { seriesType: r, plan: Go(), reset: function(t) { 14628 var a = t.getData(), n = t.coordinateSystem, i = t.pipelineContext, o = e || i.large; 14629 if (n) { 14630 var s = G(n.dimensions, function(c) { 14631 return a.mapDimension(c); 14632 }).slice(0, 2), l = s.length, u = a.getCalculationInfo("stackResultDimension"); 14633 xa(a, s[0]) && (s[0] = u), xa(a, s[1]) && (s[1] = u); 14634 var f = a.getStore(), h = a.getDimensionIndex(s[0]), v = a.getDimensionIndex(s[1]); 14635 return l && { progress: function(c, p) { 14636 for (var d = c.end - c.start, g = o && $r(d * l), y = [], m = [], _ = c.start, S = 0; _ < c.end; _++) { 14637 var b = void 0; 14638 if (l === 1) { 14639 var x = f.get(h, _); 14640 b = n.dataToPoint(x, null, m); 14641 } else y[0] = f.get(h, _), y[1] = f.get(v, _), b = n.dataToPoint(y, null, m); 14642 o ? (g[S++] = b[0], g[S++] = b[1]) : p.setItemLayout(_, b.slice()); 14643 } 14644 o && p.setLayout("points", g); 14645 } }; 14646 } 14647 } }; 14648} 14649var r5 = { average: function(r) { 14650 for (var e = 0, t = 0, a = 0; a < r.length; a++) isNaN(r[a]) || (e += r[a], t++); 14651 return t === 0 ? NaN : e / t; 14652}, sum: function(r) { 14653 for (var e = 0, t = 0; t < r.length; t++) e += r[t] || 0; 14654 return e; 14655}, max: function(r) { 14656 for (var e = -1 / 0, t = 0; t < r.length; t++) r[t] > e && (e = r[t]); 14657 return isFinite(e) ? e : NaN; 14658}, min: function(r) { 14659 for (var e = 1 / 0, t = 0; t < r.length; t++) r[t] < e && (e = r[t]); 14660 return isFinite(e) ? e : NaN; 14661}, nearest: function(r) { 14662 return r[0]; 14663} }, a5 = function(r) { 14664 return Math.round(r.length / 2); 14665}; 14666function mM(r) { 14667 return { seriesType: r, reset: function(e, t, a) { 14668 var n = e.getData(), i = e.get("sampling"), o = e.coordinateSystem, s = n.count(); 14669 if (s > 10 && o.type === "cartesian2d" && i) { 14670 var l = o.getBaseAxis(), u = o.getOtherAxis(l), f = l.getExtent(), h = a.getDevicePixelRatio(), v = Math.abs(f[1] - f[0]) * (h || 1), c = Math.round(s / v); 14671 if (isFinite(c) && c > 1) { 14672 i === "lttb" ? e.setData(n.lttbDownSample(n.mapDimension(u.dim), 1 / c)) : i === "minmax" && e.setData(n.minmaxDownSample(n.mapDimension(u.dim), 1 / c)); 14673 var p = void 0;
14674 Y(i) ? p = r5[i] : j(i) && (p = i), p && e.setData(n.downSample(n.mapDimension(u.dim), 1 / c, p, a5)); 14675 } 14676 } 14677 } }; 14678} 14679function n5(r) { 14680 r.registerChartView(e5), r.registerSeriesModel(VV), r.registerLayout($l("line", true)), r.registerVisual({ seriesType: "line", reset: function(e) { 14681 var t = e.getData(), a = e.getModel("lineStyle").getLineStyle(); 14682 a && !a.stroke && (a.stroke = t.getVisual("style").fill), t.setVisual("legendLineStyle", a); 14683 } }), r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC, mM("line")); 14684} 14685var _l = function(r) { 14686 N(e, r); 14687 function e() { 14688 var t = r !== null && r.apply(this, arguments) || this; 14689 return t.type = e.type, t; 14690 } 14691 return e.prototype.getInitialData = function(t, a) { 14692 return aa(null, this, { useEncodeDefaulter: true }); 14693 }, e.prototype.getMarkerPosition = function(t, a, n) { 14694 var i = this.coordinateSystem; 14695 if (i && i.clampData) { 14696 var o = i.clampData(t), s = i.dataToPoint(o); 14697 if (n) D(i.getAxes(), function(v, c) { 14698 if (v.type === "category" && a != null) { 14699 var p = v.getTicksCoords(), d = v.getTickModel().get("alignWithLabel"), g = o[c], y = a[c] === "x1" || a[c] === "y1"; 14700 if (y && !d && (g += 1), p.length < 2) return; 14701 if (p.length === 2) { 14702 s[c] = v.toGlobalCoord(v.getExtent()[y ? 1 : 0]); 14703 return; 14704 } 14705 for (var m = void 0, _ = void 0, S = 1, b = 0; b < p.length; b++) { 14706 var x = p[b].coord, w = b === p.length - 1 ? p[b - 1].tickValue + S : p[b].tickValue; 14707 if (w === g) { 14708 _ = x; 14709 break; 14710 } else if (w < g) m = x; 14711 else if (m != null && w > g) { 14712 _ = (x + m) / 2; 14713 break; 14714 } 14715 b === 1 && (S = w - p[0].tickValue); 14716 } 14717 _ == null && (m ? m && (_ = p[p.length - 1].coord) : _ = p[0].coord), s[c] = v.toGlobalCoord(_); 14718 } 14719 }); 14720 else { 14721 var l = this.getData(), u = l.getLayout("offset"), f = l.getLayout("size"), h = i.getBaseAxis().isHorizontal() ? 0 : 1; 14722 s[h] += u + f / 2; 14723 } 14724 return s; 14725 } 14726 return [NaN, NaN]; 14727 }, e.type = "series.__base_bar__", e.defaultOption = { z: 2, coordinateSystem: "cartesian2d", legendHoverLink: true, barMinHeight: 0, barMinAngle: 0, large: false, largeThreshold: 400, progressive: 3e3, progressiveChunkMode: "mod" }, e; 14728}(Et); 14729Et.registerClass(_l); 14730var i5 = function(r) { 14731 N(e, r); 14732 function e() { 14733 var t = r !== null && r.apply(this, arguments) || this; 14734 return t.type = e.type, t; 14735 } 14736 return e.prototype.getInitialData = function() { 14737 return aa(null, this, { useEncodeDefaulter: true, createInvertedIndices: !!this.get("realtimeSort", true) || null }); 14738 }, e.prototype.getProgressive = function() { 14739 return this.get("large") ? this.get("progressive") : false; 14740 }, e.prototype.getProgressiveThreshold = function() { 14741 var t = this.get("progressiveThreshold"), a = this.get("largeThreshold"); 14742 return a > t && (t = a), t; 14743 }, e.prototype.brushSelector = function(t, a, n) { 14744 return n.rect(a.getItemLayout(t)); 14745 }, e.type = "series.bar", e.dependencies = ["grid", "polar"], e.defaultOption = fn(_l.defaultOption, { clip: true, roundCap: false, showBackground: false, backgroundStyle: { color: "rgba(180, 180, 180, 0.2)", borderColor: null, borderWidth: 0, borderType: "solid", borderRadius: 0, shadowBlur: 0, shadowColor: null, shadowOffsetX: 0, shadowOffsetY: 0, opacity: 1 }, select: { itemStyle: { borderColor: "#212121" } }, realtimeSort: false }), e; 14746}(_l), o5 = /* @__PURE__ */ function() { 14747 function r() { 14748 this.cx = 0, this.cy = 0, this.r0 = 0, this.r = 0, this.startAngle = 0, this.endAngle = Math.PI * 2, this.clockwise = true; 14749 } 14750 return r; 14751}(), Qf = function(r) { 14752 N(e, r); 14753 function e(t) { 14754 var a = r.call(this, t) || this; 14755 return a.type = "sausage", a; 14756 } 14757 return e.prototype.getDefaultShape = function() { 14758 return new o5(); 14759 }, e.prototype.buildPath = function(t, a) { 14760 var n = a.cx, i = a.cy, o = Math.max(a.r0 || 0, 0), s = Math.max(a.r, 0), l = (s - o) * 0.5, u = o + l, f = a.startAngle, h = a.endAngle, v = a.clockwise, c = Math.PI * 2, p = v ? h - f < c : f - h < c; 14761 p || (f = h - (v ? c : -c)); 14762 var d = Math.cos(f), g = Math.sin(f), y = Math.cos(h), m = Math.sin(h);
14763 p ? (t.moveTo(d * o + n, g * o + i), t.arc(d * u + n, g * u + i, l, -Math.PI + f, f, !v)) : t.moveTo(d * s + n, g * s + i), t.arc(n, i, s, f, h, !v), t.arc(y * u + n, m * u + i, l, h - Math.PI * 2, h - Math.PI, !v), o !== 0 && t.arc(n, i, o, h, f, v); 14764 }, e; 14765}(mt); 14766function s5(r, e) { 14767 e = e || {}; 14768 var t = e.isRoundCap; 14769 return function(a, n, i) { 14770 var o = n.position; 14771 if (!o || o instanceof Array) return Lf(a, n, i); 14772 var s = r(o), l = n.distance != null ? n.distance : 5, u = this.shape, f = u.cx, h = u.cy, v = u.r, c = u.r0, p = (v + c) / 2, d = u.startAngle, g = u.endAngle, y = (d + g) / 2, m = t ? Math.abs(v - c) / 2 : 0, _ = Math.cos, S = Math.sin, b = f + v * _(d), x = h + v * S(d), w = "left", T = "top"; 14773 switch (s) { 14774 case "startArc": 14775 b = f + (c - l) * _(y), x = h + (c - l) * S(y), w = "center", T = "top"; 14776 break; 14777 case "insideStartArc": 14778 b = f + (c + l) * _(y), x = h + (c + l) * S(y), w = "center", T = "bottom"; 14779 break; 14780 case "startAngle": 14781 b = f + p * _(d) + Eu(d, l + m, false), x = h + p * S(d) + ku(d, l + m, false), w = "right", T = "middle"; 14782 break; 14783 case "insideStartAngle": 14784 b = f + p * _(d) + Eu(d, -l + m, false), x = h + p * S(d) + ku(d, -l + m, false), w = "left", T = "middle"; 14785 break; 14786 case "middle": 14787 b = f + p * _(y), x = h + p * S(y), w = "center", T = "middle"; 14788 break; 14789 case "endArc": 14790 b = f + (v + l) * _(y), x = h + (v + l) * S(y), w = "center", T = "bottom"; 14791 break; 14792 case "insideEndArc": 14793 b = f + (v - l) * _(y), x = h + (v - l) * S(y), w = "center", T = "top"; 14794 break; 14795 case "endAngle": 14796 b = f + p * _(g) + Eu(g, l + m, true), x = h + p * S(g) + ku(g, l + m, true), w = "left", T = "middle"; 14797 break; 14798 case "insideEndAngle": 14799 b = f + p * _(g) + Eu(g, -l + m, true), x = h + p * S(g) + ku(g, -l + m, true), w = "right", T = "middle"; 14800 break; 14801 default: 14802 return Lf(a, n, i); 14803 } 14804 return a = a || {}, a.x = b, a.y = x, a.align = w, a.verticalAlign = T, a; 14805 }; 14806} 14807function l5(r, e, t, a) { 14808 if (wt(a)) { 14809 r.setTextConfig({ rotation: a }); 14810 return; 14811 } else if (V(e)) { 14812 r.setTextConfig({ rotation: 0 }); 14813 return; 14814 } 14815 var n = r.shape, i = n.clockwise ? n.startAngle : n.endAngle, o = n.clockwise ? n.endAngle : n.startAngle, s = (i + o) / 2, l, u = t(e); 14816 switch (u) { 14817 case "startArc": 14818 case "insideStartArc": 14819 case "middle": 14820 case "insideEndArc": 14821 case "endArc": 14822 l = s; 14823 break; 14824 case "startAngle": 14825 case "insideStartAngle": 14826 l = i; 14827 break; 14828 case "endAngle": 14829 case "insideEndAngle": 14830 l = o; 14831 break; 14832 default: 14833 r.setTextConfig({ rotation: 0 }); 14834 return; 14835 } 14836 var f = Math.PI * 1.5 - l; 14837 u === "middle" && f > Math.PI / 2 && f < Math.PI * 1.5 && (f -= Math.PI), r.setTextConfig({ rotation: f }); 14838} 14839function Eu(r, e, t) { 14840 return e * Math.sin(r) * (t ? -1 : 1); 14841} 14842function ku(r, e, t) { 14843 return e * Math.cos(r) * (t ? 1 : -1); 14844} 14845function ti(r, e, t) { 14846 var a = r.get("borderRadius"); 14847 if (a == null) return t ? { cornerRadius: 0 } : null; 14848 V(a) || (a = [a, a, a, a]); 14849 var n = Math.abs(e.r || 0 - e.r0 || 0); 14850 return { cornerRadius: G(a, function(i) { 14851 return Rr(i, n); 14852 }) }; 14853} 14854var Dc = Math.max, Mc = Math.min; 14855function u5(r, e) { 14856 var t = r.getArea && r.getArea(); 14857 if (Ti(r, "cartesian2d")) { 14858 var a = r.getBaseAxis(); 14859 if (a.type !== "category" || !a.onBand) { 14860 var n = e.getLayout("bandWidth"); 14861 a.isHorizontal() ? (t.x -= n, t.width += n * 2) : (t.y -= n, t.height += n * 2); 14862 } 14863 } 14864 return t; 14865} 14866var f5 = function(r) { 14867 N(e, r); 14868 function e() { 14869 var t = r.call(this) || this; 14870 return t.type = e.type, t._isFirstFrame = true, t; 14871 } 14872 return e.prototype.render = function(t, a, n, i) { 14873 this._model = t, this._removeOnRenderedListener(n), this._updateDrawMode(t); 14874 var o = t.get("coordinateSystem"); 14875 (o === "cartesian2d" || o === "polar") && (this._progressiveEls = null, this._isLargeDraw ? this._renderLarge(t, a, n) : this._renderNormal(t, a, n, i)); 14876 }, e.prototype.incrementalPrepareRender = function(t) { 14877 this._clear(), this._updateDrawMode(t), this._updateLargeClip(t); 14878 }, e.prototype.incrementalRender = function(t, a) { 14879 this._progressiveEls = [], this._incrementalRenderLarge(t, a); 14880 }, e.prototype.eachRendered = function(t) { 14881 un(this._progressiveEls || this.group, t); 14882 }, e.prototype._updateDrawMode = function(t) { 14883 var a = t.pipelineContext.large; 14884 (this._isLargeDraw == null || a !== this._isLargeDraw) && (this._isLargeDraw = a, this._clear()); 14885 }, e.prototype._renderNormal = function(t, a, n, i) { 14886 var o = this.group, s = t.getData(), l = this._data, u = t.coordinateSystem, f = u.getBaseAxis(), h; 14887 u.type === "cartesian2d" ? h = f.isHorizontal() : u.type === "polar" && (h = f.dim === "angle"); 14888 var v = t.isAnimationEnabled() ? t : null, c = h5(t, u); 14889 c && this._enableRealtimeSort(c, s, n);
14890 var p = t.get("clip", true) || c, d = u5(u, s); 14891 o.removeClipPath(); 14892 var g = t.get("roundCap", true), y = t.get("showBackground", true), m = t.getModel("backgroundStyle"), _ = m.get("borderRadius") || 0, S = [], b = this._backgroundEls, x = i && i.isInitSort, w = i && i.type === "changeAxisOrder"; 14893 function T(M) { 14894 var I = Ou[u.type](s, M), L = m5(u, h, I); 14895 return L.useStyle(m.getItemStyle()), u.type === "cartesian2d" ? L.setShape("r", _) : L.setShape("cornerRadius", _), S[M] = L, L; 14896 } 14897 s.diff(l).add(function(M) { 14898 var I = s.getItemModel(M), L = Ou[u.type](s, M, I); 14899 if (y && T(M), !(!s.hasValue(M) || !uS[u.type](L))) { 14900 var P = false; 14901 p && (P = iS[u.type](d, L)); 14902 var R = oS[u.type](t, s, M, L, h, v, f.model, false, g); 14903 c && (R.forceLabelAnimation = true), fS(R, s, M, I, L, t, h, u.type === "polar"), x ? R.attr({ shape: L }) : c ? sS(c, v, R, L, M, h, false, false) : Gt(R, { shape: L }, t, M), s.setItemGraphicEl(M, R), o.add(R), R.ignore = P; 14904 } 14905 }).update(function(M, I) { 14906 var L = s.getItemModel(M), P = Ou[u.type](s, M, L); 14907 if (y) { 14908 var R = void 0; 14909 b.length === 0 ? R = T(I) : (R = b[I], R.useStyle(m.getItemStyle()), u.type === "cartesian2d" ? R.setShape("r", _) : R.setShape("cornerRadius", _), S[M] = R); 14910 var E = Ou[u.type](s, M), O = SM(h, E, u); 14911 Tt(R, { shape: O }, v, M); 14912 } 14913 var k = l.getItemGraphicEl(I); 14914 if (!s.hasValue(M) || !uS[u.type](P)) { 14915 o.remove(k); 14916 return; 14917 } 14918 var B = false; 14919 if (p && (B = iS[u.type](d, P), B && o.remove(k)), k ? Er(k) : k = oS[u.type](t, s, M, P, h, v, f.model, !!k, g), c && (k.forceLabelAnimation = true), w) { 14920 var F = k.getTextContent(); 14921 if (F) { 14922 var H = Oo(F); 14923 H.prevValue != null && (H.prevValue = H.value); 14924 } 14925 } else fS(k, s, M, L, P, t, h, u.type === "polar"); 14926 x ? k.attr({ shape: P }) : c ? sS(c, v, k, P, M, h, true, w) : Tt(k, { shape: P }, t, M, null), s.setItemGraphicEl(M, k), k.ignore = B, o.add(k); 14927 }).remove(function(M) { 14928 var I = l.getItemGraphicEl(M); 14929 I && ul(I, t, M); 14930 }).execute(); 14931 var C = this._backgroundGroup || (this._backgroundGroup = new at()); 14932 C.removeAll(); 14933 for (var A = 0; A < S.length; ++A) C.add(S[A]); 14934 o.add(C), this._backgroundEls = S, this._data = s; 14935 }, e.prototype._renderLarge = function(t, a, n) { 14936 this._clear(), vS(t, this.group), this._updateLargeClip(t); 14937 }, e.prototype._incrementalRenderLarge = function(t, a) { 14938 this._removeBackground(), vS(a, this.group, this._progressiveEls, true); 14939 }, e.prototype._updateLargeClip = function(t) { 14940 var a = t.get("clip", true) && Yl(t.coordinateSystem, false, t), n = this.group; 14941 a ? n.setClipPath(a) : n.removeClipPath(); 14942 }, e.prototype._enableRealtimeSort = function(t, a, n) { 14943 var i = this; 14944 if (a.count()) { 14945 var o = t.baseAxis; 14946 if (this._isFirstFrame) this._dispatchInitSort(a, t, n), this._isFirstFrame = false; 14947 else { 14948 var s = function(l) { 14949 var u = a.getItemGraphicEl(l), f = u && u.shape; 14950 return f && Math.abs(o.isHorizontal() ? f.height : f.width) || 0; 14951 }; 14952 this._onRendered = function() { 14953 i._updateSortWithinSameData(a, s, o, n); 14954 }, n.getZr().on("rendered", this._onRendered); 14955 } 14956 } 14957 }, e.prototype._dataSort = function(t, a, n) { 14958 var i = []; 14959 return t.each(t.mapDimension(a.dim), function(o, s) { 14960 var l = n(s); 14961 l = l ?? NaN, i.push({ dataIndex: s, mappedValue: l, ordinalNumber: o }); 14962 }), i.sort(function(o, s) { 14963 return s.mappedValue - o.mappedValue; 14964 }), { ordinalNumbers: G(i, function(o) { 14965 return o.ordinalNumber; 14966 }) }; 14967 }, e.prototype._isOrderChangedWithinSameData = function(t, a, n) { 14968 for (var i = n.scale, o = t.mapDimension(n.dim), s = Number.MAX_VALUE, l = 0, u = i.getOrdinalMeta().categories.length; l < u; ++l) { 14969 var f = t.rawIndexOf(o, i.getRawOrdinalNumber(l)), h = f < 0 ? Number.MIN_VALUE : a(t.indexOfRawIndex(f)); 14970 if (h > s) return true; 14971 s = h; 14972 } 14973 return false;
14974 }, e.prototype._isOrderDifferentInView = function(t, a) { 14975 for (var n = a.scale, i = n.getExtent(), o = Math.max(0, i[0]), s = Math.min(i[1], n.getOrdinalMeta().categories.length - 1); o <= s; ++o) if (t.ordinalNumbers[o] !== n.getRawOrdinalNumber(o)) return true; 14976 }, e.prototype._updateSortWithinSameData = function(t, a, n, i) { 14977 if (this._isOrderChangedWithinSameData(t, a, n)) { 14978 var o = this._dataSort(t, n, a); 14979 this._isOrderDifferentInView(o, n) && (this._removeOnRenderedListener(i), i.dispatchAction({ type: "changeAxisOrder", componentType: n.dim + "Axis", axisId: n.index, sortInfo: o })); 14980 } 14981 }, e.prototype._dispatchInitSort = function(t, a, n) { 14982 var i = a.baseAxis, o = this._dataSort(t, i, function(s) { 14983 return t.get(t.mapDimension(a.otherAxis.dim), s); 14984 }); 14985 n.dispatchAction({ type: "changeAxisOrder", componentType: i.dim + "Axis", isInitSort: true, axisId: i.index, sortInfo: o }); 14986 }, e.prototype.remove = function(t, a) { 14987 this._clear(this._model), this._removeOnRenderedListener(a); 14988 }, e.prototype.dispose = function(t, a) { 14989 this._removeOnRenderedListener(a); 14990 }, e.prototype._removeOnRenderedListener = function(t) { 14991 this._onRendered && (t.getZr().off("rendered", this._onRendered), this._onRendered = null); 14992 }, e.prototype._clear = function(t) { 14993 var a = this.group, n = this._data; 14994 t && t.isAnimationEnabled() && n && !this._isLargeDraw ? (this._removeBackground(), this._backgroundEls = [], n.eachItemGraphicEl(function(i) { 14995 ul(i, t, it(i).dataIndex); 14996 })) : a.removeAll(), this._data = null, this._isFirstFrame = true; 14997 }, e.prototype._removeBackground = function() { 14998 this.group.remove(this._backgroundGroup), this._backgroundGroup = null; 14999 }, e.type = "bar", e; 15000}(Pt), iS = { cartesian2d: function(r, e) { 15001 var t = e.width < 0 ? -1 : 1, a = e.height < 0 ? -1 : 1; 15002 t < 0 && (e.x += e.width, e.width = -e.width), a < 0 && (e.y += e.height, e.height = -e.height); 15003 var n = r.x + r.width, i = r.y + r.height, o = Dc(e.x, r.x), s = Mc(e.x + e.width, n), l = Dc(e.y, r.y), u = Mc(e.y + e.height, i), f = s < o, h = u < l; 15004 return e.x = f && o > n ? s : o, e.y = h && l > i ? u : l, e.width = f ? 0 : s - o, e.height = h ? 0 : u - l, t < 0 && (e.x += e.width, e.width = -e.width), a < 0 && (e.y += e.height, e.height = -e.height), f || h; 15005}, polar: function(r, e) { 15006 var t = e.r0 <= e.r ? 1 : -1; 15007 if (t < 0) { 15008 var a = e.r; 15009 e.r = e.r0, e.r0 = a; 15010 } 15011 var n = Mc(e.r, r.r), i = Dc(e.r0, r.r0); 15012 e.r = n, e.r0 = i; 15013 var o = n - i < 0; 15014 if (t < 0) { 15015 var a = e.r; 15016 e.r = e.r0, e.r0 = a; 15017 } 15018 return o; 15019} }, oS = { cartesian2d: function(r, e, t, a, n, i, o, s, l) { 15020 var u = new xt({ shape: z({}, a), z2: 1 }); 15021 if (u.__dataIndex = t, u.name = "item", i) { 15022 var f = u.shape, h = n ? "height" : "width"; 15023 f[h] = 0; 15024 } 15025 return u; 15026}, polar: function(r, e, t, a, n, i, o, s, l) { 15027 var u = !n && l ? Qf : Te, f = new u({ shape: a, z2: 1 }); 15028 f.name = "item"; 15029 var h = _M(n); 15030 if (f.calculateTextPosition = s5(h, { isRoundCap: u === Qf }), i) { 15031 var v = f.shape, c = n ? "r" : "endAngle", p = {}; 15032 v[c] = n ? a.r0 : a.startAngle, p[c] = a[c], (s ? Tt : Gt)(f, { shape: p }, i); 15033 } 15034 return f; 15035} }; 15036function h5(r, e) { 15037 var t = r.get("realtimeSort", true), a = e.getBaseAxis(); 15038 if (t && a.type === "category" && e.type === "cartesian2d") return { baseAxis: a, otherAxis: e.getOtherAxis(a) }; 15039} 15040function sS(r, e, t, a, n, i, o, s) { 15041 var l, u; 15042 i ? (u = { x: a.x, width: a.width }, l = { y: a.y, height: a.height }) : (u = { y: a.y, height: a.height }, l = { x: a.x, width: a.width }), s || (o ? Tt : Gt)(t, { shape: l }, e, n, null); 15043 var f = e ? r.baseAxis.model : null; 15044 (o ? Tt : Gt)(t, { shape: u }, f, n); 15045} 15046function lS(r, e) { 15047 for (var t = 0; t < e.length; t++) if (!isFinite(r[e[t]])) return true; 15048 return false; 15049} 15050var v5 = ["x", "y", "width", "height"], c5 = ["cx", "cy", "r", "startAngle", "endAngle"], uS = { cartesian2d: function(r) { 15051 return !lS(r, v5); 15052}, polar: function(r) { 15053 return !lS(r, c5); 15054} }, Ou = { cartesian2d: function(r, e, t) { 15055 var a = r.getItemLayout(e), n = t ? d5(t, a) : 0, i = a.width > 0 ? 1 : -1, o = a.height > 0 ? 1 : -1; 15056 return { x: a.x + i * n / 2, y: a.y + o * n / 2, width: a.width - i * n, height: a.height - o * n }; 15057}, polar: function(r, e, t) { 15058 var a = r.getItemLayout(e); 15059 return { cx: a.cx, cy: a.cy, r0: a.r0, r: a.r, startAngle: a.startAngle, endAngle: a.endAngle, clockwise: a.clockwise }; 15060} }; 15061function p5(r) { 15062 return r.startAngle != null && r.endAngle != null && r.startAngle === r.endAngle; 15063} 15064function _M(r) { 15065 return /* @__PURE__ */ function(e) { 15066 var t = e ? "Arc" : "Angle"; 15067 return function(a) { 15068 switch (a) { 15069 case "start": 15070 case "insideStart": 15071 case "end": 15072 case "insideEnd": 15073 return a + t; 15074 default: 15075 return a; 15076 } 15077 }; 15078 }(r); 15079} 15080function fS(r, e, t, a, n, i, o, s) { 15081 var l = e.getItemVisual(t, "style"); 15082 if (s) { 15083 if (!i.get("roundCap")) { 15084 var f = r.shape, h = ti(a.getModel("itemStyle"), f, true); 15085 z(f, h), r.setShape(f); 15086 } 15087 } else { 15088 var u = a.get(["itemStyle", "borderRadius"]) || 0; 15089 r.setShape("r", u); 15090 } 15091 r.useStyle(l); 15092 var v = a.getShallow("cursor"); 15093 v && r.attr("cursor", v); 15094 var c = s ? o ? n.r >= n.r0 ? "endArc" : "startArc" : n.endAngle >= n.startAngle ? "endAngle" : "startAngle" : o ? n.height >= 0 ? "bottom" : "top" : n.width >= 0 ? "right" : "left", p = se(a); 15095 de(r, p, { labelFetcher: i, labelDataIndex: t, defaultText: bo(i.getData(), t), inheritColor: l.fill, defaultOpacity: l.opacity, defaultOutsidePosition: c }); 15096 var d = r.getTextContent(); 15097 if (s && d) { 15098 var g = a.get(["label", "position"]); 15099 r.textConfig.inside = g === "middle" ? true : null, l5(r, g === "outside" ? c : g, _M(o), a.get(["label", "rotate"])); 15100 } 15101 zC(d, p, i.getRawValue(t), function(m) { 15102 return fM(e, m); 15103 }); 15104 var y = a.getModel(["emphasis"]); 15105 Wt(r, y.get("focus"), y.get("blurScope"), y.get("disabled")), pe(r, a), p5(n) && (r.style.fill = "none", r.style.stroke = "none", D(r.states, function(m) { 15106 m.style && (m.style.fill = m.style.stroke = "none"); 15107 })); 15108} 15109function d5(r, e) { 15110 var t = r.get(["itemStyle", "borderColor"]); 15111 if (!t || t === "none") return 0; 15112 var a = r.get(["itemStyle", "borderWidth"]) || 0, n = isNaN(e.width) ? Number.MAX_VALUE : Math.abs(e.width), i = isNaN(e.height) ? Number.MAX_VALUE : Math.abs(e.height); 15113 return Math.min(a, n, i); 15114} 15115var g5 = /* @__PURE__ */ function() { 15116 function r() { 15117 } 15118 return r; 15119}(), hS = function(r) { 15120 N(e, r); 15121 function e(t) { 15122 var a = r.call(this, t) || this; 15123 return a.type = "largeBar", a; 15124 } 15125 return e.prototype.getDefaultShape = function() { 15126 return new g5(); 15127 }, e.prototype.buildPath = function(t, a) { 15128 for (var n = a.points, i = this.baseDimIdx, o = 1 - this.baseDimIdx, s = [], l = [], u = this.barWidth, f = 0; f < n.length; f += 3) l[i] = u, l[o] = n[f + 2], s[i] = n[f + i], s[o] = n[f + o], t.rect(s[0], s[1], l[0], l[1]); 15129 }, e; 15130}(mt); 15131function vS(r, e, t, a) { 15132 var n = r.getData(), i = n.getLayout("valueAxisHorizontal") ? 1 : 0, o = n.getLayout("largeDataIndices"), s = n.getLayout("size"), l = r.getModel("backgroundStyle"), u = n.getLayout("largeBackgroun
15132dPoints"); 15133 if (u) { 15134 var f = new hS({ shape: { points: u }, incremental: !!a, silent: true, z2: 0 }); 15135 f.baseDimIdx = i, f.largeDataIndices = o, f.barWidth = s, f.useStyle(l.getItemStyle()), e.add(f), t && t.push(f); 15136 } 15137 var h = new hS({ shape: { points: n.getLayout("largePoints") }, incremental: !!a, ignoreCoarsePointer: true, z2: 1 }); 15138 h.baseDimIdx = i, h.largeDataIndices = o, h.barWidth = s, e.add(h), h.useStyle(n.getVisual("style")), h.style.stroke = null, it(h).seriesIndex = r.seriesIndex, r.get("silent") || (h.on("mousedown", cS), h.on("mousemove", cS)), t && t.push(h); 15139} 15140var cS = Xh(function(r) { 15141 var e = this, t = y5(e, r.offsetX, r.offsetY); 15142 it(e).dataIndex = t >= 0 ? t : null; 15143}, 30, false); 15144function y5(r, e, t) { 15145 for (var a = r.baseDimIdx, n = 1 - a, i = r.shape.points, o = r.largeDataIndices, s = [], l = [], u = r.barWidth, f = 0, h = i.length / 3; f < h; f++) { 15146 var v = f * 3; 15147 if (l[a] = u, l[n] = i[v + 2], s[a] = i[v + a], s[n] = i[v + n], l[n] < 0 && (s[n] += l[n], l[n] = -l[n]), e >= s[0] && e <= s[0] + l[0] && t >= s[1] && t <= s[1] + l[1]) return o[f]; 15148 } 15149 return -1; 15150} 15151function SM(r, e, t) { 15152 if (Ti(t, "cartesian2d")) { 15153 var a = e, n = t.getArea(); 15154 return { x: r ? a.x : n.x, y: r ? n.y : a.y, width: r ? a.width : n.width, height: r ? n.height : a.height }; 15155 } else { 15156 var n = t.getArea(), i = e; 15157 return { cx: n.cx, cy: n.cy, r0: r ? n.r0 : i.r0, r: r ? n.r : i.r, startAngle: r ? i.startAngle : 0, endAngle: r ? i.endAngle : Math.PI * 2 }; 15158 } 15159} 15160function m5(r, e, t) { 15161 var a = r.type === "polar" ? Te : xt; 15162 return new a({ shape: SM(e, t, r), silent: true, z2: 0 }); 15163} 15164function _5(r) { 15165 r.registerChartView(f5), r.registerSeriesModel(i5), r.registerLayout(r.PRIORITY.VISUAL.LAYOUT, lt(CD, "bar")), r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, AD("bar")), r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC, mM("bar")), r.registerAction({ type: "changeAxisOrder", event: "changeAxisOrder", update: "update" }, function(e, t) { 15166 var a = e.componentType || "series"; 15167 t.eachComponent({ mainType: a, query: e }, function(n) { 15168 e.sortInfo && n.axis.setCategorySortInfo(e.sortInfo); 15169 }); 15170 }); 15171} 15172var pS = Math.PI * 2, Nu = Math.PI / 180; 15173function xM(r, e) { 15174 return Qt(r.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); 15175} 15176function bM(r, e) { 15177 var t = xM(r, e), a = r.get("center"), n = r.get("radius"); 15178 V(n) || (n = [0, n]); 15179 var i = W(t.width, e.getWidth()), o = W(t.height, e.getHeight()), s = Math.min(i, o), l = W(n[0], s / 2), u = W(n[1], s / 2), f, h, v = r.coordinateSystem; 15180 if (v) { 15181 var c = v.dataToPoint(a); 15182 f = c[0] || 0, h = c[1] || 0; 15183 } else V(a) || (a = [a, a]), f = W(a[0], i) + t.x, h = W(a[1], o) + t.y; 15184 return { cx: f, cy: h, r0: l, r: u }; 15185} 15186function S5(r, e, t) { 15187 e.eachSeriesByType(r, function(a) { 15188 var n = a.getData(), i = n.mapDimension("value"), o = xM(a, t), s = bM(a, t), l = s.cx, u = s.cy, f = s.r, h = s.r0, v = -a.get("startAngle") * Nu, c = a.get("endAngle"), p = a.get("padAngle") * Nu; 15189 c = c === "auto" ? v - pS : -c * Nu; 15190 var d = a.get("minAngle") * Nu, g = d + p, y = 0; 15191 n.each(i, function(O) { 15192 !isNaN(O) && y++; 15193 }); 15194 var m = n.getSum(i), _ = Math.PI / (m || y) * 2, S = a.get("clockwise"), b = a.get("roseType"), x = a.get("stillShowZeroSum"), w = n.getDataExtent(i); 15195 w[0] = 0; 15196 var T = S ? 1 : -1, C = [v, c], A = T * p / 2; 15197 qg(C, !S), v = C[0], c = C[1]; 15198 var M = wM(a); 15199 M.startAngle = v, M.endAngle = c, M.clockwise = S; 15200 var I = Math.abs(c - v), L = I, P = 0, R = v; 15201 if (n.setLayout({ viewRect: o, r: f }), n.each(i, function(O, k) { 15202 var B; 15203 if (isNaN(O)) { 15204 n.setItemLayout(k, { angle: NaN, startAngle: NaN, endAngle: NaN, clockwise: S, cx: l, cy: u, r0: h, r: b ? NaN : f }); 15205 return; 15206 } 15207 b !== "area" ? B = m === 0 && x ? _ : O * _ : B = I / y, B < g ? (B = g, L -= g) : P += O; 15208 var F = R + T * B, H = 0, U = 0; 15209 p > B ? (H = R + T * B / 2, U = H) : (H = R + A, U = F - A), n.setItemLayout(k, { angle: B, startAngle: H, endAngle: U, clockwise: S, cx: l, cy: u, r0: h, r: b ? Dt(O, w, [h, f]) : f }), R = F; 15210 }), L < pS && y) if (L <= 1e-3) { 15211 var E = I / y; 15212 n.each(i, function(O, k) { 15213 if (!isNaN(O)) { 15214 var B = n.getItemLayout(k); 15215 B.angle = E; 15216 var F = 0, H = 0; 15217 E < p ? (F = v + T * (k + 1 / 2) * E, H = F) : (F = v + T * k * E + A, H = v + T * (k + 1) * E - A), B.startAngle = F, B.endAngle = H; 15218 } 15219 }); 15220 } else _ = L / P, R = v, n.each(i, function(O, k) { 15221 if (!isNaN(O)) { 15222 var B = n.getItemLayout(k), F = B.angle === g ? g : O * _, H = 0, U = 0; 15223 F < p ? (H = R + T * F / 2, U = H) : (H = R + A, U = R + T * F - A), B.startAngle = H, B.endAngle = U, R += T * F; 15224 } 15225 }); 15226 }); 15227} 15228var wM = bt(); 15229function Xl(r) { 15230 return { seriesType: r, reset: function(e, t) { 15231 var a = t.findComponents({ mainType: "legend" }); 15232 if (!(!a || !a.length)) { 15233 var n = e.getData(); 15234 n.filterSelf(function(i) { 15235 for (var o = n.getName(i), s = 0; s < a.length; s++) if (!a[s].isSelected(o)) return false;
15236 return true; 15237 }); 15238 } 15239 } }; 15240} 15241var x5 = Math.PI / 180; 15242function dS(r, e, t, a, n, i, o, s, l, u) { 15243 if (r.length < 2) return; 15244 function f(d) { 15245 for (var g = d.rB, y = g * g, m = 0; m < d.list.length; m++) { 15246 var _ = d.list[m], S = Math.abs(_.label.y - t), b = a + _.len, x = b * b, w = Math.sqrt(Math.abs((1 - S * S / y) * x)), T = e + (w + _.len2) * n, C = T - _.label.x, A = _.targetTextWidth - C * n; 15247 TM(_, A, true), _.label.x = T; 15248 } 15249 } 15250 function h(d) { 15251 for (var g = { list: [], maxY: 0 }, y = { list: [], maxY: 0 }, m = 0; m < d.length; m++) if (d[m].labelAlignTo === "none") { 15252 var _ = d[m], S = _.label.y > t ? y : g, b = Math.abs(_.label.y - t); 15253 if (b >= S.maxY) { 15254 var x = _.label.x - e - _.len2 * n, w = a + _.len, T = Math.abs(x) < w ? Math.sqrt(b * b / (1 - x * x / w / w)) : w; 15255 S.rB = T, S.maxY = b; 15256 } 15257 S.list.push(_); 15258 } 15259 f(g), f(y); 15260 } 15261 for (var v = r.length, c = 0; c < v; c++) if (r[c].position === "outer" && r[c].labelAlignTo === "labelLine") { 15262 var p = r[c].label.x - u; 15263 r[c].linePoints[1][0] += p, r[c].label.x = u; 15264 } 15265 XD(r, l, l + o) && h(r); 15266} 15267function b5(r, e, t, a, n, i, o, s) { 15268 for (var l = [], u = [], f = Number.MAX_VALUE, h = -Number.MAX_VALUE, v = 0; v < r.length; v++) { 15269 var c = r[v].label; 15270 Ic(r[v]) || (c.x < e ? (f = Math.min(f, c.x), l.push(r[v])) : (h = Math.max(h, c.x), u.push(r[v]))); 15271 } 15272 for (var v = 0; v < r.length; v++) { 15273 var p = r[v]; 15274 if (!Ic(p) && p.linePoints) { 15275 if (p.labelStyleWidth != null) continue; 15276 var c = p.label, d = p.linePoints, g = void 0; 15277 p.labelAlignTo === "edge" ? c.x < e ? g = d[2][0] - p.labelDistance - o - p.edgeDistance : g = o + n - p.edgeDistance - d[2][0] - p.labelDistance : p.labelAlignTo === "labelLine" ? c.x < e ? g = f - o - p.bleedMargin : g = o + n - h - p.bleedMargin : c.x < e ? g = c.x - o - p.bleedMargin : g = o + n - c.x - p.bleedMargin, p.targetTextWidth = g, TM(p, g); 15278 } 15279 } 15280 dS(u, e, t, a, 1, n, i, o, s, h), dS(l, e, t, a, -1, n, i, o, s, f); 15281 for (var v = 0; v < r.length; v++) { 15282 var p = r[v]; 15283 if (!Ic(p) && p.linePoints) { 15284 var c = p.label, d = p.linePoints, y = p.labelAlignTo === "edge", m = c.style.padding, _ = m ? m[1] + m[3] : 0, S = c.style.backgroundColor ? 0 : _, b = p.rect.width + S, x = d[1][0] - d[2][0]; 15285 y ? c.x < e ? d[2][0] = o + p.edgeDistance + b + p.labelDistance : d[2][0] = o + n - p.edgeDistance - b - p.labelDistance : (c.x < e ? d[2][0] = c.x + p.labelDistance : d[2][0] = c.x - p.labelDistance, d[1][0] = d[2][0] + x), d[1][1] = d[2][1] = c.y; 15286 } 15287 } 15288} 15289function TM(r, e, t) { 15290 if (t === void 0 && (t = false), r.labelStyleWidth == null) { 15291 var a = r.label, n = a.style, i = r.rect, o = n.backgroundColor, s = n.padding, l = s ? s[1] + s[3] : 0, u = n.overflow, f = i.width + (o ? 0 : l); 15292 if (e < f || t) { 15293 var h = i.height; 15294 if (u && u.match("break")) { 15295 a.setStyle("backgroundColor", null), a.setStyle("width", e - l); 15296 var v = a.getBoundingRect(); 15297 a.setStyle("width", Math.ceil(v.width)), a.setStyle("backgroundColor", o); 15298 } else { 15299 var c = e - l, p = e < f ? c : t ? c > r.unconstrainedWidth ? null : c : null; 15300 a.setStyle("width", p); 15301 } 15302 var d = a.getBoundingRect(); 15303 i.width = d.width; 15304 var g = (a.style.margin || 0) + 2.1; 15305 i.height = d.height + g, i.y -= (i.height - h) / 2; 15306 } 15307 } 15308} 15309function Ic(r) { 15310 return r.position === "center"; 15311} 15312function w5(r) { 15313 var e = r.getData(), t = [], a, n, i = false, o = (r.get("minShowLabelAngle") || 0) * x5, s = e.getLayout("viewRect"), l = e.getLayout("r"), u = s.width, f = s.x, h = s.y, v = s.height; 15314 function c(x) { 15315 x.ignore = true; 15316 } 15317 function p(x) { 15318 if (!x.ignore) return true; 15319 for (var w in x.states) if (x.states[w].ignore === false) return true; 15320 return false; 15321 } 15322 e.each(function(x) { 15323 var w = e.getItemGraphicEl(x), T = w.shape, C = w.getTextContent(), A = w.getTextGuideLine(), M = e.getItemModel(x), I = M.getModel("label"), L = I.get("position") || M.get(["emp
15323hasis", "label", "position"]), P = I.get("distanceToLabelLine"), R = I.get("alignTo"), E = W(I.get("edgeDistance"), u), O = I.get("bleedMargin"), k = M.getModel("labelLine"), B = k.get("length"); 15324 B = W(B, u); 15325 var F = k.get("length2"); 15326 if (F = W(F, u), Math.abs(T.endAngle - T.startAngle) < o) { 15327 D(C.states, c), C.ignore = true, A && (D(A.states, c), A.ignore = true); 15328 return; 15329 } 15330 if (p(C)) { 15331 var H = (T.startAngle + T.endAngle) / 2, U = Math.cos(H), K = Math.sin(H), J, nt, It, Yt; 15332 a = T.cx, n = T.cy; 15333 var ct = L === "inside" || L === "inner"; 15334 if (L === "center") J = T.cx, nt = T.cy, Yt = "center"; 15335 else { 15336 var et = (ct ? (T.r + T.r0) / 2 * U : T.r * U) + a, dt = (ct ? (T.r + T.r0) / 2 * K : T.r * K) + n; 15337 if (J = et + U * 3, nt = dt + K * 3, !ct) { 15338 var q = et + U * (B + l - T.r), ot = dt + K * (B + l - T.r), Bt = q + (U < 0 ? -1 : 1) * F, Lt = ot; 15339 R === "edge" ? J = U < 0 ? f + E : f + u - E : J = Bt + (U < 0 ? -P : P), nt = Lt, It = [[et, dt], [q, ot], [Bt, Lt]
15339]; 15340 } 15341 Yt = ct ? "center" : R === "edge" ? U > 0 ? "right" : "left" : U > 0 ? "left" : "right"; 15342 } 15343 var kt = Math.PI, Ht = 0, re = I.get("rotate"); 15344 if (wt(re)) Ht = re * (kt / 180); 15345 else if (L === "center") Ht = 0; 15346 else if (re === "radial" || re === true) { 15347 var We = U < 0 ? -H + kt : -H; 15348 Ht = We; 15349 } else if (re === "tangential" && L !== "outside" && L !== "outer") { 15350 var Ne = Math.atan2(U, K); 15351 Ne < 0 && (Ne = kt * 2 + Ne); 15352 var vn = K > 0; 15353 vn && (Ne = kt + Ne), Ht = Ne - kt; 15354 } 15355 if (i = !!Ht, C.x = J, C.y = nt, C.rotation = Ht, C.setStyle({ verticalAlign: "middle" }), ct) { 15356 C.setStyle({ align: Yt }); 15357 var hv = C.states.select; 15358 hv && (hv.x += C.x, hv.y += C.y); 15359 } else { 15360 var Aa = C.getBoundingRect().clone(); 15361 Aa.applyTransform(C.getComputedTransform()); 15362 var Qm = (C.style.margin || 0) + 2.1; 15363 Aa.y -= Qm / 2, Aa.height += Qm, t.push({ label: C, labelLine: A, position: L, len: B, len2: F, minTurnAngle: k.get("minTurnAngle"), maxSurfaceAngle: k.get("maxSurfaceAngle"), surfaceNormal: new ft(U, K), linePoints: It, textAlign: Yt, labelDistance: P, labelAlignTo: R, edgeDistance: E, bleedMargin: O, rect: Aa, unconstrainedWidth: Aa.width, labelStyleWidth: C.style.width }); 15364 } 15365 w.setTextConfig({ inside: ct }); 15366 } 15367 }), !i && r.get("avoidLabelOverlap") && b5(t, a, n, l, u, v, f, h); 15368 for (var d = 0; d < t.length; d++) { 15369 var g = t[d], y = g.label, m = g.labelLine, _ = isNaN(y.x) || isNaN(y.y); 15370 if (y) { 15371 y.setStyle({ align: g.textAlign }), _ && (D(y.states, c), y.ignore = true); 15372 var S = y.states.select; 15373 S && (S.x += y.x, S.y += y.y); 15374 } 15375 if (m) { 15376 var b = g.linePoints; 15377 _ || !b ? (D(m.states, c), m.ignore = true) : (UD(b, g.minTurnAngle), $z(b, g.surfaceNormal, g.maxSurfaceAngle), m.setShape({ points: b }), y.__hostTarget.textGuideLineConfig = { anchor: new ft(b[0][0], b[0][1]) }); 15378 } 15379 } 15380} 15381var T5 = function(r) { 15382 N(e, r); 15383 function e(t, a, n) { 15384 var i = r.call(this) || this; 15385 i.z2 = 2; 15386 var o = new St(); 15387 return i.setTextContent(o), i.updateData(t, a, n, true), i; 15388 } 15389 return e.prototype.updateData = function(t, a, n, i) { 15390 var o = this, s = t.hostModel, l = t.getItemModel(a), u = l.getModel("emphasis"), f = t.getItemLayout(a), h = z(ti(l.getModel("itemStyle"), f, true), f); 15391 if (isNaN(h.startAngle)) { 15392 o.setShape(h); 15393 return; 15394 } 15395 if (i) { 15396 o.setShape(h); 15397 var v = s.getShallow("animationType"); 15398 s.ecModel.ssr ? (Gt(o, { scaleX: 0, scaleY: 0 }, s, { dataIndex: a, isFrom: true }), o.originX = h.cx, o.originY = h.cy) : v === "scale" ? (o.shape.r = f.r0, Gt(o, { shape: { r: f.r } }, s, a)) : n != null ? (o.setShape({ startAngle: n, endAngle: n }), Gt(o, { shape: { startAngle: f.startAngle, endAngle: f.endAngle } }, s, a)) : (o.shape.endAngle = f.startAngle, Tt(o, { shape: { endAngle: f.endAngle } }, s, a)); 15399 } else Er(o), Tt(o, { shape: h }, s, a); 15400 o.useStyle(t.getItemVisual(a, "style")), pe(o, l); 15401 var c = (f.startAngle + f.endAngle) / 2, p = s.get("selectedOffset"), d = Math.cos(c) * p, g = Math.sin(c) * p, y = l.getShallow("cursor"); 15402 y && o.attr("cursor", y), this._updateLabel(s, t, a), o.ensureState("emphasis").shape = z({ r: f.r + (u.get("scale") && u.get("scaleSize") || 0) }, ti(u.getModel("itemStyle"), f)), z(o.ensureState("select"), { x: d, y: g, shape: ti(l.getModel(["select", "itemStyle"]), f) }), z(o.ensureState("blur"), { shape: ti(l.getModel(["blur", "itemStyle"]), f) }); 15403 var m = o.getTextGuideLine(), _ = o.getTextContent(); 15404 m && z(m.ensureState("select"), { x: d, y: g }), z(_.ensureState("select"), { x: d, y: g }), Wt(this, u.get("focus"), u.get("blurScope"), u.get("disabled")); 15405 }, e.prototype._updateLabel = function(t, a, n) { 15406 var i = this, o = a.getItemModel(n), s = o.getModel("labelLine"), l = a.getItemVisual(n, "style"), u = l && l.fill, f = l && l.opacity; 15407 de(i, se(o), { labelFetcher: a.hostModel, labelDataIndex: n, inheritColor: u, defaultOpacity: f, defaultText: t.getFormattedLabel(n, "normal") || a.getName(n) }); 15408 var h = i.getTextContent(); 15409 i.setTextConfig({ position: null, rotation: null }), h.attr({ z2: 10 }); 15410 var v = t.get(["label", "position"]); 15411 if (v !== "outside" && v !== "outer") i.removeTextGuideLine(); 15412 else { 15413 var c = this.getTextGuideLine(); 15414 c || (c = new De(), this.setTextGuideLine(c)), Uy(this, Yy(o), { stroke: u, opacity: Ar(s.get(["lineStyle", "opacity"]), f, 1) }); 15415 } 15416 }, e; 15417}(Te), C5 = function(r) { 15418 N(e, r); 15419 function e() { 15420 var t = r !== null && r.apply(this, arguments) || this; 15421 return t.ignoreLabelLineUpdate = true, t; 15422 } 15423 return e.prototype.render = function(t, a, n, i) { 15424 var o = t.getData(), s = this._data, l = this.group, u; 15425 if (!s && o.count() > 0) { 15426 for (var f = o.getItemLayout(0), h = 1; isNaN(f && f.startAngle) && h < o.count(); ++h) f = o.getItemLayout(h); 15427 f && (u = f.startAngle); 15428 } 15429 if (this._emptyCircleSector && l.remove(this._emptyCircleSector), o.count() === 0 && t.get("showEmptyCircle")) { 15430 var v = wM(t), c = new Te({ shape: z(bM(t, n), v) }); 15431 c.useStyle(t.getModel("emptyCircleStyle").getItemStyle()), this._emptyCircleSector = c, l.add(c); 15432 } 15433 o.diff(s).add(function(p) { 15434 var d = new T5(o, p, u); 15435 o.setItemGraphicEl(p, d), l.add(d); 15436 }).update(function(p, d) { 15437 var g = s.getItemGraphicEl(d); 15438 g.updateData(o, p, u), g.off("click"), l.add(g), o.setItemGraphicEl(p, g); 15439 }).remove(function(p) { 15440 var d = s.getItemGraphicEl(p); 15441 ul(d, t, p); 15442 }).execute(), w5(t), t.get("animationTypeUpdate") !== "expansion" && (this._data = o); 15443 }, e.prototype.dispose = function() { 15444 }, e.prototype.containPoint = function(t, a) { 15445 var n = a.getData(), i = n.getItemLayout(0); 15446 if (i) { 15447 var o = t[0] - i.cx, s = t[1] - i.cy, l = Math.sqrt(o * o + s * s); 15448 return l <= i.r && l >= i.r0; 15449 } 15450 }, e.type = "pie", e; 15451}(Pt); 15452function $o(r, e, t) { 15453 e = V(e) && { coordDimensions: e } || z({ encodeDefine: r.getEncode() }, e); 15454 var a = r.getSource(), n = Wo(a, e).dimensions, i = new be(n, r); 15455 return i.initData(a, t), i; 15456} 15457var Zl = function() { 15458 function r(e, t) { 15459 this._getDataWithEncodedVisual = e, this._getRawData = t; 15460 } 15461 return r.prototype.getAllNames = function() { 15462 var e = this._getRawData(); 15463 return e.mapArray(e.getName); 15464 }, r.prototype.containName = function(e) { 15465 var t = this._getRawData(); 15466 return t.indexOfName(e) >= 0; 15467 }, r.prototype.indexOfName = function(e) { 15468 var t = this._getDataWithEncodedVisual(); 15469 return t.indexOfName(e); 15470 }, r.prototype.getItemVisual = function(e, t) { 15471 var a = this._getDataWithEncodedVisual(); 15472 return a.getItemVisual(e, t); 15473 }, r; 15474}(), A5 = bt(), D5 = function(r) { 15475 N(e, r); 15476 function e() { 15477 return r !== null && r.apply(this, arguments) || this; 15478 } 15479 return e.prototype.init = function(t) {
15480 r.prototype.init.apply(this, arguments), this.legendVisualProvider = new Zl($(this.getData, this), $(this.getRawData, this)), this._defaultLabelLine(t); 15481 }, e.prototype.mergeOption = function() { 15482 r.prototype.mergeOption.apply(this, arguments); 15483 }, e.prototype.getInitialData = function() { 15484 return $o(this, { coordDimensions: ["value"], encodeDefaulter: lt(my, this) }); 15485 }, e.prototype.getDataParams = function(t) { 15486 var a = this.getData(), n = A5(a), i = n.seats; 15487 if (!i) { 15488 var o = []; 15489 a.each(a.mapDimension("value"), function(l) { 15490 o.push(l); 15491 }), i = n.seats = YT(o, a.hostModel.get("percentPrecision")); 15492 } 15493 var s = r.prototype.getDataParams.call(this, t); 15494 return s.percent = i[t] || 0, s.$vars.push("percent"), s; 15495 }, e.prototype._defaultLabelLine = function(t) { 15496 fi(t, "labelLine", ["show"]); 15497 var a = t.labelLine, n = t.emphasis.labelLine; 15498 a.show = a.show && t.label.show, n.show = n.show && t.emphasis.label.show; 15499 }, e.type = "series.pie", e.defaultOption = { z: 2, legendHoverLink: true, colorBy: "data", center: ["50%", "50%"], radius: [0, "75%"], clockwise: true, startAngle: 90, endAngle: "auto", padAngle: 0, minAngle: 0, minShowLabelAngle: 0, selectedOffset: 10, percentPrecision: 2, stillShowZeroSum: true, left: 0, top: 0, right: 0, bottom: 0, width: null, height: null, label: { rotate: 0, show: true, overflow: "truncate", position: "outer", alignTo: "none", edgeDistance: "25%", bleedMargin: 10, distanceToLabelLine: 5 }, labelLine: { show: true, length: 15, length2: 15, smooth: false, minTurnAngle: 90, maxSurfaceAngle: 90, lineStyle: { width: 1, type: "solid" } }, itemStyle: { borderWidth: 1, borderJoin: "round" }, showEmptyCircle: true, emptyCircleStyle: { color: "lightgray", opacity: 1 }, labelLayout: { hideOverlap: true }, emphasis: { scale: true, scaleSize: 5 }, avoidLabelOverlap: true, animationType: "expansion", animationDuration: 1e3, animationTypeUpdate: "transition", animationEasingUpdate: "cubicInOut", animationDurationUpdate: 500, animationEasing: "cubicInOut" }, e; 15500}(Et); 15501function M5(r) { 15502 return { seriesType: r, reset: function(e, t) { 15503 var a = e.getData(); 15504 a.filterSelf(function(n) { 15505 var i = a.mapDimension("value"), o = a.get(i, n); 15506 return !(wt(o) && !isNaN(o) && o < 0); 15507 }); 15508 } }; 15509} 15510function I5(r) { 15511 r.registerChartView(C5), r.registerSeriesModel(D5), FA("pie", r.registerAction), r.registerLayout(lt(S5, "pie")), r.registerProcessor(Xl("pie")), r.registerProcessor(M5("pie")); 15512} 15513var L5 = function(r) { 15514 N(e, r); 15515 function e() { 15516 var t = r !== null && r.apply(this, arguments) || this; 15517 return t.type = e.type, t.hasSymbolVisual = true, t; 15518 } 15519 return e.prototype.getInitialData = function(t, a) { 15520 return aa(null, this, { useEncodeDefaulter: true }); 15521 }, e.prototype.getProgressive = function() { 15522 var t = this.option.progressive; 15523 return t ?? (this.option.large ? 5e3 : this.get("progressive")); 15524 }, e.prototype.getProgressiveThreshold = function() { 15525 var t = this.option.progressiveThreshold; 15526 return t ?? (this.option.large ? 1e4 : this.get("progressiveThreshold")); 15527 }, e.prototype.brushSelector = function(t, a, n) { 15528 return n.point(a.getItemLayout(t)); 15529 }, e.prototype.getZLevelKey = function() { 15530 return this.getData().count() > this.getProgressiveThreshold() ? this.id : ""; 15531 }, e.type = "series.scatter", e.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"], e.defaultOption = { coordinateSystem: "cartesian2d", z: 2, legendHoverLink: true, symbolSize: 10, large: false, largeThreshold: 2e3, itemStyle: { opacity: 0.8 }, emphasis: { scale: true }, clip: true, select: { itemStyle: { borderColor: "#212121" } }, universalTransition: { divideShape: "clone" } }, e; 15532}(Et), CM = 4, P5 = /* @__PURE__ */ function() { 15533 function r() { 15534 } 15535 return r; 15536}(), R5 = function(r) { 15537 N(e, r); 15538 function e(t) { 15539 var a = r.call(this, t) || this; 15540 return a._off = 0, a.hoverDataIdx = -1, a; 15541 } 15542 return e.prototype.getDefaultShape = function() { 15543 return new P5(); 15544 }, e.prototype.reset = function() { 15545 this.notClear = false, this._off = 0; 15546 }, e.prototype.buildPath = function(t, a) { 15547 var n = a.points, i = a.size, o = this.symbolProxy, s = o.shape, l = t.getContext ? t.getContext() : t, u = l && i[0] < CM, f = this.softClipShape, h; 15548 if (u) { 15549 this._ctx = l; 15550 return; 15551 } 15552 for (this._ctx = null, h = this._off; h < n.length; ) { 15553 var v = n[h++], c = n[h++]; 15554 isNaN(v) || isNaN(c) || f && !f.contain(v, c) || (s.x = v - i[0] / 2, s.y = c - i[1] / 2, s.width = i[0], s.height = i[1], o.buildPath(t, s, true)); 15555 } 15556 this.incremental && (this._off = h, this.notClear = true); 15557 }, e.prototype.afterBrush = function() { 15558 var t = this.shape, a = t.points, n = t.size, i = this._ctx, o = this.softClipShape, s; 15559 if (i) { 15560 for (s = this._off; s < a.length; ) { 15561 var l = a[s++], u = a[s++]; 15562 isNaN(l) || isNaN(u) || o && !o.contain(l, u) || i.fillRect(l - n[0] / 2, u - n[1] / 2, n[0], n[1]); 15563 } 15564 this.incremental && (this._off = s, this.notClear = true); 15565 } 15566 }, e.prototype.findDataIndex = function(t, a) { 15567 for (var n = this.shape, i = n.points, o = n.size, s = Math.max(o[0], 4), l = Math.max(o[1], 4), u = i.length / 2 - 1; u >= 0; u--) { 15568 var f = u * 2, h = i[f] - s / 2, v = i[f + 1] - l / 2; 15569 if (t >= h && a >= v && t <= h + s && a <= v + l) return u; 15570 } 15571 return -1; 15572 }, e.prototype.contain = function(t, a) { 15573 var n = this.transformCoordToLocal(t, a), i = this.getBoundingRect
15573(); 15574 if (t = n[0], a = n[1], i.contain(t, a)) { 15575 var o = this.hoverDataIdx = this.findDataIndex(t, a); 15576 return o >= 0; 15577 } 15578 return this.hoverDataIdx = -1, false; 15579 }, e.prototype.getBoundingRect = function() { 15580 var t = this._rect; 15581 if (!t) { 15582 for (var a = this.shape, n = a.points, i = a.size, o = i[0], s = i[1], l = 1 / 0, u = 1 / 0, f = -1 / 0, h = -1 / 0, v = 0; v < n.length; ) { 15583 var c = n[v++], p = n[v++]; 15584 l = Math.min(c, l), f = Math.max(c, f), u = Math.min(p, u), h = Math.max(p, h); 15585 } 15586 t = this._rect = new ht(l - o / 2, u - s / 2, f - l + o, h - u + s); 15587 } 15588 return t; 15589 }, e; 15590}(mt), E5 = function() { 15591 function r() { 15592 this.group = new at(); 15593 } 15594 return r.prototype.updateData = function(e, t) { 15595 this._clear(); 15596 var a = this._create(); 15597 a.setShape({ points: e.getLayout("points") }), this._setCommon(a, e, t); 15598 }, r.prototype.updateLayout = function(e) { 15599 var t = e.getLayout("points"); 15600 this.group.eachChild(function(a) { 15601 if (a.startIndex != null) { 15602 var n = (a.endIndex - a.startIndex) * 2, i = a.startIndex * 4 * 2; 15603 t = new Float32Array(t.buffer, i, n); 15604 } 15605 a.setShape("points", t), a.reset(); 15606 }); 15607 }, r.prototype.incrementalPrepareUpdate = function(e) { 15608 this._clear(); 15609 }, r.prototype.incrementalUpdate = function(e, t, a) { 15610 var n = this._newAdded[0], i = t.getLayout("points"), o = n && n.shape.points; 15611 if (o && o.length < 2e4) { 15612 var s = o.length, l = new Float32Array(s + i.length); 15613 l.set(o), l.set(i, s), n.endIndex = e.end, n.setShape({ points: l }); 15614 } else { 15615 this._newAdded = []; 15616 var u = this._create(); 15617 u.startIndex = e.start, u.endIndex = e.end, u.incremental = true, u.setShape({ points: i }), this._setCommon(u, t, a); 15618 } 15619 }, r.prototype.eachRendered = function(e) { 15620 this._newAdded[0] && e(this._newAdded[0]); 15621 }, r.prototype._create = function() { 15622 var e = new R5({ cursor: "default" }); 15623 return e.ignoreCoarsePointer = true, this.group.add(e), this._newAdded.push(e), e; 15624 }, r.prototype._setCommon = function(e, t, a) { 15625 var n = t.hostModel; 15626 a = a || {}; 15627 var i = t.getVisual("symbolSize"); 15628 e.setShape("size", i instanceof Array ? i : [i, i]), e.softClipShape = a.clipShape || null, e.symbolProxy = qt(t.getVisual("symbol"), 0, 0, 0, 0), e.setColor = e.symbolProxy.setColor; 15629 var o = e.shape.size[0] < CM; 15630 e.useStyle(n.getModel("itemStyle").getItemStyle(o ? ["color", "shadowBlur", "shadowColor"] : ["color"])); 15631 var s = t.getVisual("style"), l = s && s.fill; 15632 l && e.setColor(l); 15633 var u = it(e); 15634 u.seriesIndex = n.seriesIndex, e.on("mousemove", function(f) { 15635 u.dataIndex = null; 15636 var h = e.hoverDataIdx; 15637 h >= 0 && (u.dataIndex = h + (e.startIndex || 0)); 15638 }); 15639 }, r.prototype.remove = function() { 15640 this._clear(); 15641 }, r.prototype._clear = function() { 15642 this._newAdded = [], this.group.removeAll(); 15643 }, r; 15644}(), k5 = function(r) { 15645 N(e, r); 15646 function e() { 15647 var t = r !== null && r.apply(this, arguments) || this; 15648 return t.type = e.type, t; 15649 } 15650 return e.prototype.render = function(t, a, n) { 15651 var i = t.getData(), o = this._updateSymbolDraw(i, t); 15652 o.updateData(i, { clipShape: this._getClipShape(t) }), this._finished = true; 15653 }, e.prototype.incrementalPrepareRender = function(t, a, n) { 15654 var i = t.getData(), o = this._updateSymbolDraw(i, t); 15655 o.incrementalPrepareUpdate(i), this._finished = false; 15656 }, e.prototype.incrementalRender = function(t, a, n) { 15657 this._symbolDraw.incrementalUpdate(t, a.getData(), { clipShape: this._getClipShape(a) }), this._finished = t.end === a.getData().count(); 15658 }, e.prototype.updateTransform = function(t, a, n) { 15659 var i = t.getData(); 15660 if (this.group.dirty(), !this._finished || i.count() > 1e4) return { update: true }; 15661 var o = $l("").reset(t, a, n); 15662 o.progress && o.progress({ start: 0, end: i.count(), count: i.count() }, i), this._symbolDraw.updateLayout(i); 15663 }, e.prototype.eachRendered = function(t) { 15664 this._symbolDraw && this._symbolDraw.eachRendered(t); 15665 }, e.prototype._getClipShape = function(t) { 15666 if (t.get("clip", true)) { 15667 var a = t.coordinateSystem; 15668 return a && a.getArea && a.getArea(0.1); 15669 } 15670 }, e.prototype._updateSymbolDraw = function(t, a) {
15671 var n = this._symbolDraw, i = a.pipelineContext, o = i.large; 15672 return (!n || o !== this._isLargeDraw) && (n && n.remove(), n = this._symbolDraw = o ? new E5() : new Ul(), this._isLargeDraw = o, this.group.removeAll()), this.group.add(n.group), n; 15673 }, e.prototype.remove = function(t, a) { 15674 this._symbolDraw && this._symbolDraw.remove(true), this._symbolDraw = null; 15675 }, e.prototype.dispose = function() { 15676 }, e.type = "scatter", e; 15677}(Pt), O5 = function(r) { 15678 N(e, r); 15679 function e() { 15680 return r !== null && r.apply(this, arguments) || this; 15681 } 15682 return e.type = "grid", e.dependencies = ["xAxis", "yAxis"], e.layoutMode = "box", e.defaultOption = { show: false, z: 0, left: "10%", top: 60, right: "10%", bottom: 70, containLabel: false, backgroundColor: "rgba(0,0,0,0)", borderWidth: 1, borderColor: "#ccc" }, e; 15683}(gt), Fd = function(r) { 15684 N(e, r); 15685 function e() { 15686 return r !== null && r.apply(this, arguments) || this; 15687 } 15688 return e.prototype.getCoordSysModel = function() { 15689 return this.getReferringComponents("grid", Jt).models[0]; 15690 }, e.type = "cartesian2dAxis", e; 15691}(gt); 15692Xt(Fd, Yo); 15693var AM = { show: true, z: 0, inverse: false, name: "", nameLocation: "end", nameRotate: null, nameTruncate: { maxWidth: null, ellipsis: "...", placeholder: "." }, nameTextStyle: {}, nameGap: 15, silent: false, triggerEvent: false, tooltip: { show: false }, axisPointer: {}, axisLine: { show: true, onZero: true, onZeroAxisIndex: null, lineStyle: { color: "#6E7079", width: 1, type: "solid" }, symbol: ["none", "none"], symbolSize: [10, 15] }, axisTick: { show: true, inside: false, length: 5, lineStyle: { width: 1 } }, axisLabel: { show: true, inside: false, rotate: 0, showMinLabel: null, showMaxLabel: null, margin: 8, fontSize: 12 }, splitLine: { show: true, showMinLine: true, showMaxLine: true, lineStyle: { color: ["#E0E6F1"], width: 1, type: "solid" } }, splitArea: { show: false, areaStyle: { color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"] } } }, N5 = ut({ boundaryGap: true, deduplication: null, splitLine: { show: false }, axisTick: { alignWithLabel: false, interval: "auto" }, axisLabel: { interval: "auto" } }, AM), Jy = ut({ boundaryGap: [0, 0], axisLine: { show: "auto" }, axisTick: { show: "auto" }, splitNumber: 5, minorTick: { show: false, splitNumber: 5, length: 3, lineStyle: {} }, minorSplitLine: { show: false, lineStyle: { color: "#F4F7FD", width: 1 } } }, AM), B5 = ut({ splitNumber: 6, axisLabel: { showMinLabel: false, showMaxLabel: false, rich: { primary: { fontWeight: "bold" } } }, splitLine: { show: false } }, Jy), z5 = Q({ logBase: 10 }, Jy); 15694const DM = { category: N5, value: Jy, time: B5, log: z5 }; 15695var V5 = { value: 1, category: 1, time: 1, log: 1 }; 15696function wo(r, e, t, a) { 15697 D(V5, function(n, i) { 15698 var o = ut(ut({}, DM[i], true), a, true), s = function(l) { 15699 N(u, l); 15700 function u() { 15701 var f = l !== null && l.apply(this, arguments) || this; 15702 return f.type = e + "Axis." + i, f; 15703 } 15704 return u.prototype.mergeDefaultAndTheme = function(f, h) { 15705 var v = hl(this), c = v ? Bo(f) : {}, p = h.getTheme(); 15706 ut(f, p.get(i + "Axis")), ut(f, this.getDefaultOption()), f.type = gS(f), v && an(f, c, v); 15707 }, u.prototype.optionUpdated = function() { 15708 var f = this.option; 15709 f.type === "category" && (this.__ordinalMeta = Ed.createByAxisModel(this)); 15710 }, u.prototype.getCategories = function(f) { 15711 var h = this.option; 15712 if (h.type === "category") return f ? h.data : this.__ordinalMeta.categories; 15713 }, u.prototype.getOrdinalMeta = function() { 15714 return this.__ordinalMeta; 15715 }, u.type = e + "Axis." + i, u.defaultOption = o, u; 15716 }(t); 15717 r.registerComponentModel(s); 15718 }), r.registerSubTypeDefaulter(e + "Axis", gS); 15719} 15720function gS(r) { 15721 return r.type || (r.data ? "category" : "value"); 15722} 15723var G5 = function() { 15724 function r(e) { 15725 this.type = "cartesian", this._dimList = [], this._axes = {}, this.name = e || ""; 15726 } 15727 return r.prototype.getAxis = function(e) { 15728 return this._axes[e]; 15729 }, r.prototype.getAxes = function() { 15730 return G(this._dimList, function(e) { 15731 return this._axes[e]; 15732 }, this); 15733 }, r.prototype.getAxesByScale = function(e) { 15734 return e = e.toLowerCase(), Ct(this.getAxes(), function(t) { 15735 return t.scale.type === e; 15736 }); 15737 }, r.prototype.addAxis = function(e) { 15738 var t = e.dim; 15739 this._axes[t] = e, this._dimList.push(t); 15740 }, r; 15741}(), Hd = ["x", "y"]; 15742function yS(r) { 15743 return r.type === "interval" || r.type === "time"; 15744} 15745var F5 = function(r) { 15746 N(e, r); 15747 function e() { 15748 var t = r !== null && r.apply(this, arguments) || this; 15749 return t.type = "cartesian2d", t.dimensions = Hd, t; 15750 } 15751 return e.prototype.calcAffineTransform = function() { 15752 this._transform = this._invTransform = null; 15753 var t = this.getAxis("x").scale, a = this.getAxis("y").scale; 15754 if (!(!yS(t) || !yS(a))) { 15755 var n = t.getExtent(), i = a.getExtent(), o = this.dataToPoint([n[0], i[0]]), s = this.dataToPoint([n[1], i[1]]), l = n[1] - n[0], u = i[1] - i[0]; 15756 if (!(!l || !u)) { 15757 var f = (s[0] - o[0]) / l, h = (s[1] - o[1]) / u, v = o[0] - n[0] * f, c = o[1] - i[0] * h, p = this._transform = [f, 0, 0, h, v, c]; 15758 this._invTransform = _i([], p); 15759 } 15760 } 15761 }, e.prototype.getBaseAxis = function() { 15762 return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAxis("x"); 15763 }, e.prototype.containPoint = function(t) { 15764 var a = this.getAxis("x"), n = this.getAxis("y"); 15765 return a.contain(a.toLocalCoord(t[0])) && n.contain(n.toLocalCoord(t[1])); 15766 }, e.prototype.containData = function(t) { 15767 return this.getAxis("x").containData(t[0]) && this.getAxis("y").containData(t[1]); 15768 }, e.prototype.containZone = function(t, a) { 15769 var n = this.dataToPoint(t), i = this.dataToPoint(a), o = this.getArea(), s = new ht(n[0], n[1], i[0] - n[0], i[1] - n[1]); 15770 return o.intersect(s); 15771 }, e.prototype.dataToPoint = function(t, a, n) { 15772 n = n || []; 15773 var i = t[0], o = t[1]; 15774 if (this._transform && i != null && isFinite(i) && o != null && isFinite(o)) return he(n, t, this._transform); 15775 var s = this.getAxis("x"), l = this.getAxis("y"); 15776 return n[0] = s.toGlobalCoord(s.dataToCoord(i, a)), n[1] = l.toGlobalCoord(l.dataToCoord(o, a)), n; 15777 }, e.prototype.clampData = function(t, a) { 15778 var n = this.getAxis("x").scale, i = this.getAxis("y").scale, o = n.getExtent(), s = i.getExtent(), l = n.parse(t[0]), u = i.parse(t[1]); 15779 return a = a || [], a[0] = Math.min(Math.max(Math.min(o[0], o[1]), l), Math.max(o[0], o[1])), a[1] = Math.min(Math.max(Math.min(s[0], s[1]), u), Math.max(s[0], s[1])), a; 15780 }, e.prototype.pointToData = function(t, a) { 15781 var n = []; 15782 if (this._invTransform) return he(n, t, this._invTransform); 15783 var i = this.getAxis("x"), o = this.getAxis("y"); 15784 return n[0] = i.coordToData(i.toLocalCoord(t[0]), a), n[1] = o.coordToData(o.toLocalCoord(t[1]), a), n; 15785 }, e.prototype.getOtherAxis = function(t) { 15786 return this.getAxis(t.dim === "x" ? "y" : "x"); 15787 }, e.prototype.getArea = function(t) { 15788 t = t || 0; 15789 var a = this.getAxis("x").getGlobalExtent(), n = this.getAxis("y").getGlobalExtent(), i = Math.min(a[0], a[1]) - t, o = Math.min(n[0], n[1]) - t, s = Math.max(a[0], a[1]) - i + t, l = Math.max(n[0], n[1]) - o + t; 15790 return new ht(i, o, s, l); 15791 }, e; 15792}(G5), H5 = function(r) { 15793 N(e, r); 15794 function e(t, a, n, i, o) { 15795 var s = r.call(this, t, a, n) || this; 15796 return s.index = 0, s.type = i || "value", s.position = o || "bottom", s; 15797 } 15798 return e.prototype.isHorizontal = function() { 15799 var t = this.position; 15800 return t === "top" || t === "bottom"; 15801 }, e.prototype.getGlobalExtent = function(t) { 15802 var a = this.getExtent(); 15803 return a[0] = this.toGlobalCoord(a[0]), a[1] = this.toGlobalCoord(a[1]), t && a[0] > a[1] && a.reverse(), a; 15804 }, e.prototype.pointToData = function(t, a) { 15805 return this.coordToData(this.toLocalCoord(t[this.dim === "x" ? 0 : 1]), a); 15806 }, e.prototype.setCategorySortInfo = function(t) {
15807 if (this.type !== "category") return false; 15808 this.model.option.categorySortInfo = t, this.scale.setSortInfo(t); 15809 }, e; 15810}(yr); 15811function Wd(r, e, t) { 15812 t = t || {}; 15813 var a = r.coordinateSystem, n = e.axis, i = {}, o = n.getAxesOnZeroOf()[0], s = n.position, l = o ? "onZero" : s, u = n.dim, f = a.getRect(), h = [f.x, f.x + f.width, f.y, f.y + f.height], v = { left: 0, right: 1, top: 0, bottom: 1, onZero: 2 }, c = e.get("offset") || 0, p = u === "x" ? [h[2] - c, h[3] + c] : [h[0] - c, h[1] + c]; 15814 if (o) { 15815 var d = o.toGlobalCoord(o.dataToCoord(0)); 15816 p[v.onZero] = Math.max(Math.min(d, p[1]), p[0]); 15817 } 15818 i.position = [u === "y" ? p[v[l]] : h[0], u === "x" ? p[v[l]] : h[3]], i.rotation = Math.PI / 2 * (u === "x" ? 0 : 1); 15819 var g = { top: -1, bottom: 1, left: -1, right: 1 }; 15820 i.labelDirection = i.tickDirection = i.nameDirection = g[s], i.labelOffset = o ? p[v[s]] - p[v.onZero] : 0, e.get(["axisTick", "inside"]) && (i.tickDirection = -i.tickDirection), ne(t.labelInside, e.get(["axisLabel", "inside"])) && (i.labelDirection = -i.labelDirection); 15821 var y = e.get(["axisLabel", "rotate"]); 15822 return i.labelRotate = l === "top" ? -y : y, i.z2 = 1, i; 15823} 15824function mS(r) { 15825 return r.get("coordinateSystem") === "cartesian2d"; 15826} 15827function _S(r) { 15828 var e = { xAxisModel: null, yAxisModel: null }; 15829 return D(e, function(t, a) { 15830 var n = a.replace(/Model$/, ""), i = r.getReferringComponents(n, Jt).models[0]; 15831 e[a] = i; 15832 }), e; 15833} 15834var Lc = Math.log; 15835function MM(r, e, t) { 15836 var a = ba.prototype, n = a.getTicks.call(t), i = a.getTicks.call(t, true), o = n.length - 1, s = a.getInterval.call(t), l = PD(r, e), u = l.extent, f = l.fixMin, h = l.fixMax; 15837 if (r.type === "log") { 15838 var v = Lc(r.base); 15839 u = [Lc(u[0]) / v, Lc(u[1]) / v]; 15840 } 15841 r.setExtent(u[0], u[1]), r.calcNiceExtent({ splitNumber: o, fixMin: f, fixMax: h }); 15842 var c = a.getExtent.call(r); 15843 f && (u[0] = c[0]), h && (u[1] = c[1]); 15844 var p = a.getInterval.call(r), d = u[0], g = u[1]; 15845 if (f && h) p = (g - d) / o; 15846 else if (f) for (g = u[0] + p * o; g < u[1] && isFinite(g) && isFinite(u[1]); ) p = dc(p), g = u[0] + p * o; 15847 else if (h) for (d = u[1] - p * o; d > u[0] && isFinite(d) && isFinite(u[0]); ) p = dc(p), d = u[1] - p * o; 15848 else { 15849 var y = r.getTicks().length - 1; 15850 y > o && (p = dc(p)); 15851 var m = p * o; 15852 g = Math.ceil(u[1] / p) * p, d = Ut(g - m), d < 0 && u[0] >= 0 ? (d = 0, g = Ut(m)) : g > 0 && u[1] <= 0 && (g = 0, d = -Ut(m)); 15853 } 15854 var _ = (n[0].value - i[0].value) / s, S = (n[o].value - i[o].value) / s; 15855 a.setExtent.call(r, d + p * _, g + p * S), a.setInterval.call(r, p), (_ || S) && a.setNiceExtent.call(r, d + p, g - p); 15856} 15857var W5 = function() { 15858 function r(e, t, a) { 15859 this.type = "grid", this._coordsMap = {}, this._coordsList = [], this._axesMap = {}, this._axesList = [], this.axisPointerEnabled = true, this.dimensions = Hd, this._initCartesian(e, t, a), this.model = e; 15860 } 15861 return r.prototype.getRect = function() { 15862 return this._rect; 15863 }, r.prototype.update = function(e, t) { 15864 var a = this._axesMap; 15865 this._updateScale(e, this.model); 15866 function n(o) { 15867 var s, l = _t(o), u = l.length; 15868 if (u) { 15869 for (var f = [], h = u - 1; h >= 0; h--) { 15870 var v = +l[h], c = o[v], p = c.model, d = c.scale; 15871 kd(d) && p.get("alignTicks") && p.get("interval") == null ? f.push(c) : (di(d, p), kd(d) && (s = c)); 15872 } 15873 f.length && (s || (s = f.pop(), di(s.scale, s.model)), D(f, function(g) { 15874 MM(g.scale, g.model, s.scale); 15875 })); 15876 } 15877 } 15878 n(a.x), n(a.y); 15879 var i = {}; 15880 D(a.x, function(o) { 15881 SS(a, "y", o, i); 15882 }), D(a.y, function(o) { 15883 SS(a, "x", o, i); 15884 }), this.resize(this.model, t); 15885 }, r.prototype.resize = function(e, t, a) { 15886 var n = e.getBoxLayoutParams(), i = !a && e.get("containLabel"), o = Qt(n, { width: t.getWidth(), height: t.getHeight() }); 15887 this._rect = o; 15888 var s = this._axesList; 15889 l(), i && (D(s, function(u) { 15890 if (!u.model.get(["axisLabel", "inside"])) { 15891 var f = uz(u); 15892 if (f) { 15893 var h = u.isHorizontal() ? "height" : "width", v = u.model.get(["axisLabel", "margin"]); 15894 o[h] -= f[h] + v, u.position === "top" ? o.y += f.height + v : u.position === "left" && (o.x += f.width + v); 15895 } 15896 } 15897 }), l()), D(this._coordsList, function(u) { 15898 u.calcAffineTransform(); 15899 }); 15900 function l() { 15901 D(s, function(u) { 15902 var f = u.isHorizontal(), h = f ? [0, o.width] : [0, o.height], v = u.inverse ? 1 : 0; 15903 u.setExtent(h[v], h[1 - v]), U5(u, f ? o.x : o.y); 15904 }); 15905 } 15906 }, r.prototype.getAxis = function(e, t) { 15907 var a = this._axesMap[e]; 15908 if (a != null) return a[t || 0]; 15909 }, r.prototype.getAxes = function() { 15910 return this._axesList.slice(); 15911 }, r.prototype.getCartesian = function(e, t) { 15912 if (e != null && t != null) { 15913 var a = "x" + e + "y" + t; 15914 return this._coordsMap[a]; 15915 } 15916 tt(e) && (t = e.yAxisIndex, e = e.xAxisIndex); 15917 for (var n = 0, i = this._coordsList; n < i.length; n++) if (i[n].getAxis("x").index === e || i[n].getAxis("y").index === t) return i[n]; 15918 }, r.prototype.getCartesians = function() { 15919 return this._coordsList.slice(); 15920 }, r.prototype.convertToPixel = function(e, t, a) { 15921 var n = this._findConvertTarget(t); 15922 return n.cartesian ? n.cartesian.dataToPoint(a) : n.axis ? n.axis.toGlobalCoord(n.axis.dataToCoord(a)) : null; 15923 }, r.prototype.convertFromPixel = function(e, t, a) { 15924 var n = this._findConvertTarget(t); 15925 return n.cartesian ? n.cartesian.pointToData(a) : n.axis ? n.axis.coordToData(n.axis.toLocalCoord(a)) : null; 15926 }, r.prototype._findConvertTarget = function(e) { 15927 var t = e.seriesModel, a = e.xAxisModel || t && t.getReferringComponents("xAxis", Jt).models[0], n = e.yAxisModel || t && t.getReferringComponents("yAxis", Jt).models[0], i = e.gridModel, o = this._coordsList, s, l; 15928 if (t) s = t.coordinateSystem, vt(o, s) < 0 && (s = null);
15929 else if (a && n) s = this.getCartesian(a.componentIndex, n.componentIndex); 15930 else if (a) l = this.getAxis("x", a.componentIndex); 15931 else if (n) l = this.getAxis("y", n.componentIndex); 15932 else if (i) { 15933 var u = i.coordinateSystem; 15934 u === this && (s = this._coordsList[0]); 15935 } 15936 return { cartesian: s, axis: l }; 15937 }, r.prototype.containPoint = function(e) { 15938 var t = this._coordsList[0]; 15939 if (t) return t.containPoint(e); 15940 }, r.prototype._initCartesian = function(e, t, a) { 15941 var n = this, i = this, o = { left: false, right: false, top: false, bottom: false }, s = { x: {}, y: {} }, l = { x: 0, y: 0 }; 15942 if (t.eachComponent("xAxis", u("x"), this), t.eachComponent("yAxis", u("y"), this), !l.x || !l.y) { 15943 this._axesMap = {}, this._axesList = []; 15944 return; 15945 } 15946 this._axesMap = s, D(s.x, function(f, h) { 15947 D(s.y, function(v, c) { 15948 var p = "x" + h + "y" + c, d = new F5(p); 15949 d.master = n, d.model = e, n._coordsMap[p] = d, n._coordsList.push(d), d.addAxis(f), d.addAxis(v); 15950 }); 15951 }); 15952 function u(f) { 15953 return function(h, v) { 15954 if (Pc(h, e)) { 15955 var c = h.get("position"); 15956 f === "x" ? c !== "top" && c !== "bottom" && (c = o.bottom ? "top" : "bottom") : c !== "left" && c !== "right" && (c = o.left ? "right" : "left"), o[c] = true; 15957 var p = new H5(f, Hl(h), [0, 0], h.get("type"), c), d = p.type === "category"; 15958 p.onBand = d && h.get("boundaryGap"), p.inverse = h.get("inverse"), h.axis = p, p.model = h, p.grid = i, p.index = v, i._axesList.push(p), s[f][v] = p, l[f]++; 15959 } 15960 }; 15961 } 15962 }, r.prototype._updateScale = function(e, t) { 15963 D(this._axesList, function(n) { 15964 if (n.scale.setExtent(1 / 0, -1 / 0), n.type === "category") { 15965 var i = n.model.get("categorySortInfo"); 15966 n.scale.setSortInfo(i); 15967 } 15968 }), e.eachSeries(function(n) { 15969 if (mS(n)) { 15970 var i = _S(n), o = i.xAxisModel, s = i.yAxisModel; 15971 if (!Pc(o, t) || !Pc(s, t)) return; 15972 var l = this.getCartesian(o.componentIndex, s.componentIndex), u = n.getData(), f = l.getAxis("x"), h = l.getAxis("y"); 15973 a(u, f), a(u, h); 15974 } 15975 }, this); 15976 function a(n, i) { 15977 D(qf(n, i.dim), function(o) { 15978 i.scale.unionExtentFromData(n, o); 15979 }); 15980 } 15981 }, r.prototype.getTooltipAxes = function(e) { 15982 var t = [], a = []; 15983 return D(this.getCartesians(), function(n) { 15984 var i = e != null && e !== "auto" ? n.getAxis(e) : n.getBaseAxis(), o = n.getOtherAxis(i); 15985 vt(t, i) < 0 && t.push(i), vt(a, o) < 0 && a.push(o); 15986 }), { baseAxes: t, otherAxes: a }; 15987 }, r.create = function(e, t) { 15988 var a = []; 15989 return e.eachComponent("grid", function(n, i) { 15990 var o = new r(n, e, t); 15991 o.name = "grid_" + i, o.resize(n, t, true), n.coordinateSystem = o, a.push(o); 15992 }), e.eachSeries(function(n) { 15993 if (mS(n)) { 15994 var i = _S(n), o = i.xAxisModel, s = i.yAxisModel, l = o.getCoordSysModel(), u = l.coordinateSystem; 15995 n.coordinateSystem = u.getCartesian(o.componentIndex, s.componentIndex); 15996 } 15997 }), a; 15998 }, r.dimensions = Hd, r; 15999}(); 16000function Pc(r, e) { 16001 return r.getCoordSysModel() === e; 16002} 16003function SS(r, e, t, a) { 16004 t.getAxesOnZeroOf = function() { 16005 return i ? [i] : []; 16006 }; 16007 var n = r[e], i, o = t.model, s = o.get(["axisLine", "onZero"]), l = o.get(["axisLine", "onZeroAxisIndex"]); 16008 if (!s) return; 16009 if (l != null) xS(n[l]) && (i = n[l]); 16010 else for (var u in n) if (n.hasOwnProperty(u) && xS(n[u]) && !a[f(n[u])]) { 16011 i = n[u]; 16012 break; 16013 } 16014 i && (a[f(i)] = true); 16015 function f(h) { 16016 return h.dim + "_" + h.index; 16017 } 16018} 16019function xS(r) { 16020 return r && r.type !== "category" && r.type !== "time" && lz(r); 16021} 16022function U5(r, e) { 16023 var t = r.getExtent(), a = t[0] + t[1]; 16024 r.toGlobalCoord = r.dim === "x" ? function(n) { 16025 return n + e; 16026 } : function(n) { 16027 return a - n + e; 16028 }, r.toLocalCoord = r.dim === "x" ? function(n) { 16029 return n - e; 16030 } : function(n) { 16031 return a - n + e; 16032 }; 16033} 16034var Wa = Math.PI, Ee = function() { 16035 function r(e, t) { 16036 this.group = new at(), this.opt = t, this.axisModel = e, Q(t, { labelOffset: 0, nameDirection: 1, tickDirection: 1, labelDirection: 1, silent: true, handleAutoShown: function() { 16037 return true; 16038 } }); 16039 var a = new at({ x: t.position[0], y: t.position[1], rotation: t.rotation }); 16040 a.updateTransform(), this._transformGroup = a; 16041 } 16042 return r.prototype.hasBuilder = function(e) { 16043 return !!bS[e]; 16044 }, r.prototype.add = function(e) { 16045 bS[e](this.opt, this.axisModel, this.group, this._transformGroup); 16046 }, r.prototype.getGroup = function() { 16047 return this.group; 16048 }, r.innerTextLayout = function(e, t, a) { 16049 var n = Hg(t - e), i, o; 16050 return yo(n) ? (o = a > 0 ? "top" : "bottom", i = "center") : yo(n - Wa) ? (o = a > 0 ? "bottom" : "top", i = "center") : (o = "middle", n > 0 && n < Wa ? i = a > 0 ? "right" : "left" : i = a > 0 ? "left" : "right"), { rotation: n, textAlign: i, textVerticalAlign: o }; 16051 }, r.makeAxisEventDataBase = function(e) { 16052 var t = { componentType: e.mainType, componentIndex: e.componentIndex }; 16053 return t[e.mainType + "Index"] = e.componentIndex, t; 16054 }, r.isLabelSilent = function(e) { 16055 var t = e.get("tooltip"); 16056 return e.get("silent") || !(e.get("triggerEvent") || t && t.show); 16057 }, r; 16058}
16058(), bS = { axisLine: function(r, e, t, a) { 16059 var n = e.get(["axisLine", "show"]); 16060 if (n === "auto" && r.handleAutoShown && (n = r.handleAutoShown("axisLine")), !!n) { 16061 var i = e.axis.getExtent(), o = a.transform, s = [i[0], 0], l = [i[1], 0], u = s[0] > l[0]; 16062 o && (he(s, s, o), he(l, l, o)); 16063 var f = z({ lineCap: "round" }, e.getModel(["axisLine", "lineStyle"]).getLineStyle()), h = new ee({ shape: { x1: s[0], y1: s[1], x2: l[0], y2: l[1] }, style: f, strokeContainThreshold: r.strokeContainThreshold || 5, silent: true, z2: 1 }); 16064 _o(h.shape, h.style.lineWidth), h.anid = "line", t.add(h); 16065 var v = e.get(["axisLine", "symbol"]); 16066 if (v != null) { 16067 var c = e.get(["axisLine", "symbolSize"]); 16068 Y(v) && (v = [v, v]), (Y(c) || wt(c)) && (c = [c, c]); 16069 var p = wi(e.get(["axisLine", "symbolOffset"]) || 0, c), d = c[0], g = c[1]; 16070 D([{ rotate: r.rotation + Math.PI / 2, offset: p[0], r: 0 }, { rotate: r.rotation - Math.PI / 2, offset: p[1], r: Math.sqrt((s[0] - l[0]) * (s[0] - l[0]) + (s[1] - l[1]) * (s[1] - l[1])) }], function(y, m) { 16071 if (v[m] !== "none" && v[m] != null) { 16072 var _ = qt(v[m], -d / 2, -g / 2, d, g, f.stroke, true), S = y.r + y.offset, b = u ? l : s; 16073 _.attr({ rotation: y.rotate, x: b[0] + S * Math.cos(r.rotation), y: b[1] - S * Math.sin(r.rotation), silent: true, z2: 11 }), t.add(_); 16074 } 16075 }); 16076 } 16077 } 16078}, axisTickLabel: function(r, e, t, a) { 16079 var n = X5(t, a, e, r), i = q5(t, a, e, r); 16080 if ($5(e, i, n), Z5(t, a, e, r.tickDirection), e.get(["axisLabel", "hideOverlap"])) { 16081 var o = YD(G(i, function(s) { 16082 return { label: s, priority: s.z2, defaultAttr: { ignore: s.ignore } }; 16083 })); 16084 ZD(o); 16085 } 16086}, axisName: function(r, e, t, a) { 16087 var n = ne(r.axisName, e.get("name")); 16088 if (n) { 16089 var i = e.get("nameLocation"), o = r.nameDirection, s = e.getModel("nameTextStyle"), l = e.get("nameGap") || 0, u = e.axis.getExtent(), f = u[0] > u[1] ? -1 : 1, h = [i === "start" ? u[0] - f * l : i === "end" ? u[1] + f * l : (u[0] + u[1]) / 2, TS(i) ? r.labelOffset + o * l : 0], v, c = e.get("nameRotate"); 16090 c != null && (c = c * Wa / 180); 16091 var p; 16092 TS(i) ? v = Ee.innerTextLayout(r.rotation, c ?? r.rotation, o) : (v = Y5(r.rotation, i, c || 0, u), p = r.axisNameAvailableWidth, p != null && (p = Math.abs(p / Math.sin(v.rotation)), !isFinite(p) && (p = null))); 16093 var d = s.getFont(), g = e.get("nameTruncate", true) || {}, y = g.ellipsis, m = ne(r.nameTruncateMaxWidth, g.maxWidth, p), _ = new St({ x: h[0], y: h[1], rotation: v.rotation, silent: Ee.isLabelSilent(e), style: Nt(s, { text: n, font: d, overflow: "truncate", width: m, ellipsis: y, fill: s.getTextColor() || e.get(["axisLine", "lineStyle", "color"]), align: s.get("align") || v.textAlign, verticalAlign: s.get("verticalAlign") || v.textVerticalAlign }), z2: 1 }); 16094 if (Si({ el: _, componentModel: e, itemName: n }), _.__fullText = n, _.anid = "name", e.get("triggerEvent")) { 16095 var S = Ee.makeAxisEventDataBase(e); 16096 S.targetType = "axisName", S.name = n, it(_).eventData = S; 16097 } 16098 a.add(_), _.updateTransform(), t.add(_), _.decomposeTransform(); 16099 } 16100} }; 16101function Y5(r, e, t, a) { 16102 var n = Hg(t - r), i, o, s = a[0] > a[1], l = e === "start" && !s || e !== "start" && s; 16103 return yo(n - Wa / 2) ? (o = l ? "bottom" : "top", i = "center") : yo(n - Wa * 1.5) ? (o = l ? "top" : "bottom", i = "center") : (o = "middle", n < Wa * 1.5 && n > Wa / 2 ? i = l ? "left" : "right" : i = l ? "right" : "left"), { rotation: n, textAlign: i, textVerticalAlign: o }; 16104} 16105function $5(r, e, t) { 16106 if (!RD(r.axis)) { 16107 var a = r.get(["axisLabel", "showMinLabel"]), n = r.get(["axisLabel", "showMaxLabel"]); 16108 e = e || [], t = t || []; 16109 var i = e[0], o = e[1], s = e[e.length - 1], l = e[e.length - 2], u = t[0], f = t[1], h = t[t.length - 1], v = t[t.length - 2]; 16110 a === false ? (Je(i), Je(u)) : wS(i, o) && (a ? (Je(o), Je(f)) : (Je(i), Je(u))), n === false ? (Je(s), Je(h)) : wS(l, s) && (n ? (Je(l), Je(v)) : (Je(s), Je(h))); 16111 } 16112} 16113function Je(r) { 16114 r && (r.ignore = true); 16115} 16116function wS(r, e) {
16117 var t = r && r.getBoundingRect().clone(), a = e && e.getBoundingRect().clone(); 16118 if (!(!t || !a)) { 16119 var n = Pl([]); 16120 return ln(n, n, -r.rotation), t.applyTransform(qr([], n, r.getLocalTransform())), a.applyTransform(qr([], n, e.getLocalTransform())), t.intersect(a); 16121 } 16122} 16123function TS(r) { 16124 return r === "middle" || r === "center"; 16125} 16126function IM(r, e, t, a, n) { 16127 for (var i = [], o = [], s = [], l = 0; l < r.length; l++) { 16128 var u = r[l].coord; 16129 o[0] = u, o[1] = 0, s[0] = u, s[1] = t, e && (he(o, o, e), he(s, s, e)); 16130 var f = new ee({ shape: { x1: o[0], y1: o[1], x2: s[0], y2: s[1] }, style: a, z2: 2, autoBatch: true, silent: true }); 16131 _o(f.shape, f.style.lineWidth), f.anid = n + "_" + r[l].tickValue, i.push(f); 16132 } 16133 return i; 16134} 16135function X5(r, e, t, a) { 16136 var n = t.axis, i = t.getModel("axisTick"), o = i.get("show"); 16137 if (o === "auto" && a.handleAutoShown && (o = a.handleAutoShown("axisTick")), !(!o || n.scale.isBlank())) { 16138 for (var s = i.getModel("lineStyle"), l = a.tickDirection * i.get("length"), u = n.getTicksCoords(), f = IM(u, e.transform, l, Q(s.getLineStyle(), { stroke: t.get(["axisLine", "lineStyle", "color"]) }), "ticks"), h = 0; h < f.length;
16138 h++) r.add(f[h]); 16139 return f; 16140 } 16141} 16142function Z5(r, e, t, a) { 16143 var n = t.axis, i = t.getModel("minorTick"); 16144 if (!(!i.get("show") || n.scale.isBlank())) { 16145 var o = n.getMinorTicksCoords(); 16146 if (o.length) for (var s = i.getModel("lineStyle"), l = a * i.get("length"), u = Q(s.getLineStyle(), Q(t.getModel("axisTick").getLineStyle(), { stroke: t.get(["axisLine", "lineStyle", "color"]) })), f = 0; f < o.length; f++) for (var h = IM(o[f], e.transform, l, u, "minorticks_" + f), v = 0; v < h.length; v++) r.add(h[v]); 16147 } 16148} 16149function q5(r, e, t, a) { 16150 var n = t.axis, i = ne(a.axisLabelShow, t.get(["axisLabel", "show"])); 16151 if (!(!i || n.scale.isBlank())) { 16152 var o = t.getModel("axisLabel"), s = o.get("margin"), l = n.getViewLabels(), u = (ne(a.labelRotate, o.get("rotate")) || 0) * Wa / 180, f = Ee.innerTextLayout(a.rotation, u, a.labelDirection), h = t.getCategories && t.getCategories(true), v = [], c = Ee.isLabelSilent(t), p = t.get("triggerEvent"); 16153 return D(l, function(d, g) { 16154 var y = n.scale.type === "ordinal" ? n.scale.getRawOrdinalNumber(d.tickValue) : d.tickValue, m = d.formattedLabel, _ = d.rawLabel, S = o; 16155 if (h && h[y]) { 16156 var b = h[y]; 16157 tt(b) && b.textStyle && (S = new At(b.textStyle, o, t.ecModel)); 16158 } 16159 var x = S.getTextColor() || t.get(["axisLine", "lineStyle", "color"]), w = n.dataToCoord(y), T = S.getShallow("align", true) || f.textAlign, C = st(S.getShallow("alignMinLabel", true), T), A = st(S.getShallow("alignMaxLabel", true), T), M = S.getShallow("verticalAlign", true) || S.getShallow("baseline", true) || f.textVerticalAlign, I = st(S.getShallow("verticalAlignMinLabel", true), M), L = st(S.getShallow("verticalAlignMaxLabel", true), M), P = new St({ x: w, y: a.labelOffset + a.labelDirection * s, rotation: f.rotation, silent: c, z2: 10 + (d.level || 0), style: Nt(S, { text: m, align: g === 0 ? C : g === l.length - 1 ? A : T, verticalAlign: g === 0 ? I : g === l.length - 1 ? L : M, fill: j(x) ? x(n.type === "category" ? _ : n.type === "value" ? y + "" : y, g) : x }) }); 16160 if (P.anid = "label_" + y, Si({ el: P, componentModel: t, itemName: m, formatterParamsExtra: { isTruncated: function() { 16161 return P.isTruncated; 16162 }, value: _, tickIndex: g } }), p) { 16163 var R = Ee.makeAxisEventDataBase(t); 16164 R.targetType = "axisLabel", R.value = _, R.tickIndex = g, n.type === "category" && (R.dataIndex = y), it(P).eventData = R; 16165 } 16166 e.add(P), P.updateTransform(), v.push(P), r.add(P), P.decomposeTransform(); 16167 }), v; 16168 } 16169} 16170function K5(r, e) { 16171 var t = { axesInfo: {}, seriesInvolved: false, coordSysAxesInfo: {}, coordSysMap: {} }; 16172 return j5(t, r, e), t.seriesInvolved && Q5(t, r), t; 16173} 16174function j5(r, e, t) { 16175 var a = e.getComponent("tooltip"), n = e.getComponent("axisPointer"), i = n.get("link", true) || [], o = []; 16176 D(t.getCoordinateSystems(), function(s) { 16177 if (!s.axisPointerEnabled) return; 16178 var l = Sl(s.model), u = r.coordSysAxesInfo[l] = {}; 16179 r.coordSysMap[l] = s; 16180 var f = s.model, h = f.getModel("tooltip", a); 16181 if (D(s.getAxes(), lt(d, false, null)), s.getTooltipAxes && a && h.get("show")) { 16182 var v = h.get("trigger") === "axis", c = h.get(["axisPointer", "type"]) === "cross", p = s.getTooltipAxes(h.get(["axisPointer", "axis"])); 16183 (v || c) && D(p.baseAxes, lt(d, c ? "cross" : true, v)), c && D(p.otherAxes, lt(d, "cross", false)); 16184 } 16185 function d(g, y, m) { 16186 var _ = m.model.getModel("axisPointer", n), S = _.get("show"); 16187 if (!(!S || S === "auto" && !g && !Ud(_))) { 16188 y == null && (y = _.get("triggerTooltip")), _ = g ? J5(m, h, n, e, g, y) : _; 16189 var b = _.get("snap"), x = _.get("triggerEmphasis"), w = Sl(m.model), T = y || b || m.type === "category", C = r.axesInfo[w] = { key: w, axis: m, coordSys: s, axisPointerModel: _, triggerTooltip: y, triggerEmphasis: x, involveSeries: T, snap: b, useHandle: Ud(_), seriesModels: [], linkGroup: null }; 16190 u[w] = C, r.seriesInvolved = r.seriesInvolved || T; 16191 var A = tG(i, m); 16192 if (A != null) { 16193 var M = o[A] || (o[A] = { axesInfo: {} }); 16194 M.axesInfo[w] = C, M.mapper = i[A].mapper, C.linkGroup = M; 16195 } 16196 } 16197 } 16198 }); 16199} 16200function J5(r, e, t, a, n, i) { 16201 var o = e.getModel("axisPointer"), s = ["type", "snap", "lineStyle", "shadowStyle", "label", "animation", "animationDurationUpdate", "animationEasingUpdate", "z"], l = {}; 16202 D(s, function(v) { 16203 l[v] = rt(o.get(v)); 16204 }), l.snap = r.type !== "category" && !!i, o.get("type") === "cross" && (l.type = "line"); 16205 var u = l.label || (l.label = {}); 16206 if (u.show == null && (u.show = false), n === "cross") { 16207 var f = o.get(["label", "show"]); 16208 if (u.show = f ?? true, !i) { 16209 var h = l.lineStyle = o.get("crossStyle"); 16210 h && Q(u, h.textStyle); 16211 } 16212 } 16213 return r.model.getModel("axisPointer", new At(l, t, a)); 16214} 16215function Q5(r, e) { 16216 e.eachSeries(function(t) { 16217 var a = t.coordinateSystem, n = t.get(["tooltip", "trigger"], true), i = t.get(["tooltip", "show"], true);
16218 !a || n === "none" || n === false || n === "item" || i === false || t.get(["axisPointer", "show"], true) === false || D(r.coordSysAxesInfo[Sl(a.model)], function(o) { 16219 var s = o.axis; 16220 a.getAxis(s.dim) === s && (o.seriesModels.push(t), o.seriesDataCount == null && (o.seriesDataCount = 0), o.seriesDataCount += t.getData().count()); 16221 }); 16222 }); 16223} 16224function tG(r, e) { 16225 for (var t = e.model, a = e.dim, n = 0; n < r.length; n++) { 16226 var i = r[n] || {}; 16227 if (Rc(i[a + "AxisId"], t.id) || Rc(i[a + "AxisIndex"], t.componentIndex) || Rc(i[a + "AxisName"], t.name)) return n; 16228 } 16229} 16230function Rc(r, e) { 16231 return r === "all" || V(r) && vt(r, e) >= 0 || r === e; 16232} 16233function eG(r) { 16234 var e = Qy(r); 16235 if (e) { 16236 var t = e.axisPointerModel, a = e.axis.scale, n = t.option, i = t.get("status"), o = t.get("value"); 16237 o != null && (o = a.parse(o)); 16238 var s = Ud(t); 16239 i == null && (n.status = s ? "show" : "hide"); 16240 var l = a.getExtent().slice(); 16241 l[0] > l[1] && l.reverse(), (o == null || o > l[1]) && (o = l[1]), o < l[0] && (o = l[0]), n.value = o, s && (n.status = e.axis.scale.isBlank() ? "hide" : "show"); 16242 } 16243} 16244function Qy(r) { 16245 var e = (r.ecModel.getComponent("axisPointer") || {}).coordSysAxesInfo; 16246 return e && e.axesInfo[Sl(r)]; 16247} 16248function rG(r) { 16249 var e = Qy(r); 16250 return e && e.axisPointerModel; 16251} 16252function Ud(r) { 16253 return !!r.get(["handle", "show"]); 16254} 16255function Sl(r) { 16256 return r.type + "||" + r.id; 16257} 16258var CS = {}, Ci = function(r) { 16259 N(e, r); 16260 function e() { 16261 var t = r !== null && r.apply(this, arguments) || this; 16262 return t.type = e.type, t; 16263 } 16264 return e.prototype.render = function(t, a, n, i) { 16265 this.axisPointerClass && eG(t), r.prototype.render.apply(this, arguments), this._doUpdateAxisPointerClass(t, n, true); 16266 }, e.prototype.updateAxisPointer = function(t, a, n, i) { 16267 this._doUpdateAxisPointerClass(t, n, false); 16268 }, e.prototype.remove = function(t, a) { 16269 var n = this._axisPointer; 16270 n && n.remove(a); 16271 }, e.prototype.dispose = function(t, a) { 16272 this._disposeAxisPointer(a), r.prototype.dispose.apply(this, arguments); 16273 }, e.prototype._doUpdateAxisPointerClass = function(t, a, n) { 16274 var i = e.getAxisPointerClass(this.axisPointerClass); 16275 if (i) { 16276 var o = rG(t); 16277 o ? (this._axisPointer || (this._axisPointer = new i())).render(t, o, a, n) : this._disposeAxisPointer(a); 16278 } 16279 }, e.prototype._disposeAxisPointer = function(t) { 16280 this._axisPointer && this._axisPointer.dispose(t), this._axisPointer = null; 16281 }, e.registerAxisPointerClass = function(t, a) { 16282 CS[t] = a; 16283 }, e.getAxisPointerClass = function(t) { 16284 return t && CS[t]; 16285 }, e.type = "axis", e; 16286}(Vt), Yd = bt(); 16287function LM(r, e, t, a) { 16288 var n = t.axis; 16289 if (!n.scale.isBlank()) { 16290 var i = t.getModel("splitArea"), o = i.getModel("areaStyle"), s = o.get("color"), l = a.coordinateSystem.getRect(), u = n.getTicksCoords({ tickModel: i, clamp: true }); 16291 if (u.length) { 16292 var f = s.length, h = Yd(r).splitAreaColors, v = Z(), c = 0; 16293 if (h) for (var p = 0; p < u.length; p++) { 16294 var d = h.get(u[p].tickValue); 16295 if (d != null) { 16296 c = (d + (f - 1) * p) % f; 16297 break; 16298 } 16299 } 16300 var g = n.toGlobalCoord(u[0].coord), y = o.getAreaStyle(); 16301 s = V(s) ? s : [s]; 16302 for (var p = 1; p < u.length; p++) { 16303 var m = n.toGlobalCoord(u[p].coord), _ = void 0, S = void 0, b = void 0, x = void 0; 16304 n.isHorizontal() ? (_ = g, S = l.y, b = m - _, x = l.height, g = _ + b) : (_ = l.x, S = g, b = l.width, x = m - S, g = S + x); 16305 var w = u[p - 1].tickValue; 16306 w != null && v.set(w, c), e.add(new xt({ anid: w != null ? "area_" + w : null, shape: { x: _, y: S, width: b, height: x }, style: Q({ fill: s[c] }, y), autoBatch: true, silent: true })), c = (c + 1) % f; 16307 } 16308 Yd(r).splitAreaColors = v; 16309 } 16310 } 16311} 16312function PM(r) { 16313 Yd(r).splitAreaColors = null; 16314} 16315var aG = ["axisLine", "axisTickLabel", "axisName"], nG = ["splitArea", "splitLine", "minorSplitLine"], RM = function(r) { 16316 N(e, r); 16317 function e() { 16318 var t = r !== null && r.apply(this, arguments) || this; 16319 return t.type = e.type, t.axisPointerClass = "CartesianAxisPointer", t; 16320 } 16321 return e.prototype.render = function(t, a, n, i) { 16322 this.group.removeAll(); 16323 var o = this._axisGroup; 16324 if (this._axisGroup = new at(), this.group.add(this._axisGroup), !!t.get("show")) { 16325 var s = t.getCoordSysModel(), l = Wd(s, t), u = new Ee(t, z({ handleAutoShown: function(h) { 16326 for (var v = s.coordinateSystem.getCartesians(), c = 0; c < v.length; c++) if (kd(v[c].getOtherAxis(t.axis).scale)) return true; 16327 return false;
16328 } }, l)); 16329 D(aG, u.add, u), this._axisGroup.add(u.getGroup()), D(nG, function(h) { 16330 t.get([h, "show"]) && iG[h](this, this._axisGroup, t, s); 16331 }, this); 16332 var f = i && i.type === "changeAxisOrder" && i.isInitSort; 16333 f || Vl(o, this._axisGroup, t), r.prototype.render.call(this, t, a, n, i); 16334 } 16335 }, e.prototype.remove = function() { 16336 PM(this); 16337 }, e.type = "cartesianAxis", e; 16338}(Ci), iG = { splitLine: function(r, e, t, a) { 16339 var n = t.axis; 16340 if (!n.scale.isBlank()) { 16341 var i = t.getModel("splitLine"), o = i.getModel("lineStyle"), s = o.get("color"), l = i.get("showMinLine") !== false, u = i.get("showMaxLine") !== false; 16342 s = V(s) ? s : [s]; 16343 for (var f = a.coordinateSystem.getRect(), h = n.isHorizontal(), v = 0, c = n.getTicksCoords({ tickModel: i }), p = [], d = [], g = o.getLineStyle(), y = 0; y < c.length; y++) { 16344 var m = n.toGlobalCoord(c[y].coord); 16345 if (!(y === 0 && !l || y === c.length - 1 && !u)) { 16346 var _ = c[y].tickValue; 16347 h ? (p[0] = m, p[1] = f.y, d[0] = m, d[1] = f.y + f.height) : (p[0] = f.x, p[1] = m, d[0] = f.x + f.width, d[1] = m); 16348 var S = v++ % s.length, b = new ee({ anid: _ != null ? "line_" + _ : null, autoBatch: true, shape: { x1: p[0], y1: p[1], x2: d[0], y2: d[1] }, style: Q({ stroke: s[S] }, g), silent: true }); 16349 _o(b.shape, g.lineWidth), e.add(b); 16350 } 16351 } 16352 } 16353}, minorSplitLine: function(r, e, t, a) { 16354 var n = t.axis, i = t.getModel("minorSplitLine"), o = i.getModel("lineStyle"), s = a.coordinateSystem.getRect(), l = n.isHorizontal(), u = n.getMinorTicksCoords(); 16355 if (u.length) for (var f = [], h = [], v = o.getLineStyle(), c = 0; c < u.length; c++) for (var p = 0; p < u[c].length; p++) { 16356 var d = n.toGlobalCoord(u[c][p].coord); 16357 l ? (f[0] = d, f[1] = s.y, h[0] = d, h[1] = s.y + s.height) : (f[0] = s.x, f[1] = d, h[0] = s.x + s.width, h[1] = d); 16358 var g = new ee({ anid: "minor_line_" + u[c][p].tickValue, autoBatch: true, shape: { x1: f[0], y1: f[1], x2: h[0], y2: h[1] }, style: v, silent: true }); 16359 _o(g.shape, v.lineWidth), e.add(g); 16360 } 16361}, splitArea: function(r, e, t, a) { 16362 LM(r, e, t, a); 16363} }, EM = function(r) { 16364 N(e, r); 16365 function e() { 16366 var t = r !== null && r.apply(this, arguments) || this; 16367 return t.type = e.type, t; 16368 } 16369 return e.type = "xAxis", e; 16370}(RM), oG = function(r) { 16371 N(e, r); 16372 function e() { 16373 var t = r !== null && r.apply(this, arguments) || this; 16374 return t.type = EM.type, t; 16375 } 16376 return e.type = "yAxis", e; 16377}(RM), sG = function(r) { 16378 N(e, r); 16379 function e() { 16380 var t = r !== null && r.apply(this, arguments) || this; 16381 return t.type = "grid", t; 16382 } 16383 return e.prototype.render = function(t, a) { 16384 this.group.removeAll(), t.get("show") && this.group.add(new xt({ shape: t.coordinateSystem.getRect(), style: Q({ fill: t.get("backgroundColor") }, t.getItemStyle()), silent: true, z2: -1 })); 16385 }, e.type = "grid", e; 16386}(Vt), AS = { offset: 0 }; 16387function kM(r) { 16388 r.registerComponentView(sG), r.registerComponentModel(O5), r.registerCoordinateSystem("cartesian2d", W5), wo(r, "x", Fd, AS), wo(r, "y", Fd, AS), r.registerComponentView(EM), r.registerComponentView(oG), r.registerPreprocessor(function(e) { 16389 e.xAxis && e.yAxis && !e.grid && (e.grid = {}); 16390 }); 16391} 16392function lG(r) { 16393 pt(kM), r.registerSeriesModel(L5), r.registerChartView(k5), r.registerLayout($l("scatter")); 16394} 16395function uG(r) { 16396 r.eachSeriesByType("radar", function(e) { 16397 var t = e.getData(), a = [], n = e.coordinateSystem; 16398 if (n) { 16399 var i = n.getIndicatorAxes(); 16400 D(i, function(o, s) { 16401 t.each(t.mapDimension(i[s].dim), function(l, u) { 16402 a[u] = a[u] || []; 16403 var f = n.dataToPoint(l, s); 16404 a[u][s] = DS(f) ? f : MS(n); 16405 }); 16406 }), t.each(function(o) { 16407 var s = sT(a[o], function(l) { 16408 return DS(l); 16409 }) || MS(n); 16410 a[o].push(s.slice()), t.setItemLayout(o, a[o]); 16411 }); 16412 } 16413 }); 16414} 16415function DS(r) { 16416 return !isNaN(r[0]) && !isNaN(r[1]); 16417} 16418function MS(r) { 16419 return [r.cx, r.cy]; 16420} 16421function fG(r) { 16422 var e = r.polar; 16423 if (e) { 16424 V(e) || (e = [e]); 16425 var t = []; 16426 D(e, function(a, n) { 16427 a.indicator ? (a.type && !a.shape && (a.shape = a.type), r.radar = r.radar || [], V(r.radar) || (r.radar = [r.radar]), r.radar.push(a)) : t.push(a); 16428 }), r.polar = t; 16429 } 16430 D(r.series, function(a) { 16431 a && a.type === "radar" && a.polarIndex && (a.radarIndex = a.polarIndex); 16432 }); 16433} 16434var hG = function(r) { 16435 N(e, r); 16436 function e() { 16437 var t = r !== null && r.apply(this, arguments) || this; 16438 return t.type = e.type, t; 16439 } 16440 return e.prototype.render = function(t, a, n) { 16441 var i = t.coordinateSystem, o = this.group, s = t.getData(), l = this._data; 16442 function u(v, c) { 16443 var p = v.getItemVisual(c, "symbol") || "circle"; 16444 if (p !== "none") { 16445 var d = Ho(v.getItemVisual(c, "symbolSize")), g = qt(p, -1, -1, 2, 2), y = v.getItemVisual(c, "symbolRotate") || 0; 16446 return g.attr({ style: { strokeNoScale: true }, z2: 100, scaleX: d[0] / 2, scaleY: d[1] / 2, rotation: y * Math.PI / 180 || 0 }), g; 16447 } 16448 } 16449 function f(v, c, p, d, g, y) { 16450 p.removeAll(); 16451 for (var m = 0; m < c.length - 1; m++) { 16452 var _ = u(d, g); 16453 _ && (_.__dimIdx = m, v[m] ? (_.setPosition(v[m]), xi[y ? "initProps" : "updateProps"](_, { x: c[m][0], y: c[m][1] }, t, g)) : _.setPosition(c[m]), p.add(_)); 16454 } 16455 } 16456 function h(v) { 16457 return G(v, function(c) { 16458 return [i.cx, i.cy]; 16459 }); 16460 } 16461 s.diff(l).add(function(v) { 16462 var c = s.getItemLayout(v); 16463 if (c) { 16464 var p = new Ce(), d = new De(), g = { shape: { points: c } }; 16465 p.shape.points = h(c), d.shape.points = h(c), Gt(p, g, t, v), Gt(d, g, t, v); 16466 var y = new at(), m = new at(); 16467 y.add(d), y.add(p), y.add(m), f(d.shape.points, c, m, s, v, true), s.setItemGraphicEl(v, y); 16468 } 16469 }).update(function(v, c) { 16470 var p = l.getItemGraphicEl(c), d = p.childAt(0), g = p.childAt(1), y = p.childAt(2), m = { shape: { points: s.getItemLayout(v) } }; 16471 m.shape.points && (f(d.shape.points, m.shape.points, y, s, v, false), Er(g), Er(d), Tt(d, m, t), Tt(g, m, t), s.setItemGraphicEl(v, p)); 16472 }).remove(function(v) { 16473 o.remove(l.getItemGraphicEl(v)); 16474 }).execute(), s.eachItemGraphicEl(function(v, c) { 16475 var p = s.getItemModel(c), d = v.childAt(0), g = v.childAt(1), y = v.childAt(2), m = s.getItemVisual(c, "style"), _ = m.fill; 16476 o.add(v), d.useStyle(Q(p.getModel("lineStyle").getLineStyle(), { fill: "none", stroke: _ })), pe(d, p, "lineStyle"), pe(g, p, "areaStyle"); 16477 var S = p.getModel("areaStyle"), b = S.isEmpty() && S.parentModel.isEmpty(); 16478 g.ignore = b, D(["emphasis", "select", "blur"], function(T) { 16479 var C = p.getModel([T, "areaStyle"]), A = C.isEmpty() && C.parentModel.isEmpty(); 16480 g.ensureState(T).ignore = A && b; 16481 }), g.useStyle(Q(S.getAreaStyle(), { fill: _, opacity: 0.7, decal: m.decal })); 16482 var x = p.getModel("emphasis"), w = x.getModel("itemStyle").getItemStyle(); 16483 y.eachChild(function(T) { 16484 if (T instanceof ue) { 16485 var C = T.style; 16486 T.useStyle(z({ image: C.image, x: C.x, y: C.y, width: C.width, height: C.height }, m)); 16487 } else T.useStyle(m), T.setColor(_), T.style.strokeNoScale = true; 16488 var A = T.ensureState("emphasis"); 16489 A.style = rt(w); 16490 var M = s.getStore().get(s.getDimensionIndex(T.__dimIdx), c); 16491 (M == null || isNaN(M)) && (M = ""), de(T, se(p), { labelFetcher: s.hostModel, labelDataIndex: c, labelDimIndex: T.__dimIdx, defaultText: M, inheritColor: _, defaultOpacity: m.opacity }); 16492 }), Wt(v, x.get("focus"), x.get("blurScope"), x.get("disabled")); 16493 }), this._data = s; 16494 }, e.prototype.remove = function() { 16495 this.group.removeAll(), this._data = null; 16496 }, e.type = "radar", e; 16497}(Pt), vG = function(r) { 16498 N(e, r); 16499 function e() { 16500 var t = r !== null && r.apply(this, arguments) || this; 16501 return t.type = e.type, t.hasSymbolVisual = true, t; 16502 } 16503 return e.prototype.init = function(t) {
16504 r.prototype.init.apply(this, arguments), this.legendVisualProvider = new Zl($(this.getData, this), $(this.getRawData, this)); 16505 }, e.prototype.getInitialData = function(t, a) { 16506 return $o(this, { generateCoord: "indicator_", generateCoordCount: 1 / 0 }); 16507 }, e.prototype.formatTooltip = function(t, a, n) { 16508 var i = this.getData(), o = this.coordinateSystem, s = o.getIndicatorAxes(), l = this.getData().getName(t), u = l === "" ? this.name : l, f = IA(this, t); 16509 return le("section", { header: u, sortBlocks: true, blocks: G(s, function(h) { 16510 var v = i.get(i.mapDimension(h.dim), t); 16511 return le("nameValue", { markerType: "subItem", markerColor: f, name: h.name, value: v, sortParam: v }); 16512 }) }); 16513 }, e.prototype.getTooltipPosition = function(t) { 16514 if (t != null) { 16515 for (var a = this.getData(), n = this.coordinateSystem, i = a.getValues(G(n.dimensions, function(u) { 16516 return a.mapDimension(u); 16517 }), t), o = 0, s = i.length; o < s; o++) if (!isNaN(i[o])) { 16518 var l = n.getIndicatorAxes(); 16519 return n.coordToPoint(l[o].dataToCoord(i[o]), o); 16520 } 16521 } 16522 }, e.type = "series.radar", e.dependencies = ["radar"], e.defaultOption = { z: 2, colorBy: "data", coordinateSystem: "radar", legendHoverLink: true, radarIndex: 0, lineStyle: { width: 2, type: "solid", join: "round" }, label: { position: "top" }, symbolSize: 8 }, e; 16523}(Et), vs = DM.value; 16524function Bu(r, e) { 16525 return Q({ show: e }, r); 16526} 16527var cG = function(r) { 16528 N(e, r); 16529 function e() { 16530 var t = r !== null && r.apply(this, arguments) || this; 16531 return t.type = e.type, t; 16532 } 16533 return e.prototype.optionUpdated = function() { 16534 var t = this.get("boundaryGap"), a = this.get("splitNumber"), n = this.get("scale"), i = this.get("axisLine"), o = this.get("axisTick"), s = this.get("axisLabel"), l = this.get("axisName"), u = this.get(["axisName", "show"]), f = this.get(["axisName", "formatter"]), h = this.get("axisNameGap"), v = this.get("triggerEvent"), c = G(this.get("indicator") || [], function(p) { 16535 p.max != null && p.max > 0 && !p.min ? p.min = 0 : p.min != null && p.min < 0 && !p.max && (p.max = 0); 16536 var d = l; 16537 p.color != null && (d = Q({ color: p.color }, l)); 16538 var g = ut(rt(p), { boundaryGap: t, splitNumber: a, scale: n, axisLine: i, axisTick: o, axisLabel: s, name: p.text, showName: u, nameLocation: "end", nameGap: h, nameTextStyle: d, triggerEvent: v }, false); 16539 if (Y(f)) { 16540 var y = g.name; 16541 g.name = f.replace("{value}", y ?? ""); 16542 } else j(f) && (g.name = f(g.name, g)); 16543 var m = new At(g, null, this.ecModel); 16544 return Xt(m, Yo.prototype), m.mainType = "radar", m.componentIndex = this.componentIndex, m; 16545 }, this); 16546 this._indicatorModels = c; 16547 }, e.prototype.getIndicatorModels = function() { 16548 return this._indicatorModels; 16549 }, e.type = "radar", e.defaultOption = { z: 0, center: ["50%", "50%"], radius: "75%", startAngle: 90, axisName: { show: true }, boundaryGap: [0, 0], splitNumber: 5, axisNameGap: 15, scale: false, shape: "polygon", axisLine: ut({ lineStyle: { color: "#bbb" } }, vs.axisLine), axisLabel: Bu(vs.axisLabel, false), axisTick: Bu(vs.axisTick, false), splitLine: Bu(vs.splitLine, true), splitArea: Bu(vs.splitArea, true), indicator: [] }, e; 16550}(gt), pG = ["axisLine", "axisTickLabel", "axisName"], dG = function(r) { 16551 N(e, r); 16552 function e() { 16553 var t = r !== null && r.apply(this, arguments) || this; 16554 return t.type = e.type, t; 16555 } 16556 return e.prototype.render = function(t, a, n) { 16557 var i = this.group; 16558 i.removeAll(), this._buildAxes(t), this._buildSplitLineAndArea(t); 16559 }, e.prototype._buildAxes = function(t) { 16560 var a = t.coordinateSystem, n = a.getIndicatorAxes(), i = G(n, function(o) { 16561 var s = o.model.get("showName") ? o.name : "", l = new Ee(o.model, { axisName: s, position: [a.cx, a.cy], rotation: o.angle, labelDirection: -1, tickDirection: -1, nameDirection: 1 }); 16562 return l; 16563 }); 16564 D(i, function(o) { 16565 D(pG, o.add, o), this.group.add(o.getGroup()); 16566 }, this); 16567 }, e.prototype._buildSplitLineAndArea = function(t) { 16568 var a = t.coordinateSystem, n = a.getIndicatorAxes(); 16569 if (!n.length) return; 16570 var i = t.get("shape"), o = t.getModel("splitLine"), s = t.getModel("splitArea"), l = o.getModel("lineStyle"), u = s.getModel("areaStyle"), f = o.get("show"), h
16570= s.get("show"), v = l.get("color"), c = u.get("color"), p = V(v) ? v : [v], d = V(c) ? c : [c], g = [], y = []; 16571 function m(R, E, O) { 16572 var k = O % E.length; 16573 return R[k] = R[k] || [], k; 16574 } 16575 if (i === "circle") for (var _ = n[0].getTicksCoords(), S = a.cx, b = a.cy, x = 0; x < _.length; x++) { 16576 if (f) { 16577 var w = m(g, p, x); 16578 g[w].push(new ea({ shape: { cx: S, cy: b, r: _[x].coord } })); 16579 } 16580 if (h && x < _.length - 1) { 16581 var w = m(y, d, x); 16582 y[w].push(new Lo({ shape: { cx: S, cy: b, r0: _[x].coord, r: _[x + 1].coord } })); 16583 } 16584 } 16585 else for (var T, C = G(n, function(R, E) { 16586 var O = R.getTicksCoords(); 16587 return T = T == null ? O.length - 1 : Math.min(O.length - 1, T), G(O, function(k) { 16588 return a.coordToPoint(k.coord, E); 16589 }); 16590 }), A = [], x = 0; x <= T; x++) { 16591 for (var M = [], I = 0; I < n.length; I++) M.push(C[I][x]); 16592 if (M[0] && M.push(M[0].slice()), f) { 16593 var w = m(g, p, x); 16594 g[w].push(new De({ shape: { points: M } })); 16595 } 16596 if (h && A) { 16597 var w = m(y, d, x - 1); 16598 y[w].push(new Ce({ shape: { points: M.concat(A) } })); 16599 } 16600 A = M.slice().reverse(); 16601 } 16602 var L = l.getLineStyle(), P = u.getAreaStyle(); 16603 D(y, function(R, E) { 16604 this.group.add($e(R, { style: Q({ stroke: "none", fill: d[E % d.length] }, P), silent: true })); 16605 }, this), D(g, function(R, E) { 16606 this.group.add($e(R, { style: Q({ fill: "none", stroke: p[E % p.length] }, L), silent: true })); 16607 }, this); 16608 }, e.type = "radar", e; 16609}(Vt), gG = function(r) { 16610 N(e, r); 16611 function e(t, a, n) { 16612 var i = r.call(this, t, a, n) || this; 16613 return i.type = "value", i.angle = 0, i.name = "", i; 16614 } 16615 return e; 16616}(yr), yG = function() { 16617 function r(e, t, a) { 16618 this.dimensions = [], this._model = e, this._indicatorAxes = G(e.getIndicatorModels(), function(n, i) { 16619 var o = "indicator_" + i, s = new gG(o, new ba()); 16620 return s.name = n.get("name"), s.model = n, n.axis = s, this.dimensions.push(o), s; 16621 }, this), this.resize(e, a); 16622 } 16623 return r.prototype.getIndicatorAxes = function() { 16624 return this._indicatorAxes; 16625 }, r.prototype.dataToPoint = function(e, t) { 16626 var a = this._indicatorAxes[t]; 16627 return this.coordToPoint(a.dataToCoord(e), t); 16628 }, r.prototype.coordToPoint = function(e, t) { 16629 var a = this._indicatorAxes[t], n = a.angle, i = this.cx + e * Math.cos(n), o = this.cy - e * Math.sin(n); 16630 return [i, o]; 16631 }, r.prototype.pointToData = function(e) { 16632 var t = e[0] - this.cx, a = e[1] - this.cy, n = Math.sqrt(t * t + a * a); 16633 t /= n, a /= n; 16634 for (var i = Math.atan2(-a, t), o = 1 / 0, s, l = -1, u = 0; u < this._indicatorAxes.length; u++) { 16635 var f = this._indicatorAxes[u], h = Math.abs(i - f.angle); 16636 h < o && (s = f, l = u, o = h); 16637 } 16638 return [l, +(s && s.coordToData(n))]; 16639 }, r.prototype.resize = function(e, t) { 16640 var a = e.get("center"), n = t.getWidth(), i = t.getHeight(), o = Math.min(n, i) / 2; 16641 this.cx = W(a[0], n), this.cy = W(a[1], i), this.startAngle = e.get("startAngle") * Math.PI / 180; 16642 var s = e.get("radius"); 16643 (Y(s) || wt(s)) && (s = [0, s]), this.r0 = W(s[0], o), this.r = W(s[1], o), D(this._indicatorAxes, function(l, u) { 16644 l.setExtent(this.r0, this.r); 16645 var f = this.startAngle + u * Math.PI * 2 / this._indicatorAxes.length; 16646 f = Math.atan2(Math.sin(f), Math.cos(f)), l.angle = f; 16647 }, this); 16648 }, r.prototype.update = function(e, t) { 16649 var a = this._indicatorAxes, n = this._model; 16650 D(a, function(s) { 16651 s.scale.setExtent(1 / 0, -1 / 0); 16652 }), e.eachSeriesByType("radar", function(s, l) { 16653 if (!(s.get("coordinateSystem") !== "radar" || e.getComponent("radar", s.get("radarIndex")) !== n)) { 16654 var u = s.getData(); 16655 D(a, function(f) { 16656 f.scale.unionExtentFromData(u, u.mapDimension(f.dim)); 16657 }); 16658 } 16659 }, this); 16660 var i = n.get("splitNumber"), o = new ba(); 16661 o.setExtent(0, i), o.setInterval(1), D(a, function(s, l) { 16662 MM(s.scale, s.model, o); 16663 }); 16664 }, r.prototype.convertToPixel = function(e, t, a) { 16665 return console.warn("Not implemented."), null; 16666 }, r.prototype.convertFromPixel = function(e, t, a) { 16667 return console.warn("Not implemented."), null; 16668 }, r.prototype.containPoint = function(e) { 16669 return console.warn("Not implemented."), false; 16670 }, r.create = function(e, t) { 16671 var a = []; 16672 return e.eachComponent("radar", function(n) { 16673 var i = new r(n, e, t); 16674 a.push(i), n.coordinateSystem = i; 16675 }), e.eachSeriesByType("radar", function(n) { 16676 n.get("coordinateSystem") === "radar" && (n.coordinateSystem = a[n.get("radarIndex") || 0]); 16677 }), a; 16678 }, r.dimensions = [], r; 16679}(); 16680function mG(r) { 16681 r.registerCoordinateSystem("radar", yG), r.registerComponentModel(cG), r.registerComponentView(dG), r.registerVisual({ seriesType: "radar", reset: function(e) { 16682 var t = e.getData(); 16683 t.each(function(a) { 16684 t.setItemVisual(a, "legendIcon", "roundRect"); 16685 }), t.setVisual("legendIcon", "roundRect"); 16686 } }); 16687} 16688function _G(r) { 16689 pt(mG), r.registerChartView(hG), r.registerSeriesModel(vG), r.registerLayout(uG), r.registerProcessor(Xl("radar")), r.registerPreprocessor(fG); 16690} 16691var IS = "\0_ec_interaction_mutex"; 16692function SG(r, e, t) { 16693 var a = tm(r); 16694 a[e] = t; 16695} 16696function xG(r, e, t) { 16697 var a = tm(r), n = a[e]; 16698 n === t && (a[e] = null); 16699} 16700function LS(r, e) { 16701 return !!tm(r)[e]; 16702} 16703function tm(r) { 16704 return r[IS] || (r[IS] = {}); 16705} 16706kr({ type: "takeGlobalCursor", event: "globalCursorTaken", update: "update" }, $t); 16707var ql = function(r) { 16708 N(e, r); 16709 function e(t) { 16710 var a = r.call(this) || this; 16711 a._zr = t; 16712 var n = $(a._mousedownHandler, a), i = $(a._mousemoveHandler, a), o = $(a._mouseupHandler, a), s = $(a._mousewheelHandler, a), l = $(a._pinchHandler, a); 16713 return a.enable = function(u, f) { 16714 this.disable(), this._opt = Q(rt(f) || {}, { zoomOnMouseWheel: true, moveOnMouseMove: true, moveOnMouseWheel: false, preventDefaultMouseMove: true }), u == null && (u = true), (u === true || u === "move" || u === "pan") && (t.on("mousedown", n), t.on("mousemove", i), t.on("mouseup", o)), (u === true || u === "scale" || u === "zoom") && (t.on("mousewheel", s), t.on("pinch", l)); 16715 }, a.disable = function() { 16716 t.off("mousedown", n), t.off("mousemove", i), t.off("mouseup", o), t.off("mousewheel", s), t.off("pinch", l); 16717 }, a; 16718 } 16719 return e.prototype.isDragging = function() { 16720 return this._dragging; 16721 }, e.prototype.isPinching = function() { 16722 return this._pinching; 16723 }, e.prototype.setPointerChecker = function(t) { 16724 this.pointerChecker = t; 16725 }, e.prototype.dispose = function() { 16726 this.disable(); 16727 }, e.prototype._mousedownHandler = function(t) { 16728 if (!o0(t)) { 16729 for (var a = t.target; a; ) { 16730 if (a.draggable) return; 16731 a = a.__hostTarget || a.parent; 16732 } 16733 var n = t.offsetX, i = t.offsetY; 16734 this.pointerChecker && this.pointerChecker(t, n, i) && (this._x = n, this._y = i, this._dragging = true); 16735 } 16736 }, e.prototype._mousemoveHandler = function(t) { 16737 if (!(!this._dragging || !pf("moveOnMouseMove", t, this._opt) || t.gestureEvent === "pinch" || LS(this._zr, "globalPan"))) { 16738 var a = t.offsetX, n = t.offsetY, i = this._x, o = this._y, s = a - i, l = n - o; 16739 this._x = a, this._y = n, this._opt.preventDefaultMouseMove && ya(t.event), OM(this, "pan", "moveOnMouseMove", t, { dx: s, dy: l, oldX: i, oldY: o, newX: a, newY: n, isAvailableBehavior: null }); 16740 } 16741 }, e.prototype._mouseupHandler = function(t) { 16742 o0(t) || (this._dragging = false); 16743 }, e.prototype._mousewheelHandler = function(t) { 16744 var a = pf("zoomOnMouseWheel", t, this._opt), n = pf("moveOnMouseWheel", t, this._opt), i = t.wheelDelta, o = Math.abs(i), s = t.offsetX, l = t.offsetY; 16745 if (!(i === 0 || !a && !n)) { 16746 if (a) { 16747 var u = o > 3 ? 1.4 : o > 1 ? 1.2 : 1.1, f = i > 0 ? u : 1 / u; 16748 Ec(this, "zoom", "zoomOnMouseWheel", t, { scale: f, originX: s, originY: l, isAvailableBehavior: null }); 16749 } 16750 if (n) { 16751 var h = Math.abs(i), v = (i > 0 ? 1 : -1) * (h > 3 ? 0.4 : h > 1 ? 0.15 : 0.05); 16752 Ec(this, "scrollMove", "moveOnMouseWheel", t, { scrollDelta: v, originX: s, originY: l, isAvailableBehavior: null }); 16753 } 16754 } 16755 }, e.prototype._pinchHandler = function(t) { 16756 if (!LS(this._zr, "globalPan")) { 16757 var a = t.pinchScale > 1 ? 1.1 : 1 / 1.1; 16758 Ec(this, "zoom", null, t, { scale: a, originX: t.pinchX, originY: t.pinchY, isAvailableBehavior: null }); 16759 } 16760 }, e; 16761}(cr); 16762function Ec(r, e, t, a, n) { 16763 r.pointerChecker && r.pointerChecker(a, n.originX, n.originY) && (ya(a.event), OM(r, e, t, a, n)); 16764} 16765function OM(r, e, t, a, n) { 16766 n.isAvailableBehavior = $(pf, null, t, a), r.trigger(e, n); 16767} 16768function pf(r, e, t) { 16769 var a = t[r]; 16770 return !r || a && (!Y(a) || e.event[a + "Key"]); 16771} 16772function em(r, e, t) { 16773 var a = r.target; 16774 a.x += e, a.y += t, a.dirty(); 16775} 16776function rm(r, e, t, a) { 16777 var n = r.target, i = r.zoomLimit, o = r.zoom = r.zoom || 1; 16778 if (o *= e, i) { 16779 var s = i.min || 0, l = i.max || 1 / 0; 16780 o = Math.max(Math.min(l, o), s); 16781 } 16782 var u = o / r.zoom; 16783 r.zoom = o, n.x -= (t - n.x) * (u - 1), n.y -= (a - n.y) * (u - 1), n.scaleX *= u, n.scaleY *= u, n.dirty(); 16784} 16785var bG = { axisPointer: 1, tooltip: 1, brush: 1 }; 16786function ev(r, e, t) { 16787 var a = e.getComponentByElement(r.topTarget), n = a && a.coordinateSystem; 16788 return a && a !== t && !bG.hasOwnProperty(a.mainType) && n && n.model !== t; 16789} 16790function NM(r) { 16791 if (Y(r)) { 16792 var e = new DOMParser(); 16793 r = e.parseFromString(r, "text/xml"); 16794 } 16795 var t = r; 16796 for (t.nodeType === 9 && (t = t.firstChild); t.nodeName.toLowerCase() !== "svg" || t.nodeType !== 1; ) t = t.nextSibling; 16797 return t; 16798} 16799var kc, th = { 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-anchor": "textAlign", visibility: "visibility", display: "display" }, PS = _t(th), eh = { "alignment-baseline": "textBaseline", "stop-color": "stopColor" }, RS = _t(eh), wG = function() { 16800 function r() { 16801 this._defs = {}, this._root = null; 16802 } 16803 return r.prototype.parse = function(e, t) { 16804 t = t || {}; 16805 var a = NM(e); 16806 this._defsUsePending = []; 16807 var n = new at(); 16808 this._root = n; 16809 var i = [], o = a.getAttribute("viewBox") || "", s = parseFloat(a.getAttribute("width") || t.width), l = parseFloat(a.getAttribute("height") || t.height); 16810 isNaN(s) && (s = null), isNaN(l) && (l = null), Ue(a, n, null, true, false); 16811 for (var u = a.firstChild; u; ) this._parseNode(u, n, i, null, false, false), u = u.nextSibling; 16812 AG(this._defs, this._defsUsePending), this._defsUsePending = []; 16813 var f, h; 16814 if (o) { 16815 var v = rv(o); 16816 v.length >= 4 && (f = { x: parseFloat(v[0] || 0), y: parseFloat(v[1] || 0), width: parseFloat(v[2]), height: parseFloat(v[3]) }); 16817 } 16818 if (f && s != null && l != null && (h = zM(f, { x: 0, y: 0, width: s, height: l }), !t.ignoreViewBox)) { 16819 var c = n; 16820 n = new at(), n.add(c), c.scaleX = c.scaleY = h.scale, c.x = h.x, c.y = h.y; 16821 } 16822 return !t.ignoreRootClip && s != null && l != null && n.setClipPath(new xt({ shape: { x: 0, y: 0, width: s, height: l } })), { root: n, width: s, height: l, viewBoxRect: f, viewBoxTransform: h, named: i }; 16823 }, r.prototype._parseNode = function(e, t, a, n, i, o) { 16824 var s = e.nodeName.toLowerCase(), l, u = n; 16825 if (s === "defs" && (i = true), s === "text" && (o = true), s === "defs" || s === "switch") l = t; 16826 else { 16827 if (!i) { 16828 var f = kc[s]; 16829 if (f && X(kc, s)) { 16830 l = f.call(this, e, t); 16831 var h = e.getAttribute("name"); 16832 if (h) { 16833 var v = { name: h, namedFrom: null, svgNodeTagLower: s, el: l }; 16834 a.push(v), s === "g" && (u = v); 16835 } else n && a.push({ name: n.name, namedFrom: n, svgNodeTagLower: s, el: l }); 16836 t.add(l); 16837 } 16838 } 16839 var c = ES[s]; 16840 if (c && X(ES, s)) { 16841 var p = c.call(this, e), d = e.getAttribute("id"); 16842 d && (this._defs[d] = p); 16843 } 16844 } 16845 if (l && l.isGroup) for (var g = e.firstChild; g;
16845 ) g.nodeType === 1 ? this._parseNode(g, l, a, u, i, o) : g.nodeType === 3 && o && this._parseText(g, l), g = g.nextSibling; 16846 }, r.prototype._parseText = function(e, t) { 16847 var a = new mo({ style: { text: e.textContent }, silent: true, x: this._textX || 0, y: this._textY || 0 }); 16848 Qe(t, a), Ue(e, a, this._defsUsePending, false, false), TG(a, t); 16849 var n = a.style, i = n.fontSize; 16850 i && i < 9 && (n.fontSize = 9, a.scaleX *= i / 9, a.scaleY *= i / 9); 16851 var o = (n.fontSize || n.fontFamily) && [n.fontStyle, n.fontWeight, (n.fontSize || 12) + "px", n.fontFamily || "sans-serif"].join(" "); 16852 n.font = o; 16853 var s = a.getBoundingRect(); 16854 return this._textX += s.width, t.add(a), a; 16855 }, r.internalField = function() { 16856 kc = { g: function(e, t) { 16857 var a = new at(); 16858 return Qe(t, a), Ue(e, a, this._defsUsePending, false, false), a; 16859 }, rect: function(e, t) { 16860 var a = new xt(); 16861 return Qe(t, a), Ue(e, a, this._defsUsePending, false, false), a.setShape({ x: parseFloat(e.getAttribute("x") || "0"), y: parseFloat(e.getAttribute("y") || "0"), width: parseFloat(e.getAttribute("width") || "0"), height: parseFloat(e.getAttribute("height") || "0") }), a.silent = true, a; 16862 }, circle: function(e, t) { 16863 var a = new ea(); 16864 return Qe(t, a), Ue(e, a, this._defsUsePending, false, false), a.setShape({ cx: parseFloat(e.getAttribute("cx") || "0"), cy: parseFloat(e.getAttribute("cy") || "0"), r: parseFloat(e.getAttribute("r") || "0") }), a.silent = true, a; 16865 }, line: function(e, t) { 16866 var a = new ee(); 16867 return Qe(t, a), Ue(e, a, this._defsUsePending, false, false), a.setShape({ x1: parseFloat(e.getAttribute("x1") || "0"), y1: parseFloat(e.getAttribute("y1") || "0"), x2: parseFloat(e.getAttribute("x2") || "0"), y2: parseFloat(e.getAttribute("y2") || "0") }), a.silent = true, a; 16868 }, ellipse: function(e, t) { 16869 var a = new Nl(); 16870 return Qe(t, a), Ue(e, a, this._defsUsePending, false, false), a.setShape({ cx: parseFloat(e.getAttribute("cx") || "0"), cy: parseFloat(e.getAttribute("cy") || "0"), rx: parseFloat(e.getAttribute("rx") || "0"), ry: parseFloat(e.getAttribute("ry") || "0") }), a.silent = true, a; 16871 }, polygon: function(e, t) { 16872 var a = e.getAttribute("points"), n; 16873 a && (n = NS(a)); 16874 var i = new Ce({ shape: { points: n || [] }, silent: true }); 16875 return Qe(t, i), Ue(e, i, this._defsUsePending, false, false), i; 16876 }, polyline: function(e, t) { 16877 var a = e.getAttribute("points"), n; 16878 a && (n = NS(a)); 16879 var i = new De({ shape: { points: n || [] }, silent: true }); 16880 return Qe(t, i), Ue(e, i, this._defsUsePending, false, false), i; 16881 }, image: function(e, t) { 16882 var a = new ue(); 16883 return Qe(t, a), Ue(e, a, this._defsUsePending, false, false), a.setStyle({ image: e.getAttribute("xlink:href") || e.getAttribute("href"), x: +e.getAttribute("x"), y: +e.getAttribute("y"), width: +e.getAttribute("width"), height: +e.getAttribute("height") }), a.silent = true, a; 16884 }, text: function(e, t) { 16885 var a = e.getAttribute("x") || "0", n = e.getAttribute("y") || "0", i = e.getAttribute("dx") || "0", o = e.getAttribute("dy") || "0"; 16886 this._textX = parseFloat(a) + parseFloat(i), this._textY = parseFloat(n) + parseFloat(o); 16887 var s = new at(); 16888 return Qe(t, s), Ue(e, s, this._defsUsePending, false, true), s; 16889 }, tspan: function(e, t) { 16890 var a = e.getAttribute("x"), n = e.getAttribute("y"); 16891 a != null && (this._textX = parseFloat(a)), n != null && (this._textY = parseFloat(n)); 16892 var i = e.getAttribute("dx") || "0", o = e.getAttribute("dy") || "0", s = new at(); 16893 return Qe(t, s), Ue(e, s, this._defsUsePending, false, true), this._textX += parseFloat(i), this._textY += parseFloat(o), s; 16894 }, path: function(e, t) { 16895 var a = e.getAttribute("d") || "", n = AC(a); 16896 return Qe(t, n), Ue(e, n, this._defsUsePending, false, false), n.silent = true, n; 16897 } }; 16898 }(), r; 16899}(), ES = { lineargradient: function(r) { 16900 var e = parseInt(r.getAttribute("x1") || "0", 10), t = parseInt(r.getAttribute("y1") || "0", 10), a = parseInt(r.getAttribute("x2") || "10", 10), n = parseInt(r.getAttribute("y2") || "0", 10), i = new Ro(e, t, a, n); 16901 return kS(r, i), OS(r, i), i; 16902}, radialgradient: function(r) { 16903 var e = parseInt(r.getAttribute("cx") || "0", 10), t = parseInt(r.getAttribute("cy") || "0", 10), a = parseInt(r.getAttribute("r") || "0", 10), n = new ry(e, t, a); 16904 return kS(r, n), OS(r, n), n; 16905} }; 16906function kS(r, e) { 16907 var t = r.getAttribute("gradientUnits"); 16908 t === "userSpaceOnUse" && (e.global = true); 16909} 16910function OS(r, e) { 16911 for (var t = r.firstChild; t; ) { 16912 if (t.nodeType === 1 && t.nodeName.toLocaleLowerCase() === "stop") { 16913 var a = t.getAttribute("offset"), n = void 0; 16914 a && a.indexOf("%") > 0 ? n = parseInt(a, 10) / 100 : a ? n = parseFloat(a) : n = 0; 16915 var i = {}; 16916 BM(t, i, i); 16917 var o = i.stopColor || t.getAttribute("stop-color") || "#000000"; 16918 e.colorStops.push({ offset: n, color: o }); 16919 } 16920 t = t.nextSibling; 16921 } 16922} 16923function Qe(r, e) { 16924 r && r.__inheritedStyle && (e.__inheritedStyle || (e.__inheritedStyle = {}), Q(e.__inheritedStyle, r.__inheritedStyle)); 16925} 16926function NS(r) { 16927 for (var e = rv(r), t = [], a = 0; a < e.length; a += 2) { 16928 var n = parseFloat(e[a]), i = parseFloat(e[a + 1]); 16929 t.push([n, i]); 16930 } 16931 return t; 16932} 16933function Ue(r, e, t, a, n) { 16934 var i = e, o = i.__inheritedStyle = i.__inheritedStyle || {}, s = {}; 16935 r.nodeType === 1 && (IG(r, e), BM(r, o, s), a || LG(r, o, s)), i.style = i.style || {}, o.fill != null && (i.style.fill = BS(i, "fill", o.fill, t)), o.stroke != null && (i.style.stroke = BS(i, "stroke", o.stroke, t)), D(["lineWidth", "opacity", "fillOpacity", "strokeOpacity", "miterLimit", "fontSize"], function(l) { 16936 o[l] != null && (i.style[l] = parseFloat(o[l])); 16937 }), D(["lineDashOffset", "lineCap", "lineJoin", "fontWeight", "fontFamily", "fontStyle", "textAlign"], function(l) { 16938 o[l] != null && (i.style[l] = o[l]); 16939 }), n && (i.__selfStyle = s), o.lineDash && (i.style.lineDash = G(rv(o.lineDash), function(l) { 16940 return parseFloat(l); 16941 })), (o.visibility === "hidden" || o.visibility === "collapse") && (i.invisible = true), o.display === "none" && (i.ignore = true); 16942} 16943function TG(r, e) { 16944 var t = e.__selfStyle; 16945 if (t) { 16946 var a = t.textBaseline, n = a; 16947 !a || a === "auto" || a === "baseline" ? n = "alphabetic" : a === "before-edge" || a === "text-before-edge" ? n = "top" : a === "after-edge" || a === "text-after-edge" ? n = "bottom" : (a === "central" || a === "mathematical") && (n = "middle"), r.style.textBaseline = n; 16948 } 16949 var i = e.__inheritedStyle; 16950 if (i) { 16951 var o = i.textAlign, s = o; 16952 o && (o === "middle" && (s = "center"), r.style.textAlign = s); 16953 } 16954} 16955var CG = /^url\(\s*#(.*?)\)/; 16956function BS(r, e, t, a) { 16957 var n = t && t.match(CG); 16958 if (n) { 16959 var i = ur(n[1]); 16960 a.push([r, e, i]); 16961 return; 16962 } 16963 return t === "none" && (t = null), t; 16964} 16965function AG(r, e) { 16966 for (var t = 0; t < e.length; t++) { 16967 var a = e[t]; 16968 a[0].style[a[1]] = r[a[2]]; 16969 } 16970} 16971var DG = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g; 16972function rv(r) { 16973 return r.match(DG) || []; 16974}
16975var MG = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.eE,]*)\)/g, Oc = Math.PI / 180; 16976function IG(r, e) { 16977 var t = r.getAttribute("transform"); 16978 if (t) { 16979 t = t.replace(/,/g, " "); 16980 var a = [], n = null; 16981 t.replace(MG, function(h, v, c) { 16982 return a.push(v, c), ""; 16983 }); 16984 for (var i = a.length - 1; i > 0; i -= 2) { 16985 var o = a[i], s = a[i - 1], l = rv(o); 16986 switch (n = n || He(), s) { 16987 case "translate": 16988 Pr(n, n, [parseFloat(l[0]), parseFloat(l[1] || "0")]); 16989 break; 16990 case "scale": 16991 Th(n, n, [parseFloat(l[0]), parseFloat(l[1] || l[0])]); 16992 break; 16993 case "rotate": 16994 ln(n, n, -parseFloat(l[0]) * Oc, [parseFloat(l[1] || "0"), parseFloat(l[2] || "0")]); 16995 break; 16996 case "skewX": 16997 var u = Math.tan(parseFloat(l[0]) * Oc); 16998 qr(n, [1, 0, u, 1, 0, 0], n); 16999 break; 17000 case "skewY": 17001 var f = Math.tan(parseFloat(l[0]) * Oc); 17002 qr(n, [1, f, 0, 1, 0, 0], n); 17003 break; 17004 case "matrix": 17005 n[0] = parseFloat(l[0]), n[1] = parseFloat(l[1]), n[2] = parseFloat(l[2]), n[3] = parseFloat(l[3]), n[4] = parseFloat(l[4]), n[5] = parseFloat(l[5]); 17006 break; 17007 } 17008 } 17009 e.setLocalTransform(n); 17010 } 17011} 17012var zS = /([^\s:;]+)\s*:\s*([^:;]+)/g; 17013function BM(r, e, t) { 17014 var a = r.getAttribute("style"); 17015 if (a) { 17016 zS.lastIndex = 0; 17017 for (var n; (n = zS.exec(a)) != null; ) { 17018 var i = n[1], o = X(th, i) ? th[i] : null; 17019 o && (e[o] = n[2]); 17020 var s = X(eh, i) ? eh[i] : null; 17021 s && (t[s] = n[2]); 17022 } 17023 } 17024} 17025function LG(r, e, t) { 17026 for (var a = 0; a < PS.length; a++) { 17027 var n = PS[a], i = r.getAttribute(n); 17028 i != null && (e[th[n]] = i); 17029 } 17030 for (var a = 0; a < RS.length; a++) { 17031 var n = RS[a], i = r.getAttribute(n); 17032 i != null && (t[eh[n]] = i); 17033 } 17034} 17035function zM(r, e) { 17036 var t = e.width / r.width, a = e.height / r.height, n = Math.min(t, a); 17037 return { scale: n, x: -(r.x + r.width / 2) * n + (e.x + e.width / 2), y: -(r.y + r.height / 2) * n + (e.y + e.height / 2) }; 17038} 17039function PG(r, e) { 17040 var t = new wG(); 17041 return t.parse(r, e); 17042} 17043var RG = Z(["rect", "circle", "line", "ellipse", "polygon", "polyline", "path", "text", "tspan", "g"]), EG = function() { 17044 function r(e, t) { 17045 this.type = "geoSVG", this._usedGraphicMap = Z(), this._freedGraphics = [], this._mapName = e, this._parsedXML = NM(t); 17046 } 17047 return r.prototype.load = function() { 17048 var e = this._firstGraphic; 17049 if (!e) { 17050 e = this._firstGraphic = this._buildGraphic(this._parsedXML), this._freedGraphics.push(e), this._boundingRect = this._firstGraphic.boundingRect.clone(); 17051 var t = OG(e.named), a = t.regions, n = t.regionsMap; 17052 this._regions = a, this._regionsMap = n; 17053 } 17054 return { boundingRect: this._boundingRect, regions: this._regions, regionsMap: this._regionsMap }; 17055 }, r.prototype._buildGraphic = function(e) { 17056 var t, a; 17057 try { 17058 t = e && PG(e, { ignoreViewBox: true, ignoreRootClip: true }) || {}, a = t.root, we(a != null); 17059 } catch (g) { 17060 throw new Error(`Invalid svg format 17061` + g.message); 17062 } 17063 var n = new at(); 17064 n.add(a), n.isGeoSVGGraphicRoot = true; 17065 var i = t.width, o = t.height, s = t.viewBoxRect, l = this._boundingRect; 17066 if (!l) { 17067 var u = void 0, f = void 0, h = void 0, v = void 0; 17068 if (i != null ? (u = 0, h = i) : s && (u = s.x, h = s.width), o != null ? (f = 0, v = o) : s && (f = s.y, v = s.height), u == null || f == null) { 17069 var c = a.getBoundingRect(); 17070 u == null && (u = c.x, h = c.width), f == null && (f = c.y, v = c.height); 17071 } 17072 l = this._boundingRect = new ht(u, f, h, v); 17073 } 17074 if (s) { 17075 var p = zM(s, l); 17076 a.scaleX = a.scaleY = p.scale, a.x = p.x, a.y = p.y; 17077 } 17078 n.setClipPath(new xt({ shape: l.plain() })); 17079 var d = []; 17080 return D(t.named, function(g) { 17081 RG.get(g.svgNodeTagLower) != null && (d.push(g), kG(g.el)); 17082 }), { root: n, boundingRect: l, named: d }; 17083 }, r.prototype.useGraphic = function(e) { 17084 var t = this._usedGraphicMap, a = t.get(e); 17085 return a || (a = this._freedGraphics.pop() || this._buildGraphic(this._parsedXML), t.set(e, a), a); 17086 }, r.prototype.freeGraphic = function(e) { 17087 var t = this._usedGraphicMap, a = t.get(e); 17088 a && (t.removeKey(e), this._freedGraphics.push(a)); 17089 }, r; 17090}(); 17091function kG(r) { 17092 r.silent = false, r.isGroup && r.traverse(function(e) { 17093 e.silent = false;
17094 }); 17095} 17096function OG(r) { 17097 var e = [], t = Z(); 17098 return D(r, function(a) { 17099 if (a.namedFrom == null) { 17100 var n = new xz(a.name, a.el); 17101 e.push(n), t.set(a.name, n); 17102 } 17103 }), { regions: e, regionsMap: t }; 17104} 17105var $d = [126, 25], VS = "\u5357\u6D77\u8BF8\u5C9B", zn = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]]; 17106for (var Nn = 0; Nn < zn.length; Nn++) for (var Hi = 0; Hi < zn[Nn].length; Hi++) zn[Nn][Hi][0] /= 10.5, zn[Nn][Hi][1] /= -10.5 / 0.75, zn[Nn][Hi][0] += $d[0], zn[Nn][Hi][1] += $d[1]; 17107function NG(r, e) { 17108 if (r === "china") { 17109 for (var t = 0; t < e.length; t++) if (e[t].name === VS) return; 17110 e.push(new kD(VS, G(zn, function(a) { 17111 return { type: "polygon", exterior: a }; 17112 }), $d)); 17113 } 17114} 17115var BG = { \u5357\u6D77\u8BF8\u5C9B: [32, 80], \u5E7F\u4E1C: [0, -10], \u9999\u6E2F: [10, 5], \u6FB3\u95E8: [-10, 10], \u5929\u6D25: [5, 5] }; 17116function zG(r, e) { 17117 if (r === "china") { 17118 var t = BG[e.name]; 17119 if (t) { 17120 var a = e.getCenter(); 17121 a[0] += t[0] / 10.5, a[1] += -t[1] / (10.5 / 0.75), e.setCenter(a); 17122 } 17123 } 17124} 17125var VG = [[[123.45165252685547, 25.73527164402261], [123.49731445312499, 25.73527164402261], [123.49731445312499, 25.750734064600884], [123.45165252685547, 25.750734064600884], [123.45165252685547, 25.73527164402261]]]; 17126function GG(r, e) { 17127 r === "china" && e.name === "\u53F0\u6E7E" && e.geometries.push({ type: "polygon", exterior: VG[0] }); 17128} 17129var FG = "name", HG = function() { 17130 function r(e, t, a) { 17131 this.type = "geoJSON", this._parsedMap = Z(), this._mapName = e, this._specialAreas = a, this._geoJSON = UG(t); 17132 } 17133 return r.prototype.load = function(e, t) { 17134 t = t || FG; 17135 var a = this._parsedMap.get(t); 17136 if (!a) { 17137 var n = this._parseToRegions(t); 17138 a = this._parsedMap.set(t, { regions: n, boundingRect: WG(n) }); 17139 } 17140 var i = Z(), o = []; 17141 return D(a.regions, function(s) { 17142 var l = s.name; 17143 e && X(e, l) && (s = s.cloneShallow(l = e[l])), o.push(s), i.set(l, s); 17144 }), { regions: o, boundingRect: a.boundingRect || new ht(0, 0, 0, 0), regionsMap: i }; 17145 }, r.prototype._parseToRegions = function(e) { 17146 var t = this._mapName, a = this._geoJSON, n; 17147 try { 17148 n = a ? Nd(a, e) : []; 17149 } catch (i) { 17150 throw new Error(`Invalid geoJson format 17151` + i.message); 17152 } 17153 return NG(t, n), D(n, function(i) { 17154 var o = i.name; 17155 zG(t, i), GG(t, i); 17156 var s = this._specialAreas && this._specialAreas[o]; 17157 s && i.transformTo(s.left, s.top, s.width, s.height); 17158 }, this), n; 17159 }, r.prototype.getMapForUser = function() { 17160 return { geoJson: this._geoJSON, geoJSON: this._geoJSON, specialAreas: this._specialAreas }; 17161 }, r; 17162}(); 17163function WG(r) { 17164 for (var e, t = 0; t < r.length; t++) { 17165 var a = r[t].getBoundingRect(); 17166 e = e || a.clone(), e.union(a); 17167 } 17168 return e; 17169} 17170function UG(r) { 17171 return Y(r) ? typeof JSON < "u" && JSON.parse ? JSON.parse(r) : new Function("return (" + r + ");")() : r; 17172} 17173var cs = Z(); 17174const wa = { registerMap: function(r, e, t) { 17175 if (e.svg) { 17176 var a = new EG(r, e.svg); 17177 cs.set(r, a); 17178 } else { 17179 var n = e.geoJson || e.geoJSON; 17180 n && !e.features ? t = e.specialAreas : n = e; 17181 var a = new HG(r, n, t); 17182 cs.set(r, a); 17183 } 17184}, getGeoResource: function(r) { 17185 return cs.get(r); 17186}, getMapForUser: function(r) { 17187 var e = cs.get(r); 17188 return e && e.type === "geoJSON" && e.getMapForUser(); 17189}, load: function(r, e, t) { 17190 var a = cs.get(r); 17191 if (a) return a.load(e, t); 17192} }; 17193var am = ["rect", "circle", "line", "ellipse", "polygon", "polyline", "path"], YG = Z(am), $G = Z(am.concat(["g"])), XG = Z(am.concat(["g"])), VM = bt(); 17194function zu(r) { 17195 var e = r.getItemStyle(), t = r.get("areaColor"); 17196 return t != null && (e.fill = t), e; 17197} 17198function GS(r) { 17199 var e = r.style; 17200 e && (e.stroke = e.stroke || e.fill, e.fill = null); 17201} 17202var GM = function() { 17203 function r(e) { 17204 var t = new at(); 17205 this.uid = No("ec_map_draw"), this._controller = new ql(e.getZr()), this._controllerHost = { target: t }, this.group = t, t.add(this._regionsGroup = new at()), t.add(this._svgGroup = new at()); 17206 } 17207 return r.prototype.draw = function(e, t, a, n, i) { 17208 var o = e.mainType === "geo", s = e.getData && e.getData(); 17209 o && t.eachComponent({ mainType: "series", subType: "map" }, function(y) { 17210 !s && y.getHostGeoModel() === e && (s = y.getData()); 17211 }); 17212 var l = e.coordinateSystem, u = this._regionsGroup, f = this.group, h = l.getTransformInfo(), v = h.raw, c = h.roam, p = !u.childAt(0) || i; 17213 p ? (f.x = c.x, f.y = c.y, f.scaleX = c.scaleX, f.scaleY = c.scaleY, f.dirty()) : Tt(f, c, e); 17214 var d = s && s.getVisual("visualMeta") && s.getVisual("visualMeta").length > 0, g = { api: a, geo: l, mapOrGeoModel: e, data: s, isVisualEncodedByVisualMap: d, isGeo: o, transformInfoRaw: v }; 17215 l.resourceType === "geoJSON" ? this._buildGeoJSON(g) : l.resourceType === "geoSVG" && this._buildSVG(g), this._updateController(e, t, a), this._updateMapSelectHandler(e, u, a, n); 17216 }, r.prototype._buildGeoJSON = function(e) { 17217 var t = this._regionsGroupByName = Z(), a = Z(), n = this._regionsGroup, i = e.transformInfoRaw, o = e.mapOrGeoModel, s = e.data, l = e.geo.projection, u = l && l.stream; 17218 function f(c, p) { 17219 return p && (c = p(c)), c && [c[0] * i.scaleX + i.x, c[1] * i.scaleY + i.y]; 17220 } 17221 function h(c) { 17222 for (var p = [], d = !u && l && l.project, g = 0; g < c.length; ++g) { 17223 var y = f(c[g], d); 17224 y && p.push(y); 17225 } 17226 return p; 17227 } 17228 function v(c) { 17229 return { shape: { points: h(c) } }; 17230 } 17231 n.removeAll(), D(e.geo.regions, function(c) { 17232 var p = c.name, d = t.get(p), g = a.get(p) || {}, y = g.dataIdx, m = g.regionModel; 17233 if (!d) {
17234 d = t.set(p, new at()), n.add(d), y = s ? s.indexOfName(p) : null, m = e.isGeo ? o.getRegionModel(p) : s ? s.getItemModel(y) : null; 17235 var _ = m.get("silent", true); 17236 _ != null && (d.silent = _), a.set(p, { dataIdx: y, regionModel: m }); 17237 } 17238 var S = [], b = []; 17239 D(c.geometries, function(T) { 17240 if (T.type === "polygon") { 17241 var C = [T.exterior].concat(T.interiors || []); 17242 u && (C = $S(C, u)), D(C, function(M) { 17243 S.push(new Ce(v(M))); 17244 }); 17245 } else { 17246 var A = T.points; 17247 u && (A = $S(A, u, true)), D(A, function(M) { 17248 b.push(new De(v(M))); 17249 }); 17250 } 17251 }); 17252 var x = f(c.getCenter(), l && l.project); 17253 function w(T, C) { 17254 if (T.length) { 17255 var A = new Oh({ culling: true, segmentIgnoreThreshold: 1, shape: { paths: T } }); 17256 d.add(A), FS(e, A, y, m), HS(e, A, p, m, o, y, x), C && (GS(A), D(A.states, GS)); 17257 } 17258 } 17259 w(S), w(b, true); 17260 }), t.each(function(c, p) { 17261 var d = a.get(p), g = d.dataIdx, y = d.regionModel; 17262 WS(e, c, p, y, o, g), US(e, c, p, y, o), YS(e, c, p, y, o); 17263 }, this); 17264 }, r.prototype._buildSVG = function(e) { 17265 var t = e.geo.map, a = e.transformInfoRaw; 17266 this._svgGroup.x = a.x, this._svgGroup.y = a.y, this._svgGroup.scaleX = a.scaleX, this._svgGroup.scaleY = a.scaleY, this._svgResourceChanged(t) && (this._freeSVG(), this._useSVG(t)); 17267 var n = this._svgDispatcherMap = Z(), i = false; 17268 D(this._svgGraphicRecord.named, function(o) { 17269 var s = o.name, l = e.mapOrGeoModel, u = e.data, f = o.svgNodeTagLower, h = o.el, v = u ? u.indexOfName(s) : null, c = l.getRegionModel(s); 17270 YG.get(f) != null && h instanceof vr && FS(e, h, v, c), h instanceof vr && (h.culling = true); 17271 var p = c.get("silent", true); 17272 if (p != null && (h.silent = p), h.z2EmphasisLift = 0, !o.namedFrom && (XG.get(f) != null && HS(e, h, s, c, l, v, null), WS(e, h, s, c, l, v), US(e, h, s, c, l), $G.get(f) != null)) { 17273 var d = YS(e, h, s, c, l); 17274 d === "self" && (i = true); 17275 var g = n.get(s) || n.set(s, []); 17276 g.push(h); 17277 } 17278 }, this), this._enableBlurEntireSVG(i, e); 17279 }, r.prototype._enableBlurEntireSVG = function(e, t) { 17280 if (e && t.isGeo) { 17281 var a = t.mapOrGeoModel.getModel(["blur", "itemStyle"]).getItemStyle(), n = a.opacity; 17282 this._svgGraphicRecord.root.traverse(function(i) { 17283 if (!i.isGroup) { 17284 ci(i); 17285 var o = i.ensureState("blur").style || {}; 17286 o.opacity == null && n != null && (o.opacity = n), i.ensureState("emphasis"); 17287 } 17288 }); 17289 } 17290 }, r.prototype.remove = function() { 17291 this._regionsGroup.removeAll(), this._regionsGroupByName = null, this._svgGroup.removeAll(), this._freeSVG(), this._controller.dispose(), this._controllerHost = null; 17292 }, r.prototype.findHighDownDispatchers = function(e, t) { 17293 if (e == null) return []; 17294 var a = t.coordinateSystem; 17295 if (a.resourceType === "geoJSON") { 17296 var n = this._regionsGroupByName; 17297 if (n) { 17298 var i = n.get(e); 17299 return i ? [i] : []; 17300 } 17301 } else if (a.resourceType === "geoSVG") return this._svgDispatcherMap && this._svgDispatcherMap.get(e) || []; 17302 }, r.prototype._svgResourceChanged = function(e) { 17303 return this._svgMapName !== e; 17304 }, r.prototype._useSVG = function(e) { 17305 var t = wa.getGeoResource(e); 17306 if (t && t.type === "geoSVG") { 17307 var a = t.useGraphic(this.uid); 17308 this._svgGroup.add(a.root), this._svgGraphicRecord = a, this._svgMapName = e; 17309 } 17310 }, r.prototype._freeSVG = function() { 17311 var e = this._svgMapName; 17312 if (e != null) { 17313 var t = wa.getGeoResource(e); 17314 t && t.type === "geoSVG" && t.freeGraphic(this.uid), this._svgGraphicRecord = null, this._svgDispatcherMap = null, this._svgGroup.removeAll(), this._svgMapName = null; 17315 } 17316 }, r.prototype._updateController = function(e, t, a) { 17317 var n = e.coordinateSystem, i = this._controller, o = this._controllerHost; 17318 o.zoomLimit = e.get("scaleLimit"), o.zoom = n.getZoom(), i.enable(e.get("roam") || false); 17319 var s = e.mainType; 17320 function l() { 17321 var u = { type: "geoRoam", componentType: s }; 17322 return u[s + "Id"] = e.id, u; 17323 } 17324 i.off("pan").on("pan", function(u) { 17325 this._mouseDownFlag = false, em(o, u.dx, u.dy), a.dispatchAction(z(l(), { dx: u.dx, dy: u.dy, animation: { duration: 0 } })); 17326 }, this), i.off("zoom").on("zoom", function(u) { 17327 this._mouseDownFlag = false, rm(o, u.scale, u.originX, u.originY), a.dispatchAction(z(l(), { totalZoom: o.zoom, zoom: u.scale, originX: u.originX, originY: u.originY, animation: { duration: 0 } })); 17328 }, this), i.setPointerChecker(function(u, f, h) { 17329 return n.containPoint([f, h]) && !ev(u, a, e); 17330 }); 17331 }, r.prototype.resetForLabelLayout = function() { 17332 this.group.traverse(function(e) { 17333 var t = e.getTextContent(); 17334 t && (t.ignore = VM(t).ignore); 17335 }); 17336 }, r.prototype._updateMapSelectHandler = function(e, t, a, n) { 17337 var i = this; 17338 t.off("mousedown"), t.off("click"), e.get("selectedMode") && (t.on("mousedown", function() { 17339 i._mouseDownFlag = true; 17340 }), t.on("click", function(o) { 17341 i._mouseDownFlag && (i._mouseDownFlag = false); 17342 })); 17343 }, r; 17344}(); 17345function FS(r, e, t, a) { 17346 var n = a.getModel("itemStyle"), i = a.getModel(["emphasis", "itemStyle"]), o = a.getModel(["blur", "itemStyle"]), s = a.getModel(["select", "itemStyle"]), l = zu(n), u = zu(i), f = zu(s), h = zu(o), v = r.data; 17347 if (v) { 17348 var c = v.getItemVisual(t, "style"), p = v.getItemVisual(t, "decal"); 17349 r.isVisualEncodedByVisualMap && c.fill && (l.fill = c.fill), p && (l.decal = xo(p, r.api)); 17350 } 17351 e.setStyle(l), e.style.strokeNoScale = true, e.ensureState("emphasis").style = u, e.ensureState("select").style = f, e.ensureState("blur").style = h, ci(e); 17352} 17353function HS(r, e, t, a, n, i, o) { 17354 var s = r.data, l = r.isGeo, u = s && isNaN(s.get(s.mapDimension("value"), i)
17354), f = s && s.getItemLayout(i); 17355 if (l || u || f && f.showLabel) { 17356 var h = l ? t : i, v = void 0; 17357 (!s || i >= 0) && (v = n); 17358 var c = o ? { normal: { align: "center", verticalAlign: "middle" } } : null; 17359 de(e, se(a), { labelFetcher: v, labelDataIndex: h, defaultText: t }, c); 17360 var p = e.getTextContent(); 17361 if (p && (VM(p).ignore = p.ignore, e.textConfig && o)) { 17362 var d = e.getBoundingRect().clone(); 17363 e.textConfig.layoutRect = d, e.textConfig.position = [(o[0] - d.x) / d.width * 100 + "%", (o[1] - d.y) / d.height * 100 + "%"]; 17364 } 17365 e.disableLabelAnimation = true; 17366 } else e.removeTextContent(), e.removeTextConfig(), e.disableLabelAnimation = null; 17367} 17368function WS(r, e, t, a, n, i) { 17369 r.data ? r.data.setItemGraphicEl(i, e) : it(e).eventData = { componentType: "geo", componentIndex: n.componentIndex, geoIndex: n.componentIndex, name: t, region: a && a.option || {} }; 17370} 17371function US(r, e, t, a, n) { 17372 r.data || Si({ el: e, componentModel: n, itemName: t, itemTooltipOption: a.get("tooltip") }); 17373} 17374function YS(r, e, t, a, n) { 17375 e.highDownSilentOnTouch = !!n.get("selectedMode"); 17376 var i = a.getModel("emphasis"), o = i.get("focus"); 17377 return Wt(e, o, i.get("blurScope"), i.get("disabled")), r.isGeo && LE(e, n, t), o; 17378} 17379function $S(r, e, t) { 17380 var a = [], n; 17381 function i() { 17382 n = []; 17383 } 17384 function o() { 17385 n.length && (a.push(n), n = []); 17386 } 17387 var s = e({ polygonStart: i, polygonEnd: o, lineStart: i, lineEnd: o, point: function(l, u) { 17388 isFinite(l) && isFinite(u) && n.push([l, u]); 17389 }, sphere: function() { 17390 } }); 17391 return !t && s.polygonStart(), D(r, function(l) { 17392 s.lineStart(); 17393 for (var u = 0; u < l.length; u++) s.point(l[u][0], l[u][1]); 17394 s.lineEnd(); 17395 }), !t && s.polygonEnd(), a; 17396} 17397var ZG = function(r) { 17398 N(e, r); 17399 function e() { 17400 var t = r !== null && r.apply(this, arguments) || this; 17401 return t.type = e.type, t; 17402 } 17403 return e.prototype.render = function(t, a, n, i) { 17404 if (!(i && i.type === "mapToggleSelect" && i.from === this.uid)) { 17405 var o = this.group; 17406 if (o.removeAll(), !t.getHostGeoModel()) { 17407 if (this._mapDraw && i && i.type === "geoRoam" && this._mapDraw.resetForLabelLayout(), i && i.type === "geoRoam" && i.componentType === "series" && i.seriesId === t.id) { 17408 var s = this._mapDraw; 17409 s && o.add(s.group); 17410 } else if (t.needsDrawMap) { 17411 var s = this._mapDraw || new GM(n); 17412 o.add(s.group), s.draw(t, a, n, this, i), this._mapDraw = s; 17413 } else this._mapDraw && this._mapDraw.remove(), this._mapDraw = null; 17414 t.get("showLegendSymbol") && a.getComponent("legend") && this._renderSymbols(t, a, n); 17415 } 17416 } 17417 }, e.prototype.remove = function() { 17418 this._mapDraw && this._mapDraw.remove(), this._mapDraw = null, this.group.removeAll(); 17419 }, e.prototype.dispose = function() { 17420 this._mapDraw && this._mapDraw.remove(), this._mapDraw = null; 17421 }, e.prototype._renderSymbols = function(t, a, n) { 17422 var i = t.originalData, o = this.group; 17423 i.each(i.mapDimension("value"), function(s, l) { 17424 if (!isNaN(s)) { 17425 var u = i.getItemLayout(l); 17426 if (!(!u || !u.point)) { 17427 var f = u.point, h = u.offset, v = new ea({ style: { fill: t.getData().getVisual("style").fill }, shape: { cx: f[0] + h * 9, cy: f[1], r: 3 }, silent: true, z2: 8 + (h ? 0 : Io + 1) }); 17428 if (!h) { 17429 var c = t.mainSeries.getData(), p = i.getName(l), d = c.indexOfName(p), g = i.getItemModel(l), y = g.getModel("label"), m = c.getItemGraphicEl(d); 17430 de(v, se(g), { labelFetcher: { getFormattedLabel: function(_, S) { 17431 return t.getFormattedLabel(d, S); 17432 } }, defaultText: p }), v.disableLabelAnimation = true, y.get("position") || v.setTextConfig({ position: "bottom" }), m.onHoverStateChange = function(_) { 17433 Rf(v, _); 17434 }; 17435 } 17436 o.add(v); 17437 } 17438 } 17439 }); 17440 }, e.type = "map", e; 17441}(Pt), qG = function(r) { 17442 N(e, r); 17443 function e() { 17444 var t = r !== null && r.apply(this, arguments) || this; 17445 return t.type = e.type, t.needsDrawMap = false, t.seriesGroup = [], t.getTooltipPosition = function(a) { 17446 if (a != null) { 17447 var n = this.getData().getName(a), i = this.coordinateSystem, o = i.getRegion(n); 17448 return o && i.dataToPoint(o.getCenter()); 17449 } 17450 }, t; 17451 } 17452 return e.prototype.getInitialData = function(t) { 17453 for (var a = $o(this, { coordDimensions: ["value"], encodeDefaulter: lt(my, this) }), n = Z(), i = [], o = 0, s = a.count(); o < s; o++) { 17454 var l = a.getName(o); 17455 n.set(l, o); 17456 } 17457 var u = wa.load(this.getMapType(), this.option.nameMap, this.option.nameProperty); 17458 return D(u.regions, function(f) { 17459 var h = f.name, v = n.get(h), c = f.properties && f.properties.echartsStyle, p; 17460 v == null ? (p = { name: h }, i.push(p)) : p = a.getRawDataItem(v), c && ut(p, c); 17461 }), a.appendData(i), a; 17462 }, e.prototype.getHostGeoModel = function() { 17463 var t = this.option.geoIndex; 17464 return t != null ? this.ecModel.getComponent("geo", t) : null; 17465 }, e.prototype.getMapType = function() { 17466 return (this.getHostGeoModel() || this).option.map; 17467 }, e.prototype.getRawValue = function(t) { 17468 var a = this.getData(); 17469 return a.get(a.mapDimension("value"), t); 17470 }, e.prototype.getRegionModel = function(t) { 17471 var a = this.getData(); 17472 return a.getItemModel(a.indexOfName(t)); 17473 }, e.prototype.formatTooltip = function(t, a, n) { 17474 for (var i = this.getData(), o = this.getRawValue(t), s = i.getName(t), l = this.seriesGroup, u = [], f = 0; f < l.length; f++) { 17475 var h = l[f].originalData.indexOfName(s), v = i.mapDimension("value"); 17476 isNaN(l[f].originalData.get(v, h)) || u.push(l[f].name); 17477 } 17478 return le("section", { header: u.join(", "), noHeader: !u.length, blocks: [le("nameValue", { name: s, value: o })] }); 17479 }, e.prototype.setZoom = function(t) { 17480 this.option.zoom = t; 17481 }, e.prototype.setCenter = function(t) { 17482 this.option.center = t; 17483 }, e.prototype.getLegendIcon = function(t) { 17484 var a = t.icon || "roundRect", n = qt(a, 0, 0, t.itemWidth, t.itemHeight, t.itemStyle.fill); 17485 return n.setStyle(t.itemStyle), n.style.stroke = "none", a.indexOf("empty") > -1 && (n.style.stroke = n.style.fill, n.style.fill = "#fff", n.style.lineWidth = 2), n; 17486 }, e.type = "series.map", e.dependencies = ["geo"], e.layoutMode = "box", e.defaultOption = { z: 2, coordinateSystem: "geo", map: "", left: "center", top: "center", aspectScale: null, showLegendSymbol: true, boundingCoords: null, center: null, zoom: 1, scaleLimit: null, selectedMode: true, label: { show: false, color: "#000" }, itemStyle: { borderWidth: 0.5, borderColor: "#444", areaColor: "#eee" }, emphasis: { label: { show: true, color: "rgb(100,0,0)" }, itemStyle: { areaColor: "rgba(255,215,0,0.8)" } }, select: { label: { show: true, color: "rgb(100,0,0)" }, itemStyle: { color: "rgba(255,215,0,0.8)" } }, nameProperty: "name" }, e; 17487}(Et); 17488function KG(r, e) { 17489 var t = {}; 17490 return D(r, function(a) { 17491 a.each(a.mapDimension("value"), function(n, i) { 17492 var o = "ec-" + a.getName(i); 17493 t[o] = t[o] || [], isNaN(n) || t[o].push(n); 17494 }); 17495 }), r[0].map(r[0].mapDimension("value"), function(a, n) { 17496 for (var i = "ec-" + r[0].getName(n), o = 0, s = 1 / 0, l = -1 / 0, u = t[i].length, f = 0; f < u; f++) s = Math.min(s, t[i][f]), l = Math.max(l, t[i][f]), o += t[i][f]; 17497 var h; 17498 return e === "min" ? h = s : e === "max" ? h = l : e === "average" ? h = o / u : h = o, u === 0 ? NaN : h; 17499 }); 17500} 17501function jG(r) { 17502 var e = {}; 17503 r.eachSeriesByType("map", function(t) { 17504 var a = t.getHostGeoModel(), n = a ? "o" + a.id : "i" + t.getMapType(); 17505 (e[n] = e[n] || []).push(t); 17506 }), D(e, function(t, a) { 17507 for (var n = KG(G(t, function(o) { 17508 return o.getData(); 17509 }), t[0].get("mapValueCalculation")), i = 0; i < t.length; i++) t[i].originalData = t[i].getData(); 17510 for (var i = 0; i < t.length; i++) t[i].seriesGroup = t, t[i].needsDrawMap = i === 0 && !t[i].getHostGeoModel(), t[i].setData(n.
17510cloneShallow()), t[i].mainSeries = t[0]; 17511 }); 17512} 17513function JG(r) { 17514 var e = {}; 17515 r.eachSeriesByType("map", function(t) { 17516 var a = t.getMapType(); 17517 if (!(t.getHostGeoModel() || e[a])) { 17518 var n = {}; 17519 D(t.seriesGroup, function(o) { 17520 var s = o.coordinateSystem, l = o.originalData; 17521 o.get("showLegendSymbol") && r.getComponent("legend") && l.each(l.mapDimension("value"), function(u, f) { 17522 var h = l.getName(f), v = s.getRegion(h); 17523 if (!(!v || isNaN(u))) { 17524 var c = n[h] || 0, p = s.dataToPoint(v.getCenter()); 17525 n[h] = c + 1, l.setItemLayout(f, { point: p, offset: c }); 17526 } 17527 }); 17528 }); 17529 var i = t.getData(); 17530 i.each(function(o) { 17531 var s = i.getName(o), l = i.getItemLayout(o) || {}; 17532 l.showLabel = !n[s], i.setItemLayout(o, l); 17533 }), e[a] = true; 17534 } 17535 }); 17536} 17537var XS = he, Kl = function(r) { 17538 N(e, r); 17539 function e(t) { 17540 var a = r.call(this) || this; 17541 return a.type = "view", a.dimensions = ["x", "y"], a._roamTransformable = new ca(), a._rawTransformable = new ca(), a.name = t, a; 17542 } 17543 return e.prototype.setBoundingRect = function(t, a, n, i) { 17544 return this._rect = new ht(t, a, n, i), this._rect; 17545 }, e.prototype.getBoundingRect = function() { 17546 return this._rect; 17547 }, e.prototype.setViewRect = function(t, a, n, i) { 17548 this._transformTo(t, a, n, i), this._viewRect = new ht(t, a, n, i); 17549 }, e.prototype._transformTo = function(t, a, n, i) { 17550 var o = this.getBoundingRect(), s = this._rawTransformable; 17551 s.transform = o.calculateTransform(new ht(t, a, n, i)); 17552 var l = s.parent; 17553 s.parent = null, s.decomposeTransform(), s.parent = l, this._updateTransform(); 17554 }, e.prototype.setCenter = function(t, a) { 17555 t && (this._center = [W(t[0], a.getWidth()), W(t[1], a.getHeight())], this._updateCenterAndZoom()); 17556 }, e.prototype.setZoom = function(t) { 17557 t = t || 1; 17558 var a = this.zoomLimit; 17559 a && (a.max != null && (t = Math.min(a.max, t)), a.min != null && (t = Math.max(a.min, t))), this._zoom = t, this._updateCenterAndZoom(); 17560 }, e.prototype.getDefaultCenter = function() { 17561 var t = this.getBoundingRect(), a = t.x + t.width / 2, n = t.y + t.height / 2; 17562 return [a, n]; 17563 }, e.prototype.getCenter = function() { 17564 return this._center || this.getDefaultCenter(); 17565 }, e.prototype.getZoom = function() { 17566 return this._zoom || 1; 17567 }, e.prototype.getRoamTransform = function() { 17568 return this._roamTransformable.getLocalTransform(); 17569 }, e.prototype._updateCenterAndZoom = function() { 17570 var t = this._rawTransformable.getLocalTransform(), a = this._roamTransformable, n = this.getDefaultCenter(), i = this.getCenter(), o = this.getZoom(); 17571 i = he([], i, t), n = he([], n, t), a.originX = i[0], a.originY = i[1], a.x = n[0] - i[0], a.y = n[1] - i[1], a.scaleX = a.scaleY = o, this._updateTransform(); 17572 }, e.prototype._updateTransform = function() { 17573 var t = this._roamTransformable, a = this._rawTransformable; 17574 a.parent = t, t.updateTransform(), a.updateTransform(), wh(this.transform || (this.transform = []), a.transform || He()), this._rawTransform = a.getLocalTransform(), this.invTransform = this.invTransform || [], _i(this.invTransform, this.transform), this.decomposeTransform(); 17575 }, e.prototype.getTransformInfo = function() { 17576 var t = this._rawTransformable, a = this._roamTransformable, n = new ca(); 17577 return n.transform = a.transform, n.decomposeTransform(), { roam: { x: n.x, y: n.y, scaleX: n.scaleX, scaleY: n.scaleY }, raw: { x: t.x, y: t.y, scaleX: t.scaleX, scaleY: t.scaleY } }; 17578 }, e.prototype.getViewRect = function() { 17579 return this._viewRect; 17580 }, e.prototype.getViewRectAfterRoam = function() { 17581 var t = this.getBoundingRect().clone(); 17582 return t.applyTransform(this.transform), t; 17583 }, e.prototype.dataToPoint = function(t, a, n) { 17584 var i = a ? this._rawTransform : this.transform; 17585 return n = n || [], i ? XS(n, t, i) : _e(n, t); 17586 }, e.prototype.pointToData = function(t) { 17587 var a = this.invTransform; 17588 return a ? XS([], t, a) : [t[0], t[1]]; 17589 }, e.prototype.convertToPixel = function(t, a, n) { 17590 var i = ZS(a); 17591 return i === this ? i.dataToPoint(n) : null; 17592 }, e.prototype.convertFromPixel = function(t, a, n) { 17593 var i = ZS(a); 17594 return i === this ? i.pointToData(n) : null; 17595 }, e.prototype.containPoint = function(t) { 17596 return this.getViewRectAfterRoam().contain(t[0], t[1]); 17597 }, e.dimensions = ["x", "y"], e; 17598}(ca); 17599function ZS(r) { 17600 var e = r.seriesModel; 17601 return e ? e.coordinateSystem : null; 17602} 17603var QG = { geoJSON: { aspectScale: 0.75, invertLongitute: true }, geoSVG: { aspectScale: 1, invertLongitute: false } }, FM = ["lng", "lat"], Xd = function(r) { 17604 N(e, r); 17605 function e(t, a, n) { 17606 var i = r.call(this, t) || this; 17607 i.dimensions = FM, i.type = "geo", i._nameCoordMap = Z(), i.map = a; 17608 var o = n.projection, s = wa.load(a, n.nameMap, n.nameProperty), l = wa.getGeoResource(a); 17609 i.resourceType = l ? l.type : null; 17610 var u = i.regions = s.regions, f = QG[l.type]; 17611 i._regionsMap = s.regionsMap, i.regions = s.regions, i.projection = o; 17612 var h; 17613 if (o) for (var v = 0; v < u.length; v++) {
17614 var c = u[v].getBoundingRect(o); 17615 h = h || c.clone(), h.union(c); 17616 } 17617 else h = s.boundingRect; 17618 return i.setBoundingRect(h.x, h.y, h.width, h.height), i.aspectScale = o ? 1 : st(n.aspectScale, f.aspectScale), i._invertLongitute = o ? false : f.invertLongitute, i; 17619 } 17620 return e.prototype._transformTo = function(t, a, n, i) { 17621 var o = this.getBoundingRect(), s = this._invertLongitute; 17622 o = o.clone(), s && (o.y = -o.y - o.height); 17623 var l = this._rawTransformable; 17624 l.transform = o.calculateTransform(new ht(t, a, n, i)); 17625 var u = l.parent; 17626 l.parent = null, l.decomposeTransform(), l.parent = u, s && (l.scaleY = -l.scaleY), this._updateTransform(); 17627 }, e.prototype.getRegion = function(t) { 17628 return this._regionsMap.get(t); 17629 }, e.prototype.getRegionByCoord = function(t) { 17630 for (var a = this.regions, n = 0; n < a.length; n++) { 17631 var i = a[n]; 17632 if (i.type === "geoJSON" && i.contain(t)) return a[n]; 17633 } 17634 }, e.prototype.addGeoCoord = function(t, a) { 17635 this._nameCoordMap.set(t, a); 17636 }, e.prototype.getGeoCoord = function(t) { 17637 var a = this._regionsMap.get(t); 17638 return this._nameCoordMap.get(t) || a && a.getCenter(); 17639 }, e.prototype.dataToPoint = function(t, a, n) { 17640 if (Y(t) && (t = this.getGeoCoord(t)), t) { 17641 var i = this.projection; 17642 return i && (t = i.project(t)), t && this.projectedToPoint(t, a, n); 17643 } 17644 }, e.prototype.pointToData = function(t) { 17645 var a = this.projection; 17646 return a && (t = a.unproject(t)), t && this.pointToProjected(t); 17647 }, e.prototype.pointToProjected = function(t) { 17648 return r.prototype.pointToData.call(this, t); 17649 }, e.prototype.projectedToPoint = function(t, a, n) { 17650 return r.prototype.dataToPoint.call(this, t, a, n); 17651 }, e.prototype.convertToPixel = function(t, a, n) { 17652 var i = qS(a); 17653 return i === this ? i.dataToPoint(n) : null; 17654 }, e.prototype.convertFromPixel = function(t, a, n) { 17655 var i = qS(a); 17656 return i === this ? i.pointToData(n) : null; 17657 }, e; 17658}(Kl); 17659Xt(Xd, Kl); 17660function qS(r) { 17661 var e = r.geoModel, t = r.seriesModel; 17662 return e ? e.coordinateSystem : t ? t.coordinateSystem || (t.getReferringComponents("geo", Jt).models[0] || {}).coordinateSystem : null; 17663} 17664function KS(r, e) { 17665 var t = r.get("boundingCoords"); 17666 if (t != null) { 17667 var a = t[0], n = t[1]; 17668 if (isFinite(a[0]) && isFinite(a[1]) && isFinite(n[0]) && isFinite(n[1])) { 17669 var i = this.projection; 17670 if (i) { 17671 var o = a[0], s = a[1], l = n[0], u = n[1]; 17672 a = [1 / 0, 1 / 0], n = [-1 / 0, -1 / 0]; 17673 var f = function(x, w, T, C) { 17674 for (var A = T - x, M = C - w, I = 0; I <= 100; I++) { 17675 var L = I / 100, P = i.project([x + A * L, w + M * L]); 17676 ha(a, a, P), va(n, n, P); 17677 } 17678 }; 17679 f(o, s, l, s), f(l, s, l, u), f(l, u, o, u), f(o, u, l, s); 17680 } 17681 this.setBoundingRect(a[0], a[1], n[0] - a[0], n[1] - a[1]); 17682 } 17683 } 17684 var h = this.getBoundingRect(), v = r.get("layoutCenter"), c = r.get("layoutSize"), p = e.getW
17684idth(), d = e.getHeight(), g = h.width / h.height * this.aspectScale, y = false, m, _; 17685 v && c && (m = [W(v[0], p), W(v[1], d)], _ = W(c, Math.min(p, d)), !isNaN(m[0]) && !isNaN(m[1]) && !isNaN(_) && (y = true)); 17686 var S; 17687 if (y) S = {}, g > 1 ? (S.width = _, S.height = _ / g) : (S.height = _, S.width = _ * g), S.y = m[1] - S.height / 2, S.x = m[0] - S.width / 2; 17688 else { 17689 var b = r.getBoxLayoutParams(); 17690 b.aspect = g, S = Qt(b, { width: p, height: d }); 17691 } 17692 this.setViewRect(S.x, S.y, S.width, S.height), this.setCenter(r.get("center"), e), this.setZoom(r.get("zoom")); 17693} 17694function tF(r, e) { 17695 D(e.get("geoCoord"), function(t, a) { 17696 r.addGeoCoord(a, t); 17697 }); 17698} 17699var eF = function() { 17700 function r() { 17701 this.dimensions = FM; 17702 } 17703 return r.prototype.create = function(e, t) { 17704 var a = []; 17705 function n(o) { 17706 return { nameProperty: o.get("nameProperty"), aspectScale: o.get("aspectScale"), projection: o.get("projection") }; 17707 } 17708 e.eachComponent("geo", function(o, s) { 17709 var l = o.get("map"), u = new Xd(l + s, l, z({ nameMap: o.get("nameMap") }, n(o))); 17710 u.zoomLimit = o.get("scaleLimit"), a.push(u), o.coordinateSystem = u, u.model = o, u.resize = KS, u.resize(o, t); 17711 }), e.eachSeries(function(o) { 17712 var s = o.get("coordinateSystem"); 17713 if (s === "geo") { 17714 var l = o.get("geoIndex") || 0; 17715 o.coordinateSystem = a[l]; 17716 } 17717 }); 17718 var i = {}; 17719 return e.eachSeriesByType("map", function(o) { 17720 if (!o.getHostGeoModel()) { 17721 var s = o.getMapType(); 17722 i[s] = i[s] || [], i[s].push(o); 17723 } 17724 }), D(i, function(o, s) { 17725 var l = G(o, function(f) { 17726 return f.get("nameMap"); 17727 }), u = new Xd(s, s, z({ nameMap: Sh(l) }, n(o[0]))); 17728 u.zoomLimit = ne.apply(null, G(o, function(f) { 17729 return f.get("scaleLimit"); 17730 })), a.push(u), u.resize = KS, u.resize(o[0], t), D(o, function(f) { 17731 f.coordinateSystem = u, tF(u, f); 17732 }); 17733 }), a; 17734 }, r.prototype.getFilledRegions = function(e, t, a, n) { 17735 for (var i = (e || []).slice(), o = Z(), s = 0; s < i.length; s++) o.set(i[s].name, i[s]); 17736 var l = wa.load(t, a, n); 17737 return D(l.regions, function(u) { 17738 var f = u.name, h = o.get(f), v = u.properties && u.properties.echartsStyle; 17739 h || (h = { name: f }, i.push(h)), v && ut(h, v); 17740 }), i; 17741 }, r; 17742}(), HM = new eF(), rF = function(r) { 17743 N(e, r); 17744 function e() { 17745 var t = r !== null && r.apply(this, arguments) || this; 17746 return t.type = e.type, t; 17747 } 17748 return e.prototype.init = function(t, a, n) { 17749 var i = wa.getGeoResource(t.map); 17750 if (i && i.type === "geoJSON") { 17751 var o = t.itemStyle = t.itemStyle || {}; 17752 "color" in o || (o.color = "#eee"); 17753 } 17754 this.mergeDefaultAndTheme(t, n), fi(t, "label", ["show"]); 17755 }, e.prototype.optionUpdated = function() { 17756 var t = this, a = this.option; 17757 a.regions = HM.getFilledRegions(a.regions, a.map, a.nameMap, a.nameProperty); 17758 var n = {}; 17759 this._optionModelMap = hr(a.regions || [], function(i, o) { 17760 var s = o.name; 17761 return s && (i.set(s, new At(o, t, t.ecModel)), o.selected && (n[s] = true)), i; 17762 }, Z()), a.selectedMap || (a.selectedMap = n); 17763 }, e.prototype.getRegionModel = function(t) { 17764 return this._optionModelMap.get(t) || new At(null, this, this.ecModel); 17765 }, e.prototype.getFormattedLabel = function(t, a) { 17766 var n = this.getRegionModel(t), i = a === "normal" ? n.get(["label", "formatter"]) : n.get(["emphasis", "label", "formatter"]), o = { name: t }; 17767 if (j(i)) return o.status = a, i(o); 17768 if (Y(i)) return i.replace("{a}", t ?? ""); 17769 }, e.prototype.setZoom = function(t) { 17770 this.option.zoom = t; 17771 }, e.prototype.setCenter = function(t) { 17772 this.option.center = t; 17773 }, e.prototype.select = function(t) { 17774 var a = this.option, n = a.selectedMode; 17775 if (n) { 17776 n !== "multiple" && (a.selectedMap = null); 17777 var i = a.selectedMap || (a.selectedMap = {}); 17778 i[t] = true; 17779 } 17780 }, e.prototype.unSelect = function(t) { 17781 var a = this.option.selectedMap; 17782 a && (a[t] = false); 17783 }, e.prototype.toggleSelected = function(t) { 17784 this[this.isSelected(t) ? "unSelect" : "select"](t); 17785 }, e.prototype.isSelected = function(t) { 17786 var a = this.option.selectedMap; 17787 return !!(a && a[t]); 17788 }, e.type = "geo", e.layoutMode = "box", e.defaultOption = { z: 0, show: true, left: "center", top: "center", aspectScale: null, silent: false, map: "", boundingCoords: null, center: null, zoom: 1, scaleLimit: null, label: { show: false, color: "#000" }, itemStyle: { borderWidth: 0.5, borderColor: "#444" }, emphasis: { label: { show: true, color: "rgb(100,0,0)" }, itemStyle: { color: "rgba(255,215,0,0.8)" } }, select: { label: { show: true, color: "rgb(100,0,0)" }, itemStyle: { color: "rgba(255,215,0,0.8)" } }, regions: [] }, e; 17789}(gt); 17790function jS(r, e) { 17791 return r.pointToProjected ? r.pointToProjected(e) : r.pointToData(e); 17792} 17793function nm(r, e, t, a) { 17794 var n = r.getZoom(), i = r.getCenter(), o = e.zoom, s = r.projectedToPoint ? r.projectedToPoint(i) : r.dataToPoint(i); 17795 if (e.dx != null && e.dy != null && (s[0] -= e.dx, s[1] -= e.dy, r.setCenter(jS(r, s), a)), o != null) { 17796 if (t) { 17797 var l = t.min || 0, u = t.max || 1 / 0; 17798 o = Math.max(Math.min(n * o, u), l) / n; 17799 } 17800 r.scaleX *= o, r.scaleY *= o; 17801 var f = (e.originX - r.x) * (o - 1), h = (e.originY - r.y) * (o - 1); 17802 r.x -= f, r.y -= h, r.updateTransform(), r.setCenter(jS(r, s), a), r.setZoom(o * n); 17803 } 17804 return { center: r.getCenter(), zoom: r.getZoom() }; 17805} 17806var aF = function(r) { 17807 N(e, r); 17808 function e() { 17809 var t = r !== null && r.apply(this, arguments) || this;
17810 return t.type = e.type, t.focusBlurEnabled = true, t; 17811 } 17812 return e.prototype.init = function(t, a) { 17813 this._api = a; 17814 }, e.prototype.render = function(t, a, n, i) { 17815 if (this._model = t, !t.get("show")) { 17816 this._mapDraw && this._mapDraw.remove(), this._mapDraw = null; 17817 return; 17818 } 17819 this._mapDraw || (this._mapDraw = new GM(n)); 17820 var o = this._mapDraw; 17821 o.draw(t, a, n, this, i), o.group.on("click", this._handleRegionClick, this), o.group.silent = t.get("silent"), this.group.add(o.group), this.updateSelectStatus(t, a, n); 17822 }, e.prototype._handleRegionClick = function(t) { 17823 var a; 17824 jn(t.target, function(n) { 17825 return (a = it(n).eventData) != null; 17826 }, true), a && this._api.dispatchAction({ type: "geoToggleSelect", geoId: this._model.id, name: a.name }); 17827 }, e.prototype.updateSelectStatus = function(t, a, n) { 17828 var i = this; 17829 this._mapDraw.group.traverse(function(o) { 17830 var s = it(o).eventData; 17831 if (s) return i._model.isSelected(s.name) ? n.enterSelect(o) : n.leaveSelect(o), true; 17832 }); 17833 }, e.prototype.findHighDownDispatchers = function(t) { 17834 return this._mapDraw && this._mapDraw.findHighDownDispatchers(t, this._model); 17835 }, e.prototype.dispose = function() { 17836 this._mapDraw && this._mapDraw.remove(); 17837 }, e.type = "geo", e; 17838}(Vt); 17839function nF(r, e, t) { 17840 wa.registerMap(r, e, t); 17841} 17842function WM(r) { 17843 r.registerCoordinateSystem("geo", HM), r.registerComponentModel(rF), r.registerComponentView(aF), r.registerImpl("registerMap", nF), r.registerImpl("getMap", function(t) { 17844 return wa.getMapForUser(t); 17845 }); 17846 function e(t, a) { 17847 a.update = "geo:updateSelectStatus", r.registerAction(a, function(n, i) { 17848 var o = {}, s = []; 17849 return i.eachComponent({ mainType: "geo", query: n }, function(l) { 17850 l[t](n.name); 17851 var u = l.coordinateSystem; 17852 D(u.regions, function(h) { 17853 o[h.name] = l.isSelected(h.name) || false; 17854 }); 17855 var f = []; 17856 D(o, function(h, v) { 17857 o[v] && f.push(v); 17858 }), s.push({ geoIndex: l.componentIndex, name: f }); 17859 }), { selected: o, allSelected: s, name: n.name }; 17860 }); 17861 } 17862 e("toggleSelected", { type: "geoToggleSelect", event: "geoselectchanged" }), e("select", { type: "geoSelect", event: "geoselected" }), e("unSelect", { type: "geoUnSelect", event: "geounselected" }), r.registerAction({ type: "geoRoam", event: "geoRoam", update: "updateTransform" }, function(t, a, n) { 17863 var i = t.componentType || "series"; 17864 a.eachComponent({ mainType: i, query: t }, function(o) { 17865 var s = o.coordinateSystem; 17866 if (s.type === "geo") { 17867 var l = nm(s, t, o.get("scaleLimit"), n); 17868 o.setCenter && o.setCenter(l.center), o.setZoom && o.setZoom(l.zoom), i === "series" && D(o.seriesGroup, function(u) { 17869 u.setCenter(l.center), u.setZoom(l.zoom); 17870 }); 17871 } 17872 }); 17873 }); 17874} 17875function iF(r) { 17876 pt(WM), r.registerChartView(ZG), r.registerSeriesModel(qG), r.registerLayout(JG), r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC, jG), FA("map", r.registerAction); 17877} 17878function oF(r) { 17879 var e = r; 17880 e.hierNode = { defaultAncestor: null, ancestor: e, prelim: 0, modifier: 0, change: 0, shift: 0, i: 0, thread: null }; 17881 for (var t = [e], a, n; a = t.pop(); ) if (n = a.children, a.isExpand && n.length) for (var i = n.length, o = i - 1; o >= 0; o--) { 17882 var s = n[o]; 17883 s.hierNode = { defaultAncestor: null, ancestor: s, prelim: 0, modifier: 0, change: 0, shift: 0, i: o, thread: null }, t.push(s); 17884 } 17885} 17886function sF(r, e) { 17887 var t = r.isExpand ? r.children : [], a = r.parentNode.children, n = r.hierNode.i ? a[r.hierNode.i - 1] : null; 17888 if (t.length) { 17889 fF(r); 17890 var i = (t[0].hierNode.prelim + t[t.length - 1].hierNode.prelim) / 2; 17891 n ? (r.hierNode.prelim = n.hierNode.prelim + e(r, n), r.hierNode.modifier = r.hierNode.prelim - i) : r.hierNode.prelim = i; 17892 } else n && (r.hierNode.prelim = n.hierNode.prelim + e(r, n)); 17893 r.parentNode.hierNode.defaultAncestor = hF(r, n, r.parentNode.hierNode.defaultAncestor || a[0], e); 17894} 17895function lF(r) { 17896 var e = r.hierNode.prelim + r.parentNode.hierNode.modifier; 17897 r.setLayout({ x: e }, true), r.hierNode.modifier += r.parentNode.hierNode.modifier; 17898} 17899function JS(r) { 17900 return arguments.length ? r : pF; 17901} 17902function Ls(r, e) { 17903 return r -= Math.PI / 2, { x: e * Math.cos(r), y: e * Math.sin(r) }; 17904} 17905function uF(r, e) { 17906 return Qt(r.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); 17907} 17908function fF(r) { 17909 for (var e = r.children, t = e.length, a = 0, n = 0; --t >= 0; ) { 17910 var i = e[t]; 17911 i.hierNode.prelim += a, i.hierNode.modifier += a, n += i.hierNode.change, a += i.hierNode.shift + n; 17912 } 17913} 17914function hF(r, e, t, a) { 17915 if (e) { 17916 for (var n = r, i = r, o = i.parentNode.children[0], s = e, l = n.hierNode.modifier, u = i.hierNode.modifier, f = o.hierNode.modifier, h = s.hierNode.modifier; s = Nc(s), i = Bc(i), s && i; ) { 17917 n = Nc(n), o = Bc(o), n.hierNode.ancestor = r; 17918 var v = s.hierNode.prelim + h - i.hierNode.prelim - u + a(s, i); 17919 v > 0 && (cF(vF(s, r, t), r, v), u += v, l += v), h += s.hierNode.modifier, u
17919+= i.hierNode.modifier, l += n.hierNode.modifier, f += o.hierNode.modifier; 17920 } 17921 s && !Nc(n) && (n.hierNode.thread = s, n.hierNode.modifier += h - l), i && !Bc(o) && (o.hierNode.thread = i, o.hierNode.modifier += u - f, t = r); 17922 } 17923 return t; 17924} 17925function Nc(r) { 17926 var e = r.children; 17927 return e.length && r.isExpand ? e[e.length - 1] : r.hierNode.thread; 17928} 17929function Bc(r) { 17930 var e = r.children; 17931 return e.length && r.isExpand ? e[0] : r.hierNode.thread; 17932} 17933function vF(r, e, t) { 17934 return r.hierNode.ancestor.parentNode === e.parentNode ? r.hierNode.ancestor : t; 17935} 17936function cF(r, e, t) { 17937 var a = t / (e.hierNode.i - r.hierNode.i); 17938 e.hierNode.change -= a, e.hierNode.shift += t, e.hierNode.modifier += t, e.hierNode.prelim += t, r.hierNode.change += a; 17939} 17940function pF(r, e) { 17941 return r.parentNode === e.parentNode ? 1 : 2; 17942} 17943var dF = /* @__PURE__ */ function() { 17944 function r() { 17945 this.parentPoint = [], this.childPoints = []; 17946 } 17947 return r; 17948}(), gF = function(r) { 17949 N(e, r); 17950 function e(t) { 17951 return r.call(this, t) || this; 17952 } 17953 return e.prototype.getDefaultStyle = function() { 17954 return { stroke: "#000", fill: null }; 17955 }, e.prototype.getDefaultShape = function() { 17956 return new dF(); 17957 }, e.prototype.buildPath = function(t, a) { 17958 var n = a.childPoints, i = n.length, o = a.parentPoint, s = n[0], l = n[i - 1]; 17959 if (i === 1) { 17960 t.moveTo(o[0], o[1]), t.lineTo(s[0], s[1]); 17961 return; 17962 } 17963 var u = a.orient, f = u === "TB" || u === "BT" ? 0 : 1, h = 1 - f, v = W(a.forkPosition, 1), c = []; 17964 c[f] = o[f], c[h] = o[h] + (l[h] - o[h]) * v, t.moveTo(o[0], o[1]), t.lineTo(c[0], c[1]), t.moveTo(s[0], s[1]), c[f] = s[f], t.lineTo(c[0], c[1]), c[f] = l[f], t.lineTo(c[0], c[1]), t.lineTo(l[0], l[1]); 17965 for (var p = 1; p < i - 1; p++) { 17966 var d = n[p]; 17967 t.moveTo(d[0], d[1]), c[f] = d[f], t.lineTo(c[0], c[1]); 17968 } 17969 }, e; 17970}(mt), yF = function(r) { 17971 N(e, r); 17972 function e() { 17973 var t = r !== null && r.apply(this, arguments) || this; 17974 return t.type = e.type, t._mainGroup = new at(), t; 17975 } 17976 return e.prototype.init = function(t, a) { 17977 this._controller = new ql(a.getZr()), this._controllerHost = { target: this.group }, this.group.add(this._mainGroup); 17978 }, e.prototype.render = function(t, a, n) { 17979 var i = t.getData(), o = t.layoutInfo, s = this._mainGroup, l = t.get("layout"); 17980 l === "radial" ? (s.x = o.x + o.width / 2, s.y = o.y + o.height / 2) : (s.x = o.x, s.y = o.y), this._updateViewCoordSys(t, n), this._updateController(t, a, n); 17981 var u = this._data; 17982 i.diff(u).add(function(f) { 17983 QS(i, f) && tx(i, f, null, s, t); 17984 }).update(function(f, h) { 17985 var v = u.getItemGraphicEl(h); 17986 if (!QS(i, f)) { 17987 v && rx(u, h, v, s, t); 17988 return; 17989 } 17990 tx(i, f, v, s, t); 17991 }).remove(function(f) { 17992 var h = u.getItemGraphicEl(f); 17993 h && rx(u, f, h, s, t); 17994 }).execute(), this._nodeScaleRatio = t.get("nodeScaleRatio"), this._updateNodeAndLinkScale(t), t.get("expandAndCollapse") === true && i.eachItemGraphicEl(function(f, h) { 17995 f.off("click").on("click", function() { 17996 n.dispatchAction({ type: "treeExpandAndCollapse", seriesId: t.id, dataIndex: h }); 17997 }); 17998 }), this._data = i; 17999 }, e.prototype._updateViewCoordSys = function(t, a) { 18000 var n = t.getData(), i = []; 18001 n.each(function(h) { 18002 var v = n.getItemLayout(h); 18003 v && !isNaN(v.x) && !isNaN(v.y) && i.push([+v.x, +v.y]); 18004 }); 18005 var o = [], s = []; 18006 Rh(i, o, s); 18007 var l = this._min, u = this._max; 18008 s[0] - o[0] === 0 && (o[0] = l ? l[0] : o[0] - 1, s[0] = u ? u[0] : s[0] + 1), s[1] - o[1] === 0 && (o[1] = l ? l[1] : o[1] - 1, s[1] = u ? u[1] : s[1] + 1); 18009 var f = t.coordinateSystem = new Kl(); 18010 f.zoomLimit = t.get("scaleLimit"), f.setBoundingRect(o[0], o[1], s[0] - o[0], s[1] - o[1]), f.setCenter(t.get("center"), a), f.setZoom(t.get("zoom")), this.group.attr({ x: f.x, y: f.y, scaleX: f.scaleX, scaleY: f.scaleY }), this._min = o, this._max = s; 18011 }, e.prototype._updateController = function(t, a, n) { 18012 var i = this, o = this._controller, s = this._controllerHost, l = this.group; 18013 o.setPointerChecker(function(u, f, h) {
18014 var v = l.getBoundingRect(); 18015 return v.applyTransform(l.transform), v.contain(f, h) && !ev(u, n, t); 18016 }), o.enable(t.get("roam")), s.zoomLimit = t.get("scaleLimit"), s.zoom = t.coordinateSystem.getZoom(), o.off("pan").off("zoom").on("pan", function(u) { 18017 em(s, u.dx, u.dy), n.dispatchAction({ seriesId: t.id, type: "treeRoam", dx: u.dx, dy: u.dy }); 18018 }).on("zoom", function(u) { 18019 rm(s, u.scale, u.originX, u.originY), n.dispatchAction({ seriesId: t.id, type: "treeRoam", zoom: u.scale, originX: u.originX, originY: u.originY }), i._updateNodeAndLinkScale(t), n.updateLabelLayout(); 18020 }); 18021 }, e.prototype._updateNodeAndLinkScale = function(t) { 18022 var a = t.getData(), n = this._getNodeGlobalScale(t); 18023 a.eachItemGraphicEl(function(i, o) { 18024 i.setSymbolScale(n); 18025 }); 18026 }, e.prototype._getNodeGlobalScale = function(t) { 18027 var a = t.coordinateSystem; 18028 if (a.type !== "view") return 1; 18029 var n = this._nodeScaleRatio, i = a.scaleX || 1, o = a.getZoom(), s = (o - 1) * n + 1; 18030 return s / i; 18031 }, e.prototype.dispose = function() { 18032 this._controller && this._controller.dispose(), this._controllerHost = null; 18033 }, e.prototype.remove = function() { 18034 this._mainGroup.removeAll(), this._data = null; 18035 }, e.type = "tree", e; 18036}(Pt); 18037function QS(r, e) { 18038 var t = r.getItemLayout(e); 18039 return t && !isNaN(t.x) && !isNaN(t.y); 18040} 18041function tx(r, e, t, a, n) { 18042 var i = !t, o = r.tree.getNodeByDataIndex(e), s = o.getModel(), l = o.getVisual("style").fill, u = o.isExpand === false && o.children.length !== 0 ? l : "#fff", f = r.tree.root, h = o.parentNode === f ? o : o.parentNode || o, v = r.getItemGraphicEl(h.dataIndex), c = h.getLayout(), p = v ? { x: v.__oldX, y: v.__oldY, rawX: v.__radialOldRawX, rawY: v.__radialOldRawY } : c, d = o.getLayout(); 18043 i ? (t = new Wl(r, e, null, { symbolInnerColor: u, useNameLabel: true }), t.x = p.x, t.y = p.y) : t.updateData(r, e, null, { symbolInnerColor: u, useNameLabel: true }), t.__radialOldRawX = t.__radialRawX, t.__radialOldRawY = t.__radialRawY, t.__radialRawX = d.rawX, t.__radialRawY = d.rawY, a.add(t), r.setItemGraphicEl(e, t), t.__oldX = t.x, t.__oldY = t.y, Tt(t, { x: d.x, y: d.y }, n); 18044 var g = t.getSymbolPath(); 18045 if (n.get("layout") === "radial") { 18046 var y = f.children[0], m = y.getLayout(), _ = y.children.length, S = void 0, b = void 0; 18047 if (d.x === m.x && o.isExpand === true && y.children.length) { 18048 var x = { x: (y.children[0].getLayout().x + y.children[_ - 1].getLayout().x) / 2, y: (y.children[0].getLayout().y + y.children[_ - 1].getLayout().y) / 2 }; 18049 S = Math.atan2(x.y - m.y, x.x - m.x), S < 0 && (S = Math.PI * 2 + S), b = x.x < m.x, b && (S = S - Math.PI); 18050 } else S = Math.atan2(d.y - m.y, d.x - m.x), S < 0 && (S = Math.PI * 2 + S), o.children.length === 0 || o.children.length !== 0 && o.isExpand === false ? (b = d.x < m.x, b && (S = S - Math.PI)) : (b = d.x > m.x, b || (S = S - Math.PI)); 18051 var w = b ? "left" : "right", T = s.getModel("label"), C = T.get("rotate"), A = C * (Math.PI / 180), M = g.getTextContent(); 18052 M && (g.setTextConfig({ position: T.get("position") || w, rotation: C == null ? -S : A, origin: "center" }), M.setStyle("verticalAlign", "middle")); 18053 } 18054 var I = s.get(["emphasis", "focus"]), L = I === "relative" ? go(o.getAncestorsIndices(), o.getDescendantIndices()) : I === "ancestor" ? o.getAncestorsIndices() : I === "descendant" ? o.getDescendantIndices() : null; 18055 L && (it(t).focus = L), mF(n, o, f, t, p, c, d, a), t.__edge && (t.onHoverStateChange = function(P) { 18056 if (P !== "blur") { 18057 var R = o.parentNode && r.getItemGraphicEl(o.parentNode.dataIndex); 18058 R && R.hoverState === Ol || Rf(t.__edge, P); 18059 } 18060 }); 18061} 18062function mF(r, e, t, a, n, i, o, s) { 18063 var l = e.getModel(), u = r.get("edgeShape"), f = r.get("layout"), h = r.getOrient(), v = r.get(["lineStyle", "curveness"]), c = r.get("edgeForkPosition"), p = l.getModel("lineStyle").getLineStyle(), d = a.__edge; 18064 if (u === "curve") e.parentNode && e.parentNode !== t && (d || (d = a.__edge = new Po({ shape: Zd(f, h, v, n, n) })), Tt(d, { shape: Zd(f, h, v, i, o) }, r)); 18065 else if (u === "polyline" && f === "orthogonal" && e !== t && e.children && e.children.length !== 0 && e.isExpand === true) { 18066 for (var g = e.children, y = [], m = 0; m < g.length; m++) { 18067 var _ = g[m].getLayout(); 18068 y.push([_.x, _.y]); 18069 } 18070 d || (d = a.__edge = new gF({ shape: { parentPoint: [o.x, o.y], childPoints: [[o.x, o.y]], orient: h, forkPosition: c } })), Tt(d, { shape: { parentPoint: [o.x, o.y], childPoints: y } }, r); 18071 } 18072 d && !(u === "polyline" && !e.isExpand) && (d.useStyle(Q({ strokeNoScale: true, fill: null }, p)), pe(d, l, "lineStyle"), ci(d), s.add(d)); 18073} 18074function ex(r, e, t, a, n) { 18075 var i = e.tree.root, o = UM(i, r), s = o.source, l = o.sourceLayout, u = e.getItemGraphicEl(r.dataIndex); 18076 if (u) { 18077 var f = e.getItemGraphicEl(s.dataIndex), h = f.__edge, v = u.__edge || (s.isExpand === false || s.children.length === 1 ? h : void 0), c = a.get("edgeShape"), p = a.get("layout"), d = a.get("orient"), g = a.get(["lineStyle", "curveness"]); 18078 v && (c === "curve" ? rn(v, { shape: Zd(p, d, g, l, l), style: { opacity: 0 } }, a, { cb: function() { 18079 t.remove(v); 18080 }, removeOpt: n }) : c === "polyline" && a.get("layout") === "orthogonal" && rn(v, { shape: { parentPoint: [l.x, l.y], childPoints: [[l.x, l.y]] }, style: { opacity: 0 } }, a, { cb: function() { 18081 t.remove(v); 18082 }, removeOpt: n })); 18083 } 18084} 18085function UM(r, e) { 18086 for (var t = e.parentNode === r ? e : e.parentNode || e, a; a = t.getLayout(), a == null; ) t = t.parentNode === r ? t : t.parentNode || t; 18087 return { source: t, sourceLayout: a }; 18088} 18089function rx(r, e, t, a, n) { 18090 var i = r.tree.getNodeByDataIndex(e), o = r.tree.root, s = UM(o, i).sourceLayout, l = { duration: n.get("animationDurationUpdate"), easing: n.get("animationEasingUpdate") }; 18091 rn(t, { x: s.x + 1, y: s.y + 1 }, n, { cb: function() { 18092 a.remove(t), r.setItemGraphicEl(e, null); 18093 }, removeOpt: l }), t.fadeOut(null, r.hostModel, { fadeLabel: true, animation: l }
18093), i.children.forEach(function(u) { 18094 ex(u, r, a, n, l); 18095 }), ex(i, r, a, n, l); 18096} 18097function Zd(r, e, t, a, n) { 18098 var i, o, s, l, u, f, h, v; 18099 if (r === "radial") { 18100 u = a.rawX, h = a.rawY, f = n.rawX, v = n.rawY; 18101 var c = Ls(u, h), p = Ls(u, h + (v - h) * t), d = Ls(f, v + (h - v) * t), g = Ls(f, v); 18102 return { x1: c.x || 0, y1: c.y || 0, x2: g.x || 0, y2: g.y || 0, cpx1: p.x || 0, cpy1: p.y || 0, cpx2: d.x || 0, cpy2: d.y || 0 }; 18103 } else u = a.x, h = a.y, f = n.x, v = n.y, (e === "LR" || e === "RL") && (i = u + (f - u) * t, o = h, s = f + (u - f) * t, l = v), (e === "TB" || e === "BT") && (i = u, o = h + (v - h) * t, s = f, l = v + (h - v) * t); 18104 return { x1: u, y1: h, x2: f, y2: v, cpx1: i, cpy1: o, cpx2: s, cpy2: l }; 18105} 18106var fr = bt(); 18107function YM(r) { 18108 var e = r.mainData, t = r.datas; 18109 t || (t = { main: e }, r.datasAttr = { main: "data" }), r.datas = r.mainData = null, $M(e, t, r), D(t, function(a) { 18110 D(e.TRANSFERABLE_METHODS, function(n) { 18111 a.wrapMethod(n, lt(_F, r)); 18112 }); 18113 }), e.wrapMethod("cloneShallow", lt(xF, r)), D(e.CHANGABLE_METHODS, function(a) { 18114 e.wrapMethod(a, lt(SF, r)); 18115 }), we(t[e.dataType] === e); 18116} 18117function _F(r, e) { 18118 if (TF(this)) { 18119 var t = z({}, fr(this).datas); 18120 t[this.dataType] = e, $M(e, t, r); 18121 } else im(e, this.dataType, fr(this).mainData, r); 18122 return e; 18123} 18124function SF(r, e) { 18125 return r.struct && r.struct.update(), e; 18126} 18127function xF(r, e) { 18128 return D(fr(e).datas, function(t, a) { 18129 t !== e && im(t.cloneShallow(), a, e, r); 18130 }), e; 18131} 18132function bF(r) { 18133 var e = fr(this).mainData; 18134 return r == null || e == null ? e : fr(e).datas[r]; 18135} 18136function wF() { 18137 var r = fr(this).mainData; 18138 return r == null ? [{ data: r }] : G(_t(fr(r).datas), function(e) { 18139 return { type: e, data: fr(r).datas[e] }; 18140 }); 18141} 18142function TF(r) { 18143 return fr(r).mainData === r; 18144} 18145function $M(r, e, t) { 18146 fr(r).datas = {}, D(e, function(a, n) { 18147 im(a, n, r, t); 18148 }); 18149} 18150function im(r, e, t, a) { 18151 fr(t).datas[e] = r, fr(r).mainData = t, r.dataType = e, a.struct && (r[a.structAttr] = a.struct, a.struct[a.datasAttr[e]] = r), r.getLinkedData = bF, r.getLinkedDataAll = wF; 18152} 18153var CF = function() { 18154 function r(e, t) { 18155 this.depth = 0, this.height = 0, this.dataIndex = -1, this.children = [], this.viewChildren = [], this.isExpand = false, this.name = e || "", this.hostTree = t; 18156 } 18157 return r.prototype.isRemoved = function() { 18158 return this.dataIndex < 0; 18159 }, r.prototype.eachNode = function(e, t, a) { 18160 j(e) && (a = t, t = e, e = null), e = e || {}, Y(e) && (e = { order: e }); 18161 var n = e.order || "preorder", i = this[e.attr || "children"], o; 18162 n === "preorder" && (o = t.call(a, this)); 18163 for (var s = 0; !o && s < i.length; s++) i[s].eachNode(e, t, a); 18164 n === "postorder" && t.call(a, this); 18165 }, r.prototype.updateDepthAndHeight = function(e) { 18166 var t = 0; 18167 this.depth = e; 18168 for (var a = 0; a < this.children.length; a++) { 18169 var n = this.children[a]; 18170 n.updateDepthAndHeight(e + 1), n.height > t && (t = n.height); 18171 } 18172 this.height = t + 1; 18173 }, r.prototype.getNodeById = function(e) { 18174 if (this.getId() === e) return this; 18175 for (var t = 0, a = this.children, n = a.length; t < n; t++) { 18176 var i = a[t].getNodeById(e); 18177 if (i) return i; 18178 } 18179 }, r.prototype.contains = function(e) { 18180 if (e === this) return true; 18181 for (var t = 0, a = this.children, n = a.length; t < n; t++) { 18182 var i = a[t].contains(e); 18183 if (i) return i; 18184 } 18185 }, r.prototype.getAncestors = function(e) { 18186 for (var t = [], a = e ? this : this.parentNode; a; ) t.push(a), a = a.parentNode; 18187 return t.reverse(), t; 18188 }, r.prototype.getAncestorsIndices = function() { 18189 for (var e = [], t = this; t; ) e.push(t.dataIndex), t = t.parentNode; 18190 return e.reverse(), e; 18191 }, r.prototype.getDescendantIndices = function() { 18192 var e = []; 18193 return this.eachNode(function(t) { 18194 e.push(t.dataIndex); 18195 }), e; 18196 }, r.prototype.getValue = function(e) { 18197 var t = this.hostTree.data; 18198 return t.getStore().get(t.getDimensionIndex(e || "value"), this.dataIndex); 18199 }, r.prototype.setLayout = function(e, t) { 18200 this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, e, t); 18201 }, r.prototype.getLayout = function() { 18202 return this.hostTree.data.getItemLayout(this.dataIndex); 18203 }, r.prototype.getModel = function(e) { 18204 if (!(this.dataIndex < 0)) { 18205 var t = this.hostTree, a = t.data.getItemModel(this.dataIndex); 18206 return a.getModel(e); 18207 } 18208 }, r.prototype.getLevelModel = function() { 18209 return (this.hostTree.levelModels || [])[this.depth]; 18210 }, r.prototype.setVisual = function(e, t) { 18211 this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, e, t); 18212 }, r.prototype.getVisual = function(e) { 18213 return this.hostTree.data.getItemVisual(this.dataIndex, e); 18214 }, r.prototype.getRawIndex = function() { 18215 return this.hostTree.data.getRawIndex(this.dataIndex); 18216 }, r.prototype.getId = function() { 18217 return this.hostTree.data.getId(this.dataIndex); 18218 }, r.prototype.getChildIndex = function() { 18219 if (this.parentNode) { 18220 for (var e = this.parentNode.children, t = 0; t < e.length; ++t) if (e[t] === this) return t; 18221 return -1; 18222 } 18223 return -1; 18224 }, r.prototype.isAncestorOf = function(e) { 18225 for (var t = e.parentNode; t; ) { 18226 if (t === this) return true; 18227 t = t.parentNode; 18228 } 18229 return false;
18230 }, r.prototype.isDescendantOf = function(e) { 18231 return e !== this && e.isAncestorOf(this); 18232 }, r; 18233}(), om = function() { 18234 function r(e) { 18235 this.type = "tree", this._nodes = [], this.hostModel = e; 18236 } 18237 return r.prototype.eachNode = function(e, t, a) { 18238 this.root.eachNode(e, t, a); 18239 }, r.prototype.getNodeByDataIndex = function(e) { 18240 var t = this.data.getRawIndex(e); 18241 return this._nodes[t]; 18242 }, r.prototype.getNodeById = function(e) { 18243 return this.root.getNodeById(e); 18244 }, r.prototype.update = function() { 18245 for (var e = this.data, t = this._nodes, a = 0, n = t.length; a < n; a++) t[a].dataIndex = -1; 18246 for (var a = 0, n = e.count(); a < n; a++) t[e.getRawIndex(a)].dataIndex = a; 18247 }, r.prototype.clearLayouts = function() { 18248 this.data.clearItemLayouts(); 18249 }, r.createTree = function(e, t, a) { 18250 var n = new r(t), i = [], o = 1; 18251 s(e); 18252 function s(f, h) { 18253 var v = f.value; 18254 o = Math.max(o, V(v) ? v.length : 1), i.push(f); 18255 var c = new CF(te(f.name, ""), n); 18256 h ? AF(c, h) : n.root = c, n._nodes.push(c); 18257 var p = f.children; 18258 if (p) for (var d = 0; d < p.length; d++) s(p[d], c); 18259 } 18260 n.root.updateDepthAndHeight(0); 18261 var l = Wo(i, { coordDimensions: ["value"], dimensionsCount: o }).dimensions, u = new be(l, t); 18262 return u.initData(i), a && a(u), YM({ mainData: u, struct: n, structAttr: "tree" }), n.update(), n; 18263 }, r; 18264}(); 18265function AF(r, e) { 18266 var t = e.children; 18267 r.parentNode !== e && (t.push(r), r.parentNode = e); 18268} 18269function xl(r, e, t) { 18270 if (r && vt(e, r.type) >= 0) { 18271 var a = t.getData().tree.root, n = r.targetNode; 18272 if (Y(n) && (n = a.getNodeById(n)), n && a.contains(n)) return { node: n }; 18273 var i = r.targetNodeId; 18274 if (i != null && (n = a.getNodeById(i))) return { node: n }; 18275 } 18276} 18277function XM(r) { 18278 for (var e = []; r; ) r = r.parentNode, r && e.push(r); 18279 return e.reverse(); 18280} 18281function sm(r, e) { 18282 var t = XM(r); 18283 return vt(t, e) >= 0; 18284} 18285function av(r, e) { 18286 for (var t = []; r; ) { 18287 var a = r.dataIndex; 18288 t.push({ name: r.name, dataIndex: a, value: e.getRawValue(a) }), r = r.parentNode; 18289 } 18290 return t.reverse(), t; 18291} 18292var DF = function(r) { 18293 N(e, r); 18294 function e() { 18295 var t = r !== null && r.apply(this, arguments) || this; 18296 return t.hasSymbolVisual = true, t.ignoreStyleOnData = true, t; 18297 } 18298 return e.prototype.getInitialData = function(t) { 18299 var a = { name: t.name, children: t.data }, n = t.leaves || {}, i = new At(n, this, this.ecModel), o = om.createTree(a, this, s); 18300 function s(h) { 18301 h.wrapMethod("getItemModel", function(v, c) { 18302 var p = o.getNodeByDataIndex(c); 18303 return p && p.children.length && p.isExpand || (v.parentModel = i), v; 18304 }); 18305 } 18306 var l = 0; 18307 o.eachNode("preorder", function(h) { 18308 h.depth > l && (l = h.depth); 18309 }); 18310 var u = t.expandAndCollapse, f = u && t.initialTreeDepth >= 0 ? t.initialTreeDepth : l; 18311 return o.root.eachNode("preorder", function(h) { 18312 var v = h.hostTree.data.getRawDataItem(h.dataIndex); 18313 h.isExpand = v && v.collapsed != null ? !v.collapsed : h.depth <= f; 18314 }), o.data; 18315 }, e.prototype.getOrient = function() { 18316 var t = this.get("orient"); 18317 return t === "horizontal" ? t = "LR" : t === "vertical" && (t = "TB"), t; 18318 }, e.prototype.setZoom = function(t) { 18319 this.option.zoom = t; 18320 }, e.prototype.setCenter = function(t) { 18321 this.option.center = t; 18322 }, e.prototype.formatTooltip = function(t, a, n) { 18323 for (var i = this.getData().tree, o = i.root.children[0], s = i.getNodeByDataIndex(t), l = s.getValue(), u = s.name; s && s !== o; ) u = s.parentNode.name + "." + u, s = s.parentNode; 18324 return le("nameValue", { name: u, value: l, noValue: isNaN(l) || l == null }); 18325 }, e.prototype.getDataParams = function(t) { 18326 var a = r.prototype.getDataParams.apply(this, arguments), n = this.getData().tree.getNodeByDataIndex(t); 18327 return a.treeAncestors = av(n, this), a.collapsed = !n.isExpand, a; 18328 }, e.type = "series.tree", e.layoutMode = "box", e.defaultOption = { z: 2, coordinateSystem: "view", left: "12%", top: "12%", right: "12%", bottom: "12%", layout: "orthogonal", edgeShape: "curve", edgeForkPosition: "50%", roam: false, nodeScaleRatio: 0.4, center: null, zoom: 1, orient: "LR", symbol: "emptyCircle", symbolSize: 7, expandAndCollapse: true, initialTreeDepth: 2, lineStyle: { color: "#ccc", width: 1.5, curveness: 0.5 }, itemStyle: { color: "lightsteelblue", borderWidth: 1.5 }, label: { show: true }, animationEasing: "linear", animationDuration: 700, animationDurationUpdate: 500 }, e; 18329}(Et); 18330function MF(r, e, t) { 18331 for (var a = [r], n = [], i; i = a.pop(); ) if (n.push(i), i.isExpand) { 18332 var o = i.children; 18333 if (o.length) for (var s = 0; s < o.length; s++) a.push(o[s]); 18334 } 18335 for (; i = n.pop(); ) e(i, t); 18336} 18337function ps(r, e) { 18338 for (var t = [r], a; a = t.pop(); ) if (e(a), a.isExpand) { 18339 var n = a.children; 18340 if (n.length) for (var i = n.length - 1; i >= 0; i--) t.push(n[i]); 18341 } 18342} 18343function IF(r, e) { 18344 r.eachSeriesByType("tree", function(t) { 18345 LF(t, e); 18346 }); 18347} 18348function LF(r, e) { 18349 var t = uF(r, e); 18350 r.layoutInfo = t; 18351 var a = r.get("layout"), n = 0, i = 0, o = null; 18352 a === "radial" ? (n = 2 * Math.PI, i = Math.min(t.height, t.width) / 2, o = JS(function(_, S) { 18353 return (_.parentNode === S.parentNode ? 1 : 2) / _.depth; 18354 })) : (n = t.width, i = t.height, o = JS()); 18355 var s = r.getData().tree.root, l = s.children[0]; 18356 if (l) { 18357 oF(s), MF(l, sF, o), s.hierNode.modifier = -l.hierNode.prelim, ps(l, lF); 18358 var u = l, f = l, h = l; 18359 ps(l, function(_) { 18360 var S = _.getLayout().x; 18361 S < u.getLayout().x && (u = _), S > f.getLayout().x && (f = _), _.depth > h.depth && (h = _); 18362 }); 18363 var v = u === f ? 1 : o(u, f) / 2, c = v - u.getLayout().x, p = 0, d = 0, g = 0, y = 0; 18364 if (a === "radial") p = n / (f.getLayout().x + v + c), d = i / (h.depth - 1 || 1), ps(l, function(_) { 18365 g = (_.getLayout().x + c) * p, y = (_.depth - 1) * d; 18366 var S = Ls(g, y); 18367 _.setLayout({ x: S.x, y: S.y, rawX: g, rawY: y }, true); 18368 }); 18369 else { 18370 var m = r.getOrient(); 18371 m === "RL" || m === "LR" ? (d = i / (f.getLayout().x + v + c), p = n / (h.depth - 1 || 1), ps(l, function(_) { 18372 y = (_.getLayout().x + c) * d, g = m === "LR" ? (_.depth - 1) * p : n - (_.depth - 1) * p, _.setLayout({ x: g, y }, true); 18373 })) : (m === "TB" || m === "BT") && (p = n / (f.getLayout().x + v + c), d = i / (h.depth - 1 || 1), ps(l, function(_) { 18374 g = (_.getLayout().x + c) * p, y = m === "TB" ? (_.depth - 1) * d : i - (_.depth - 1) * d, _.setLayout({ x: g, y }, true); 18375 })); 18376 } 18377 } 18378} 18379function PF(r) { 18380 r.eachSeriesByType("tree", function(e) { 18381 var t = e.getData(), a = t.tree; 18382 a.eachNode(function(n) { 18383 var i = n.getModel(), o = i.getModel("itemStyle").getItemStyle(), s = t.ensureUniqueItemVisual(n.dataIndex, "style"); 18384 z(s, o); 18385 }); 18386 }); 18387} 18388function RF(r) { 18389 r.registerAction({ type: "treeExpandAndCollapse", event: "treeExpandAndCollapse", update: "update" }, function(e, t) { 18390 t.eachComponent({ mainType: "series", subType: "tree", query: e }, function(a) { 18391 var n = e.dataIndex, i = a.getData().tree, o = i.getNodeByDataIndex(n); 18392 o.isExpand = !o.isExpand; 18393 }); 18394 }), r.registerAction({ type: "treeRoam", event: "treeRoam", update: "none" }, function(e, t, a) { 18395 t.eachComponent({ mainType: "series", subType: "tree", query: e }, function(n) { 18396 var i = n.coordinateSystem, o = nm(i, e, void 0, a); 18397 n.setCenter && n.setCenter(o.center), n.setZoom && n.setZoom(o.zoom); 18398 }); 18399 }); 18400} 18401function EF(r) { 18402 r.registerChartView(yF), r.registerSeriesModel(DF), r.registerLayout(IF), r.registerVisual(PF), RF(r); 18403} 18404var ax = ["treemapZoomToNode", "treemapRender", "treemapMove"]; 18405function kF(r) { 18406 for (var e = 0; e < ax.length; e++) r.registerAction({ type: ax[e], update: "updateView" }, $t); 18407 r.registerAction({ type: "treemapRootToNode", update: "updateView" }, function(t, a) { 18408 a.eachComponent({ mainType: "series", subType: "treemap", query: t }, n); 18409 function n(i, o) { 18410 var s = ["treemapZoomToNode", "treemapRootToNode"], l = xl(t, s, i); 18411 if (l) { 18412 var u = i.getViewRoot(); 18413 u && (t.direction = sm(u, l.node) ? "rollUp" : "drillDown"), i.resetViewRoot(l.node); 18414 } 18415 } 18416 }); 18417} 18418function ZM(r) { 18419 var e = r.getData(), t = e.tree, a = {}; 18420 t.eachNode(function(n) { 18421 for (var i = n; i && i.depth > 1; ) i = i.parentNode; 18422 var o = xd(r.ecModel, i.name || i.dataIndex + "", a); 18423 n.setVisual("decal", o); 18424 }); 18425} 18426var OF = function(r) { 18427 N(e, r); 18428 function e() { 18429 var t = r !== null && r.apply(this, arguments) || this; 18430 return t.type = e.type, t.preventUsingHoverLayer = true, t; 18431 } 18432 return e.prototype.getInitialData = function(t, a) { 18433 var n = { name: t.name, children: t.data }; 18434 qM(n); 18435 var i = t.levels || [], o = this.designatedVisualItemStyle = {}, s = new At({ itemStyle: o }, this, a); 18436 i = t.levels = NF(i, a); 18437 var l = G(i || [], function(h) { 18438 return new At(h, s, a); 18439 }, this), u = om.createTree(n, this, f); 18440 function f(h) { 18441 h.wrapMethod("getItemModel", function(v, c) { 18442 var p = u.getNodeByDataIndex(c), d = p ? l[p.depth] : null; 18443 return v.parentModel = d || s, v; 18444 }); 18445 } 18446 return u.data; 18447 }, e.prototype.optionUpdated = function() { 18448 this.resetViewRoot(); 18449 }, e.prototype.formatTooltip = function(t, a, n) { 18450 var i = this.getData(), o = this.getRawValue(t), s = i.getName(t); 18451 return le("nameValue", { name: s, value: o }); 18452 }, e.prototype.getDataParams = function(t) { 18453 var a = r.prototype.getDataParams.apply(this, arguments), n = this.getData().tree.getNodeByDataIndex(t); 18454 return a.treeAncestors = av(n, this), a.treePathInfo = a.treeAncestors, a; 18455 }, e.prototype.setLayoutInfo = function(t) { 18456 this.layoutInfo = this.layoutInfo || {}, z(this.layoutInfo, t); 18457 }, e.prototype.mapIdToIndex = function(t) { 18458 var a = this._idIndexMap; 18459 a || (a = this._idIndexMap = Z(), this._idIndexMapCount = 0); 18460 var n = a.get(t); 18461 return n == null && a.set(t, n = this._idIndexMapCount++), n; 18462 }, e.prototype.getViewRoot = function() { 18463 return this._viewRoot; 18464 }, e.prototype.resetViewRoot = function(t) { 18465 t ? this._viewRoot = t : t = this._viewRoot; 18466 var a = this.getRawData().tree.root; 18467 (!t || t !== a && !a.contains(t)) && (this._viewRoot = a); 18468 }, e.prototype.enableAriaDecal = function() { 18469 ZM(this); 18470 }, e.type = "series.treemap", e.layoutMode = "box", e.defaultOption = { progressive: 0, left: "center", top: "middle", width: "80%", height: "80%", sort: true, clipWindow: "origin", squareRatio: 0.5 * (1 + Math.sqrt(5)), leafDepth: null, drillDownIcon: "\u25B6", zoomToNodeRatio: 0.32 * 0.32, scaleLimit: null, roam: true, nodeClick: "zoomToNode", animation: true, animationDurationUpdate: 900, animationEasing: "quinticInOut", breadcrumb: { show: true, height: 22, left: "center", top: "bottom", emptyItemWidth: 25, itemStyle: { color: "rgba(0,0,0,0.7)", textStyle: { color: "#fff" } }, emphasis: { itemStyle: { color: "rgba(0,0,0,0.9)" } } }, label: { show: true, distance: 0, padding: 5, position: "inside", color: "#fff", overflow: "truncate" }, upperLabel: { show: false, position: [0, "50%"], height: 20, overflow: "truncate", verticalAlign: "middle" }, itemStyle: { color: null, colorAlpha: null, colorSaturation: null, borderWidth: 0, gapWidth: 0, borderColor: "#fff", borderColorSaturation: null }, emphasis: { upperLabel: { show: true, position: [0, "50%"], overflow: "truncate", verticalAlign: "middle" } }
18470, visualDimension: 0, visualMin: null, visualMax: null, color: [], colorAlpha: null, colorSaturation: null, colorMappingBy: "index", visibleMin: 10, childrenVisibleMin: null, levels: [] }, e; 18471}(Et); 18472function qM(r) { 18473 var e = 0; 18474 D(r.children, function(a) { 18475 qM(a); 18476 var n = a.value; 18477 V(n) && (n = n[0]), e += n; 18478 }); 18479 var t = r.value; 18480 V(t) && (t = t[0]), (t == null || isNaN(t)) && (t = e), t < 0 && (t = 0), V(r.value) ? r.value[0] = t : r.value = t; 18481} 18482function NF(r, e) { 18483 var t = Rt(e.get("color")), a = Rt(e.get(["aria", "decal", "decals"])); 18484 if (t) { 18485 r = r || []; 18486 var n, i; 18487 D(r, function(s) { 18488 var l = new At(s), u = l.get("color"), f = l.get("decal"); 18489 (l.get(["itemStyle", "color"]) || u && u !== "none") && (n = true), (l.get(["itemStyle", "decal"]) || f && f !== "none") && (i = true); 18490 }); 18491 var o = r[0] || (r[0] = {}); 18492 return n || (o.color = t.slice()), !i && a && (o.decal = a.slice()), r; 18493 } 18494} 18495var BF = 8, nx = 8, zc = 5, zF = function() { 18496 function r(e) { 18497 this.group = new at(), e.add(this.group); 18498 } 18499 return r.prototype.render = function(e, t, a, n) { 18500 var i = e.getModel("breadcrumb"), o = this.group; 18501 if (o.removeAll(), !(!i.get("show") || !a)) { 18502 var s = i.getModel("itemStyle"), l = i.getModel("emphasis"), u = s.getModel("textStyle"), f = l.getModel(["itemStyle", "textStyle"]), h = { pos: { left: i.get("left"), right: i.get("right"), top: i.get("top"), bottom: i.get("bottom") }, box: { width: t.getWidth(), height: t.getHeight() }, emptyItemWidth: i.get("emptyItemWidth"), totalWidth: 0, renderList: [] }; 18503 this._prepare(a, h, u), this._renderContent(e, h, s, l, u, f, n), Wh(o, h.pos, h.box); 18504 } 18505 }, r.prototype._prepare = function(e, t, a) { 18506 for (var n = e; n; n = n.parentNode) { 18507 var i = te(n.getModel().get("name"), ""), o = a.getTextRect(i), s = Math.max(o.width + BF * 2, t.emptyItemWidth); 18508 t.totalWidth += s + nx, t.renderList.push({ node: n, text: i, width: s }); 18509 } 18510 }, r.prototype._renderContent = function(e, t, a, n, i, o, s) { 18511 for (var l = 0, u = t.emptyItemWidth, f = e.get(["breadcrumb", "height"]), h = Lk(t.pos, t.box), v = t.totalWidth, c = t.renderList, p = n.getModel("itemStyle").getItemStyle(), d = c.length - 1; d >= 0; d--) { 18512 var g = c[d], y = g.node, m = g.width, _ = g.text; 18513 v > h.width && (v -= m - u, m = u, _ = null); 18514 var S = new Ce({ shape: { points: VF(l, 0, m, f, d === c.length - 1, d === 0) }, style: Q(a.getItemStyle(), { lineJoin: "bevel" }), textContent: new St({ style: Nt(i, { text: _ }) }), textConfig: { position: "inside" }, z2: Io * 1e4, onclick: lt(s, y) }); 18515 S.disableLabelAnimation = true, S.getTextContent().ensureState("emphasis").style = Nt(o, { text: _ }), S.ensureState("emphasis").style = p, Wt(S, n.get("focus"), n.get("blurScope"), n.get("disabled")), this.group.add(S), GF(S, e, y), l += m + nx; 18516 } 18517 }, r.prototype.remove = function() { 18518 this.group.removeAll(); 18519 }, r; 18520}(); 18521function VF(r, e, t, a, n, i) { 18522 var o = [[n ? r : r - zc, e], [r + t, e], [r + t, e + a], [n ? r : r - zc, e + a]]; 18523 return !i && o.splice(2, 0, [r + t + zc, e + a / 2]), !n && o.push([r, e + a / 2]), o; 18524} 18525function GF(r, e, t) { 18526 it(r).eventData = { componentType: "series", componentSubType: "treemap", componentIndex: e.componentIndex, seriesIndex: e.seriesIndex, seriesName: e.name, seriesType: "treemap", selfType: "breadcrumb", nodeData: { dataIndex: t && t.dataIndex, name: t && t.name }, treePathInfo: t && av(t, e) }; 18527} 18528var FF = function() { 18529 function r() { 18530 this._storage = [], this._elExistsMap = {}; 18531 } 18532 return r.prototype.add = function(e, t, a, n, i) { 18533 return this._elExistsMap[e.id] ? false : (this._elExistsMap[e.id] = true, this._storage.push({ el: e, target: t, duration: a, delay: n, easing: i }), true); 18534 }, r.prototype.finished = function(e) { 18535 return this._finishedCallback = e, this; 18536 }, r.prototype.start = function() { 18537 for (var e = this, t = this._storage.length, a = function() { 18538 t--, t <= 0 && (e._storage.length = 0, e._elExistsMap = {}, e._finishedCallback && e._finishedCallback()); 18539 }, n = 0, i = this._storage.length; n < i; n++) { 18540 var o = this._storage[n]; 18541 o.el.animateTo(o.target, { duration: o.duration, delay: o.delay, easing: o.easing, setToFinal: true, done: a, aborted: a }); 18542 } 18543 return this; 18544 }, r; 18545}(); 18546function HF() { 18547 return new FF(); 18548} 18549var qd = at, ix = xt, ox = 3, sx = "label", lx = "upperLabel", WF = Io * 10, UF = Io * 2, YF = Io * 3, Vn = vi([["fill", "color"], ["stroke", "strokeColor"], ["lineWidth", "strokeWidth"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"]]), ux = function(r) { 18550 var e = Vn(r); 18551 return e.stroke = e.fill = e.lineWidth = null, e; 18552}, rh = bt(), $F = function(r) { 18553 N(e, r); 18554 function e() { 18555 var t = r !== null && r.apply(this, arguments) || this; 18556 return t.type = e.type, t._state = "ready", t._storage = ds(), t; 18557 } 18558 return e.prototype.render = function(t, a, n, i) { 18559 var o = a.findComponents({ mainType: "series", subType: "treemap", query: i }); 18560 if (!(vt(o, t) < 0)) { 18561 this.seriesModel = t, this.api = n, this.ecModel = a; 18562 var s = ["treemapZoomToNode", "treemapRootToNode"], l = xl(i, s, t), u = i && i.type, f = t.layoutInfo, h = !this._oldTree, v = this._storage, c = u === "treemapRootToNode" && l && v ? { rootNodeGroup: v.nodeGroup[l.node.getRawIndex()], direction: i.direction } : null, p = this._giveContainerGroup(f), d = t.get("animation"), g = this._doRender(p, t, c); 18563 d && !h && (!u || u === "treemapZoomToNode" || u === "treemapRootToNode") ? this._doAnimation(p, g, t, c) : g.renderFinally(), this._resetController(n), this._renderBreadcrumb(t, n, l); 18564 } 18565 }, e.prototype._giveContainerGroup = function(t) { 18566 var a = this._containerGroup; 18567 return a || (a = this._containerGroup = new qd(), this._initEvents(a), this.group.add(a)), a.x = t.x, a.y = t.y, a; 18568 }, e.prototype._doRender = function(t, a, n) { 18569 var i = a.getData().tree, o = this._oldTree, s = ds(), l = ds(), u = this._storage, f = []; 18570 function h(m, _, S, b) { 18571 return XF(a, l, u, n, s, f, m, _, S, b); 18572 } 18573 d(i.root ? [i.root] : [], o && o.root ? [o.root] : [], t, i === o || !o, 0); 18574 var v = g(u); 18575 if (this._oldTree = i, this._storage = l, this._controllerHost) { 18576 var c = this.seriesModel.layoutInfo, p = i.root.getLayout(); 18577 p.width === c.width && p.height === c.height && (this._controllerHost.zoom = 1); 18578 } 18579 return { lastsForAnimation: s, willDeleteEls: v, renderFinally: y }; 18580 function d(m, _, S, b, x) { 18581 b ? (_ = m, D(m, function(C, A) { 18582 !C.isRemoved() && T(A, A); 18583 })) : new Sa(_, m, w, w).add(T).update(T).remove(lt(T, null)).execute(); 18584 function w(C) { 18585 return C.getId(); 18586 } 18587 function T(C, A) { 18588 var M = C != null ? m[C] : null, I = A != null ? _[A] : null, L = h(M, I, S, x); 18589 L && d(M && M.viewChildren || [], I && I.viewChildren || [], L, b, x + 1); 18590 } 18591 } 18592 function g(m) { 18593 var _ = ds(); 18594 return m && D(m, function(S, b) { 18595 var x = _[b]; 18596 D(S, function(w) { 18597 w && (x.push(w), rh(w).willDelete = true); 18598 }); 18599 }), _; 18600 } 18601 function y() { 18602 D(v, function(m) { 18603 D(m, function(_) { 18604 _.parent && _.parent.remove(_); 18605 }); 18606 }), D(f, function(m) { 18607 m.invisible = true, m.dirty(); 18608 }); 18609 } 18610 }, e.prototype._doAnimation = function(t, a, n, i) { 18611 var o = n.get("animationDurationUpdate"), s = n.get("animationEasing"), l = (j(o) ? 0 : o) || 0, u = (j(s) ? null : s) || "cubicOut", f = HF(); 18612 D(a.willDeleteEls, function(h, v) { 18613 D(h, function(c, p) { 18614 if (!c.invisible) { 18615 var d = c.parent, g, y = rh(d); 18616 if (i && i.direction === "drillDown") g = d === i.rootNodeGroup ? { shape: { x: 0, y: 0, width: y.nodeWidth, height: y.nodeHeight }, style: { opacity: 0 } } : { style: { opacity: 0 } }; 18617 else { 18618 var m = 0, _ = 0; 18619 y.willDelete || (m = y.nodeWidth / 2, _ = y.nodeHeight / 2), g = v === "nodeGroup" ? { x: m, y: _, style: { opacity: 0 } } : { shape: { x: m, y: _, width: 0, height: 0 }, style: { opacity: 0 } }; 18620 } 18621 g && f.add(c, g, l, 0, u); 18622 } 18623 }); 18624 }), D(this._storage, function(h, v) { 18625 D(h, function(c, p) { 18626 var d = a.lastsForAnimation[v][p], g = {}; 18627 d && (c instanceof at ? d.oldX != null && (g.x = c.x, g.y = c.y, c.x = d.oldX, c.y = d.oldY) : (d.oldShape && (g.shape = z({}, c.shape), c.setShape(d.oldShape)), d.fadein ? (c.setStyle("opacity", 0), g.style = { opacity: 1 }
18627) : c.style.opacity !== 1 && (g.style = { opacity: 1 })), f.add(c, g, l, 0, u)); 18628 }); 18629 }, this), this._state = "animating", f.finished($(function() { 18630 this._state = "ready", a.renderFinally(); 18631 }, this)).start(); 18632 }, e.prototype._resetController = function(t) { 18633 var a = this._controller, n = this._controllerHost; 18634 n || (this._controllerHost = { target: this.group }, n = this._controllerHost), a || (a = this._controller = new ql(t.getZr()), a.enable(this.seriesModel.get("roam")), n.zoomLimit = this.seriesModel.get("scaleLimit"), n.zoom = this.seriesModel.get("zoom"), a.on("pan", $(this._onPan, this)), a.on("zoom", $(this._onZoom, this))); 18635 var i = new ht(0, 0, t.getWidth(), t.getHeight()); 18636 a.setPointerChecker(function(o, s, l) { 18637 return i.contain(s, l); 18638 }); 18639 }, e.prototype._clearController = function() { 18640 var t = this._controller; 18641 this._controllerHost = null, t && (t.dispose(), t = null); 18642 }, e.prototype._onPan = function(t) { 18643 if (this._state !== "animating" && (Math.abs(t.dx) > ox || Math.abs(t.dy) > ox)) { 18644 var a = this.seriesModel.getData().tree.root; 18645 if (!a) return; 18646 var n = a.getLayout(); 18647 if (!n) return; 18648 this.api.dispatchAction({ type: "treemapMove", from: this.uid, seriesId: this.seriesModel.id, rootRect: { x: n.x + t.dx, y: n.y + t.dy, width: n.width, height: n.height } }); 18649 } 18650 }, e.prototype._onZoom = function(t) { 18651 var a = t.originX, n = t.originY, i = t.scale; 18652 if (this._state !== "animating") { 18653 var o = this.seriesModel.getData().tree.root; 18654 if (!o) return; 18655 var s = o.getLayout(); 18656 if (!s) return; 18657 var l = new ht(s.x, s.y, s.width, s.height), u = null, f = this._controllerHost; 18658 u = f.zoomLimit; 18659 var h = f.zoom = f.zoom || 1; 18660 if (h *= i, u) { 18661 var v = u.min || 0, c = u.max || 1 / 0; 18662 h = Math.max(Math.min(c, h), v); 18663 } 18664 var p = h / f.zoom; 18665 f.zoom = h; 18666 var d = this.seriesModel.layoutInfo; 18667 a -= d.x, n -= d.y; 18668 var g = He(); 18669 Pr(g, g, [-a, -n]), Th(g, g, [p, p]), Pr(g, g, [a, n]), l.applyTransform(g), this.api.dispatchAction({ type: "treemapRender", from: this.uid, seriesId: this.seriesModel.id, rootRect: { x: l.x, y: l.y, width: l.width, height: l.height } }); 18670 } 18671 }, e.prototype._initEvents = function(t) { 18672 var a = this; 18673 t.on("click", function(n) { 18674 if (a._state === "ready") { 18675 var i = a.seriesModel.get("nodeClick", true); 18676 if (i) { 18677 var o = a.findTarget(n.offsetX, n.offsetY); 18678 if (o) { 18679 var s = o.node; 18680 if (s.getLayout().isLeafRoot) a._rootToNode(o); 18681 else if (i === "zoomToNode") a._zoomToNode(o); 18682 else if (i === "link") { 18683 var l = s.hostTree.data.getItemModel(s.dataIndex), u = l.get("link", true), f = l.get("target", true) || "blank"; 18684 u && zf(u, f); 18685 } 18686 } 18687 } 18688 } 18689 }, this); 18690 }, e.prototype._renderBreadcrumb = function(t, a, n) { 18691 var i = this; 18692 n || (n = t.get("leafDepth", true) != null ? { node: t.getViewRoot() } : this.findTarget(a.getWidth() / 2, a.getHeight() / 2), n || (n = { node: t.getData().tree.root })), (this._breadcrumb || (this._breadcrumb = new zF(this.group))).render(t, a, n.node, function(o) { 18693 i._state !== "animating" && (sm(t.getViewRoot(), o) ? i._rootToNode({ node: o }) : i._zoomToNode({ node: o })); 18694 }); 18695 }, e.prototype.remove = function() { 18696 this._clearController(), this._containerGroup && this._containerGroup.removeAll(), this._storage = ds(), this._state = "ready", this._breadcrumb && this._breadcrumb.remove(); 18697 }, e.prototype.dispose = function() { 18698 this._clearController(); 18699 }, e.prototype._zoomToNode = function(t) { 18700 this.api.dispatchAction({ type: "treemapZoomToNode", from: this.uid, seriesId: this.seriesModel.id, targetNode: t.node }); 18701 }, e.prototype._rootToNode = function(t) { 18702 this.api.dispatchAction({ type: "treemapRootToNode", from: this.uid, seriesId: this.seriesModel.id, targetNode: t.node }); 18703 }, e.prototype.findTarget = function(t, a) { 18704 var n, i = this.seriesModel.getViewRoot(); 18705 return i.eachNode({ attr: "viewChildren", order: "preorder" }, function(o) { 18706 var s = this._storage.background[o.getRawIndex()]; 18707 if (s) { 18708 var l = s.transformCoordToLocal(t, a), u = s.shape; 18709 if (u.x <= l[0] && l[0] <= u.x + u.width && u.y <= l[1] && l[1] <= u.y + u.height) n = { node: o, offsetX: l[0], offsetY: l[1] }; 18710 else return false;
18711 } 18712 }, this), n; 18713 }, e.type = "treemap", e; 18714}(Pt); 18715function ds() { 18716 return { nodeGroup: [], background: [], content: [] }; 18717} 18718function XF(r, e, t, a, n, i, o, s, l, u) { 18719 if (!o) return; 18720 var f = o.getLayout(), h = r.getData(), v = o.getModel(); 18721 if (h.setItemGraphicEl(o.dataIndex, null), !f || !f.isInView) return; 18722 var c = f.width, p = f.height, d = f.borderWidth, g = f.invisible, y = o.getRawIndex(), m = s && s.getRawIndex(), _ = o.viewChildren, S = f.upperHeight, b = _ && _.length, x = v.getModel("itemStyle"), w = v.getModel(["emphasis", "itemStyle"]), T = v.getModel(["blur", "itemStyle"]), C = v.getModel(["select", "itemStyle"]), A = x.get("borderRadius") || 0, M = nt("nodeGroup", qd); 18723 if (!M) return; 18724 if (l.add(M), M.x = f.x || 0, M.y = f.y || 0, M.markRedraw(), rh(M).nodeWidth = c, rh(M).nodeHeight = p, f.isAboveViewRoot) return M; 18725 var I = nt("background", ix, u, UF); 18726 I && F(M, I, b && f.upperLabelHeight); 18727 var L = v.getModel("emphasis"), P = L.get("focus"), R = L.get("blurScope"), E = L.get("disabled"), O = P === "ancestor" ? o.getAncestorsIndices() : P === "descendant" ? o.getDescendantIndices() : P; 18728 if (b) ll(M) && qn(M, false), I && (qn(I, !E), h.setItemGraphicEl(o.dataIndex, I), cd(I, O, R)); 18729 else { 18730 var k = nt("content", ix, u, YF); 18731 k && H(M, k), I.disableMorphing = true, I && ll(I) && qn(I, false), qn(M, !E), h.setItemGraphicEl(o.dataIndex, M); 18732 var B = v.getShallow("cursor"); 18733 B && k.attr("cursor", B), cd(M, O, R); 18734 } 18735 return M; 18736 function F(ct, et, dt) { 18737 var q = it(et); 18738 if (q.dataIndex = o.dataIndex, q.seriesIndex = r.seriesIndex, et.setShape({ x: 0, y: 0, width: c, height: p, r: A }), g) U(et); 18739 else { 18740 et.invisible = false; 18741 var ot = o.getVisual("style"), Bt = ot.stroke, Lt = ux(x); 18742 Lt.fill = Bt; 18743 var kt = Vn(w); 18744 kt.fill = w.get("borderColor"); 18745 var Ht = Vn(T); 18746 Ht.fill = T.get("borderColor"); 18747 var re = Vn(C); 18748 if (re.fill = C.get("borderColor"), dt) { 18749 var We = c - 2 * d; 18750 K(et, Bt, ot.opacity, { x: d, y: 0, width: We, height: S }); 18751 } else et.removeTextContent(); 18752 et.setStyle(Lt), et.ensureState("emphasis").style = kt, et.ensureState("blur").style = Ht, et.ensureState("select").style = re, ci(et); 18753 } 18754 ct.add(et); 18755 } 18756 function H(ct, et) { 18757 var dt = it(et); 18758 dt.dataIndex = o.dataIndex, dt.seriesIndex = r.seriesIndex; 18759 var q = Math.max(c - 2 * d, 0), ot = Math.max(p - 2 * d, 0); 18760 if (et.culling = true, et.setShape({ x: d, y: d, width: q, height: ot, r: A }), g) U(et); 18761 else { 18762 et.invisible = false; 18763 var Bt = o.getVisual("style"), Lt = Bt.fill, kt = ux(x); 18764 kt.fill = Lt, kt.decal = Bt.decal; 18765 var Ht = Vn(w), re = Vn(T), We = Vn(C); 18766 K(et, Lt, Bt.opacity, null), et.setStyle(kt), et.ensureState("emphasis").style = Ht, et.ensureState("blur").style = re, et.ensureState("select").style = We, ci(et); 18767 } 18768 ct.add(et); 18769 } 18770 function U(ct) { 18771 !ct.invisible && i.push(ct); 18772 } 18773 function K(ct, et, dt, q) { 18774 var ot = v.getModel(q ? lx : sx), Bt = te(v.get("name"), null), Lt = ot.getShallow("show"); 18775 de(ct, se(v, q ? lx : sx), { defaultText: Lt ? Bt : null, inheritColor: et, defaultOpacity: dt, labelFetcher: r, labelDataIndex: o.dataIndex }); 18776 var kt = ct.getTextContent(); 18777 if (kt) { 18778 var Ht = kt.style, re = bh(Ht.padding || 0); 18779 q && (ct.setTextConfig({ layoutRect: q }), kt.disableLabelLayout = true), kt.beforeUpdate = function() { 18780 var Ne = Math.max((q ? q.width : ct.shape.width) - re[1] - re[3], 0), vn = Math.max((q ? q.height : ct.shape.height) - re[0] - re[2], 0); 18781 (Ht.width !== Ne || Ht.height !== vn) && kt.setStyle({ width: Ne, height: vn }); 18782 }, Ht.truncateMinChar = 2, Ht.lineOverflow = "truncate", J(Ht, q, f); 18783 var We = kt.getState("emphasis"); 18784 J(We ? We.style : null, q, f); 18785 } 18786 } 18787 function J(ct, et, dt) { 18788 var q = ct ? ct.text : null; 18789 if (!et && dt.isLeafRoot && q != null) { 18790 var ot = r.get("drillDownIcon", true); 18791 ct.text = ot ? ot + " " + q : q; 18792 } 18793 } 18794 function nt(ct, et, dt, q) {
18795 var ot = m != null && t[ct][m], Bt = n[ct]; 18796 return ot ? (t[ct][m] = null, It(Bt, ot)) : g || (ot = new et(), ot instanceof vr && (ot.z2 = ZF(dt, q)), Yt(Bt, ot)), e[ct][y] = ot; 18797 } 18798 function It(ct, et) { 18799 var dt = ct[y] = {}; 18800 et instanceof qd ? (dt.oldX = et.x, dt.oldY = et.y) : dt.oldShape = z({}, et.shape); 18801 } 18802 function Yt(ct, et) { 18803 var dt = ct[y] = {}, q = o.parentNode, ot = et instanceof at; 18804 if (q && (!a || a.direction === "drillDown")) { 18805 var Bt = 0, Lt = 0, kt = n.background[q.getRawIndex()]; 18806 !a && kt && kt.oldShape && (Bt = kt.oldShape.width, Lt = kt.oldShape.height), ot ? (dt.oldX = 0, dt.oldY = Lt) : dt.oldShape = { x: Bt, y: Lt, width: 0, height: 0 }; 18807 } 18808 dt.fadein = !ot; 18809 } 18810} 18811function ZF(r, e) { 18812 return r * WF + e; 18813} 18814var bl = D, qF = tt, ah = -1, oe = function() { 18815 function r(e) { 18816 var t = e.mappingMethod, a = e.type, n = this.option = rt(e); 18817 this.type = a, this.mappingMethod = t, this._normalizeData = JF[t]; 18818 var i = r.visualHandlers[a]; 18819 this.applyVisual = i.applyVisual, this.getColorMapper = i.getColorMapper, this._normalizedToVisual = i._normalizedToVisual[t], t === "piecewise" ? (Vc(n), KF(n)) : t === "category" ? n.categories ? jF(n) : Vc(n, true) : (we(t !== "linear" || n.dataExtent), Vc(n)); 18820 } 18821 return r.prototype.mapValueToVisual = function(e) { 18822 var t = this._normalizeData(e); 18823 return this._normalizedToVisual(t, e); 18824 }, r.prototype.getNormalizer = function() { 18825 return $(this._normalizeData, this); 18826 }, r.listVisualTypes = function() { 18827 return _t(r.visualHandlers); 18828 }, r.isValidType = function(e) { 18829 return r.visualHandlers.hasOwnProperty(e); 18830 }, r.eachVisual = function(e, t, a) { 18831 tt(e) ? D(e, t, a) : t.call(a, e); 18832 }, r.mapVisual = function(e, t, a) { 18833 var n, i = V(e) ? [] : tt(e) ? {} : (n = true, null); 18834 return r.eachVisual(e, function(o, s) { 18835 var l = t.call(a, o, s); 18836 n ? i = l : i[s] = l; 18837 }), i; 18838 }, r.retrieveVisuals = function(e) { 18839 var t = {}, a; 18840 return e && bl(r.visualHandlers, function(n, i) { 18841 e.hasOwnProperty(i) && (t[i] = e[i], a = true); 18842 }), a ? t : null; 18843 }, r.prepareVisualTypes = function(e) { 18844 if (V(e)) e = e.slice(); 18845 else if (qF(e)) { 18846 var t = []; 18847 bl(e, function(a, n) { 18848 t.push(n); 18849 }), e = t; 18850 } else return []; 18851 return e.sort(function(a, n) { 18852 return n === "color" && a !== "color" && a.indexOf("color") === 0 ? 1 : -1; 18853 }), e; 18854 }, r.dependsOn = function(e, t) { 18855 return t === "color" ? !!(e && e.indexOf(t) === 0) : e === t; 18856 }, r.findPieceIndex = function(e, t, a) { 18857 for (var n, i = 1 / 0, o = 0, s = t.length; o < s; o++) { 18858 var l = t[o].value; 18859 if (l != null) { 18860 if (l === e || Y(l) && l === e + "") return o; 18861 a && v(l, o); 18862 } 18863 } 18864 for (var o = 0, s = t.length; o < s; o++) { 18865 var u = t[o], f = u.interval, h = u.close; 18866 if (f) { 18867 if (f[0] === -1 / 0) { 18868 if (Gu(h[1], e, f[1])) return o; 18869 } else if (f[1] === 1 / 0) { 18870 if (Gu(h[0], f[0], e)) return o; 18871 } else if (Gu(h[0], f[0], e) && Gu(h[1], e, f[1])) return o; 18872 a && v(f[0], o), a && v(f[1], o); 18873 } 18874 } 18875 if (a) return e === 1 / 0 ? t.length - 1 : e === -1 / 0 ? 0 : n; 18876 function v(c, p) { 18877 var d = Math.abs(c - e); 18878 d < i && (i = d, n = p); 18879 } 18880 }, r.visualHandlers = { color: { applyVisual: gs("color"), getColorMapper: function() { 18881 var e = this.option; 18882 return $(e.mappingMethod === "category" ? function(t, a) { 18883 return !a && (t = this._normalizeData(t)), Ps.call(this, t); 18884 } : function(t, a, n) { 18885 var i = !!n; 18886 return !a && (t = this._normalizeData(t)), n = Vs(t, e.parsedVisual, n), i ? n : Mr(n, "rgba"); 18887 }, this); 18888 }, _normalizedToVisual: { linear: function(e) { 18889 return Mr(Vs(e, this.option.parsedVisual), "rgba"); 18890 }, category: Ps, piecewise: function(e, t) { 18891 var a = jd.call(this, t); 18892 return a == null && (a = Mr(Vs(e, this.option.parsedVisual), "rgba")), a; 18893 }, fixed: Gn } }, colorHue: Vu(function(e, t) { 18894 return lo(e, t); 18895 }), colorSaturation: Vu(function(e, t) { 18896 return lo(e, null, t); 18897 }), colorLightness: Vu(function(e, t) { 18898 return lo(e, null, null, t); 18899 }), colorAlpha: Vu(function(e, t) { 18900 return al(e, t); 18901 }), decal: { applyVisual: gs("decal"), _normalizedToVisual: { linear: null, category: Ps, piecewise: null, fixed: null } }, opacity: { applyVisual: gs("opacity"), _normalizedToVisual: Kd([0, 1]) }, liftZ: { applyVisual: gs("liftZ"), _normalizedToVisual: { linear: Gn, category: Gn, piecewise: Gn, fixed: Gn } }, symbol: { applyVisual: function(e, t, a) { 18902 var n = this.mapValueToVisual(e); 18903 a("symbol", n); 18904 }, _normalizedToVisual: { linear: fx, category: Ps, piecewise: function(e, t) { 18905 var a = jd.call(this, t); 18906 return a == null && (a = fx.call(this, e)), a; 18907 }, fixed: Gn } }, symbolSize: { applyVisual: gs("symbolSize"), _normalizedToVisual: Kd([0, 1]) } }, r; 18908}(); 18909function KF(r) { 18910 var e = r.pieceList; 18911 r.hasSpecialVisual = false, D(e, function(t, a) { 18912 t.originIndex = a, t.visual != null && (r.hasSpecialVisual = true); 18913 }); 18914} 18915function jF(r) { 18916 var e = r.categories, t = r.categoryMap = {}, a = r.visual; 18917 if (bl(e, function(o, s) { 18918 t[o] = s; 18919 }), !V(a)) { 18920 var n = [];
18921 tt(a) ? bl(a, function(o, s) { 18922 var l = t[s]; 18923 n[l ?? ah] = o; 18924 }) : n[ah] = a, a = KM(r, n); 18925 } 18926 for (var i = e.length - 1; i >= 0; i--) a[i] == null && (delete t[e[i]], e.pop()); 18927} 18928function Vc(r, e) { 18929 var t = r.visual, a = []; 18930 tt(t) ? bl(t, function(i) { 18931 a.push(i); 18932 }) : t != null && a.push(t); 18933 var n = { color: 1, symbol: 1 }; 18934 !e && a.length === 1 && !n.hasOwnProperty(r.type) && (a[1] = a[0]), KM(r, a); 18935} 18936function Vu(r) { 18937 return { applyVisual: function(e, t, a) { 18938 var n = this.mapValueToVisual(e); 18939 a("color", r(t("color"), n)); 18940 }, _normalizedToVisual: Kd([0, 1]) }; 18941} 18942function fx(r) { 18943 var e = this.option.visual; 18944 return e[Math.round(Dt(r, [0, 1], [0, e.length - 1], true))] || {}; 18945} 18946function gs(r) { 18947 return function(e, t, a) { 18948 a(r, this.mapValueToVisual(e)); 18949 }; 18950} 18951function Ps(r) { 18952 var e = this.option.visual; 18953 return e[this.option.loop && r !== ah ? r % e.length : r]; 18954} 18955function Gn() { 18956 return this.option.visual[0]; 18957} 18958function Kd(r) { 18959 return { linear: function(e) { 18960 return Dt(e, r, this.option.visual, true); 18961 }, category: Ps, piecewise: function(e, t) { 18962 var a = jd.call(this, t); 18963 return a == null && (a = Dt(e, r, this.option.visual, true)), a; 18964 }, fixed: Gn }; 18965} 18966function jd(r) { 18967 var e = this.option, t = e.pieceList; 18968 if (e.hasSpecialVisual) { 18969 var a = oe.findPieceIndex(r, t), n = t[a]; 18970 if (n && n.visual) return n.visual[this.type]; 18971 } 18972} 18973function KM(r, e) { 18974 return r.visual = e, r.type === "color" && (r.parsedVisual = G(e, function(t) { 18975 var a = Re(t); 18976 return a || [0, 0, 0, 1]; 18977 })), e; 18978} 18979var JF = { linear: function(r) { 18980 return Dt(r, this.option.dataExtent, [0, 1], true); 18981}, piecewise: function(r) { 18982 var e = this.option.pieceList, t = oe.findPieceIndex(r, e, true); 18983 if (t != null) return Dt(t, [0, e.length - 1], [0, 1], true); 18984}, category: function(r) { 18985 var e = this.option.categories ? this.option.categoryMap[r] : r; 18986 return e ?? ah; 18987}, fixed: $t }; 18988function Gu(r, e, t) { 18989 return r ? e <= t : e < t; 18990} 18991var QF = "itemStyle", jM = bt(); 18992const t3 = { seriesType: "treemap", reset: function(r) { 18993 var e = r.getData().tree, t = e.root; 18994 t.isRemoved() || JM(t, {}, r.getViewRoot().getAncestors(), r); 18995} }; 18996function JM(r, e, t, a) { 18997 var n = r.getModel(), i = r.getLayout(), o = r.hostTree.data; 18998 if (!(!i || i.invisible || !i.isInView)) { 18999 var s = n.getModel(QF), l = e3(s, e, a), u = o.ensureUniqueItemVisual(r.dataIndex, "style"), f = s.get("borderColor"), h = s.get("borderColorSaturation"), v; 19000 h != null && (v = hx(l), f = r3(h, v)), u.stroke = f; 19001 var c = r.viewChildren; 19002 if (!c || !c.length) v = hx(l), u.fill = v; 19003 else { 19004 var p = a3(r, n, i, s, l, c); 19005 D(c, function(d, g) { 19006 if (d.depth >= t.length || d === t[d.depth]) { 19007 var y = n3(n, l, d, g, p, a); 19008 JM(d, y, t, a); 19009 } 19010 }); 19011 } 19012 } 19013} 19014function e3(r, e, t) { 19015 var a = z({}, e), n = t.designatedVisualItemStyle; 19016 return D(["color", "colorAlpha", "colorSaturation"], function(i) { 19017 n[i] = e[i]; 19018 var o = r.get(i); 19019 n[i] = null, o != null && (a[i] = o); 19020 }), a; 19021} 19022function hx(r) { 19023 var e = Gc(r, "color"); 19024 if (e) { 19025 var t = Gc(r, "colorAlpha"), a = Gc(r, "colorSaturation"); 19026 return a && (e = lo(e, null, null, a)), t && (e = al(e, t)), e; 19027 } 19028} 19029function r3(r, e) { 19030 return e != null ? lo(e, null, null, r) : null; 19031} 19032function Gc(r, e) { 19033 var t = r[e]; 19034 if (t != null && t !== "none") return t; 19035} 19036function a3(r, e, t, a, n, i) { 19037 if (!(!i || !i.length)) { 19038 var o = Fc(e, "color") || n.color != null && n.color !== "none" && (Fc(e, "colorAlpha") || Fc(e, "colorSaturation")); 19039 if (o) { 19040 var s = e.get("visualMin"), l = e.get("visualMax"), u = t.dataExtent.slice(); 19041 s != null && s < u[0] && (u[0] = s), l != null && l > u[1] && (u[1] = l); 19042 var f = e.get("colorMappingBy"), h = { type: o.name, dataExtent: u, visual: o.range }; 19043 h.type === "color" && (f === "index" || f === "id") ? (h.mappingMethod = "category", h.loop = true) : h.mappingMethod = "linear"; 19044 var v = new oe(h); 19045 return jM(v).drColorMappingBy = f, v; 19046 } 19047 } 19048} 19049function Fc(r, e) { 19050 var t = r.get(e); 19051 return V(t) && t.length ? { name: e, range: t } : null; 19052} 19053function n3(r, e, t, a, n, i) { 19054 var o = z({}, e); 19055 if (n) { 19056 var s = n.type, l = s === "color" && jM(n).drColorMappingBy, u = l === "index" ? a : l === "i
19056d" ? i.mapIdToIndex(t.getId()) : t.getValue(r.get("visualDimension")); 19057 o[s] = n.mapValueToVisual(u); 19058 } 19059 return o; 19060} 19061var wl = Math.max, nh = Math.min, vx = ne, lm = D, QM = ["itemStyle", "borderWidth"], i3 = ["itemStyle", "gapWidth"], o3 = ["upperLabel", "show"], s3 = ["upperLabel", "height"]; 19062const l3 = { seriesType: "treemap", reset: function(r, e, t, a) { 19063 var n = t.getWidth(), i = t.getHeight(), o = r.option, s = Qt(r.getBoxLayoutParams(), { width: t.getWidth(), height: t.getHeight() }), l = o.size || [], u = W(vx(s.width, l[0]), n), f = W(vx(s.height, l[1]), i), h = a && a.type, v = ["treemapZoomToNode", "treemapRootToNode"], c = xl(a, v, r), p = h === "treemapRender" || h === "treemapMove" ? a.rootRect : null, d = r.getViewRoot(), g = XM(d); 19064 if (h !== "treemapMove") { 19065 var y = h === "treemapZoomToNode" ? p3(r, c, d, u, f) : p ? [p.width, p.height] : [u, f], m = o.sort; 19066 m && m !== "asc" && m !== "desc" && (m = "desc"); 19067 var _ = { squareRatio: o.squareRatio, sort: m, leafDepth: o.leafDepth }; 19068 d.hostTree.clearLayouts(); 19069 var S = { x: 0, y: 0, width: y[0], height: y[1], area: y[0] * y[1] }; 19070 d.setLayout(S), tI(d, _, false, 0), S = d.getLayout(), lm(g, function(x, w) { 19071 var T = (g[w + 1] || d).getValue(); 19072 x.setLayout(z({ dataExtent: [T, T], borderWidth: 0, upperHeight: 0 }, S)); 19073 }); 19074 } 19075 var b = r.getData().tree.root; 19076 b.setLayout(d3(s, p, c), true), r.setLayoutInfo(s), eI(b, new ht(-s.x, -s.y, n, i), g, d, 0); 19077} }; 19078function tI(r, e, t, a) { 19079 var n, i; 19080 if (!r.isRemoved()) { 19081 var o = r.getLayout(); 19082 n = o.width, i = o.height; 19083 var s = r.getModel(), l = s.get(QM), u = s.get(i3) / 2, f = rI(s), h = Math.max(l, f), v = l - u, c = h - u; 19084 r.setLayout({ borderWidth: l, upperHeight: h, upperLabelHeight: f }, true), n = wl(n - 2 * v, 0), i = wl(i - v - c, 0); 19085 var p = n * i, d = u3(r, s, p, e, t, a); 19086 if (d.length) { 19087 var g = { x: v, y: c, width: n, height: i }, y = nh(n, i), m = 1 / 0, _ = []; 19088 _.area = 0; 19089 for (var S = 0, b = d.length; S < b; ) { 19090 var x = d[S]; 19091 _.push(x), _.area += x.getLayout().area; 19092 var w = c3(_, y, e.squareRatio); 19093 w <= m ? (S++, m = w) : (_.area -= _.pop().getLayout().area, cx(_, y, g, u, false), y = nh(g.width, g.height), _.length = _.area = 0, m = 1 / 0); 19094 } 19095 if (_.length && cx(_, y, g, u, true), !t) { 19096 var T = s.get("childrenVisibleMin"); 19097 T != null && p < T && (t = true); 19098 } 19099 for (var S = 0, b = d.length; S < b; S++) tI(d[S], e, t, a + 1); 19100 } 19101 } 19102} 19103function u3(r, e, t, a, n, i) { 19104 var o = r.children || [], s = a.sort; 19105 s !== "asc" && s !== "desc" && (s = null); 19106 var l = a.leafDepth != null && a.leafDepth <= i; 19107 if (n && !l) return r.viewChildren = []; 19108 o = Ct(o, function(c) { 19109 return !c.isRemoved(); 19110 }), h3(o, s); 19111 var u = v3(e, o, s); 19112 if (u.sum === 0) return r.viewChildren = []; 19113 if (u.sum = f3(e, t, u.sum, s, o), u.sum === 0) return r.viewChildren = []; 19114 for (var f = 0, h = o.length; f < h; f++) { 19115 var v = o[f].getValue() / u.sum * t; 19116 o[f].setLayout({ area: v }); 19117 } 19118 return l && (o.length && r.setLayout({ isLeafRoot: true }, true), o.length = 0), r.viewChildren = o, r.setLayout({ dataExtent: u.dataExtent }, true), o; 19119} 19120function f3(r, e, t, a, n) { 19121 if (!a) return t; 19122 for (var i = r.get("visibleMin"), o = n.length, s = o, l = o - 1; l >= 0; l--) { 19123 var u = n[a === "asc" ? o - l - 1 : l].getValue(); 19124 u / t * e < i && (s = l, t -= u); 19125 } 19126 return a === "asc" ? n.splice(0, o - s) : n.splice(s, o - s), t; 19127} 19128function h3(r, e) { 19129 return e && r.sort(function(t, a) { 19130 var n = e === "asc" ? t.getValue() - a.getValue() : a.getValue() - t.getValue(); 19131 return n === 0 ? e === "asc" ? t.dataIndex - a.dataIndex : a.dataIndex - t.dataIndex : n; 19132 }), r; 19133} 19134function v3(r, e, t) { 19135 for (var a = 0, n = 0, i = e.length; n < i; n++) a += e[n].getValue(); 19136 var o = r.get("visualDimension"), s; 19137 return !e || !e.length ? s = [NaN, NaN] : o === "value" && t ? (s = [e[e.length - 1].getValue(), e[0].getValue()], t === "asc" && s.reverse()) : (s = [1 / 0, -1 / 0], lm(e, function(l) { 19138 var u = l.getValue(o); 19139 u < s[0] && (s[0] = u), u > s[1] && (s[1] = u); 19140 })), { sum: a, dataExtent: s }; 19141} 19142function c3(r, e, t) { 19143 for (var a = 0, n = 1 / 0, i = 0, o = void 0, s = r.length; i < s; i++) o = r[i].getLayout().area, o && (o < n && (n = o), o > a && (a = o)); 19144 var l = r.area * r.area, u = e * e * t; 19145 return l ? wl(u * a / l, l / (u * n)) : 1 / 0; 19146} 19147function cx(r, e, t, a, n) { 19148 var i = e === t.width ? 0 : 1, o = 1 - i, s = ["x", "y"], l = ["width", "height"], u = t[s[i]], f = e ? r.area / e : 0; 19149 (n || f > t[l[o]]) && (f = t[l[o]]); 19150 for (var h = 0, v = r.length; h < v; h++) { 19151 var c = r[h], p = {}, d = f ? c.getLayout().area / f : 0, g = p[l[o]] = wl(f - 2 * a, 0), y = t[s[i]] + t[l[i]] - u, m = h === v - 1 || y < d ? y : d, _ = p[l[i]] = wl(m - 2 * a, 0); 19152 p[s[o]] = t[s[o]] + nh(a, g / 2), p[s[i]] = u + nh(a, _ / 2), u += m, c.setLayout(p, true); 19153 } 19154 t[s[o]] += f, t[l[o]] -= f; 19155} 19156function p3(r, e, t, a, n) { 19157 var i = (e || {}).node, o = [a, n]; 19158 if (!i || i === t) return o; 19159 for (var s, l = a * n, u = l * r.option.zoomToNodeRatio; s = i.parentNode; ) { 19160 for (var f = 0, h = s.children, v = 0, c = h.length; v < c; v++) f += h[v].getValue(); 19161 var p = i.getValue(); 19162 if (p === 0) return o; 19163 u *= f / p; 19164 var d = s.getModel(), g = d.get(QM), y = Math.max(g, rI(d)); 19165 u += 4 * g * g + (3 * g + y) * Math.pow(u, 0.5), u > nd && (u = nd), i = s; 19166 } 19167 u < l && (u = l); 19168 var m = Math.pow(u / l, 0.5); 19169 return [a * m, n * m]; 19170} 19171function d3(r, e, t) { 19172 if (e) return { x: e.x, y: e.y }; 19173 var a = { x: 0, y: 0 }; 19174 if (!t) return a; 19175 var n = t.node, i = n.getLayout(); 19176 if (!i) return a; 19177 for (var o = [i.width / 2, i.height / 2], s = n; s; ) { 19178 var l = s.getLayout(); 19179 o[0] += l.x, o[1] += l.y, s = s.parentNode; 19180 } 19181 return { x: r.width / 2 - o[0], y: r.height / 2 - o[1] }; 19182} 19183function eI(r, e, t, a, n) { 19184 var i = r.getLayout(), o = t[n], s = o && o === r; 19185 if (!(o && !s || n === t.length && r !== a)) { 19186 r.setLayout({ isInView: true, invisible: !s && !e.intersect(i), isAboveViewRoot: s }, true); 19187 var l = new ht(e.x - i.x, e.y - i.y, e.width, e.height); 19188 lm(r.viewChildren || [], function(u) { 19189 eI(u, l, t, a, n + 1); 19190 }); 19191 } 19192} 19193function rI(r) { 19194 return r.get(o3) ? r.get(s3) : 0; 19195} 19196function g3(r) { 19197 r.registerSeriesModel(OF), r.registerChartView($F), r.registerVisual(t3), r.registerLayout(l3), kF(r); 19198} 19199function y3(r) { 19200 var e = r.findComponents({ mainType: "legend" }); 19201 !e || !e.length || r.eachSeriesByType("graph", function(t) { 19202 var a = t.getCategoriesData(), n = t.getGraph(), i = n.data, o = a.mapArray(a.getName); 19203 i.filterSelf(function(s) { 19204 var l = i.getItemModel(s), u = l.getShallow("category"); 19205 if (u != null) { 19206 wt(u) && (u = o[u]); 19207 for (var f = 0; f < e.length; f++) if (!e[f].isSelected(u)) return false;
19208 } 19209 return true; 19210 }); 19211 }); 19212} 19213function m3(r) { 19214 var e = {}; 19215 r.eachSeriesByType("graph", function(t) { 19216 var a = t.getCategoriesData(), n = t.getData(), i = {}; 19217 a.each(function(o) { 19218 var s = a.getName(o); 19219 i["ec-" + s] = o; 19220 var l = a.getItemModel(o), u = l.getModel("itemStyle").getItemStyle(); 19221 u.fill || (u.fill = t.getColorFromPalette(s, e)), a.setItemVisual(o, "style", u); 19222 for (var f = ["symbol", "symbolSize", "symbolKeepAspect"], h = 0; h < f.length; h++) { 19223 var v = l.getShallow(f[h], true); 19224 v != null && a.setItemVisual(o, f[h], v); 19225 } 19226 }), a.count() && n.each(function(o) { 19227 var s = n.getItemModel(o), l = s.getShallow("category"); 19228 if (l != null) { 19229 Y(l) && (l = i["ec-" + l]); 19230 var u = a.getItemVisual(l, "style"), f = n.ensureUniqueItemVisual(o, "style"); 19231 z(f, u); 19232 for (var h = ["symbol", "symbolSize", "symbolKeepAspect"], v = 0; v < h.length; v++) n.setItemVisual(o, h[v], a.getItemVisual(l, h[v])); 19233 } 19234 }); 19235 }); 19236} 19237function Fu(r) { 19238 return r instanceof Array || (r = [r, r]), r; 19239} 19240function _3(r) { 19241 r.eachSeriesByType("graph", function(e) { 19242 var t = e.getGraph(), a = e.getEdgeData(), n = Fu(e.get("edgeSymbol")), i = Fu(e.get("edgeSymbolSize")); 19243 a.setVisual("fromSymbol", n && n[0]), a.setVisual("toSymbol", n && n[1]), a.setVisual("fromSymbolSize", i && i[0]), a.setVisual("toSymbolSize", i && i[1]), a.setVisual("style", e.getModel("lineStyle").getLineStyle()), a.each(function(o) { 19244 var s = a.getItemModel(o), l = t.getEdgeByIndex(o), u = Fu(s.getShallow("symbol", true)), f = Fu(s.getShallow("symbolSize", true)), h = s.getModel("lineStyle").getLineStyle(), v = a.ensureUniqueItemVisual(o, "style"); 19245 switch (z(v, h), v.stroke) { 19246 case "source": { 19247 var c = l.node1.getVisual("style"); 19248 v.stroke = c && c.fill; 19249 break; 19250 } 19251 case "target": { 19252 var c = l.node2.getVisual("style"); 19253 v.stroke = c && c.fill; 19254 break; 19255 } 19256 } 19257 u[0] && l.setVisual("fromSymbol", u[0]), u[1] && l.setVisual("toSymbol", u[1]), f[0] && l.setVisual("fromSymbolSize", f[0]), f[1] && l.setVisual("toSymbolSize", f[1]); 19258 }); 19259 }); 19260} 19261var Jd = "-->", nv = function(r) { 19262 return r.get("autoCurveness") || null; 19263}, aI = function(r, e) { 19264 var t = nv(r), a = 20, n = []; 19265 if (wt(t)) a = t; 19266 else if (V(t)) { 19267 r.__curvenessList = t; 19268 return; 19269 } 19270 e > a && (a = e); 19271 var i = a % 2 ? a + 2 : a + 3; 19272 n = []; 19273 for (var o = 0; o < i; o++) n.push((o % 2 ? o + 1 : o) / 10 * (o % 2 ? -1 : 1)); 19274 r.__curvenessList = n; 19275}, Tl = function(r, e, t) { 19276 var a = [r.id, r.dataIndex].join("."), n = [e.id, e.dataIndex].join("."); 19277 return [t.uid, a, n].join(Jd); 19278}, nI = function(r) { 19279 var e = r.split(Jd); 19280 return [e[0], e[2], e[1]].join(Jd); 19281}, S3 = function(r, e) {
19282 var t = Tl(r.node1, r.node2, e); 19283 return e.__edgeMap[t]; 19284}, x3 = function(r, e) { 19285 var t = Qd(Tl(r.node1, r.node2, e), e), a = Qd(Tl(r.node2, r.node1, e), e); 19286 return t + a; 19287}, Qd = function(r, e) { 19288 var t = e.__edgeMap; 19289 return t[r] ? t[r].length : 0; 19290}; 19291function b3(r) { 19292 nv(r) && (r.__curvenessList = [], r.__edgeMap = {}, aI(r)); 19293} 19294function w3(r, e, t, a) { 19295 if (nv(t)) { 19296 var n = Tl(r, e, t), i = t.__edgeMap, o = i[nI(n)]; 19297 i[n] && !o ? i[n].isForward = true : o && i[n] && (o.isForward = true, i[n].isForward = false), i[n] = i[n] || [], i[n].push(a); 19298 } 19299} 19300function um(r, e, t, a) { 19301 var n = nv(e), i = V(n); 19302 if (!n) return null; 19303 var o = S3(r, e); 19304 if (!o) return null; 19305 for (var s = -1, l = 0; l < o.length; l++) if (o[l] === t) { 19306 s = l; 19307 break; 19308 } 19309 var u = x3(r, e); 19310 aI(e, u), r.lineStyle = r.lineStyle || {}; 19311 var f = Tl(r.node1, r.node2, e), h = e.__curvenessList, v = i || u % 2 ? 0 : 1; 19312 if (o.isForward) return h[v + s]; 19313 var c = nI(f), p = Qd(c, e), d = h[s + p + v]; 19314 return a ? i ? n && n[0] === 0 ? (p + v) % 2 ? d : -d : ((p % 2 ? 0 : 1) + v) % 2 ? d : -d : (p + v) % 2 ? d : -d : h[s + p + v]; 19315} 19316function iI(r) { 19317 var e = r.coordinateSystem; 19318 if (!(e && e.type !== "view")) { 19319 var t = r.getGraph(); 19320 t.eachNode(function(a) { 19321 var n = a.getModel(); 19322 a.setLayout([+n.get("x"), +n.get("y")]); 19323 }), fm(t, r); 19324 } 19325} 19326function fm(r, e) { 19327 r.eachEdge(function(t, a) { 19328 var n = Ar(t.getModel().get(["lineStyle", "curveness"]), -um(t, e, a, true), 0), i = Zr(t.node1.getLayout()), o = Zr(t.node2.getLayout()), s = [i, o]; 19329 +n && s.push([(i[0] + o[0]) / 2 - (i[1] - o[1]) * n, (i[1] + o[1]) / 2 - (o[0] - i[0]) * n]), t.setLayout(s); 19330 }); 19331} 19332function T3(r, e) { 19333 r.eachSeriesByType("graph", function(t) { 19334 var a = t.get("layout"), n = t.coordinateSystem; 19335 if (n && n.type !== "view") { 19336 var i = t.getData(), o = []; 19337 D(n.dimensions, function(v) { 19338 o = o.concat(i.mapDimensionsAll(v)); 19339 }); 19340 for (var s = 0; s < i.count(); s++) { 19341 for (var l = [], u = false, f = 0; f < o.length; f++) { 19342 var h = i.get(o[f], s); 19343 isNaN(h) || (u = true), l.push(h); 19344 } 19345 u ? i.setItemLayout(s, n.dataToPoint(l)) : i.setItemLayout(s, [NaN, NaN]); 19346 } 19347 fm(i.graph, t); 19348 } else (!a || a === "none") && iI(t); 19349 }); 19350} 19351function Rs(r) { 19352 var e = r.coordinateSystem; 19353 if (e.type !== "view") return 1; 19354 var t = r.option.nodeScaleRatio, a = e.scaleX, n = e.getZoom(), i = (n - 1) * t + 1; 19355 return i / a; 19356} 19357function Es(r) { 19358 var e = r.getVisual("symbolSize"); 19359 return e instanceof Array && (e = (e[0] + e[1]) / 2), +e; 19360} 19361var px = Math.PI, Hc = []; 19362function hm(r, e, t, a) { 19363 var n = r.coordinateSystem; 19364 if (!(n && n.type !== "view")) { 19365 var i = n.getBoundingRect(), o = r.getData(), s = o.graph, l = i.width / 2 + i.x, u = i.height / 2 + i.y, f = Math.min(i.width, i.height) / 2, h = o.count(); 19366 if (o.setLayout({ cx: l, cy: u }), !!h) { 19367 if (t) { 19368 var v = n.pointToData(a), c = v[0], p = v[1], d = [c - l, p - u]; 19369 mi(d, d), Ns(d, d, f), t.setLayout([l + d[0], u + d[1]], true); 19370 var g = r.get(["circular", "rotateLabel"]); 19371 oI(t, g, l, u); 19372 } 19373 C3[e](r, s, o, f, l, u, h), s.eachEdge(function(y, m) { 19374 var _ = Ar(y.getModel().get(["lineStyle", "curveness"]), um(y, r, m), 0), S = Zr(y.node1.getLayout()), b = Zr(y.node2.getLayout()), x, w = (S[0] + b[0]) / 2, T = (S[1] + b[1]) / 2; 19375 +_ && (_ *= 3, x = [l * _ + w * (1 - _), u * _ + T * (1 - _)]), y.setLayout([S, b, x]); 19376 }); 19377 } 19378 } 19379} 19380var C3 = { value: function(r, e, t, a, n, i, o) { 19381 var s = 0, l = t.getSum("value"), u = Math.PI * 2 / (l || o); 19382 e.eachNode(function(f) { 19383 var h = f.getValue("value"), v = u * (l ? h : 1) / 2; 19384 s += v, f.setLayout([a * Math.cos(s) + n, a * Math.sin(s) + i]), s += v; 19385 }); 19386}, symbolSize: function(r, e, t, a, n, i, o) { 19387 var s = 0; 19388 Hc.length = o; 19389 var l = Rs(r); 19390 e.eachNode(function(h) { 19391 var v = Es(h); 19392 isNaN(v) && (v = 2), v < 0 && (v = 0), v *= l; 19393 var c = Math.asin(v / 2 / a); 19394 isNaN(c) && (c = px / 2), Hc[h.dataIndex] = c, s += c * 2; 19395 }); 19396 var u = (2 * px - s) / o / 2, f = 0; 19397 e.eachNode(function(h) { 19398 var v = u + Hc[h.dataIndex]; 19399 f += v, (!h.getLayout() || !h.getLayout().fixed) && h.setLayout([a * Math.cos(f) + n, a * Math.sin(f) + i]), f += v; 19400 }); 19401} }; 19402function oI(r, e, t, a) { 19403 var n = r.getGraphicEl(); 19404 if (n) { 19405 var i = r.getModel(), o = i.get(["label", "rotate"]) || 0, s = n.getSymbolPath(); 19406 if (e) { 19407 var l = r.getLayout(), u = Math.atan2(l[1] - a, l[0] - t); 19408 u < 0 && (u = Math.PI * 2 + u); 19409 var f = l[0] < t; 19410 f && (u = u - Math.PI); 19411 var h = f ? "left" : "right"; 19412 s.setTextConfig({ rotation: -u, position: h, origin: "center" }); 19413 var v = s.ensureState("emphasis"); 19414 z(v.textConfig || (v.textConfig = {}), { position: h }); 19415 } else s.setTextConfig({ rotation: o *= Math.PI / 180 }); 19416 } 19417} 19418function A3(r) { 19419 r.eachSeriesByType("graph", function(e) { 19420 e.get("layout") === "circular" && hm(e, "symbolSize"); 19421 }); 19422} 19423var Wi = xf; 19424function D3(r, e, t) { 19425 for (var a = r, n = e, i = t.rect, o = i.width, s = i.height, l = [i.x + o / 2, i.y + s / 2], u = t.gravity == null ? 0.1 : t.gravity, f = 0; f < a.length; f++) { 19426 var h = a[f]; 19427 h.p || (h.p = sn(o * (Math.random() - 0.5) + l[0], s * (Math.random() - 0.5) + l[1])), h.pp = Zr(h.p), h.edges = null; 19428 } 19429 var v = t.friction == null ? 0.6 : t.friction, c = v, p, d; 19430 return { warmUp: function() { 19431 c = v * 0.8; 19432 }, setFixed: function(g) { 19433 a[g].fixed = true; 19434 }, setUnfixed: function(g) { 19435 a[g].fixed = false;
19436 }, beforeStep: function(g) { 19437 p = g; 19438 }, afterStep: function(g) { 19439 d = g; 19440 }, step: function(g) { 19441 p && p(a, n); 19442 for (var y = [], m = a.length, _ = 0; _ < n.length; _++) { 19443 var S = n[_]; 19444 if (!S.ignoreForceLayout) { 19445 var b = S.n1, x = S.n2; 19446 Va(y, x.p, b.p); 19447 var w = tl(y) - S.d, T = x.w / (b.w + x.w); 19448 isNaN(T) && (T = 0), mi(y, y), !b.fixed && Wi(b.p, b.p, y, T * w * c), !x.fixed && Wi(x.p, x.p, y, -(1 - T) * w * c); 19449 } 19450 } 19451 for (var _ = 0; _ < m; _++) { 19452 var C = a[_]; 19453 C.fixed || (Va(y, l, C.p), Wi(C.p, C.p, y, u * c)); 19454 } 19455 for (var _ = 0; _ < m; _++) for (var b = a[_], A = _ + 1; A < m; A++) { 19456 var x = a[A]; 19457 Va(y, x.p, b.p); 19458 var w = tl(y); 19459 w === 0 && (cT(y, Math.random() - 0.5, Math.random() - 0.5), w = 1); 19460 var M = (b.rep + x.rep) / w / w; 19461 !b.fixed && Wi(b.pp, b.pp, y, M), !x.fixed && Wi(x.pp, x.pp, y, -M); 19462 } 19463 for (var I = [], _ = 0; _ < m; _++) { 19464 var C = a[_]; 19465 C.fixed || (Va(I, C.p, C.pp), Wi(C.p, C.p, I, c), _e(C.pp, C.p)); 19466 } 19467 c = c * 0.992; 19468 var L = c < 0.01; 19469 d && d(a, n, L), g && g(L); 19470 } }; 19471} 19472function M3(r) { 19473 r.eachSeriesByType("graph", function(e) { 19474 var t = e.coordinateSystem; 19475 if (!(t && t.type !== "view")) if (e.get("layout") === "force") { 19476 var a = e.preservedPoints || {}, n = e.getGraph(), i = n.data, o = n.edgeData, s = e.getModel("force"), l = s.get("initLayout"); 19477 e.preservedPoints ? i.each(function(_) { 19478 var S = i.getId(_); 19479 i.setItemLayout(_, a[S] || [NaN, NaN]); 19480 }) : !l || l === "none" ? iI(e) : l === "circular" && hm(e, "value"); 19481 var u = i.getDataExtent("value"), f = o.getDataExtent("value"), h = s.get("repulsion"), v = s.get("edgeLength"), c = V(h) ? h : [h, h], p = V(v) ? v : [v, v]; 19482 p = [p[1], p[0]]; 19483 var d = i.mapArray("value", function(_, S) { 19484 var b = i.getItemLayout(S), x = Dt(_, u, c); 19485 return isNaN(x) && (x = (c[0] + c[1]) / 2), { w: x, rep: x, fixed: i.getItemModel(S).get("fixed"), p: !b || isNaN(b[0]) || isNaN(b[1]) ? null : b }; 19486 }), g = o.mapArray("value", function(_, S) { 19487 var b = n.getEdgeByIndex(S), x = Dt(_, f, p); 19488 isNaN(x) && (x = (p[0] + p[1]) / 2); 19489 var w = b.getModel(), T = Ar(b.getModel().get(["lineStyle", "curveness"]), -um(b, e, S, true), 0); 19490 return { n1: d[b.node1.dataIndex], n2: d[b.node2.dataIndex], d: x, curveness: T, ignoreForceLayout: w.get("ignoreForceLayout") }; 19491 }), y = t.getBoundingRect(), m = D3(d, g, { rect: y, gravity: s.get("gravity"), friction: s.get("friction") }); 19492 m.beforeStep(function(_, S) { 19493 for (var b = 0, x = _.length; b < x; b++) _[b].fixed && _e(_[b].p, n.getNodeByIndex(b).getLayout()); 19494 }), m.afterStep(function(_, S, b) { 19495 for (var x = 0, w = _.length; x < w; x++) _[x].fixed || n.getNodeByIndex(x).setLayout(_[x].p), a[i.getId(x)] = _[x].p; 19496 for (var x = 0, w = S.length; x < w; x++) { 19497 var T = S[x], C = n.getEdgeByIndex(x), A = T.n1.p, M = T.n2.p, I = C.getLayout(); 19498 I = I ? I.slice() : [], I[0] = I[0] || [], I[1] = I[1] || [], _e(I[0], A), _e(I[1], M), +T.curveness && (I[2] = [(A[0] + M[0]) / 2 - (A[1] - M[1]) * T.curveness, (A[1] + M[1]) / 2 - (M[0] - A[0]) * T.curveness]), C.setLayout(I); 19499 } 19500 }), e.forceLayout = m, e.preservedPoints = a, m.step(); 19501 } else e.forceLayout = null; 19502 }); 19503} 19504function I3(r, e, t) { 19505 var a = z(r.getBoxLayoutParams(), { aspect: t }); 19506 return Qt(a, { width: e.getWidth(), height: e.getHeight() }); 19507} 19508function L3(r, e) { 19509 var t = []; 19510 return r.eachSeriesByType("graph", function(a) { 19511 var n = a.get("coordinateSystem"); 19512 if (!n || n === "view") { 19513 var i = a.getData(), o = i.mapArray(function(g) { 19514 var y = i.getItemModel(g); 19515 return [+y.get("x"), +y.get("y")]; 19516 }), s = [], l = []; 19517 Rh(o, s, l), l[0] - s[0] === 0 && (l[0] += 1, s[0] -= 1), l[1] - s[1] === 0 && (l[1] += 1, s[1] -= 1); 19518 var u = (l[0] - s[0]) / (l[1] - s[1]), f = I3(a, e, u); 19519 isNaN(u) && (s = [f.x, f.y], l = [f.x + f.width, f.y + f.he
19519ight]); 19520 var h = l[0] - s[0], v = l[1] - s[1], c = f.width, p = f.height, d = a.coordinateSystem = new Kl(); 19521 d.zoomLimit = a.get("scaleLimit"), d.setBoundingRect(s[0], s[1], h, v), d.setViewRect(f.x, f.y, c, p), d.setCenter(a.get("center"), e), d.setZoom(a.get("zoom")), t.push(d); 19522 } 19523 }), t; 19524} 19525var dx = ee.prototype, Wc = Po.prototype, sI = /* @__PURE__ */ function() { 19526 function r() { 19527 this.x1 = 0, this.y1 = 0, this.x2 = 0, this.y2 = 0, this.percent = 1; 19528 } 19529 return r; 19530}(); 19531(function(r) { 19532 N(e, r); 19533 function e() { 19534 return r !== null && r.apply(this, arguments) || this; 19535 } 19536 return e; 19537})(sI); 19538function Uc(r) { 19539 return isNaN(+r.cpx1) || isNaN(+r.cpy1); 19540} 19541var P3 = function(r) { 19542 N(e, r); 19543 function e(t) { 19544 var a = r.call(this, t) || this; 19545 return a.type = "ec-line", a; 19546 } 19547 return e.prototype.getDefaultStyle = function() { 19548 return { stroke: "#000", fill: null }; 19549 }, e.prototype.getDefaultShape = function() { 19550 return new sI(); 19551 }, e.prototype.buildPath = function(t, a) { 19552 Uc(a) ? dx.buildPath.call(this, t, a) : Wc.buildPath.call(this, t, a); 19553 }, e.prototype.pointAt = function(t) { 19554 return Uc(this.shape) ? dx.pointAt.call(this, t) : Wc.pointAt.call(this, t); 19555 }, e.prototype.tangentAt = function(t) { 19556 var a = this.shape, n = Uc(a) ? [a.x2 - a.x1, a.y2 - a.y1] : Wc.tangentAt.call(this, t); 19557 return mi(n, n); 19558 }, e; 19559}(mt), Yc = ["fromSymbol", "toSymbol"]; 19560function gx(r) { 19561 return "_" + r + "Type"; 19562} 19563function yx(r, e, t) { 19564 var a = e.getItemVisual(t, r); 19565 if (!a || a === "none") return a; 19566 var n = e.getItemVisual(t, r + "Size"), i = e.getItemVisual(t, r + "Rotate"), o = e.getItemVisual(t, r + "Offset"), s = e.getItemVisual(t, r + "KeepAspect"), l = Ho(n), u = wi(o || 0, l); 19567 return a + l + u + (i || "") + (s || ""); 19568} 19569function mx(r, e, t) { 19570 var a = e.getItemVisual(t, r); 19571 if (!(!a || a === "none")) { 19572 var n = e.getItemVisual(t, r + "Size"), i = e.getItemVisual(t, r + "Rotate"), o = e.getItemVisual(t, r + "Offset"), s = e.getItemVisual(t, r + "KeepAspect"), l = Ho(n), u = wi(o || 0, l), f = qt(a, -l[0] / 2 + u[0], -l[1] / 2 + u[1], l[0], l[1], null, s); 19573 return f.__specifiedRotation = i == null || isNaN(i) ? void 0 : +i * Math.PI / 180 || 0, f.name = r, f; 19574 } 19575} 19576function R3(r) { 19577 var e = new P3({ name: "line", subPixelOptimize: true }); 19578 return tg(e.shape, r), e; 19579} 19580function tg(r, e) { 19581 r.x1 = e[0][0], r.y1 = e[0][1], r.x2 = e[1][0], r.y2 = e[1][1], r.percent = 1; 19582 var t = e[2]; 19583 t ? (r.cpx1 = t[0], r.cpy1 = t[1]) : (r.cpx1 = NaN, r.cpy1 = NaN); 19584} 19585var vm = function(r) { 19586 N(e, r); 19587 function e(t, a, n) { 19588 var i = r.call(this) || this; 19589 return i._createLine(t, a, n), i; 19590 } 19591 return e.prototype._createLine = function(t, a, n) { 19592 var i = t.hostModel, o = t.getItemLayout(a), s = R3(o); 19593 s.shape.percent = 0, Gt(s, { shape: { percent: 1 } }, i, a), this.add(s), D(Yc, function(l) { 19594 var u = mx(l, t, a); 19595 this.add(u), this[gx(l)] = yx(l, t, a); 19596 }, this), this._updateCommonStl(t, a, n); 19597 }, e.prototype.updateData = function(t, a, n) { 19598 var i = t.hostModel, o = this.childOfName("line"), s = t.getItemLayout(a), l = { shape: {} }; 19599 tg(l.shape, s), Tt(o, l, i, a), D(Yc, function(u) { 19600 var f = yx(u, t, a), h = gx(u); 19601 if (this[h] !== f) { 19602 this.remove(this.childOfName(u)); 19603 var v = mx(u, t, a); 19604 this.add(v); 19605 } 19606 this[h] = f; 19607 }, this), this._updateCommonStl(t, a, n); 19608 }, e.prototype.getLinePath = function() { 19609 return this.childAt(0); 19610 }, e.prototype._updateCommonStl = function(t, a, n) { 19611 var i = t.hostModel, o = this.childOfName("line"), s = n && n.emphasisLineStyle, l = n && n.blurLineStyle, u = n && n.selectLineStyle, f = n && n.labelStatesModels, h = n && n.emphasisDisabled, v = n && n.focus, c = n && n.blurScope; 19612 if (!n || t.hasItemOption) { 19613 var p = t.getItemModel(a), d = p.getModel("emphasis"); 19614 s = d.getModel("lineStyle").getLineStyle(), l = p.getModel(["blur", "lineStyle"]).getLineStyle(), u = p.getModel(["select", "lineStyle"]).getLineStyle(), h = d.get("disabled"), v = d.get("focus"), c = d.get("blurScope"), f = se(p); 19615 } 19616 var g = t.getItemVisual(a, "style"), y = g.stroke; 19617 o.useStyle(g), o.style.fill = null, o.style.strokeNoScale = true, o.ensureState("emphasis").style = s, o.ensureState("blur").style = l, o.ensureState("select").style = u, D(Yc, function(x) {
19618 var w = this.childOfName(x); 19619 if (w) { 19620 w.setColor(y), w.style.opacity = g.opacity; 19621 for (var T = 0; T < Oe.length; T++) { 19622 var C = Oe[T], A = o.getState(C); 19623 if (A) { 19624 var M = A.style || {}, I = w.ensureState(C), L = I.style || (I.style = {}); 19625 M.stroke != null && (L[w.__isEmptyBrush ? "stroke" : "fill"] = M.stroke), M.opacity != null && (L.opacity = M.opacity); 19626 } 19627 } 19628 w.markRedraw(); 19629 } 19630 }, this); 19631 var m = i.getRawValue(a); 19632 de(this, f, { labelDataIndex: a, labelFetcher: { getFormattedLabel: function(x, w) { 19633 return i.getFormattedLabel(x, w, t.dataType); 19634 } }, inheritColor: y || "#000", defaultOpacity: g.opacity, defaultText: (m == null ? t.getName(a) : isFinite(m) ? Ut(m) : m) + "" }); 19635 var _ = this.getTextContent(); 19636 if (_) { 19637 var S = f.normal; 19638 _.__align = _.style.align, _.__verticalAlign = _.style.verticalAlign, _.__position = S.get("position") || "middle"; 19639 var b = S.get("distance"); 19640 V(b) || (b = [b, b]), _.__labelDistance = b; 19641 } 19642 this.setTextConfig({ position: null, local: true, inside: false }), Wt(this, v, c, h); 19643 }, e.prototype.highlight = function() { 19644 ma(this); 19645 }, e.prototype.downplay = function() { 19646 _a(this); 19647 }, e.prototype.updateLayout = function(t, a) { 19648 this.setLinePoints(t.getItemLayout(a)); 19649 }, e.prototype.setLinePoints = function(t) { 19650 var a = this.childOfName("line"); 19651 tg(a.shape, t), a.dirty(); 19652 }, e.prototype.beforeUpdate = function() { 19653 var t = this, a = t.childOfName("fromSymbol"), n = t.childOfName("toSymbol"), i = t.getTextContent(); 19654 if (!a && !n && (!i || i.ignore)) return; 19655 for (var o = 1, s = this.parent; s; ) s.scaleX && (o /= s.scaleX), s = s.parent; 19656 var l = t.childOfName("line"); 19657 if (!this.__dirty && !l.__dirty) return; 19658 var u = l.shape.percent, f = l.pointAt(0), h = l.pointAt(u), v = Va([], h, f); 19659 mi(v, v); 19660 function c(A, M) { 19661 var I = A.__specifiedRotation; 19662 if (I == null) { 19663 var L = l.tangentAt(M); 19664 A.attr("rotation", (M === 1 ? -1 : 1) * Math.PI / 2 - Math.atan2(L[1], L[0])); 19665 } else A.attr("rotation", I); 19666 } 19667 if (a && (a.setPosition(f), c(a, 0), a.scaleX = a.scaleY = o * u, a.markRedraw()), n && (n.setPosition(h), c(n, 1), n.scaleX = n.scaleY = o * u, n.markRedraw()), i && !i.ignore) { 19668 i.x = i.y = 0, i.originX = i.originY = 0; 19669 var p = void 0, d = void 0, g = i.__labelDistance, y = g[0] * o, m = g[1] * o, _ = u / 2, S = l.tangentAt(_), b = [S[1], -S[0]], x = l.pointAt(_); 19670 b[1] >
19670 0 && (b[0] = -b[0], b[1] = -b[1]); 19671 var w = S[0] < 0 ? -1 : 1; 19672 if (i.__position !== "start" && i.__position !== "end") { 19673 var T = -Math.atan2(S[1], S[0]); 19674 h[0] < f[0] && (T = Math.PI + T), i.rotation = T; 19675 } 19676 var C = void 0; 19677 switch (i.__position) { 19678 case "insideStartTop": 19679 case "insideMiddleTop": 19680 case "insideEndTop": 19681 case "middle": 19682 C = -m, d = "bottom"; 19683 break; 19684 case "insideStartBottom": 19685 case "insideMiddleBottom": 19686 case "insideEndBottom": 19687 C = m, d = "top"; 19688 break; 19689 default: 19690 C = 0, d = "middle"; 19691 } 19692 switch (i.__position) { 19693 case "end": 19694 i.x = v[0] * y + h[0], i.y = v[1] * m + h[1], p = v[0] > 0.8 ? "left" : v[0] < -0.8 ? "right" : "center", d = v[1] > 0.8 ? "top" : v[1] < -0.8 ? "bottom" : "middle"; 19695 break; 19696 case "start": 19697 i.x = -v[0] * y + f[0], i.y = -v[1] * m + f[1], p = v[0] > 0.8 ? "right" : v[0] < -0.8 ? "left" : "center", d = v[1] > 0.8 ? "bottom" : v[1] < -0.8 ? "top" : "middle"; 19698 break; 19699 case "insideStartTop": 19700 case "insideStart": 19701 case "insideStartBottom": 19702 i.x = y * w + f[0], i.y = f[1] + C, p = S[0] < 0 ? "right" : "left", i.originX = -y * w, i.originY = -C; 19703 break; 19704 case "insideMiddleTop": 19705 case "insideMiddle": 19706 case "insideMiddleBottom": 19707 case "middle": 19708 i.x = x[0], i.y = x[1] + C, p = "center", i.originY = -C; 19709 break; 19710 case "insideEndTop": 19711 case "insideEnd": 19712 case "insideEndBottom": 19713 i.x = -y * w + h[0], i.y = h[1] + C, p = S[0] >= 0 ? "right" : "left", i.originX = y * w, i.originY = -C; 19714 break; 19715 } 19716 i.scaleX = i.scaleY = o, i.setStyle({ verticalAlign: i.__verticalAlign || d, align: i.__align || p }); 19717 } 19718 }, e; 19719}(at), cm = function() { 19720 function r(e) { 19721 this.group = new at(), this._LineCtor = e || vm; 19722 } 19723 return r.prototype.updateData = function(e) { 19724 var t = this; 19725 this._progressiveEls = null; 19726 var a = this, n = a.group, i = a._lineData; 19727 a._lineData = e, i || n.removeAll(); 19728 var o = _x(e); 19729 e.diff(i).add(function(s) { 19730 t._doAdd(e, s, o); 19731 }).update(function(s, l) { 19732 t._doUpdate(i, e, l, s, o); 19733 }).remove(function(s) { 19734 n.remove(i.getItemGraphicEl(s)); 19735 }).execute(); 19736 }, r.prototype.updateLayout = function() { 19737 var e = this._lineData; 19738 e && e.eachItemGraphicEl(function(t, a) { 19739 t.updateLayout(e, a); 19740 }, this); 19741 }, r.prototype.incrementalPrepareUpdate = function(e) { 19742 this._seriesScope = _x(e), this._lineData = null, this.group.removeAll(); 19743 }, r.prototype.incrementalUpdate = function(e, t) { 19744 this._progressiveEls = []; 19745 function a(s) { 19746 !s.isGroup && !E3(s) && (s.incremental = true, s.ensureState("emphasis").hoverLayer = true); 19747 } 19748 for (var n = e.start; n < e.end; n++) { 19749 var i = t.getItemLayout(n); 19750 if ($c(i)) { 19751 var o = new this._LineCtor(t, n, this._seriesScope); 19752 o.traverse(a), this.group.add(o), t.setItemGraphicEl(n, o), this._progressiveEls.push(o); 19753 } 19754 } 19755 }, r.prototype.remove = function() { 19756 this.group.removeAll(); 19757 }, r.prototype.eachRendered = function(e) { 19758 un(this._progressiveEls || this.group, e); 19759 }, r.prototype._doAdd = function(e, t, a) { 19760 var n = e.getItemLayout(t); 19761 if ($c(n)) { 19762 var i = new this._LineCtor(e, t, a); 19763 e.setItemGraphicEl(t, i), this.group.add(i); 19764 } 19765 }, r.prototype._doUpdate = function(e, t, a, n, i) { 19766 var o = e.getItemGraphicEl(a); 19767 if (!$c(t.getItemLayout(n))) { 19768 this.group.remove(o); 19769 return; 19770 } 19771 o ? o.updateData(t, n, i) : o = new this._LineCtor(t, n, i), t.setItemGraphicEl(n, o), this.group.add(o); 19772 }, r; 19773}(); 19774function E3(r) { 19775 return r.animators && r.animators.length > 0; 19776} 19777function _x(r) { 19778 var e = r.hostModel, t = e.getModel("emphasis"); 19779 return { lineStyle: e.getModel("lineStyle").getLineStyle(), emphasisLineStyle: t.getModel(["lineStyle"]).getLineStyle(), blurLineStyle: e.getModel(["blur", "lineStyle"]).getLineStyle(), selectLineStyle: e.getModel(["select", "lineStyle"]).getLineStyle(), emphasisDisabled: t.get("disabled"), blurScope: t.get("blurScope"), focus: t.get("focus"), labelStatesModels: se(e) }; 19780} 19781function Sx(r) { 19782 return isNaN(r[0]) || isNaN(r[1]); 19783} 19784function $c(r) { 19785 return r && !Sx(r[0]) && !Sx(r[1]); 19786} 19787var Xc = [], Zc = [], qc = [], Ui = fe, Kc = $a, xx = Math.abs; 19788function bx(r, e, t) { 19789 for (var a = r[0], n = r[1], i = r[2], o = 1 / 0, s, l = t * t, u = 0.1, f = 0.1; f <= 0.9; f += 0.1) { 19790 Xc[0] = Ui(a[0], n[0], i[0], f), Xc[1] = Ui(a[1], n[1], i[1], f); 19791 var h = xx(Kc(Xc, e) - l); 19792 h < o && (o = h, s = f); 19793 } 19794 for (var v = 0; v < 32; v++) { 19795 var c = s + u; 19796 Zc[0] = Ui(a[0], n[0], i[0], s), Zc[1] = Ui(a[1], n[1], i[1], s), qc[0] = Ui(a[0], n[0], i[0], c), qc[1] = Ui(a[1], n[1], i[1], c); 19797 var h = Kc(Zc, e) - l; 19798 if (xx(h) < 0.01) break; 19799 var p = Kc(qc, e) - l; 19800 u /= 2, h < 0 ? p >= 0 ? s = s + u : s = s - u : p >= 0 ? s = s - u : s = s + u; 19801 } 19802 return s; 19803} 19804function jc(r, e) { 19805 var t = [], a = el, n = [[], [], []], i = [[], []], o = []; 19806 e /= 2, r.eachEdge(function(s, l) { 19807 var u = s.getLayout(), f = s.getVisual("fromSymbol"), h = s.getVisual("toSymbol"); 19808 u.__original || (u.__original = [Zr(u[0]), Zr(u[1])], u[2] && u.__original.push(Zr(u[2]))); 19809 var v = u.__original; 19810 if (u[2] != null) { 19811 if (_e(n[0], v[0]), _e(n[1], v[2]), _e(n[2], v[1]), f && f !== "none") { 19812 var c = Es(s.node1), p = bx(n, v[0], c * e); 19813 a(n[0][0], n[1][0], n[2][0], p, t), n[0][0] = t[3], n[1][0] = t[4], a(n[0][1], n[1][1], n[2][1], p, t), n[0][1] = t[3], n[1][1] = t[4]; 19814 } 19815 if (h && h !== "none") { 19816 var c = Es(s.node2), p = bx(n, v[1], c * e); 19817 a(n[0][0], n[1][0], n[2][0], p, t), n[1][0] = t[1], n[2][0] = t[2], a(n[0][1], n[1][1], n[2][1], p, t), n[1][1] = t[1], n[2][1] = t[2]; 19818 } 19819 _e(u[0], n[0]), _e(u[1], n[2]), _e(u[2], n[1]); 19820 } else { 19821 if (_e(i[0], v[0]), _e(i[1], v[1]), Va(o, i[1], i[0]), mi(o, o), f && f !== "none") { 19822 var c = Es(s.node1); 19823 xf(i[0], i[0], o, c * e); 19824 } 19825 if (h && h !== "none") { 19826 var c = Es(s.node2); 19827 xf(i[1], i[1], o, -c * e); 19828 } 19829 _e(u[0], i[0]), _e(u[1], i[1]); 19830 } 19831 }); 19832} 19833function Tx(r) { 19834 return r.type === "view"; 19835} 19836var k3 = function(r) { 19837 N(e, r); 19838 function e() { 19839 var t = r !== null && r.apply(this, arguments) || this; 19840 return t.type = e.type, t; 19841 } 19842 return e.prototype.init = function(t, a) { 19843 var n = new Ul(), i = new cm(), o = this.group; 19844 this._controller = new ql(a.getZr()), this._controllerHost = { target: o }, o.add(n.group), o.add(i.group), this._symbolDraw = n, this._lineDraw = i, this._firstRen
19844der = true; 19845 }, e.prototype.render = function(t, a, n) { 19846 var i = this, o = t.coordinateSystem; 19847 this._model = t; 19848 var s = this._symbolDraw, l = this._lineDraw, u = this.group; 19849 if (Tx(o)) { 19850 var f = { x: o.x, y: o.y, scaleX: o.scaleX, scaleY: o.scaleY }; 19851 this._firstRender ? u.attr(f) : Tt(u, f, t); 19852 } 19853 jc(t.getGraph(), Rs(t)); 19854 var h = t.getData(); 19855 s.updateData(h); 19856 var v = t.getEdgeData(); 19857 l.updateData(v), this._updateNodeAndLinkScale(), this._updateController(t, a, n), clearTimeout(this._layoutTimeout); 19858 var c = t.forceLayout, p = t.get(["force", "layoutAnimation"]); 19859 c && this._startForceLayoutIteration(c, p); 19860 var d = t.get("layout"); 19861 h.graph.eachNode(function(_) { 19862 var S = _.dataIndex, b = _.getGraphicEl(), x = _.getModel(); 19863 if (b) { 19864 b.off("drag").off("dragend"); 19865 var w = x.get("draggable"); 19866 w && b.on("drag", function(C) { 19867 switch (d) { 19868 case "force": 19869 c.warmUp(), !i._layouting && i._startForceLayoutIteration(c, p), c.setFixed(S), h.setItemLayout(S, [b.x, b.y]); 19870 break; 19871 case "circular": 19872 h.setItemLayout(S, [b.x, b.y]), _.setLayout({ fixed: true }, true), hm(t, "symbolSize", _, [C.offsetX, C.offsetY]), i.updateLayout(t); 19873 break; 19874 case "none": 19875 default: 19876 h.setItemLayout(S, [b.x, b.y]), fm(t.getGraph(), t), i.updateLayout(t); 19877 break; 19878 } 19879 }).on("dragend", function() { 19880 c && c.setUnfixed(S); 19881 }), b.setDraggable(w, !!x.get("cursor")); 19882 var T = x.get(["emphasis", "focus"]); 19883 T === "adjacency" && (it(b).focus = _.getAdjacentDataIndices()); 19884 } 19885 }), h.graph.eachEdge(function(_) { 19886 var S = _.getGraphicEl(), b = _.getModel().get(["emphasis", "focus"]); 19887 S && b === "adjacency" && (it(S).focus = { edge: [_.dataIndex], node: [_.node1.dataIndex, _.node2.dataIndex] }); 19888 }); 19889 var g = t.get("layout") === "circular" && t.get(["circular", "rotateLabel"]), y = h.getLayout("cx"), m = h.getLayout("cy"); 19890 h.graph.eachNode(function(_) { 19891 oI(_, g, y, m); 19892 }), this._firstRender = false;
19893 }, e.prototype.dispose = function() { 19894 this.remove(), this._controller && this._controller.dispose(), this._controllerHost = null; 19895 }, e.prototype._startForceLayoutIteration = function(t, a) { 19896 var n = this; 19897 (function i() { 19898 t.step(function(o) { 19899 n.updateLayout(n._model), (n._layouting = !o) && (a ? n._layoutTimeout = setTimeout(i, 16) : i()); 19900 }); 19901 })(); 19902 }, e.prototype._updateController = function(t, a, n) { 19903 var i = this, o = this._controller, s = this._controllerHost, l = this.group; 19904 if (o.setPointerChecker(function(u, f, h) { 19905 var v = l.getBoundingRect(); 19906 return v.applyTransform(l.transform), v.contain(f, h) && !ev(u, n, t); 19907 }), !Tx(t.coordinateSystem)) { 19908 o.disable(); 19909 return; 19910 } 19911 o.enable(t.get("roam")), s.zoomLimit = t.get("scaleLimit"), s.zoom = t.coordinateSystem.getZoom(), o.off("pan").off("zoom").on("pan", function(u) { 19912 em(s, u.dx, u.dy), n.dispatchAction({ seriesId: t.id, type: "graphRoam", dx: u.dx, dy: u.dy }); 19913 }).on("zoom", function(u) { 19914 rm(s, u.scale, u.originX, u.originY), n.dispatchAction({ seriesId: t.id, type: "graphRoam", zoom: u.scale, originX: u.originX, originY: u.originY }), i._updateNodeAndLinkScale(), jc(t.getGraph(), Rs(t)), i._lineDraw.updateLayout(), n.updateLabelLayout(); 19915 }); 19916 }, e.prototype._updateNodeAndLinkScale = function() { 19917 var t = this._model, a = t.getData(), n = Rs(t); 19918 a.eachItemGraphicEl(function(i, o) { 19919 i && i.setSymbolScale(n); 19920 }); 19921 }, e.prototype.updateLayout = function(t) { 19922 jc(t.getGraph(), Rs(t)), this._symbolDraw.updateLayout(), this._lineDraw.updateLayout(); 19923 }, e.prototype.remove = function() { 19924 clearTimeout(this._layoutTimeout), this._layouting = false, this._layoutTimeout = null, this._symbolDraw && this._symbolDraw.remove(), this._lineDraw && this._lineDraw.remove(); 19925 }, e.type = "graph", e; 19926}(Pt); 19927function Yi(r) { 19928 return "_EC_" + r; 19929} 19930var O3 = function() { 19931 function r(e) { 19932 this.type = "graph", this.nodes = [], this.edges = [], this._nodesMap = {}, this._edgesMap = {}, this._directed = e || false; 19933 } 19934 return r.prototype.isDirected = function() { 19935 return this._directed; 19936 }, r.prototype.addNode = function(e, t) { 19937 e = e == null ? "" + t : "" + e; 19938 var a = this._nodesMap; 19939 if (!a[Yi(e)]) { 19940 var n = new Fn(e, t); 19941 return n.hostGraph = this, this.nodes.push(n), a[Yi(e)] = n, n; 19942 } 19943 }, r.prototype.getNodeByIndex = function(e) { 19944 var t = this.data.getRawIndex(e); 19945 return this.nodes[t]; 19946 }, r.prototype.getNodeById = function(e) { 19947 return this._nodesMap[Yi(e)]; 19948 }, r.prototype.addEdge = function(e, t, a) { 19949 var n = this._nodesMap, i = this._edgesMap; 19950 if (wt(e) && (e = this.nodes[e]), wt(t) && (t = this.nodes[t]), e instanceof Fn || (e = n[Yi(e)]), t instanceof Fn || (t = n[Yi(t)]), !(!e || !t)) { 19951 var o = e.id + "-" + t.id, s = new lI(e, t, a); 19952 return s.hostGraph = this, this._directed && (e.outEdges.push(s), t.inEdges.push(s)), e.edges.push(s), e !== t && t.edges.push(s), this.edges.push(s), i[o] = s, s; 19953 } 19954 }, r.prototype.getEdgeByIndex = function(e) { 19955 var t = this.edgeData.getRawIndex(e); 19956 return this.edges[t]; 19957 }, r.prototype.getEdge = function(e, t) { 19958 e instanceof Fn && (e = e.id), t instanceof Fn && (t = t.id); 19959 var a = this._edgesMap; 19960 return this._directed ? a[e + "-" + t] : a[e + "-" + t] || a[t + "-" + e]; 19961 }, r.prototype.eachNode = function(e, t) { 19962 for (var a = this.nodes, n = a.length, i = 0; i < n; i++) a[i].dataIndex >= 0 && e.call(t, a[i], i); 19963 }, r.prototype.eachEdge = function(e, t) { 19964 for (var a = this.edges, n = a.length, i = 0; i < n; i++) a[i].dataIndex >= 0 && a[i].node1.dataIndex >= 0 && a[i].node2.dataIndex >= 0 && e.call(t, a[i], i); 19965 }, r.prototype.breadthFirstTraverse = function(e, t, a, n) { 19966 if (t instanceof Fn || (t = this._nodesMap[Yi(t)]), !!t) { 19967 for (var i = a === "out" ? "outEdges" : a === "in" ? "inEdges" : "edges", o = 0; o < this.nodes.length; o++) this.nodes[o].__visited = false; 19968 if (!e.call(n, t, null)) for (var s = [t]; s.length; ) for (var l = s.shift(), u = l[i], o = 0; o < u.length; o++) { 19969 var f = u[o], h = f.node1 === l ? f.node2 : f.node1; 19970 if (!h.__visited) { 19971 if (e.call(n, h, l)) return; 19972 s.push(h), h.__visited = true; 19973 } 19974 } 19975 } 19976 }, r.prototype.update = function() { 19977 for (var e = this.data, t = this.edgeData, a = this.nodes, n = this.edges, i = 0, o = a.length; i < o; i++) a[i].dataIndex = -1; 19978 for (var i = 0, o = e.count(); i < o; i++) a[e.getRawIndex(i)].dataIndex = i; 19979 t.filterSelf(function(s) { 19980 var l = n[t.getRawIndex(s)]; 19981 return l.node1.dataIndex >= 0 && l.node2.dataIndex >= 0; 19982 }); 19983 for (var i = 0, o = n.length; i < o; i++) n[i].dataIndex = -1; 19984 for (var i = 0, o = t.count(); i < o; i++) n[t.getRawIndex(i)].dataIndex = i; 19985 }, r.prototype.clone = function() { 19986 for (var e = new r(this._directed), t = this.nodes, a = this.edges, n = 0; n < t.length; n++) e.addNode(t[n].id, t[n].dataIndex); 19987 for (var n = 0; n < a.length; n++) { 19988 var i = a[n]; 19989 e.addEdge(i.node1.id, i.node2.id, i.dataIndex); 19990 } 19991 return e; 19992 }, r; 19993}(), Fn = function() { 19994 function r(e, t) { 19995 this.inEdges = [], this.outEdges = [], this.edges = [], this.dataIndex = -1, this.id = e ?? "", this.dataIndex = t ?? -1; 19996 } 19997 return r.prototype.degree = function() { 19998 return this.edges.length; 19999 }, r.prototype.inDegree = function() { 20000 return this.inEdges.length; 20001 }, r.prototype.outDegree = function() { 20002 return this.outEdges.length; 20003 }, r.prototype.getModel = function(e) { 20004 if (!(this.dataIndex < 0)) { 20005 var t = this.hostGraph, a = t.data.getItemModel(this.dataIndex); 20006 return a.getModel(e); 20007 } 20008 }, r.prototype.getAdjacentDataIndices = function() { 20009 for (var e = { edge: [], node: [] }, t = 0; t < this.edges.length; t++) { 20010 var a = this.edges[t]; 20011 a.dataIndex < 0 || (e.edge.push(a.dataIndex), e.node.push(a.node1.dataIndex, a.node2.dataIndex)); 20012 } 20013 return e; 20014 }, r.prototype.getTrajectoryDataIndices = function() { 20015 for (var e = Z(), t = Z(), a = 0; a < this.edges.length; a++) { 20016 var n = this.edges[a]; 20017 if (!(n.dataIndex < 0)) { 20018 e.set(n.dataIndex, true); 20019 for (var i = [n.node1], o = [n.node2], s = 0; s < i.length; ) { 20020 var l = i[s]; 20021 s++, t.set(l.dataIndex, true); 20022 for (var u = 0; u < l.inEdges.length; u++) e.set(l.inEdges[u].dataIndex, true), i.push(l.inEdges[u].node1); 20023 } 20024 for (s = 0; s < o.length; ) { 20025 var f = o[s]; 20026 s++, t.set(f.dataIndex, true); 20027 for (var u = 0; u < f.outEdges.length; u++) e.set(f.outEdges[u].dataIndex, true), o.push(f.outEdges[u].node2); 20028 } 20029 } 20030 } 20031 return { edge: e.keys(), node: t.keys() }; 20032 }, r; 20033}(), lI = function() { 20034 function r(e, t, a) { 20035 this.dataIndex = -1, this.node1 = e, this.node2 = t, this.dataIndex = a ?? -1; 20036 } 20037 return r.prototype.getModel = function(e) { 20038 if (!(this.dataIndex < 0)) { 20039 var t = this.hostGraph, a = t.edgeData.getItemModel(this.dataIndex); 20040 return a.getModel(e); 20041 } 20042 }, r.prototype.getAdjacentDataIndices = function() { 20043 return { edge: [this.dataIndex], node: [this.node1.dataIndex, this.node2.dataIndex] }; 20044 }, r.prototype.getTrajectoryDataIndices = function() { 20045 var e = Z(), t = Z(); 20046 e.set(this.dataIndex, true); 20047 for (var a = [this.node1], n = [this.node2], i = 0; i < a.length; ) { 20048 var o = a[i]; 20049 i++, t.set(o.dataIndex, true); 20050 for (var s = 0; s < o.inEdges.length; s++) e.set(o.inEdges[s].dataIndex, true), a.push(o.inEdges[s].node1); 20051 } 20052 for (i = 0; i < n.length; ) { 20053 var l = n[i]; 20054 i++, t.set(l.dataIndex, true); 20055 for (var s = 0; s < l.outEdges.length; s++) e.set(l.outEdges[s].dataIndex, true), n.push(l.outEdges[s].node2); 20056 } 20057 return { edge: e.keys(), node: t.keys() }; 20058 }, r; 20059}(); 20060function uI(r, e) { 20061 return { getValue: function(t) { 20062 var a = this[r][e]; 20063 return a.getStore().get(a.getDimensionIndex(t || "value"), this.dataIndex); 20064 }, setVisual: function(t, a) { 20065 this.dataIndex >= 0 && this[r][e].setItemVisual(this.dataIndex, t, a); 20066 }, getVisual: function(t) { 20067 return this[r][e].getItemVisual(this.dataIndex, t); 20068 }, setLayout: function(t, a) { 20069 this.dataIndex >= 0 && this[r][e].setItemLayout(this.dataIndex, t, a); 20070 }, getLayout: function() { 20071 return this[r][e].getItemLayout(this.dataIndex); 20072 }, getGraphicEl: function() { 20073 return this[r][e].getItemGraphicEl(this.dataIndex); 20074 }, getRawIndex: function() { 20075 return this[r][e].getRawIndex(this.dataIndex); 20076 } }; 20077} 20078Xt(Fn, uI("hostGraph", "data")); 20079Xt(lI, uI("hostGraph", "edgeData")); 20080function fI(r, e, t, a, n) { 20081 for (var i = new O3(a), o = 0; o < r.length; o++) i.addNode(ne(r[o].id, r[o].name, o), o); 20082 for (var s = [], l = [], u = 0, o = 0; o < e.length; o++) { 20083 var f = e[o], h = f.source, v = f.target; 20084 i.addEdge(h, v, u) && (l.push(f), s.push(ne(te(f.id, null), h + " > " + v)), u++); 20085 }
20086 var c = t.get("coordinateSystem"), p; 20087 if (c === "cartesian2d" || c === "polar") p = aa(r, t); 20088 else { 20089 var d = Vo.get(c), g = d ? d.dimensions || [] : []; 20090 vt(g, "value") < 0 && g.concat(["value"]); 20091 var y = Wo(r, { coordDimensions: g, encodeDefine: t.getEncode() }).dimensions; 20092 p = new be(y, t), p.initData(r); 20093 } 20094 var m = new be(["value"], t); 20095 return m.initData(l, s), n && n(p, m), YM({ mainData: p, struct: i, structAttr: "graph", datas: { node: p, edge: m }, datasAttr: { node: "data", edge: "edgeData" } }), i.update(), i; 20096} 20097var N3 = function(r) { 20098 N(e, r); 20099 function e() { 20100 var t = r !== null && r.apply(this, arguments) || this; 20101 return t.type = e.type, t.hasSymbolVisual = true, t; 20102 } 20103 return e.prototype.init = function(t) { 20104 r.prototype.init.apply(this, arguments); 20105 var a = this; 20106 function n() { 20107 return a._categoriesData; 20108 } 20109 this.legendVisualProvider = new Zl(n, n), this.fillDataTextStyle(t.edges || t.links), this._updateCategoriesData(); 20110 }, e.prototype.mergeOption = function(t) { 20111 r.prototype.mergeOption.apply(this, arguments), this.fillDataTextStyle(t.edges || t.links), this._updateCategoriesData(); 20112 }, e.prototype.mergeDefaultAndTheme = function(t) { 20113 r.prototype.mergeDefaultAndTheme.apply(this, arguments), fi(t, "edgeLabel", ["show"]); 20114 }, e.prototype.getInitialData = function(t, a) { 20115 var n = t.edges || t.links || [], i = t.data || t.nodes || [], o = this; 20116 if (i && n) { 20117 b3(this); 20118 var s = fI(i, n, this, true, l); 20119 return D(s.edges, function(u) { 20120 w3(u.node1, u.node2, this, u.dataIndex); 20121 }, this), s.data; 20122 } 20123 function l(u, f) { 20124 u.wrapMethod("getItemModel", function(p) { 20125 var d = o._categoriesModels, g = p.getShallow("category"), y = d[g]; 20126 return y && (y.parentModel = p.parentModel, p.parentModel = y), p; 20127 }); 20128 var h = At.prototype.getModel; 20129 function v(p, d) { 20130 var g = h.call(this, p, d); 20131 return g.resolveParentPath = c, g; 20132 } 20133 f.wrapMethod("getItemModel", function(p) { 20134 return p.resolveParentPath = c, p.getModel = v, p; 20135 }); 20136 function c(p) { 20137 if (p && (p[0] === "label" || p[1] === "label")) { 20138 var d = p.slice(); 20139 return p[0] === "label" ? d[0] = "edgeLabel" : p[1] === "label" && (d[1] = "edgeLabel"), d; 20140 } 20141 return p; 20142 } 20143 } 20144 }, e.prototype.getGraph = function() { 20145 return this.getData().graph; 20146 }, e.prototype.getEdgeData = function() { 20147 return this.getGraph().edgeData; 20148 }, e.prototype.getCategoriesData = function() { 20149 return this._categoriesData; 20150 }, e.prototype.formatTooltip = function(t, a, n) { 20151 if (n === "edge") { 20152 var i = this.getData(), o = this.getDataParams(t, n), s = i.graph.getEdgeByIndex(t), l = i.getName(s.node1.dataIndex), u = i.getName(s.node2.dataIndex), f = []; 20153 return l != null && f.push(l), u != null && f.push(u), le("nameValue", { name: f.join(" > "), value: o.value, noValue: o.value == null }); 20154 } 20155 var h = PA({ series: this, dataIndex: t, multipleSeries: a }); 20156 return h; 20157 }, e.prototype._updateCategoriesData = function() { 20158 var t = G(this.option.categories || [], function(n) { 20159 return n.value != null ? n : z({ value: 0 }, n); 20160 }), a = new be(["value"], this); 20161 a.initData(t), this._categoriesData = a, this._categoriesModels = a.mapArray(function(n) { 20162 return a.getItemModel(n); 20163 }); 20164 }, e.prototype.setZoom = function(t) { 20165 this.option.zoom = t; 20166 }, e.prototype.setCenter = function(t) { 20167 this.option.center = t; 20168 }, e.prototype.isAnimationEnabled = function() { 20169 return r.prototype.isAnimationEnabled.call(this) && !(this.get("layout") === "force" && this.get(["force", "layoutAnimation"])); 20170 }, e.type = "series.graph", e.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"], e.defaultOption = { z: 2, coordinateSystem: "view", legendHoverLink: true, layout: null, circular: { rotateLabel: false }, force: { initLayout: null, repulsion: [0, 50], gravity: 0.1, friction: 0.6, edgeLength: 30, layoutAnimation: true }, left: "center", top: "center", symbol: "circle", symbolSize: 10, edgeSymbol: ["none", "none"], edgeSymbolSize: 10, edgeLabel: { position: "middle", distance: 5 }, draggable: false, roam: false, center: null, zoom: 1, nodeScaleRatio: 0.6, label: { show: false, formatter: "{b}" }, itemStyle: {}, lineStyle: { color: "#aaa", width: 1, opacity: 0.5 }, emphasis: { scale: true, label: { show: true } }, select: { itemStyle: { borderColor: "#212121" } } }, e; 20171}(Et), B3 = { type: "graphRoam", event: "graphRoam", update: "none" }; 20172function z3(r) { 20173 r.registerChartView(k3), r.registerSeriesModel(N3), r.registerProcessor(y3), r.registerVisual(m3), r.registerVisual(_3), r.registerLayout(T3), r.registerLayout(r.PRIORITY.VISUAL.POST_CHART_LAYOUT, A3), r.registerLayout(M3), r.registerCoordinateSystem("graphView", { dimensions: Kl.dimensions, create: L3 }), r.registerAction({ type: "focusNodeAdjacency", event: "focusNodeAdjacency", update: "series:focusNodeAdjacency" }, $t), r.registerAction({ type: "unfocusNodeAdjacency", event: "unfocusNodeAdjacency", update: "series:unfocusNodeAdjacency" }, $t), r.registerAction(B3, function(e, t, a) { 20174 t.eachComponent({ mainType: "series", query: e }, function(n) { 20175 var i = n.coordinateSystem, o = nm(i, e, void 0, a); 20176 n.setCenter && n.setCenter(o.center), n.setZoom && n.setZoom(o.zoom); 20177 }); 20178 }); 20179} 20180var V3 = /* @__PURE__ */ function() { 20181 function r() { 20182 this.angle = 0, this.width = 10, this.r = 10, this.x = 0, this.y = 0; 20183 } 20184 return r; 20185}(), G3 = function(r) { 20186 N(e, r); 20187 function e(t) { 20188 var a = r.call(this, t) || this; 20189 return a.type = "pointer", a; 20190 } 20191 return e.prototype.getDefaultShape = function() { 20192 return new V3(); 20193 }, e.prototype.buildPath = function(t, a) { 20194 var n = Math.cos, i = Math.sin, o = a.r, s = a.width, l = a.angle, u = a.x - n(l) * s * (s >= o / 3 ? 1 : 2), f = a.y - i(l) * s * (s >= o / 3 ? 1 : 2); 20195 l = a.angle - Math.PI / 2, t.moveTo(u, f), t.lineTo(a.x + n(l) * s, a.y + i(l) * s), t.lineTo(a.x + n(a.angle) * o, a.y + i(a.angle) * o), t.lineTo(a.x - n(l) * s, a.y - i(l) * s), t.lineTo(u, f); 20196 }, e; 20197}(mt); 20198function F3(r, e) {
20199 var t = r.get("center"), a = e.getWidth(), n = e.getHeight(), i = Math.min(a, n), o = W(t[0], e.getWidth()), s = W(t[1], e.getHeight()), l = W(r.get("radius"), i / 2); 20200 return { cx: o, cy: s, r: l }; 20201} 20202function Hu(r, e) { 20203 var t = r == null ? "" : r + ""; 20204 return e && (Y(e) ? t = e.replace("{value}", t) : j(e) && (t = e(r))), t; 20205} 20206var H3 = function(r) { 20207 N(e, r); 20208 function e() { 20209 var t = r !== null && r.apply(this, arguments) || this; 20210 return t.type = e.type, t; 20211 } 20212 return e.prototype.render = function(t, a, n) { 20213 this.group.removeAll(); 20214 var i = t.get(["axisLine", "lineStyle", "color"]), o = F3(t, n); 20215 this._renderMain(t, a, n, i, o), this._data = t.getData(); 20216 }, e.prototype.dispose = function() { 20217 }, e.prototype._renderMain = function(t, a, n, i, o) { 20218 var s = this.group, l = t.get("clockwise"), u = -t.get("startAngle") / 180 * Math.PI, f = -t.get("endAngle") / 180 * Math.PI, h = t.getModel("axisLine"), v = h.get("roundCap"), c = v ? Qf : Te, p = h.get("show"), d = h.getModel("lineStyle"), g = d.get("width"), y = [u, f]; 20219 qg(y, !l), u = y[0], f = y[1]; 20220 for (var m = f - u, _ = u, S = [], b = 0; p && b < i.length; b++) { 20221 var x = Math.min(Math.max(i[b][0], 0), 1); 20222 f = u + m * x; 20223 var w = new c({ shape: { startAngle: _, endAngle: f, cx: o.cx, cy: o.cy, clockwise: l, r0: o.r - g, r: o.r }, silent: true }); 20224 w.setStyle({ fill: i[b][1] }), w.setStyle(d.getLineStyle(["color", "width"])), S.push(w), _ = f; 20225 } 20226 S.reverse(), D(S, function(C) { 20227 return s.add(C); 20228 }); 20229 var T = function(C) { 20230 if (C <= 0) return i[0][1]; 20231 var A; 20232 for (A = 0; A < i.length; A++) if (i[A][0] >= C && (A === 0 ? 0 : i[A - 1][0]) < C) return i[A][1]; 20233 return i[A - 1][1]; 20234 }; 20235 this._renderTicks(t, a, n, T, o, u, f, l, g), this._renderTitleAndDetail(t, a, n, T, o), this._renderAnchor(t, o), this._renderPointer(t, a, n, T, o, u, f, l, g); 20236 }, e.prototype._renderTicks = function(t, a, n, i, o, s, l, u, f) { 20237 for (var h = this.group, v = o.cx, c = o.cy, p = o.r, d = +t.get("min"), g = +t.get("max"), y = t.getModel("splitLine"), m = t.getModel("axisTick"), _ = t.getModel("axisLabel"), S = t.get("splitNumber"), b = m.get("splitNumber"), x = W(y.get("length"), p), w = W(m.get("length"), p), T = s, C = (l - s) / S, A = C / b, M = y.getModel("lineStyle").getLineStyle(), I = m.getModel("lineStyle").getLineStyle(), L = y.get("distance"), P, R, E = 0; E <= S; E++) { 20238 if (P = Math.cos(T), R = Math.sin(T), y.get("show")) { 20239 var O = L ? L + f : f, k = new ee({ shape: { x1: P * (p - O) + v, y1: R * (p - O) + c, x2: P * (p - x - O) + v, y2: R * (p - x - O) + c }, style: M, silent: true }); 20240 M.stroke === "auto" && k.setStyle({ stroke: i(E / S) }), h.add(k); 20241 } 20242 if (_.get("show")) { 20243 var O = _.get("distance") + L, B = Hu(Ut(E / S * (g - d) + d), _.get("formatter")), F = i(E / S), H = P * (p - x - O) + v, U = R * (p - x - O) + c, K = _.get("rotate"), J = 0; 20244 K === "radial" ? (J = -T + 2 * Math.PI, J > Math.PI / 2 && (J += Math.PI)) : K === "tangential" ? J = -T - Math.PI / 2 : wt(K) && (J = K * Math.PI / 180), J === 0 ? h.add(new St({ style: Nt(_, { text: B, x: H, y: U, verticalAlign: R < -0.8 ? "top" : R > 0.8 ? "bottom" : "middle", align: P < -0.4 ? "left" : P > 0.4 ? "right" : "center" }, { inheritColor: F }), silent: true })) : h.add(new St({ style: Nt(_, { text: B, x: H, y: U, verticalAlign: "middle", align: "center" }, { inheritColor: F }), silent: true, originX: H, originY: U, rotation: J })); 20245 } 20246 if (m.get("show") && E !== S) { 20247 var O = m.get("distance"); 20248 O = O ? O + f : f; 20249 for (var nt = 0; nt <= b; nt++) { 20250 P = Math.cos(T), R = Math.sin(T); 20251 var It = new ee({ shape: { x1: P * (p - O) + v, y1: R * (p - O) + c, x2: P * (p - w - O) + v, y2: R * (p - w - O) + c }, silent: true, style: I }); 20252 I.stroke === "auto" && It.setStyle({ stroke: i((E + nt / b) / S) }), h.add(It), T += A; 20253 } 20254 T -= A; 20255 } else T += C; 20256 } 20257 }, e.prototype._renderPointer = function(t, a, n, i, o, s, l, u, f) { 20258 var h = this.group, v = this._data, c = this._progressEls, p = [], d = t.get(["pointer", "show"]), g = t.getModel("progress"), y = g.get("show"), m = t.getData(), _ = m.mapDimension("value"), S = +t.get("min"), b = +t.get("max"), x = [S, b], w = [s, l]; 20259 function T(A, M) { 20260 var I = m.getItemModel(A), L = I.getModel("pointer"), P = W(L.get("width"), o.r), R = W(L.get("length"), o.r), E = t.get(["pointer", "icon"]), O = L.get("offsetCenter"), k = W(O[0], o.r), B = W(O[1], o.r), F = L.get("keepAspect"), H; 20261 return E ? H = qt(E, k - P / 2, B - R, P, R, null, F) : H = new G3({ shape: { angle: -Math.PI / 2, width: P, r: R, x: k, y: B } }), H.rotation = -(M + Math.PI / 2), H.x = o.cx, H.y = o.cy, H; 20262 } 20263 function C(A, M) { 20264 var I = g.get("roundCap"), L = I ? Qf : Te, P = g.get("overlap"), R = P ? g.get("width") : f / m.count(), E = P ? o.r - R : o.r - (A + 1) * R, O = P ? o.r : o.r - A * R, k = new L({ shape: { startAngle: s, endAngle: M, cx: o.cx, cy: o.cy, clockwise: u, r0: E, r: O } }); 20265 return P && (k.z2 = Dt(m.get(_, A), [S, b], [100, 0], true)), k; 20266 } 20267 (y || d) && (m.diff(v).add(function(A) { 20268 var M = m.get(_, A); 20269 if (d) { 20270 var I = T(A, s); 20271 Gt(I, { rotation: -((isNaN(+M) ? w[0] : Dt(M, x, w, true)) + Math.PI / 2) }, t), h.add(I), m.setItemGraphicEl(A, I); 20272 } 20273 if (y) {
20274 var L = C(A, s), P = g.get("clip"); 20275 Gt(L, { shape: { endAngle: Dt(M, x, w, P) } }, t), h.add(L), fd(t.seriesIndex, m.dataType, A, L), p[A] = L; 20276 } 20277 }).update(function(A, M) { 20278 var I = m.get(_, A); 20279 if (d) { 20280 var L = v.getItemGraphicEl(M), P = L ? L.rotation : s, R = T(A, P); 20281 R.rotation = P, Tt(R, { rotation: -((isNaN(+I) ? w[0] : Dt(I, x, w, true)) + Math.PI / 2) }, t), h.add(R), m.setItemGraphicEl(A, R); 20282 } 20283 if (y) { 20284 var E = c[M], O = E ? E.shape.endAngle : s, k = C(A, O), B = g.get("clip"); 20285 Tt(k, { shape: { endAngle: Dt(I, x, w, B) } }, t), h.add(k), fd(t.seriesIndex, m.dataType, A, k), p[A] = k; 20286 } 20287 }).execute(), m.each(function(A) { 20288 var M = m.getItemModel(A), I = M.getModel("emphasis"), L = I.get("focus"), P = I.get("blurScope"), R = I.get("disabled"); 20289 if (d) { 20290 var E = m.getItemGraphicEl(A), O = m.getItemVisual(A, "style"), k = O.fill; 20291 if (E instanceof ue) { 20292 var B = E.style; 20293 E.useStyle(z({ image: B.image, x: B.x, y: B.y, width: B.width, height: B.height }, O)); 20294 } else E.useStyle(O), E.type !== "pointer" && E.setColor(k); 20295 E.setStyle(M.getModel(["pointer", "itemStyle"]).getItemStyle()), E.style.fill === "auto" && E.setStyle("fill", i(Dt(m.get(_, A), x, [0, 1], true))), E.z2EmphasisLift = 0, pe(E, M), Wt(E, L, P, R); 20296 } 20297 if (y) { 20298 var F = p[A]; 20299 F.useStyle(m.getItemVisual(A, "style")), F.setStyle(M.getModel(["progress", "itemStyle"]).getItemStyle()), F.z2EmphasisLift = 0, pe(F, M), Wt(F, L, P, R); 20300 } 20301 }), this._progressEls = p); 20302 }, e.prototype._renderAnchor = function(t, a) { 20303 var n = t.getModel("anchor"), i = n.get("show"); 20304 if (i) { 20305 var o = n.get("size"), s = n.get("icon"), l = n.get("offsetCenter"), u = n.get("keepAspect"), f = qt(s, a.cx - o / 2 + W(l[0], a.r), a.cy - o / 2 + W(l[1], a.r), o, o, null, u); 20306 f.z2 = n.get("showAbove") ? 1 : 0, f.setStyle(n.getModel("itemStyle").getItemStyle()), this.group.add(f); 20307 } 20308 }, e.prototype._renderTitleAndDetail = function(t, a, n, i, o) { 20309 var s = this, l = t.getData(), u = l.mapDimension("value"), f = +t.get("min"), h = +t.get("max"), v = new at(), c = [], p = [], d = t.isAnimationEnabled(), g = t.get(["pointer", "showAbove"]); 20310 l.diff(this._data).add(function(y) { 20311 c[y] = new St({ silent: true }), p[y] = new St({ silent: true }); 20312 }).update(function(y, m) { 20313 c[y] = s._titleEls[m], p[y] = s._detailEls[m]; 20314 }).execute(), l.each(function(y) { 20315 var m = l.getItemModel(y), _ = l.get(u, y), S = new at(), b = i(Dt(_, [f, h], [0, 1], true)), x = m.getModel("title"); 20316 if (x.get("show")) { 20317 var w = x.get("offsetCenter"), T = o.cx + W(w[0], o.r), C = o.cy + W(w[1], o.r), A = c[y]; 20318 A.attr({ z2: g ? 0 : 2, style: Nt(x, { x: T, y: C, text: l.getName(y), align: "center", verticalAlign: "middle" }, { inheritColor: b }) }), S.add(A); 20319 } 20320 var M = m.getModel("detail"); 20321 if (M.get("show")) { 20322 var I = M.get("offsetCenter"), L = o.cx + W(I[0], o.r), P = o.cy + W(I[1], o.r), R = W(M.get("width"), o.r), E = W(M.get("height"), o.r), O = t.get(["progress", "show"]) ? l.getItemVisual(y, "style").fill : b, A = p[y], k = M.get("formatter"); 20323 A.attr({ z2: g ? 0 : 2, style: Nt(M, { x: L, y: P, text: Hu(_, k), width: isNaN(R) ? null : R, height: isNaN(E) ? null : E, align: "center", verticalAlign: "middle" }, { inheritColor: O }) }), zC(A, { normal: M }, _, function(F) { 20324 return Hu(F, k); 20325 }), d && VC(A, y, l, t, { getFormattedLabel: function(F, H, U, K, J, nt) { 20326 return Hu(nt ? nt.interpolatedValue : _, k); 20327 } }), S.add(A); 20328 } 20329 v.add(S); 20330 }), this.group.add(v), this._titleEls = c, this._detailEls = p; 20331 }, e.type = "gauge", e; 20332}(Pt), W3 = function(r) { 20333 N(e, r); 20334 function e() { 20335 var t = r !== null && r.apply(this, arguments) || this; 20336 return t.type = e.type, t.visualStyleAccessPath = "itemStyle", t; 20337 } 20338 return e.prototype.getInitialData = function(t, a) { 20339 return $o(this, ["value"]); 20340 }, e.type = "series.gauge", e.defaultOption = { z: 2, colorBy: "data", center: ["50%", "50%"], legendHoverLink: true, radius: "75%", startAngle: 225, endAngle: -45, clockwise: true, min: 0, max: 100, splitNumber: 10, axisLine
20340: { show: true, roundCap: false, lineStyle: { color: [[1, "#E6EBF8"]], width: 10 } }, progress: { show: false, overlap: true, width: 10, roundCap: false, clip: true }, splitLine: { show: true, length: 10, distance: 10, lineStyle: { color: "#63677A", width: 3, type: "solid" } }, axisTick: { show: true, splitNumber: 5, length: 6, distance: 10, lineStyle: { color: "#63677A", width: 1, type: "solid" } }, axisLabel: { show: true, distance: 15, color: "#464646", fontSize: 12, rotate: 0 }, pointer: { icon: null, offsetCenter: [0, 0], show: true, showAbove: true, length: "60%", width: 6, keepAspect: false }, anchor: { show: false, showAbove: false, size: 6, icon: "circle", offsetCenter: [0, 0], keepAspect: false, itemStyle: { color: "#fff", borderWidth: 0, borderColor: "#5470c6" } }, title: { show: true, offsetCenter: [0, "20%"], color: "#464646", fontSize: 16, valueAnimation: false }, detail: { show: true, backgroundColor: "rgba(0,0,0,0)", borderWidth: 0, borderColor: "#ccc", width: 100, height: null, padding: [5, 10], offsetCenter: [0, "40%"], color: "#464646", fontSize: 30, fontWeight: "bold", lineHeight: 30, valueAnimation: false } }, e; 20341}(Et); 20342function U3(r) { 20343 r.registerChartView(H3), r.registerSeriesModel(W3); 20344} 20345var Y3 = ["itemStyle", "opacity"], $3 = function(r) { 20346 N(e, r); 20347 function e(t, a) { 20348 var n = r.call(this) || this, i = n, o = new De(), s = new St(); 20349 return i.setTextContent(s), n.setTextGuideLine(o), n.updateData(t, a, true), n; 20350 } 20351 return e.prototype.updateData = function(t, a, n) { 20352 var i = this, o = t.hostModel, s = t.getItemModel(a), l = t.getItemLayout(a), u = s.getModel("emphasis"), f = s.get(Y3); 20353 f = f ?? 1, n || Er(i), i.useStyle(t.getItemVisual(a, "style")), i.style.lineJoin = "round", n ? (i.setShape({ points: l.points }), i.style.opacity = 0, Gt(i, { style: { opacity: f } }, o, a)) : Tt(i, { style: { opacity: f }, shape: { points: l.points } }, o, a), pe(i, s), this._updateLabel(t, a), Wt(this, u.get("focus"), u.get("blurScope"), u.get("disabled")); 20354 }, e.prototype._updateLabel = function(t, a) { 20355 var n = this, i = this.getTextGuideLine(), o = n.getTextContent(), s = t.hostModel, l = t.getItemModel(a), u = t.getItemLayout(a), f = u.label, h = t.getItemVisual(a, "style"), v = h.fill; 20356 de(o, se(l), { labelFetcher: t.hostModel, labelDataIndex: a, defaultOpacity: h.opacity, defaultText: t.getName(a) }, { normal: { align: f.textAlign, verticalAlign: f.verticalAlign } }), n.setTextConfig({ local: true, inside: !!f.inside, insideStroke: v, outsideFill: v }); 20357 var c = f.linePoints; 20358 i.setShape({ points: c }), n.textGuideLineConfig = { anchor: c ? new ft(c[0][0], c[0][1]) : null }, Tt(o, { style: { x: f.x, y: f.y } }, s, a), o.attr({ rotation: f.rotation, originX: f.x, originY: f.y, z2: 10 }), Uy(n, Yy(l), { stroke: v }); 20359 }, e; 20360}(Ce), X3 = function(r) { 20361 N(e, r); 20362 function e() { 20363 var t = r !== null && r.apply(this, arguments) || this; 20364 return t.type = e.type, t.ignoreLabelLineUpdate = true, t; 20365 } 20366 return e.prototype.render = function(t, a, n) { 20367 var i = t.getData(), o = this._data, s = this.group; 20368 i.diff(o).add(function(l) { 20369 var u = new $3(i, l); 20370 i.setItemGraphicEl(l, u), s.add(u); 20371 }).update(function(l, u) { 20372 var f = o.getItemGraphicEl(u); 20373 f.updateData(i, l), s.add(f), i.setItemGraphicEl(l, f); 20374 }).remove(function(l) { 20375 var u = o.getItemGraphicEl(l); 20376 ul(u, t, l); 20377 }).execute(), this._data = i; 20378 }, e.prototype.remove = function() { 20379 this.group.removeAll(), this._data = null; 20380 }, e.prototype.dispose = function() { 20381 }, e.type = "funnel", e; 20382}(Pt), Z3 = function(r) { 20383 N(e, r); 20384 function e() { 20385 var t = r !== null && r.apply(this, arguments) || this; 20386 return t.type = e.type, t; 20387 } 20388 return e.prototype.init = function(t) { 20389 r.prototype.init.apply(this, arguments), this.legendVisualProvider = new Zl($(this.getData, this), $(this.getRawData, this)), this._defaultLabelLine(t); 20390 }, e.prototype.getInitialData = function(t, a) { 20391 return $o(this, { coordDimensions: ["value"], encodeDefaulter: lt(my, this) }); 20392 }, e.prototype._defaultLabelLine = function(t) { 20393 fi(t, "labelLine", ["show"]); 20394 var a = t.labelLine, n = t.emphasis.labelLine; 20395 a.show = a.show && t.label.show, n.show = n.show && t.emphasis.label.show; 20396 }, e.prototype.getDataParams = function(t) { 20397 var a = this.getData(), n = r.prototype.getDataParams.call(this, t), i = a.mapDimension("value"), o = a.getSum(i); 20398 return n.percent = o ? +(a.get(i, t) / o * 100).toFixed(2) : 0, n.$vars.push("percent"), n; 20399 }, e.type = "series.funnel", e.defaultOption = { z: 2, legendHoverLink: true, colorBy: "data", left: 80, top: 60, right: 80, bottom: 60, minSize: "0%", maxSize: "100%", sort: "descending", orient: "vertical", gap: 0, funnelAlign: "center", label: { show: true, position: "outer" }, labelLine: { show: true, length: 20, lineStyle: { width: 1 } }, itemStyle: { borderColor: "#fff", borderWidth: 1 }, emphasis: { label: { show: true } }, select: { itemStyle: { borderColor: "#212121" } } }, e; 20400}(Et); 20401function q3(r, e) { 20402 return Qt(r.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); 20403} 20404function K3(r, e) { 20405 for (var t = r.mapDimension("value"), a = r.mapArray(t, function(l) { 20406 return l; 20407 }), n = [], i = e === "ascending", o = 0, s = r.count(); o < s; o++) n[o] = o; 20408 return j(e) ? n.sort(e) : e !== "none" && n.sort(function(l, u) { 20409 return i ? a[l] - a[u] : a[u] - a[l]; 20410 }), n; 20411} 20412function j3(r) { 20413 var e = r.hostModel, t = e.get("orient"); 20414 r.each(function(a) { 20415 var n = r.getItemModel(a), i = n.getModel("label"), o = i.get("position"), s = n.getModel("labelLine"), l = r.getItemLayout(a), u = l.points, f = o === "inner" || o === "inside" || o === "center" || o === "insideLeft" || o === "insideRight", h, v, c, p; 20416 if (f) o === "insideLeft" ? (v = (u[0][0] + u[3][0]) / 2 + 5, c = (u[0][1] + u[3][1]) / 2, h = "left") : o === "insideRight" ? (v = (u[1][0] + u[2][0]) / 2 - 5, c = (u[1][1] + u[2][1]) / 2, h = "right") : (v = (u[0][0] + u[1][0] + u[2][0] + u[3][0]) / 4, c = (u[0][1] + u[1][1] + u[2][1] + u[3][1]) / 4, h = "center"), p = [[v, c], [v, c]]; 20417 else { 20418 var d = void 0, g = void 0, y = void 0, m = void 0, _ = s.get("length"); 20419 o === "left" ? (d = (u[3][0] + u[0][0]) / 2, g = (u[3][1] + u[0][1]) / 2, y = d - _, v = y - 5, h = "right") : o === "right" ? (d = (u[1][0] + u[2][0]) / 2, g = (u[1][1] + u[2][1]) / 2, y = d + _, v = y + 5, h = "left") : o === "top" ? (d = (u[3][0] + u[0][0]) / 2, g = (u[3][1] + u[0][1]) / 2, m = g - _, c = m - 5, h = "center") : o === "bottom" ? (d = (u[1][0] + u[2][0]) / 2, g = (u[1][1] + u[2][1]) / 2, m = g + _, c = m + 5, h = "center") : o === "rightTop" ? (d = t === "horizontal" ? u[3][0] : u[1][0], g = t === "horizontal" ? u[3][1] : u[1][1], t === "horizontal" ? (m = g - _, c = m - 5, h = "center") : (y = d + _, v = y + 5, h = "to
20419p")) : o === "rightBottom" ? (d = u[2][0], g = u[2][1], t === "horizontal" ? (m = g + _, c = m + 5, h = "center") : (y = d + _, v = y + 5, h = "bottom")) : o === "leftTop" ? (d = u[0][0], g = t === "horizontal" ? u[0][1] : u[1][1], t === "horizontal" ? (m = g - _, c = m - 5, h = "center") : (y = d - _, v = y - 5, h = "right")) : o === "leftBottom" ? (d = t === "horizontal" ? u[1][0] : u[3][0], g = t === "horizontal" ? u[1][1] : u[2][1], t === "horizontal" ? (m = g + _, c = m + 5, h = "center") : (y = d - _, v = y - 5, h = "right")) : (d = (u[1][0] + u[2][0]) / 2, g = (u[1][1] + u[2][1]) / 2, t === "horizontal" ? (m = g + _, c = m + 5, h = "center") : (y = d + _, v = y + 5, h = "left")), t === "horizontal" ? (y = d, v = y) : (m = g, c = m), p = [[d, g], [y, m]]; 20420 } 20421 l.label = { linePoints: p, x: v, y: c, verticalAlign: "middle", textAlign: h, inside: f }; 20422 }); 20423} 20424function J3(r, e) { 20425 r.eachSeriesByType("funnel", function(t) { 20426 var a = t.getData(), n = a.mapDimension("value"), i = t.get("sort"), o = q3(t, e), s = t.get("orient"), l = o.width, u = o.height, f = K3(a, i), h = o.x, v = o.y, c = s === "horizontal" ? [W(t.get("minSize"), u), W(t.get("maxSize"), u)] : [W(t.get("minSize"), l), W(t.get("maxSize"), l)], p = a.getDataExtent(n), d = t.get("min"), g = t.get("max"); 20427 d == null && (d = Math.min(p[0], 0)), g == null && (g = p[1]); 20428 var y = t.get("funnelAlign"), m = t.get("gap"), _ = s === "horizontal" ? l : u, S = (_ - m * (a.count() - 1)) / a.count(), b = function(P, R) { 20429 if (s === "horizontal") { 20430 var E = a.get(n, P) || 0, O = Dt(E, [d, g], c, true), k = void 0; 20431 switch (y) { 20432 case "top": 20433 k = v; 20434 break; 20435 case "center": 20436 k = v + (u - O) / 2; 20437 break; 20438 case "bottom": 20439 k = v + (u - O); 20440 break; 20441 } 20442 return [[R, k], [R, k + O]]; 20443 } 20444 var B = a.get(n, P) || 0, F = Dt(B, [d, g], c, true), H; 20445 switch (y) { 20446 case "left": 20447 H = h; 20448 break; 20449 case "center": 20450 H = h + (l - F) / 2; 20451 break; 20452 case "right": 20453 H = h + l - F; 20454 break; 20455 } 20456 return [[H, R], [H + F, R]]; 20457 }; 20458 i === "ascending" && (S = -S, m = -m, s === "horizontal" ? h += l : v += u, f = f.reverse()); 20459 for (var x = 0; x < f.length; x++) { 20460 var w = f[x], T = f[x + 1], C = a.getItemModel(w); 20461 if (s === "horizontal") { 20462 var A = C.get(["itemStyle", "width"]); 20463 A == null ? A = S : (A = W(A, l), i === "ascending" && (A = -A)); 20464 var M = b(w, h), I = b(T, h + A); 20465 h += A + m, a.setItemLayout(w, { points: M.concat(I.slice().reverse()) }); 20466 } else { 20467 var L = C.get(["itemStyle", "height"]); 20468 L == null ? L = S : (L = W(L, u), i === "ascending" && (L = -L)); 20469 var M = b(w, v), I = b(T, v + L); 20470 v += L + m, a.setItemLayout(w, { points: M.concat(I.slice().reverse()) }); 20471 } 20472 } 20473 j3(a); 20474 }); 20475} 20476function Q3(r) { 20477 r.registerChartView(X3), r.registerSeriesModel(Z3), r.registerLayout(J3), r.registerProcessor(Xl("funnel")); 20478} 20479var tH = 0.3, eH = function(r) { 20480 N(e, r); 20481 function e() { 20482 var t = r !== null && r.apply(this, arguments) || this; 20483 return t.type = e.type, t._dataGroup = new at(), t._initialized = false, t; 20484 } 20485 return e.prototype.init = function() { 20486 this.group.add(this._dataGroup); 20487 }, e.prototype.render = function(t, a, n, i) { 20488 this._progressiveEls = null; 20489 var o = this._dataGroup, s = t.getData(), l = this._data, u = t.coordinateSystem, f = u.dimensions, h = Ax(t); 20490 s.diff(l).add(v).update(c).remove(p).execute(); 20491 function v(g) { 20492 var y = Cx(s, o, g, f, u); 20493 Jc(y, s, g, h); 20494 } 20495 function c(g, y) { 20496 var m = l.getItemGraphicEl(y), _ = hI(s, g, f, u); 20497 s.setItemGraphicEl(g, m), Tt(m, { shape: { points: _ } }, t, g), Er(m), Jc(m, s, g, h); 20498 } 20499 function p(g) { 20500 var y = l.getItemGraphicEl(g); 20501 o.remove(y); 20502 } 20503 if (!this._initialized) { 20504 this._initialized = true; 20505 var d = rH(u, t, function() { 20506 setTimeout(function() { 20507 o.removeClipPath(); 20508 }); 20509 }); 20510 o.setClipPath(d); 20511 } 20512 this._data = s; 20513 }, e.prototype.incrementalPrepareRender = function(t, a, n) { 20514 this._initialized = true, this._data = null, this._dataGroup.removeAll(); 20515 }, e.prototype.incrementalRender = function(t, a, n) { 20516 for (var i = a.getData(), o = a.coordinateSystem, s = o.dimensions, l = Ax(a), u = this._progressiveEls = [], f = t.start; f < t.end; f++) { 20517 var h = Cx(i, this._dataGroup, f, s, o); 20518 h.incremental = true, Jc(h, i, f, l), u.push(h); 20519 } 20520 }, e.prototype.remove = function() { 20521 this._dataGroup && this._dataGroup.removeAll(), this._data = null; 20522 }, e.type = "parallel", e; 20523}(Pt); 20524function rH(r, e, t) { 20525 var a = r.model, n = r.getRect(), i = new xt({ shape: { x: n.x, y: n.y, width: n.width, height: n.height } }), o = a.get("layout") === "horizontal" ? "width" : "height"; 20526 return i.setShape(o, 0), Gt(i, { shape: { width: n.width, height: n.height } }, e, t), i; 20527} 20528function hI(r, e, t, a) { 20529 for (var n = [], i = 0; i < t.length; i++) { 20530 var o = t[i], s = r.get(r.mapDimension(o), e); 20531 aH(s, a.getAxis(o).type) || n.push(a.dataToPoint(s, o)); 20532 } 20533 return n; 20534} 20535function Cx(r, e, t, a, n) { 20536 var i = hI(r, t, a, n), o = new De({ shape: { points: i }, z2: 10 }); 20537 return e.add(o), r.setItemGraphicEl(t, o), o; 20538} 20539function Ax(r) { 20540 var e = r.get("smooth", true); 20541 return e === true && (e = tH), e = Qr(e), po(e) && (e = 0), { smooth: e }; 20542}
20543function Jc(r, e, t, a) { 20544 r.useStyle(e.getItemVisual(t, "style")), r.style.fill = null, r.setShape("smooth", a.smooth); 20545 var n = e.getItemModel(t), i = n.getModel("emphasis"); 20546 pe(r, n, "lineStyle"), Wt(r, i.get("focus"), i.get("blurScope"), i.get("disabled")); 20547} 20548function aH(r, e) { 20549 return e === "category" ? r == null : r == null || isNaN(r); 20550} 20551var nH = function(r) { 20552 N(e, r); 20553 function e() { 20554 var t = r !== null && r.apply(this, arguments) || this; 20555 return t.type = e.type, t.visualStyleAccessPath = "lineStyle", t.visualDrawType = "stroke", t; 20556 } 20557 return e.prototype.getInitialData = function(t, a) { 20558 return aa(null, this, { useEncodeDefaulter: $(iH, null, this) }); 20559 }, e.prototype.getRawIndicesByActiveState = function(t) { 20560 var a = this.coordinateSystem, n = this.getData(), i = []; 20561 return a.eachActiveState(n, function(o, s) { 20562 t === o && i.push(n.getRawIndex(s)); 20563 }), i; 20564 }, e.type = "series.parallel", e.dependencies = ["parallel"], e.defaultOption = { z: 2, coordinateSystem: "parallel", parallelIndex: 0, label: { show: false }, inactiveOpacity: 0.05, activeOpacity: 1, lineStyle: { width: 1, opacity: 0.45, type: "solid" }, emphasis: { label: { show: false } }, progressive: 500, smooth: false, animationEasing: "linear" }, e; 20565}(Et); 20566function iH(r) { 20567 var e = r.ecModel.getComponent("parallel", r.get("parallelIndex")); 20568 if (e) { 20569 var t = {}; 20570 return D(e.dimensions, function(a) { 20571 var n = oH(a); 20572 t[a] = n; 20573 }), t; 20574 } 20575} 20576function oH(r) { 20577 return +r.replace("dim", ""); 20578} 20579var sH = ["lineStyle", "opacity"], lH = { seriesType: "parallel", reset: function(r, e) { 20580 var t = r.coordinateSystem, a = { normal: r.get(["lineStyle", "opacity"]), active: r.get("activeOpacity"), inactive: r.get("inactiveOpacity") }; 20581 return { progress: function(n, i) { 20582 t.eachActiveState(i, function(o, s) { 20583 var l = a[o]; 20584 if (o === "normal" && i.hasItemOption) { 20585 var u = i.getItemModel(s).get(sH, true); 20586 u != null && (l = u); 20587 } 20588 var f = i.ensureUniqueItemVisual(s, "style"); 20589 f.opacity = l; 20590 }, n.start, n.end); 20591 } }; 20592} }; 20593function uH(r) { 20594 fH(r), hH(r); 20595} 20596function fH(r) { 20597 if (!r.parallel) { 20598 var e = false; 20599 D(r.series, function(t) { 20600 t && t.type === "parallel" && (e = true); 20601 }), e && (r.parallel = [{}]); 20602 } 20603} 20604function hH(r) { 20605 var e = Rt(r.parallelAxis); 20606 D(e, function(t) { 20607 if (tt(t)) { 20608 var a = t.parallelIndex || 0, n = Rt(r.parallel)[a]; 20609 n && n.parallelAxisDefault && ut(t, n.parallelAxisDefault, false); 20610 } 20611 }); 20612} 20613var vH = 5, cH = function(r) { 20614 N(e, r); 20615 function e() { 20616 var t = r !== null && r.apply(this, arguments) || this; 20617 return t.type = e.type, t; 20618 } 20619 return e.prototype.render = function(t, a, n) { 20620 this._model = t, this._api = n, this._handlers || (this._handlers = {}, D(pH, function(i, o) { 20621 n.getZr().on(o, this._handlers[o] = $(i, this)); 20622 }, this)), Fo(this, "_throttledDispatchExpand", t.get("axisExpandRate"), "fixRate"); 20623 }, e.prototype.dispose = function(t, a) { 20624 cl(this, "_throttledDispatchExpand"), D(this._handlers, function(n, i) { 20625 a.getZr().off(i, n); 20626 }), this._handlers = null; 20627 }, e.prototype._throttledDispatchExpand = function(t) { 20628 this._dispatchExpand(t); 20629 }, e.prototype._dispatchExpand = function(t) { 20630 t && this._api.dispatchAction(z({ type: "parallelAxisExpand" }, t)); 20631 }, e.type = "parallel", e; 20632}(Vt), pH = { mousedown: function(r) { 20633 Qc(this, "click") && (this._mouseDownPoint = [r.offsetX, r.offsetY]); 20634}, mouseup: function(r) { 20635 var e = this._mouseDownPoint; 20636 if (Qc(this, "click") && e) { 20637 var t = [r.offsetX, r.offsetY], a = Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2); 20638 if (a > vH) return; 20639 var n = this._model.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX, r.offsetY]); 20640 n.behavior !== "none" && this._dispatchExpand({ axisExpandWindow: n.axisExpandWindow }); 20641 } 20642 this._mouseDownPoint = null; 20643}, mousemove: function(r) { 20644 if (!(this._mouseDownPoint || !Qc(this, "mousemove"))) { 20645 var e = this._model, t = e.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX, r.offsetY]), a = t.behavior; 20646 a === "jump" && this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")), this._throttledDispatchExpand(a === "
20646none" ? null : { axisExpandWindow: t.axisExpandWindow, animation: a === "jump" ? null : { duration: 0 } }); 20647 } 20648} }; 20649function Qc(r, e) { 20650 var t = r._model; 20651 return t.get("axisExpandable") && t.get("axisExpandTriggerOn") === e; 20652} 20653var dH = function(r) { 20654 N(e, r); 20655 function e() { 20656 var t = r !== null && r.apply(this, arguments) || this; 20657 return t.type = e.type, t; 20658 } 20659 return e.prototype.init = function() { 20660 r.prototype.init.apply(this, arguments), this.mergeOption({}); 20661 }, e.prototype.mergeOption = function(t) { 20662 var a = this.option; 20663 t && ut(a, t, true), this._initDimensions(); 20664 }, e.prototype.contains = function(t, a) { 20665 var n = t.get("parallelIndex"); 20666 return n != null && a.getComponent("parallel", n) === this; 20667 }, e.prototype.setAxisExpand = function(t) { 20668 D(["axisExpandable", "axisExpandCenter", "axisExpandCount", "axisExpandWidth", "axisExpandWindow"], function(a) { 20669 t.hasOwnProperty(a) && (this.option[a] = t[a]); 20670 }, this); 20671 }, e.prototype._initDimensions = function() { 20672 var t = this.dimensions = [], a = this.parallelAxisIndex = [], n = Ct(this.ecModel.queryComponents({ mainType: "parallelAxis" }), function(i) { 20673 return (i.get("parallelIndex") || 0) === this.componentIndex; 20674 }, this); 20675 D(n, function(i) { 20676 t.push("dim" + i.get("dim")), a.push(i.componentIndex); 20677 }); 20678 }, e.type = "parallel", e.dependencies = ["parallelAxis"], e.layoutMode = "box", e.defaultOption = { z: 0, left: 80, top: 60, right: 80, bottom: 60, layout: "horizontal", axisExpandable: false, axisExpandCenter: null, axisExpandCount: 0, axisExpandWidth: 50, axisExpandRate: 17, axisExpandDebounce: 50, axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4], axisExpandTriggerOn: "click", parallelAxisDefault: null }, e; 20679}(gt), gH = function(r) { 20680 N(e, r); 20681 function e(t, a, n, i, o) { 20682 var s = r.call(this, t, a, n) || this; 20683 return s.type = i || "value", s.axisIndex = o, s; 20684 } 20685 return e.prototype.isHorizontal = function() { 20686 return this.coordinateSystem.getModel().get("layout") !== "horizontal"; 20687 }, e; 20688}(yr); 20689function Ai(r, e, t, a, n, i) { 20690 r = r || 0; 20691 var o = t[1] - t[0]; 20692 if (n != null && (n = $i(n, [0, o])), i != null && (i = Math.max(i, n ?? 0)), a === "all") { 20693 var s = Math.abs(e[1] - e[0]); 20694 s = $i(s, [0, o]), n = i = $i(s, [n, i]), a = 0; 20695 } 20696 e[0] = $i(e[0], t), e[1] = $i(e[1], t); 20697 var l = tp(e, a); 20698 e[a] += r; 20699 var u = n || 0, f = t.slice(); 20700 l.sign < 0 ? f[0] += u : f[1] -= u, e[a] = $i(e[a], f); 20701 var h; 20702 return h = tp(e, a), n != null && (h.sign !== l.sign || h.span < n) && (e[1 - a] = e[a] + l.sign * n), h = tp(e, a), i != null && h.span > i && (e[1 - a] = e[a] + h.sign * i), e; 20703} 20704function tp(r, e) { 20705 var t = r[e] - r[1 - e]; 20706 return { span: Math.abs(t), sign: t > 0 ? -1 : t < 0 ? 1 : e ? -1 : 1 }; 20707} 20708function $i(r, e) { 20709 return Math.min(e[1] != null ? e[1] : 1 / 0, Math.max(e[0] != null ? e[0] : -1 / 0, r)); 20710} 20711var ep = D, vI = Math.min, cI = Math.max, Dx = Math.floor, yH = Math.ceil, Mx = Ut, mH = Math.PI, _H = function() { 20712 function r(e, t, a) { 20713 this.type = "parallel", this._axesMap = Z(), this._axesLayout = {}, this.dimensions = e.dimensions, this._model = e, this._init(e, t, a); 20714 } 20715 return r.prototype._init = function(e, t, a) { 20716 var n = e.dimensions, i = e.parallelAxisIndex; 20717 ep(n, function(o, s) { 20718 var l = i[s], u = t.getComponent("parallelAxis", l), f = this._axesMap.set(o, new gH(o, Hl(u), [0, 0], u.get("type"), l)), h = f.type === "category"; 20719 f.onBand = h && u.get("boundaryGap"), f.inverse = u.get("inverse"), u.axis = f, f.model = u, f.coordinateSystem = u.coordinateSystem = this; 20720 }, this); 20721 }, r.prototype.update = function(e, t) { 20722 this._updateAxesFromSeries(this._model, e); 20723 }, r.prototype.containPoint = function(e) { 20724 var t = this._makeLayoutInfo(), a = t.axisBase, n = t.layoutBase, i = t.pixelDimIndex, o = e[1 - i], s = e[i]; 20725 return o >= a && o <= a + t.axisLength && s >= n && s <= n + t.layoutLength; 20726 }, r.prototype.getModel = function() { 20727 return this._model; 20728 }, r.prototype._updateAxesFromSeries = function(e, t) { 20729 t.eachSeries(function(a) { 20730 if (e.contains(a, t)) { 20731 var n = a.getData(); 20732 ep(this.dimensions, function(i) { 20733 var o = this._axesMap.get(i); 20734 o.scale.unionExtentFromData(n, n.mapDimension(i)), di(o.scale, o.model); 20735 }, this); 20736 } 20737 }, this); 20738 }, r.prototype.resize = function(e, t) { 20739 this._rect = Qt(e.getBoxLayoutParams(), { width: t.getWidth(), height: t.getHeight() }), this._layoutAxes(); 20740 }, r.prototype.getRect = function() { 20741 return this._rect; 20742 }, r.prototype._makeLayoutInfo = function() { 20743 var e = this._model, t = this._rect, a = ["x", "y"], n = ["width", "height"], i = e.get("layout"), o = i === "horizontal" ? 0 : 1, s = t[n[o]], l = [0, s], u = this.dimensions.length, f = Wu(e.get("axisExpandWidth"), l), h = Wu(e.get("axisExpandCount") || 0, [0, u]), v = e.get("axisExpandable") && u > 3 && u > h && h > 1 && f > 0 && s > 0, c = e.get("axisExpandWindow"), p; 20744 if (c) p = Wu(c[1] - c[0], l), c[1] = c[0] + p; 20745 else { 20746 p = Wu(f * (h - 1), l); 20747 var d = e.get("axisExpandCenter") || Dx(u / 2); 20748 c = [f * d - p / 2], c[1] = c[0] + p; 20749 } 20750 var g = (s - p) / (u - h); 20751 g < 3 && (g = 0);
20752 var y = [Dx(Mx(c[0] / f, 1)) + 1, yH(Mx(c[1] / f, 1)) - 1], m = g / f * c[0]; 20753 return { layout: i, pixelDimIndex: o, layoutBase: t[a[o]], layoutLength: s, axisBase: t[a[1 - o]], axisLength: t[n[1 - o]], axisExpandable: v, axisExpandWidth: f, axisCollapseWidth: g, axisExpandWindow: c, axisCount: u, winInnerIndices: y, axisExpandWindow0Pos: m }; 20754 }, r.prototype._layoutAxes = function() { 20755 var e = this._rect, t = this._axesMap, a = this.dimensions, n = this._makeLayoutInfo(), i = n.layout; 20756 t.each(function(o) { 20757 var s = [0, n.axisLength], l = o.inverse ? 1 : 0; 20758 o.setExtent(s[l], s[1 - l]); 20759 }), ep(a, function(o, s) { 20760 var l = (n.axisExpandable ? xH : SH)(s, n), u = { horizontal: { x: l.position, y: n.axisLength }, vertical: { x: 0, y: l.position } }, f = { horizontal: mH / 2, vertical: 0 }, h = [u[i].x + e.x, u[i].y + e.y], v = f[i], c = He(); 20761 ln(c, c, v), Pr(c, c, h), this._axesLayout[o] = { position: h, rotation: v, transform: c, axisNameAvailableWidth: l.axisNameAvailableWidth, axisLabelShow: l.axisLabelShow, nameTruncateMaxWidth: l.nameTruncateMaxWidth, tickDirection: 1, labelDirection: 1 }; 20762 }, this); 20763 }, r.prototype.getAxis = function(e) { 20764 return this._axesMap.get(e); 20765 }, r.prototype.dataToPoint = function(e, t) { 20766 return this.axisCoordToPoint(this._axesMap.get(t).dataToCoord(e), t); 20767 }, r.prototype.eachActiveState = function(e, t, a, n) { 20768 a == null && (a = 0), n == null && (n = e.count()); 20769 var i = this._axesMap, o = this.dimensions, s = [], l = []; 20770 D(o, function(g) { 20771 s.push(e.mapDimension(g)), l.push(i.get(g).model); 20772 }); 20773 for (var u = this.hasAxisBrushed(), f = a; f < n; f++) { 20774 var h = void 0; 20775 if (!u) h = "normal"; 20776 else { 20777 h = "active"; 20778 for (var v = e.getValues(s, f), c = 0, p = o.length; c < p; c++) { 20779 var d = l[c].getActiveState(v[c]); 20780 if (d === "inactive") { 20781 h = "inactive"; 20782 break; 20783 } 20784 } 20785 } 20786 t(h, f); 20787 } 20788 }, r.prototype.hasAxisBrushed = function() { 20789 for (var e = this.dimensions, t = this._axesMap, a = false, n = 0, i = e.length; n < i; n++) t.get(e[n]).model.getActiveState() !== "normal" && (a = true); 20790 return a; 20791 }, r.prototype.axisCoordToPoint = function(e, t) { 20792 var a = this._axesLayout[t]; 20793 return Ir([e, 0], a.transform); 20794 }, r.prototype.getAxisLayout = function(e) { 20795 return rt(this._axesLayout[e]); 20796 }, r.prototype.getSlidedAxisExpandWindow = function(e) { 20797 var t = this._makeLayoutInfo(), a = t.pixelDimIndex, n = t.axisExpandWindow.slice(), i = n[1] - n[0], o = [0, t.axisExpandWidth * (t.axisCount - 1)]; 20798 if (!this.containPoint(e)) return { behavior: "none", axisExpandWindow: n }; 20799 var s = e[a] - t.layoutBase - t.axisExpandWindow0Pos, l, u = "slide", f = t.axisCollapseWidth, h = this._model.get("axisExpandSlideTriggerArea"), v = h[0] != null; 20800 if (f) v && f && s < i * h[0] ? (u = "jump", l = s - i * h[2]) : v && f && s > i * (1 - h[0]) ? (u = "jump", l = s - i * (1 - h[2])) : (l = s - i * h[1]) >= 0 && (l = s - i * (1 - h[1])) <= 0 && (l = 0), l *= t.axisExpandWidth / f, l ? Ai(l, n, o, "all") : u = "none"; 20801 else { 20802 var c = n[1] - n[0], p = o[1] * s / c; 20803 n = [cI(0, p - c / 2)], n[1] = vI(o[1], n[0] + c), n[0] = n[1] - c; 20804 } 20805 return { axisExpandWindow: n, behavior: u }; 20806 }, r; 20807}(); 20808function Wu(r, e) { 20809 return vI(cI(r, e[0]), e[1]); 20810} 20811function SH(r, e) { 20812 var t = e.layoutLength / (e.axisCount - 1); 20813 return { position: t * r, axisNameAvailableWidth: t, axisLabelShow: true }; 20814} 20815function xH(r, e) { 20816 var t = e.layoutLength, a = e.axisExpandWidth, n = e.axisCount, i = e.axisCollapseWidth, o = e.winInnerIndices, s, l = i, u = false, f; 20817 return r < o[0] ? (s = r * i, f = i) : r <= o[1] ? (s = e.axisExpandWindow0Pos + r * a - e.axisExpandWindow[0], l = a, u = true) : (s = t - (n - 1 - r) * i, f = i), { position: s, axisNameAvailableWidth: l, axisLabelShow: u, nameTruncateMaxWidth: f }; 20818} 20819function bH(r, e) { 20820 var t = []; 20821 return r.eachComponent("parallel", function(a, n) { 20822 var i = new _H(a, r, e); 20823 i.name = "parallel_" + n, i.resize(a, e), a.coordinateSystem = i, i.model = a, t.push(i); 20824 }), r.eachSeries(function(a) { 20825 if (a.get("coordinateSystem") === "parallel") { 20826 var n = a.getReferringComponents("parallel", Jt).models[0]; 20827 a.coordinateSystem = n.coordinateSystem; 20828 } 20829 }), t;
20830} 20831var wH = { create: bH }, eg = function(r) { 20832 N(e, r); 20833 function e() { 20834 var t = r !== null && r.apply(this, arguments) || this; 20835 return t.type = e.type, t.activeIntervals = [], t; 20836 } 20837 return e.prototype.getAreaSelectStyle = function() { 20838 return vi([["fill", "color"], ["lineWidth", "borderWidth"], ["stroke", "borderColor"], ["width", "width"], ["opacity", "opacity"]])(this.getModel("areaSelectStyle")); 20839 }, e.prototype.setActiveIntervals = function(t) { 20840 var a = this.activeIntervals = rt(t); 20841 if (a) for (var n = a.length - 1; n >= 0; n--) Xe(a[n]); 20842 }, e.prototype.getActiveState = function(t) { 20843 var a = this.activeIntervals; 20844 if (!a.length) return "normal"; 20845 if (t == null || isNaN(+t)) return "inactive"; 20846 if (a.length === 1) { 20847 var n = a[0]; 20848 if (n[0] <= t && t <= n[1]) return "active"; 20849 } else for (var i = 0, o = a.length; i < o; i++) if (a[i][0] <= t && t <= a[i][1]) return "active"; 20850 return "inactive"; 20851 }, e; 20852}(gt); 20853Xt(eg, Yo); 20854var gi = true, Cl = Math.min, To = Math.max, TH = Math.pow, CH = 1e4, AH = 6, DH = 6, Ix = "globalPan", MH = { w: [0, 0], e: [0, 1], n: [1, 0], s: [1, 1] }, IH = { w: "ew", e: "ew", n: "ns", s: "ns", ne: "nesw", sw: "nesw", nw: "nwse", se: "nwse" }, Lx = { brushStyle: { lineWidth: 2, stroke: "rgba(210,219,238,0.3)", fill: "#D2DBEE" }, transformable: true, brushMode: "single", removeOnClick: false }, LH = 0, pm = function(r) { 20855 N(e, r); 20856 function e(t) { 20857 var a = r.call(this) || this; 20858 return a._track = [], a._covers = [], a._handlers = {}, a._zr = t, a.group = new at(), a._uid = "brushController_" + LH++, D(BH, function(n, i) { 20859 this._handlers[i] = $(n, this); 20860 }, a), a; 20861 } 20862 return e.prototype.enableBrush = function(t) { 20863 return this._brushType && this._doDisableBrush(), t.brushType && this._doEnableBrush(t), this; 20864 }, e.prototype._doEnableBrush = function(t) { 20865 var a = this._zr; 20866 this._enableGlobalPan || SG(a, Ix, this._uid), D(this._handlers, function(n, i) { 20867 a.on(i, n); 20868 }), this._brushType = t.brushType, this._brushOption = ut(rt(Lx), t, true); 20869 }, e.prototype._doDisableBrush = function() { 20870 var t = this._zr; 20871 xG(t, Ix, this._uid), D(this._handlers, function(a, n) { 20872 t.off(n, a); 20873 }), this._brushType = this._brushOption = null; 20874 }, e.prototype.setPanels = function(t) { 20875 if (t && t.length) { 20876 var a = this._panels = {}; 20877 D(t, function(n) { 20878 a[n.panelId] = rt(n); 20879 }); 20880 } else this._panels = null; 20881 return this; 20882 }, e.prototype.mount = function(t) { 20883 t = t || {}, this._enableGlobalPan = t.enableGlobalPan; 20884 var a = this.group; 20885 return this._zr.add(a), a.attr({ x: t.x || 0, y: t.y || 0, rotation: t.rotation || 0, scaleX: t.scaleX || 1, scaleY: t.scaleY || 1 }), this._transform = a.getLocalTransform(), this; 20886 }, e.prototype.updateCovers = function(t) { 20887 t = G(t, function(v) { 20888 return ut(rt(Lx), v, true); 20889 }); 20890 var a = "\0-brush-index-", n = this._covers, i = this._covers = [], o = this, s = this._creatingCover; 20891 return new Sa(n, t, u, l).add(f).update(f).remove(h).execute(), this; 20892 function l(v, c) { 20893 return (v.id != null ? v.id : a + c) + "-" + v.brushType; 20894 } 20895 function u(v, c) { 20896 return l(v.__brushOption, c); 20897 } 20898 function f(v, c) { 20899 var p = t[v]; 20900 if (c != null && n[c] === s) i[v] = n[c]; 20901 else { 20902 var d = i[v] = c != null ? (n[c].__brushOption = p, n[c]) : dI(o, pI(o, p)); 20903 dm(o, d); 20904 } 20905 } 20906 function h(v) { 20907 n[v] !== s && o.group.remove(n[v]); 20908 } 20909 }, e.prototype.unmount = function() { 20910 return this.enableBrush(false), rg(this), this._zr.remove(this.group), this; 20911 }, e.prototype.dispose = function() { 20912 this.unmount(), this.off(); 20913 }, e; 20914}(cr); 20915function pI(r, e) { 20916 var t = iv[e.brushType].createCover(r, e); 20917 return t.__brushOption = e, yI(t, e), r.group.add(t), t; 20918} 20919function dI(r, e) { 20920 var t = gm(e); 20921 return t.endCreating && (t.endCreating(r, e), yI(e, e.__brushOption)), e; 20922} 20923function gI(r, e) { 20924 var t = e.__brushOption; 20925 gm(e).updateCoverShape(r, e, t.range, t); 20926} 20927function yI(r, e) { 20928 var t = e.z; 20929 t == null && (t = CH), r.traverse(function(a) { 20930 a.z = t, a.z2 = t; 20931 }); 20932} 20933function dm(r, e) { 20934 gm(e).updateCommon(r, e), gI(r, e); 20935} 20936function gm(r) { 20937 return iv[r.__brushOption.brushType]; 20938} 20939function ym(r, e, t) { 20940 var a = r._panels; 20941 if (!a) return gi; 20942 var n, i = r._transform; 20943 return D(a, function(o) { 20944 o.isTargetByCursor(e, t, i) && (n = o); 20945 }), n; 20946} 20947function mI(r, e) { 20948 var t = r._panels; 20949 if (!t) return gi; 20950 var a = e.__brushOption.panelId; 20951 return a != null ? t[a] : gi; 20952} 20953function rg(r) { 20954 var e = r._covers, t = e.length; 20955 return D(e, function(a) { 20956 r.group.remove(a); 20957 }, r), e.length = 0, !!t; 20958} 20959function yi(r, e) { 20960 var t = G(r._covers, function(a) { 20961 var n = a.__brushOption, i = rt(n.range); 20962 return { brushType: n.brushType, panelId: n.panelId, range: i }; 20963 }); 20964 r.trigger("brush", { areas: t, isEnd: !!e.isEnd, removeOnClick: !!e.removeOnClick }); 20965} 20966function PH(r) { 20967 var e = r._track; 20968 if (!e.length) return false;
20969 var t = e[e.length - 1], a = e[0], n = t[0] - a[0], i = t[1] - a[1], o = TH(n * n + i * i, 0.5); 20970 return o > AH; 20971} 20972function _I(r) { 20973 var e = r.length - 1; 20974 return e < 0 && (e = 0), [r[0], r[e]]; 20975} 20976function SI(r, e, t, a) { 20977 var n = new at(); 20978 return n.add(new xt({ name: "main", style: mm(t), silent: true, draggable: true, cursor: "move", drift: lt(Px, r, e, n, ["n", "s", "w", "e"]), ondragend: lt(yi, e, { isEnd: true }) })), D(a, function(i) { 20979 n.add(new xt({ name: i.join(""), style: { opacity: 0 }, draggable: true, silent: true, invisible: true, drift: lt(Px, r, e, n, i), ondragend: lt(yi, e, { isEnd: true }) })); 20980 }), n; 20981} 20982function xI(r, e, t, a) { 20983 var n = a.brushStyle.lineWidth || 0, i = To(n, DH), o = t[0][0], s = t[1][0], l = o - n / 2, u = s - n / 2, f = t[0][1], h = t[1][1], v = f - i + n / 2, c = h - i + n / 2, p = f - o, d = h - s, g = p + n, y = d + n; 20984 sa(r, e, "main", o, s, p, d), a.transformable && (sa(r, e, "w", l, u, i, y), sa(r, e, "e", v, u, i, y), sa(r, e, "n", l, u, g, i), sa(r, e, "s", l, c, g, i), sa(r, e, "nw", l, u, i, i), sa(r, e, "ne", v, u, i, i), sa(r, e, "sw", l, c, i, i), sa(r, e, "se", v, c, i, i)); 20985} 20986function ag(r, e) { 20987 var t = e.__brushOption, a = t.transformable, n = e.childAt(0); 20988 n.useStyle(mm(t)), n.attr({ silent: !a, cursor: a ? "move" : "default" }), D([["w"], ["e"], ["n"], ["s"], ["s", "e"], ["s", "w"], ["n", "e"], ["n", "w"]], function(i) { 20989 var o = e.childOfName(i.join("")), s = i.length === 1 ? ng(r, i[0]) : EH(r, i); 20990 o && o.attr({ silent: !a, invisible: !a, cursor: a ? IH[s] + "-resize" : null }); 20991 }); 20992} 20993function sa(r, e, t, a, n, i, o) { 20994 var s = e.childOfName(t); 20995 s && s.setShape(OH(_m(r, e, [[a, n], [a + i, n + o]]))); 20996} 20997function mm(r) { 20998 return Q({ strokeNoScale: true }, r.brushStyle); 20999} 21000function bI(r, e, t, a) { 21001 var n = [Cl(r, t), Cl(e, a)], i = [To(r, t), To(e, a)]; 21002 return [[n[0], i[0]], [n[1], i[1]]]; 21003} 21004function RH(r) { 21005 return qa(r.group); 21006} 21007function ng(r, e) { 21008 var t = { w: "left", e: "right", n: "top", s: "bottom" }, a = { left: "w", right: "e", top: "n", bottom: "s" }, n = Bh(t[e], RH(r)); 21009 return a[n]; 21010} 21011function EH(r, e) { 21012 var t = [ng(r, e[0]), ng(r, e[1])]; 21013 return (t[0] === "e" || t[0] === "w") && t.reverse(), t.join(""); 21014} 21015function Px(r, e, t, a, n, i) { 21016 var o = t.__brushOption, s = r.toRectRange(o.range), l = wI(e, n, i); 21017 D(a, function(u) { 21018 var f = MH[u]; 21019 s[f[0]][f[1]] += l[f[0]]; 21020 }), o.range = r.fromRectRange(bI(s[0][0], s[1][0], s[0][1], s[1][1])), dm(e, t), yi(e, { isEnd: false }); 21021} 21022function kH(r, e, t, a) { 21023 var n = e.__brushOption.range, i = wI(r, t, a); 21024 D(n, function(o) { 21025 o[0] += i[0], o[1] += i[1]; 21026 }), dm(r, e), yi(r, { isEnd: false }); 21027} 21028function wI(r, e, t) { 21029 var a = r.group, n = a.transformCoordToLocal(e, t), i = a.transformCoordToLocal(0, 0); 21030 return [n[0] - i[0], n[1] - i[1]]; 21031} 21032function _m(r, e, t) { 21033 var a = mI(r, e); 21034 return a && a !== gi ? a.clipPath(t, r._transform) : rt(t); 21035} 21036function OH(r) { 21037 var e = Cl(r[0][0], r[1][0]), t = Cl(r[0][1], r[1][1]), a = To(r[0][0], r[1][0]), n = To(r[0][1], r[1][1]); 21038 return { x: e, y: t, width: a - e, height: n - t }; 21039} 21040function NH(r, e, t) { 21041 if (!(!r._brushType || zH(r, e.offsetX, e.offsetY))) { 21042 var a = r._zr, n = r._covers, i = ym(r, e, t); 21043 if (!r._dragging) for (var o = 0; o < n.length; o++) { 21044 var s = n[o].__brushOption; 21045 if (i && (i === gi || s.panelId === i.panelId) && iv[s.brushType].contain(n[o], t[0], t[1])) return; 21046 } 21047 i && a.setCursorStyle("crosshair"); 21048 } 21049} 21050function ig(r) { 21051 var e = r.event; 21052 e.preventDefault && e.preventDefault(); 21053} 21054function og(r, e, t) { 21055 return r.childOfName("main").contain(e, t); 21056} 21057function TI(r, e, t, a) { 21058 var n = r._creatingCover, i = r._creatingPanel, o = r._brushOption, s; 21059 if (r._track.push(t.slice()), PH(r) || n) { 21060 if (i && !n) { 21061 o.brushMode === "single" && rg(r); 21062 var l = rt(o); 21063 l.brushType = Rx(l.brushType, i), l.panelId = i === gi ? null : i.panelId, n = r._creatingCover = pI(r, l), r._covers.push(n); 21064 } 21065 if (n) { 21066 var u = iv[Rx(r._brushType, i)], f = n.__brushOption; 21067 f.range = u.getCreatingRange(_m(r, n, r._track)), a && (dI(r, n), u.updateCommon(r, n)), gI(r, n), s = { isEnd: a }; 21068 } 21069 } else a && o.brushMode === "single" && o.removeOnClick && ym(r, e, t) && rg(r) && (s = { isEnd: a, removeOnClick: true }); 21070 return s; 21071} 21072function Rx(r, e) { 21073 return r === "auto" ? e.defaultBrushType : r; 21074} 21075var BH = { mousedown: function(r) { 21076 if (this._dragging) Ex(this, r); 21077 else if (!r.target || !r.target.draggable) { 21078 ig(r); 21079 var e = this.group.transformCoordToLocal(r.offsetX, r.offsetY); 21080 this._creatingCover = null; 21081 var t = this._creatingPanel = ym(this, r, e); 21082 t && (this._dragging = true, this._track = [e.slice()]); 21083 } 21084}, mousemove: function(r) { 21085 var e = r.offsetX, t = r.offsetY, a = this.group.transformCoordToLocal(e, t); 21086 if (NH(this, r, a), this._dragging) { 21087 ig(r); 21088 var n = TI(this, r, a, false); 21089 n && yi(this, n); 21090 } 21091}, mouseup: function(r) { 21092 Ex(this, r); 21093} }; 21094function Ex(r, e) { 21095 if (r._dragging) { 21096 ig(e); 21097 var t = e.offsetX, a = e.offsetY, n = r.group.transformCoordToLocal(t, a), i = TI(r, e, n, true); 21098 r._dragging = false, r._track = [], r._creatingCover = null, i && yi(r, i); 21099 } 21100} 21101function zH(r, e, t) { 21102 var a = r._zr; 21103 return e < 0 || e > a.getWidth() || t < 0 || t > a.getHeight(); 21104} 21105var iv = { lineX: kx(0), lineY: kx(1), rect: { createCover: function(r, e) { 21106 function t(a) { 21107 return a; 21108 } 21109 return SI({ toRectRange: t, fromRectRange: t }, r, e, [["w"], ["e"], ["n"], ["s"], ["s", "e"], ["s", "w"], ["n", "e"], ["n", "w"]]); 21110}, getCreatingRange: function(r) { 21111 var e = _I(r); 21112 return bI(e[1][0], e[1][1], e[0][0], e[0][1]); 21113}, updateCoverShape: function(r, e, t, a) { 21114 xI(r, e, t, a); 21115}, updateCommon: ag, contain: og }, polygon: { createCover: function(r, e) { 21116 var t = new at(); 21117 return t.add(new De({ name: "main", style: mm(e), silent: true })), t; 21118}, getCreatingRange: function(r) { 21119 return r; 21120}, endCreating: function(r, e) { 21121 e.remove(e.childAt(0)), e.add(new Ce({ name: "main", draggable: true, drift: lt(kH, r, e), ondragend: lt(yi, r, { isEnd: true }) })); 21122}, updateCoverShape: function(r, e, t, a) { 21123 e.childAt(0).setShape({ points: _m(r, e, t) }); 21124}, updateCommon: ag, contain: og } }; 21125function kx(r) { 21126 return { createCover: function(e, t) { 21127 return SI({ toRectRange: function(a) { 21128 var n = [a, [0, 100]]; 21129 return r && n.reverse(), n; 21130 }, fromRectRange: function(a) { 21131 return a[r]; 21132 } }, e, t, [[["w"], ["e"]], [["n"], ["s"]]][r]); 21133 }, getCreatingRange: function(e) { 21134 var t = _I(e), a = Cl(t[0][r], t[1][r]), n = To(t[0][r], t[1][r]); 21135 return [a, n]; 21136 }, updateCoverShape: function(e, t, a, n) { 21137 var i, o = mI(e, t); 21138 if (o !== gi && o.getLinearBrushOtherExtent) i = o.getLinearBrushOtherExtent(r); 21139 else { 21140 var s = e._zr; 21141 i = [0, [s.getWidth(), s.getHeight()][1 - r]]; 21142 } 21143 var l = [a, i]; 21144 r && l.reverse(), xI(e, t, l, n); 21145 }, updateCommon: ag, contain: og }; 21146} 21147function CI(r) { 21148 return r = Sm(r), function(e) { 21149 return oy(e, r); 21150 }; 21151} 21152function AI(r, e) { 21153 return r = Sm(r), function(t) { 21154 var a = e ?? t, n = a ? r.width : r.height, i = a ? r.x : r.y; 21155 return [i, i + (n || 0)]; 21156 }; 21157} 21158function DI(r, e, t) { 21159 var a = Sm(r); 21160 return function(n, i) { 21161 return a.contain(i[0], i[1]) && !ev(n, e, t); 21162 }; 21163} 21164function Sm(r) { 21165 return ht.create(r); 21166} 21167var VH = ["axisLine", "axisTickLabel", "axisName"], GH = function(r) { 21168 N(e, r); 21169 function e() { 21170 var t = r !== null && r.apply(this, arguments) || this; 21171 return t.type = e.type, t; 21172 } 21173 return e.prototype.init = function(t, a) {
21174 r.prototype.init.apply(this, arguments), (this._brushController = new pm(a.getZr())).on("brush", $(this._onBrush, this)); 21175 }, e.prototype.render = function(t, a, n, i) { 21176 if (!FH(t, a, i)) { 21177 this.axisModel = t, this.api = n, this.group.removeAll(); 21178 var o = this._axisGroup; 21179 if (this._axisGroup = new at(), this.group.add(this._axisGroup), !!t.get("show")) { 21180 var s = WH(t, a), l = s.coordinateSystem, u = t.getAreaSelectStyle(), f = u.width, h = t.axis.dim, v = l.getAxisLayout(h), c = z({ strokeContainThreshold: f }, v), p = new Ee(t, c); 21181 D(VH, p.add, p), this._axisGroup.add(p.getGroup()), this._refreshBrushController(c, u, t, s, f, n), Vl(o, this._axisGroup, t); 21182 } 21183 } 21184 }, e.prototype._refreshBrushController = function(t, a, n, i, o, s) { 21185 var l = n.axis.getExtent(), u = l[1] - l[0], f = Math.min(30, Math.abs(u) * 0.1), h = ht.create({ x: l[0], y: -o / 2, width: u, height: o }); 21186 h.x -= f, h.width += 2 * f, this._brushController.mount({ enableGlobalPan: true, rotation: t.rotation, x: t.position[0], y: t.position[1] }).setPanels([{ panelId: "pl", clipPath: CI(h), isTargetByCursor: DI(h, s, i), getLinearBrushOtherExtent: AI(h, 0) }]).enableBrush({ brushType: "lineX", brushStyle: a, removeOnClick: true }).updateCovers(HH(n)); 21187 }, e.prototype._onBrush = function(t) { 21188 var a = t.areas, n = this.axisModel, i = n.axis, o = G(a, function(s) { 21189 return [i.coordToData(s.range[0], true), i.coordToData(s.range[1], true)]; 21190 }); 21191 (!n.option.realtime === t.isEnd || t.removeOnClick) && this.api.dispatchAction({ type: "axisAreaSelect", parallelAxisId: n.id, intervals: o }); 21192 }, e.prototype.dispose = function() { 21193 this._brushController.dispose(); 21194 }, e.type = "parallelAxis", e; 21195}(Vt); 21196function FH(r, e, t) { 21197 return t && t.type === "axisAreaSelect" && e.findComponents({ mainType: "parallelAxis", query: t })[0] === r; 21198} 21199function HH(r) { 21200 var e = r.axis; 21201 return G(r.activeIntervals, function(t) { 21202 return { brushType: "lineX", panelId: "pl", range: [e.dataToCoord(t[0], true), e.dataToCoord(t[1], true)] }; 21203 }); 21204} 21205function WH(r, e) { 21206 return e.getComponent("parallel", r.get("parallelIndex")); 21207} 21208var UH = { type: "axisAreaSelect", event: "axisAreaSelected" }; 21209function YH(r) { 21210 r.registerAction(UH, function(e, t) { 21211 t.eachComponent({ mainType: "parallelAxis", query: e }, function(a) { 21212 a.axis.model.setActiveIntervals(e.intervals); 21213 }); 21214 }), r.registerAction("parallelAxisExpand", function(e, t) { 21215 t.eachComponent({ mainType: "parallel", query: e }, function(a) { 21216 a.setAxisExpand(e); 21217 }); 21218 }); 21219} 21220var $H = { type: "value", areaSelectStyle: { width: 20, borderWidth: 1, borderColor: "rgba(160,197,232)", color: "rgba(160,197,232)", opacity: 0.3 }, realtime: true, z: 10 }; 21221function MI(r) { 21222 r.registerComponentView(cH), r.registerComponentModel(dH), r.registerCoordinateSystem("parallel", wH), r.registerPreprocessor(uH), r.registerComponentModel(eg), r.registerComponentView(GH), wo(r, "parallel", eg, $H), YH(r); 21223} 21224function XH(r) { 21225 pt(MI), r.registerChartView(eH), r.registerSeriesModel(nH), r.registerVisual(r.PRIORITY.VISUAL.BRUSH, lH); 21226} 21227var ZH = /* @__PURE__ */ function() { 21228 function r() { 21229 this.x1 = 0, this.y1 = 0, this.x2 = 0, this.y2 = 0, this.cpx1 = 0, this.cpy1 = 0, this.cpx2 = 0, this.cpy2 = 0, this.extent = 0; 21230 } 21231 return r; 21232}(), qH = function(r) { 21233 N(e, r); 21234 function e(t) { 21235 return r.call(this, t) || this; 21236 } 21237 return e.prototype.getDefaultShape = function() { 21238 return new ZH(); 21239 }, e.prototype.buildPath = function(t, a) { 21240 var n = a.extent; 21241 t.moveTo(a.x1, a.y1), t.bezierCurveTo(a.cpx1, a.cpy1, a.cpx2, a.cpy2, a.x2, a.y2), a.orient === "vertical" ? (t.lineTo(a.x2 + n, a.y2), t.bezierCurveTo(a.cpx2 + n, a.cpy2, a.cpx1 + n, a.cpy1, a.x1 + n, a.y1)) : (t.lineTo(a.x2, a.y2 + n), t.bezierCurveTo(a.cpx2, a.cpy2 + n, a.cpx1, a.cpy1 + n, a.x1, a.y1 + n)), t.closePath(); 21242 }, e.prototype.highlight = function() { 21243 ma(this); 21244 }, e.prototype.downplay = function() { 21245 _a(this); 21246 }, e; 21247}(mt), KH = function(r) { 21248 N(e, r); 21249 function e() { 21250 var t = r !== null && r.apply(this, arguments) || this; 21251 return t.type = e.type, t._focusAdjacencyDisabled = false, t; 21252 } 21253 return e.prototype.render = function(t, a, n) { 21254 var i = this, o = t.getGraph(), s = this.group, l = t.layoutInfo, u = l.width, f = l.height, h = t.getData(), v = t.getData("edge"), c = t.get("orient"); 21255 this._model = t, s.removeAll(), s.x = l.x, s.y = l.y, o.eachEdge(function(p) { 21256 var d = new qH(), g = it(d); 21257 g.dataIndex = p.dataIndex, g.seriesIndex = t.seriesIndex, g.dataType = "edge"; 21258 var y = p.getModel(), m = y.getModel("lineStyle"), _ = m.get("curveness"), S = p.node1.getLayout(), b = p.node1.getModel(), x = b.get("localX"), w = b.get("localY"), T = p.node2.getLayout(), C = p.node2.getModel(), A = C.get("localX"), M = C.get("localY"), I = p.getLayout(), L, P, R, E, O, k, B, F; 21259 d.shape.extent = Math.max(1, I.dy), d.shape.orient = c, c === "vertical" ? (L = (x != null ? x * u : S.x) + I.sy, P = (w != null ? w * f : S.y) + S.dy, R = (A != null ? A * u : T.x) + I.ty, E = M != null ? M * f : T.y, O = L, k = P * (1 - _) + E * _, B = R, F = P * _ + E * (1 - _)) : (L = (x != null ? x * u : S.x) + S.dx, P = (w != null ? w * f : S.y) + I.sy, R = A != null ? A * u : T.x, E = (M != null ? M * f : T.y) + I.ty, O = L * (1 - _) + R * _, k = P, B = L * _ + R * (1 - _), F = E), d.setShape({ x1: L, y1: P, x2: R, y2: E, cpx1: O, cpy1: k, cpx2: B, cpy2: F }), d.useStyle(m.getItemStyle()), Ox(d.style, c, p); 21260 var H = "" + y.get("value"), U = se(y, "edgeLabel"); 21261 de(d, U, { labelFetcher: { getFormattedLabel: function(nt, It, Yt, ct, et, dt) { 21262 return t.getFormattedLabel(nt, It, "edge", ct, Ar(et, U.normal && U.normal.get("formatter"), H), dt); 21263 } }, labelDataIndex: p.dataIndex, defaultText: H }), d.setTextConfig({ position: "inside" }); 21264 var K = y.getModel("emphasis"); 21265 pe(d, y, "lineStyle", function(nt) { 21266 var It = nt.getItemStyle(); 21267 return Ox(It, c, p), It; 21268 }), s.add(d), v.setItemGraphicEl(p.dataIndex, d); 21269 var J = K.get("focus"); 21270 Wt(d, J === "adjacency" ? p.getAdjacentDataIndices() : J === "trajectory" ? p.getTrajectoryDataIndices() : J, K.get("blurScope"), K.get("disabled")); 21271 }), o.eachNode(function(p) { 21272 var d = p.getLayout(), g = p.getModel(), y = g.get("localX"), m = g.get("localY"), _ = g.getModel("emphasis"), S = g.get(["itemStyle", "borderRadius"]) || 0, b = new xt({ shape: { x: y != null ? y * u : d.x, y: m != null ? m * f : d.y, width: d.dx, height: d.dy, r: S }, style: g.getModel("itemStyle").getItemStyle(), z2: 10 }); 21273 de(b, se(g), { labelFetcher: { getFormattedLabel: function(w, T) { 21274 return t.getFormattedLabel(w, T, "node"); 21275 } }, labelDataIndex: p.dataIndex, defaultText: p.id }), b.disableLabelAnimation = true, b.setStyle("fill", p.getVisual("color")), b.setStyle("decal", p.getVisual("style").decal), pe(b, g), s.add(b), h.setItemGraphicEl(p.dataIndex, b), it(b).dataType = "node"; 21276 var x = _.get("focus");
21277 Wt(b, x === "adjacency" ? p.getAdjacentDataIndices() : x === "trajectory" ? p.getTrajectoryDataIndices() : x, _.get("blurScope"), _.get("disabled")); 21278 }), h.eachItemGraphicEl(function(p, d) { 21279 var g = h.getItemModel(d); 21280 g.get("draggable") && (p.drift = function(y, m) { 21281 i._focusAdjacencyDisabled = true, this.shape.x += y, this.shape.y += m, this.dirty(), n.dispatchAction({ type: "dragNode", seriesId: t.id, dataIndex: h.getRawIndex(d), localX: this.shape.x / u, localY: this.shape.y / f }); 21282 }, p.ondragend = function() { 21283 i._focusAdjacencyDisabled = false; 21284 }, p.draggable = true, p.cursor = "move"); 21285 }), !this._data && t.isAnimationEnabled() && s.setClipPath(jH(s.getBoundingRect(), t, function() { 21286 s.removeClipPath(); 21287 })), this._data = t.getData(); 21288 }, e.prototype.dispose = function() { 21289 }, e.type = "sankey", e; 21290}(Pt); 21291function Ox(r, e, t) { 21292 switch (r.fill) { 21293 case "source": 21294 r.fill = t.node1.getVisual("color"), r.decal = t.node1.getVisual("style").decal; 21295 break; 21296 case "target": 21297 r.fill = t.node2.getVisual("color"), r.decal = t.node2.getVisual("style").decal; 21298 break; 21299 case "gradient": 21300 var a = t.node1.getVisual("color"), n = t.node2.getVisual("color"); 21301 Y(a) && Y(n) && (r.fill = new Ro(0, 0, +(e === "horizontal"), +(e === "vertical"), [{ color: a, offset: 0 }, { color: n, offset: 1 }])); 21302 } 21303} 21304function jH(r, e, t) { 21305 var a = new xt({ shape: { x: r.x - 10, y: r.y - 10, width: 0, height: r.height + 20 } }); 21306 return Gt(a, { shape: { width: r.width + 20 } }, e, t), a; 21307} 21308var JH = function(r) { 21309 N(e, r); 21310 function e() { 21311 var t = r !== null && r.apply(this, arguments) || this; 21312 return t.type = e.type, t; 21313 } 21314 return e.prototype.getInitialData = function(t, a) { 21315 var n = t.edges || t.links || [], i = t.data || t.nodes || [], o = t.levels || []; 21316 this.levelModels = []; 21317 for (var s = this.levelModels, l = 0; l < o.length; l++) o[l].depth != null && o[l].depth >= 0 && (s[o[l].depth] = new At(o[l], this, a)); 21318 var u = fI(i, n, this, true, f); 21319 return u.data; 21320 function f(h, v) { 21321 h.wrapMethod("getItemModel", function(c, p) { 21322 var d = c.parentModel, g = d.getData().getItemLayout(p); 21323 if (g) { 21324 var y = g.depth, m = d.levelModels[y]; 21325 m && (c.parentModel = m); 21326 } 21327 return c; 21328 }), v.wrapMethod("getItemModel", function(c, p) { 21329 var d = c.parentModel, g = d.getGraph().getEdgeByIndex(p), y = g.node1.getLayout(); 21330 if (y) { 21331 var m = y.depth, _ = d.levelModels[m]; 21332 _ && (c.parentModel = _); 21333 } 21334 return c; 21335 }); 21336 } 21337 }, e.prototype.setNodePosition = function(t, a) { 21338 var n = this.option.data || this.option.nodes, i = n[t]; 21339 i.localX = a[0], i.localY = a[1]; 21340 }, e.prototype.getGraph = function() { 21341 return this.getData().graph; 21342 }, e.prototype.getEdgeData = function() { 21343 return this.getGraph().edgeData; 21344 }, e.prototype.formatTooltip = function(t, a, n) { 21345 function i(c) { 21346 return isNaN(c) || c == null; 21347 } 21348 if (n === "edge") { 21349 var o = this.getDataParams(t, n), s = o.data, l = o.value, u = s.source + " -- " + s.target; 21350 return le("nameValue", { name: u, value: l, noValue: i(l) }); 21351 } else { 21352 var f = this.getGraph().getNodeByIndex(t), h = f.getLayout().value, v = this.getDataParams(t, n).data.name; 21353 return le("nameValue", { name: v != null ? v + "" : null, value: h, noValue: i(h) }); 21354 } 21355 }, e.prototype.optionUpdated = function() { 21356 }, e.prototype.getDataParams = function(t, a) { 21357 var n = r.prototype.getDataParams.call(this, t, a); 21358 if (n.value == null && a === "node") { 21359 var i = this.getGraph().getNodeByIndex(t), o = i.getLayout().value; 21360 n.value = o; 21361 } 21362 return n; 21363 }, e.type = "series.sankey", e.defaultOption = { z: 2, coordinateSystem: "view", left: "5%", top: "5%", right: "20%", bottom: "5%", orient: "horizontal", nodeWidth: 20, nodeGap: 8, draggable: true, layoutIterations: 32, label: { show: true, position: "right", fontSize: 12 }, edgeLabel: { show: false, fontSize: 12 }, levels: [], nodeAlign: "justify", lineStyle: { color: "#314656", opacity: 0.2, curveness: 0.5 }, emphasis: { label: { show: true }, lineStyle: { opacity: 0.5 } }, select: { itemStyle: { borderColor: "#212121" } }, animationEasing: "linear", animationDuration: 1e3 }, e; 21364}(Et); 21365function QH(r, e) { 21366 r.eachSeriesByType("sankey", function(t) { 21367 var a = t.get("nodeWidth"), n = t.get("nodeGap"), i = t4(t, e); 21368 t.layoutInfo = i; 21369 var o = i.width, s = i.height, l = t.getGraph(), u = l.nodes, f = l.edges; 21370 r4(u); 21371 var h = Ct(u, function(d) { 21372 return d.getLayout().value === 0; 21373 }), v = h.length !== 0 ? 0 : t.get("layoutIterations"), c = t.get("orient"), p = t.get("nodeAlign"); 21374 e4(u, f, a, n, o, s, v, c, p); 21375 }); 21376} 21377function t4(r, e) { 21378 return Qt(r.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); 21379} 21380function e4(r, e, t, a, n, i, o, s, l) { 21381 a4(r, e, t, n, i, s, l), s4(r, e, i, n, a, o, s), g4(r, s); 21382} 21383function r4(r) { 21384 D(r, function(e) { 21385 var t = Ja(e.outEdges, ih), a = Ja(e.inEdges, ih), n = e.getValue() || 0, i = Math.max(t, a, n); 21386 e.setLayout({ value: i }, true); 21387 }); 21388} 21389function a4(r, e, t, a, n, i, o) { 21390 for (var s = [], l = [], u = [], f = [], h = 0, v = 0; v < e.length; v++) s[v] = 1; 21391 for (var v = 0; v < r.length; v++) l[v] = r[v].inEdges.length, l[v] === 0 && u.push(r[v]); 21392 for (var c = -1; u.length; ) { 21393 for (var p = 0; p < u.length; p++) { 21394 var d = u[p], g = d.hostGraph.data.getRawDataItem(d.dataIndex), y = g.depth != null && g.depth >= 0; 21395 y && g.depth > c && (c = g.depth), d.setLayout({ depth: y ? g.depth : h }, true), i === "vertical" ? d.setLayout({ dy: t }, true) : d.setLayout({ dx: t }, true); 21396 for (var m = 0; m < d.outEdges.length; m++) { 21397 var _ = d.outEdges[m], S = e.indexOf(_); 21398 s[S] = 0; 21399 var b = _.node2, x = r.indexOf(b); 21400 --l[x] === 0 && f.indexOf(b) < 0 && f.push(b); 21401 } 21402 } 21403 ++h, u = f, f = []; 21404 } 21405 for (var v = 0; v < s.length; v++) if (s[v] === 1) throw new Error("Sankey is a DAG, the original data has cycle!"); 21406 var w = c > h - 1 ? c : h - 1; 21407 o && o !== "left" && n4(r, o, i, w); 21408 var T = i === "vertical" ? (n - t) / w : (a - t) / w; 21409 o4(r, T, i); 21410} 21411function II(r) { 21412 var e = r.hostGraph.data.getRawDataItem(r.dataIndex); 21413 return e.depth != null && e.depth >= 0; 21414} 21415function n4(r, e, t, a) { 21416 if (e === "right") { 21417 for (var n = [], i = r, o = 0; i.length; ) { 21418 for (var s = 0; s < i.length; s++) { 21419 var l = i[s]; 21420 l.setLayout({ skNodeHeight: o }, true); 21421 for (var u = 0; u < l.inEdges.length; u++) { 21422 var f = l.inEdges[u]; 21423 n.indexOf(f.node1) < 0 && n.push(f.node1); 21424 } 21425 } 21426 i = n, n = [], ++o; 21427 } 21428 D(r, function(h) { 21429 II(h) || h.setLayout({ depth: Math.max(0, a - h.getLayout().skNodeHeight) }, true); 21430 }); 21431 } else e === "justify" && i4(r, a); 21432} 21433function i4(r, e) { 21434 D(r, function(t) { 21435 !II(t) && !t.outEdges.length && t.setLayout({ depth: e }, true); 21436 }); 21437} 21438function o4(r, e, t) { 21439 D(r, function(a) { 21440 var n = a.getLayout().depth * e; 21441 t === "vertical" ? a.setLayout({ y: n }, true) : a.setLayout({ x: n }, true); 21442 }); 21443} 21444function s4(r, e, t, a, n, i, o) { 21445 var s = l4(r, o); 21446 u4(s, e, t, a, n, o), rp(s, n, t, a, o); 21447 for (var l = 1; i > 0; i--) l *= 0.99, f4(s, l, o), rp(s, n, t, a, o), d4(s, l, o), rp(s, n, t, a, o); 21448} 21449function l4(r, e) { 21450 var t = [], a = e === "vertical" ? "y" : "x", n = od(r, function(i) { 21451 return i.getLayout()[a]; 21452 }); 21453 return n.keys.sort(function(i, o) { 21454 return i - o; 21455 }), D(n.keys, function(i) { 21456 t.push(n.buckets.get(i)); 21457 }), t;
21458} 21459function u4(r, e, t, a, n, i) { 21460 var o = 1 / 0; 21461 D(r, function(s) { 21462 var l = s.length, u = 0; 21463 D(s, function(h) { 21464 u += h.getLayout().value; 21465 }); 21466 var f = i === "vertical" ? (a - (l - 1) * n) / u : (t - (l - 1) * n) / u; 21467 f < o && (o = f); 21468 }), D(r, function(s) { 21469 D(s, function(l, u) { 21470 var f = l.getLayout().value * o; 21471 i === "vertical" ? (l.setLayout({ x: u }, true), l.setLayout({ dx: f }, true)) : (l.setLayout({ y: u }, true), l.setLayout({ dy: f }, true)); 21472 }); 21473 }), D(e, function(s) { 21474 var l = +s.getValue() * o; 21475 s.setLayout({ dy: l }, true); 21476 }); 21477} 21478function rp(r, e, t, a, n) { 21479 var i = n === "vertical" ? "x" : "y"; 21480 D(r, function(o) { 21481 o.sort(function(d, g) { 21482 return d.getLayout()[i] - g.getLayout()[i]; 21483 }); 21484 for (var s, l, u, f = 0, h = o.length, v = n === "vertical" ? "dx" : "dy", c = 0; c < h; c++) l = o[c], u = f - l.getLayout()[i], u > 0 && (s = l.getLayout()[i] + u, n === "vertical" ? l.setLayout({ x: s }, true) : l.setLayout({ y: s }, true)), f = l.getLayout()[i] + l.getLayout()[v] + e; 21485 var p = n === "vertical" ? a : t; 21486 if (u = f - e - p, u > 0) { 21487 s = l.getLayout()[i] - u, n === "vertical" ? l.setLayout({ x: s }, true) : l.setLayout({ y: s }, true), f = s; 21488 for (var c = h - 2; c >= 0; --c) l = o[c], u = l.getLayout()[i] + l.getLayout()[v] + e - f, u > 0 && (s = l.getLayout()[i] - u, n === "vertical" ? l.setLayout({ x: s }, true) : l.setLayout({ y: s }, true)), f = l.getLayout()[i]; 21489 } 21490 }); 21491} 21492function f4(r, e, t) { 21493 D(r.slice().reverse(), function(a) { 21494 D(a, function(n) { 21495 if (n.outEdges.length) { 21496 var i = Ja(n.outEdges, h4, t) / Ja(n.outEdges, ih); 21497 if (isNaN(i)) { 21498 var o = n.outEdges.length; 21499 i = o ? Ja(n.outEdges, v4, t) / o : 0; 21500 } 21501 if (t === "vertical") { 21502 var s = n.getLayout().x + (i - nn(n, t)) * e; 21503 n.setLayout({ x: s }, true); 21504 } else { 21505 var l = n.getLayout().y + (i - nn(n, t)) * e; 21506 n.setLayout({ y: l }, true); 21507 } 21508 } 21509 }); 21510 }); 21511} 21512function h4(r, e) { 21513 return nn(r.node2, e) * r.getValue(); 21514} 21515function v4(r, e) { 21516 return nn(r.node2, e); 21517} 21518function c4(r, e) { 21519 return nn(r.node1, e) * r.getValue(); 21520} 21521function p4(r, e) { 21522 return nn(r.node1, e); 21523} 21524function nn(r, e) { 21525 return e === "vertical" ? r.getLayout().x + r.getLayout().dx / 2 : r.getLayout().y + r.getLayout().dy / 2; 21526} 21527function ih(r) { 21528 return r.getValue(); 21529} 21530function Ja(r, e, t) { 21531 for (var a = 0, n = r.length, i = -1; ++i < n; ) { 21532 var o = +e(r[i], t); 21533 isNaN(o) || (a += o); 21534 } 21535 return a; 21536} 21537function d4(r, e, t) { 21538 D(r, function(a) { 21539 D(a, function(n) { 21540 if (n.inEdges.length) { 21541 var i = Ja(n.inEdges, c4, t) / Ja(n.inEdges, ih); 21542 if (isNaN(i)) { 21543 var o = n.inEdges.length; 21544 i = o ? Ja(n.inEdges, p4, t) / o : 0; 21545 } 21546 if (t === "vertical") { 21547 var s = n.getLayout().x + (i - nn(n, t)) * e; 21548 n.setLayout({ x: s }, true); 21549 } else { 21550 var l = n.getLayout().y + (i - nn(n, t)) * e; 21551 n.setLayout({ y: l }, true); 21552 } 21553 } 21554 }); 21555 }); 21556} 21557function g4(r, e) { 21558 var t = e === "vertical" ? "x" : "y"; 21559 D(r, function(a) { 21560 a.outEdges.sort(function(n, i) { 21561 return n.node2.getLayout()[t] - i.node2.getLayout()[t]; 21562 }), a.inEdges.sort(function(n, i) { 21563 return n.node1.getLayout()[t] - i.node1.getLayout()[t]; 21564 }); 21565 }), D(r, function(a) { 21566 var n = 0, i = 0; 21567 D(a.outEdges, function(o) { 21568 o.setLayout({ sy: n }, true), n += o.getLayout().dy; 21569 }), D(a.inEdges, function(o) { 21570 o.setLayout({ ty: i }, true), i += o.getLayout().dy; 21571 }); 21572 }); 21573} 21574function y4(r) { 21575 r.eachSeriesByType("sankey", function(e) { 21576 var t = e.getGraph(), a = t.nodes, n = t.edges; 21577 if (a.length) { 21578 var i = 1 / 0, o = -1 / 0; 21579 D(a, function(s) { 21580 var l = s.getLayout().value; 21581 l < i && (i = l), l > o && (o = l); 21582 }), D(a, function(s) { 21583 var l = new oe({ type: "color", mappingMethod: "linear", dataExtent: [i, o], visual: e.get("color") }), u = l.mapValueToVisual(s.getLayout().value), f = s.getModel().get(["itemStyle", "color"]); 21584 f != null ? (s.setVisual("color", f), s.setVisual("style", { fill: f })) : (s.setVisual("color", u), s.setVisual("style", { fill: u })); 21585 }); 21586 } 21587 n.length && D(n, function(s) { 21588 var l = s.getModel().get("lineStyle"); 21589 s.setVisual("style", l); 21590 }); 21591 }); 21592} 21593function m4(r) { 21594 r.registerChartView(KH), r.registerSeriesModel(JH), r.registerLayout(QH), r.registerVisual(y4), r.registerAction({ type: "dragNode", event: "dragnode", update: "update" }, function(e, t) { 21595 t.eachComponent({ mainType: "series", subType: "sankey", query: e }, function(a) { 21596 a.setNodePosition(e.dataIndex, [e.localX, e.localY]); 21597 }); 21598 }); 21599} 21600var LI = function() { 21601 function r() { 21602 } 21603 return r.prototype._hasEncodeRule = function(e) { 21604 var t = this.getEncode(); 21605 return t && t.get(e) != null; 21606 }, r.prototype.getInitialData = function(e, t) { 21607 var a, n = t.getComponent("xAxis", this.get("xAxisIndex")), i = t.getComponent("yAxis", this.get("yAxisIndex")), o = n.get("type"), s = i.get("type"), l; 21608 o === "category" ? (e.layout = "horizontal", a = n.getOrdinalMeta(), l = !this._hasEncodeRule("x")) : s === "category" ? (e.layout = "vertical", a = i.getOrdinalMeta(), l = !this._hasEncodeRule("y")) : e.layout = e.layout || "horizontal"; 21609 var u = ["x", "y"], f = e.layout === "horizontal" ? 0 : 1, h = this._baseAxisDim = u[f], v = u[1 - f], c = [n, i], p = c[f].get("type"), d = c[1 - f].get("type"), g = e.data; 21610 if (g && l) { 21611 var y = []; 21612 D(g, function(S, b) { 21613 var x; 21614 V(S) ? (x = S.slice(), S.unshift(b)) : V(S.value) ? (x = z({}, S), x.value = x.value.slice(), S.value.unshift(b)) : x = S, y.push(x); 21615 }), e.data = y; 21616 } 21617 var m = this.defaultValueDimensions, _ = [{ name: h, type: Zf(p), ordinalMeta: a, otherDims: { tooltip: false, itemName: 0 }, dimsDef: ["base"] }, { name: v, type: Zf(d), dimsDef: m.slice() }]; 21618 return $o(this, { coordDimensions: _, dimensionsCount: m.length + 1, encodeDefaulter: lt(nA, _, this) }); 21619 }, r.prototype.getBaseAxis = function() { 21620 var e = this._baseAxisDim; 21621 return this.ecModel.getComponent(e + "Axis", this.get(e + "AxisIndex")).axis; 21622 }, r; 21623}(), PI = function(r) { 21624 N(e, r); 21625 function e() { 21626 var t = r !== null && r.apply(this, arguments) || this; 21627 return t.type = e.type, t.defaultValueDimensions = [{ name: "min", defaultTooltip: true }, { name: "Q1", defaultTooltip: true }, { name: "median", defaultTooltip: true }, { name: "Q3", defaultTooltip: true }, { name: "max", defaultTooltip: true }], t.visualDrawType = "stroke", t; 21628 } 21629 return e.type = "series.boxplot", e.dependencies = ["xAxis", "yAxis", "grid"], e.defaultOption = { z: 2, coordinateSystem: "cartesian2d", legendHoverLink: true, layout: null, boxWidth: [7, 50], itemStyle: { color: "#fff", borderWidth: 1 }, emphasis: { scale: true, itemStyle: { borderWidth: 2, shadowBlur: 5, shadowOffsetX: 1, shadowOffsetY: 1, shadowColor: "rgba(0,0,0,0.2)" } }
21629, animationDuration: 800 }, e; 21630}(Et); 21631Xt(PI, LI, true); 21632var _4 = function(r) { 21633 N(e, r); 21634 function e() { 21635 var t = r !== null && r.apply(this, arguments) || this; 21636 return t.type = e.type, t; 21637 } 21638 return e.prototype.render = function(t, a, n) { 21639 var i = t.getData(), o = this.group, s = this._data; 21640 this._data || o.removeAll(); 21641 var l = t.get("layout") === "horizontal" ? 1 : 0; 21642 i.diff(s).add(function(u) { 21643 if (i.hasValue(u)) { 21644 var f = i.getItemLayout(u), h = Nx(f, i, u, l, true); 21645 i.setItemGraphicEl(u, h), o.add(h); 21646 } 21647 }).update(function(u, f) { 21648 var h = s.getItemGraphicEl(f); 21649 if (!i.hasValue(u)) { 21650 o.remove(h); 21651 return; 21652 } 21653 var v = i.getItemLayout(u); 21654 h ? (Er(h), RI(v, h, i, u)) : h = Nx(v, i, u, l), o.add(h), i.setItemGraphicEl(u, h); 21655 }).remove(function(u) { 21656 var f = s.getItemGraphicEl(u); 21657 f && o.remove(f); 21658 }).execute(), this._data = i; 21659 }, e.prototype.remove = function(t) { 21660 var a = this.group, n = this._data; 21661 this._data = null, n && n.eachItemGraphicEl(function(i) { 21662 i && a.remove(i); 21663 }); 21664 }, e.type = "boxplot", e; 21665}(Pt), S4 = /* @__PURE__ */ function() { 21666 function r() { 21667 } 21668 return r; 21669}(), x4 = function(r) { 21670 N(e, r); 21671 function e(t) { 21672 var a = r.call(this, t) || this; 21673 return a.type = "boxplotBoxPath", a; 21674 } 21675 return e.prototype.getDefaultShape = function() { 21676 return new S4(); 21677 }, e.prototype.buildPath = function(t, a) { 21678 var n = a.points, i = 0; 21679 for (t.moveTo(n[i][0], n[i][1]), i++; i < 4; i++) t.lineTo(n[i][0], n[i][1]); 21680 for (t.closePath(); i < n.length; i++) t.moveTo(n[i][0], n[i][1]), i++, t.lineTo(n[i][0], n[i][1]); 21681 }, e; 21682}(mt); 21683function Nx(r, e, t, a, n) { 21684 var i = r.ends, o = new x4({ shape: { points: n ? b4(i, a, r) : i } }); 21685 return RI(r, o, e, t, n), o; 21686} 21687function RI(r, e, t, a, n) { 21688 var i = t.hostModel, o = xi[n ? "initProps" : "updateProps"]; 21689 o(e, { shape: { points: r.ends } }, i, a), e.useStyle(t.getItemVisual(a, "style")), e.style.strokeNoScale = true, e.z2 = 100; 21690 var s = t.getItemModel(a), l = s.getModel("emphasis"); 21691 pe(e, s), Wt(e, l.get("focus"), l.get("blurScope"), l.get("disabled")); 21692} 21693function b4(r, e, t) { 21694 return G(r, function(a) { 21695 return a = a.slice(), a[e] = t.initBaseline, a; 21696 }); 21697} 21698var Ks = D; 21699function w4(r) { 21700 var e = T4(r); 21701 Ks(e, function(t) { 21702 var a = t.seriesModels; 21703 a.length && (C4(t), Ks(a, function(n, i) { 21704 A4(n, t.boxOffsetList[i], t.boxWidthList[i]); 21705 })); 21706 }); 21707} 21708function T4(r) { 21709 var e = [], t = []; 21710 return r.eachSeriesByType("boxplot", function(a) { 21711 var n = a.getBaseAxis(), i = vt(t, n); 21712 i < 0 && (i = t.length, t[i] = n, e[i] = { axis: n, seriesModels: [] }), e[i].seriesModels.push(a); 21713 }), e; 21714} 21715function C4(r) { 21716 var e = r.axis, t = r.seriesModels, a = t.length, n = r.boxWidthList = [], i = r.boxOffsetList = [], o = [], s; 21717 if (e.type === "category") s = e.getBandWidth(); 21718 else { 21719 var l = 0; 21720 Ks(t, function(p) { 21721 l = Math.max(l, p.getData().count()); 21722 }); 21723 var u = e.getExtent(); 21724 s = Math.abs(u[1] - u[0]) / l; 21725 } 21726 Ks(t, function(p) { 21727 var d = p.get("boxWidth"); 21728 V(d) || (d = [d, d]), o.push([W(d[0], s) || 0, W(d[1], s) || 0]); 21729 }); 21730 var f = s * 0.8 - 2, h = f / a * 0.3, v = (f - h * (a - 1)) / a, c = v / 2 - f / 2; 21731 Ks(t, function(p, d) { 21732 i.push(c), c += h + v, n.push(Math.min(Math.max(v, o[d][0]), o[d][1])); 21733 }); 21734} 21735function A4(r, e, t) { 21736 var a = r.coordinateSystem, n = r.getData(), i = t / 2, o = r.get("layout") === "horizontal" ? 0 : 1, s = 1 - o, l = ["x", "y"], u = n.mapDimension(l[o]), f = n.mapDimensionsAll(l[s]); 21737 if (u == null || f.length < 5) return; 21738 for (var h = 0; h < n.count(); h++) { 21739 var v = n.get(u, h), c = _(v, f[2], h), p = _(v, f[0], h), d = _(v, f[1], h), g = _(v, f[3], h), y = _(v, f[4], h), m = []; 21740 S(m, d, false), S(m, g, true), m.push(p, d, y, g), b(m, p), b(m, y), b(m, c), n.setItemLayout(h, { initBaseline: c[s], ends: m }); 21741 } 21742 function _(x, w, T) { 21743 var C = n.get(w, T), A = []; 21744 A[o] = x, A[s] = C; 21745 var M; 21746 return isNaN(x) || isNaN(C) ? M = [NaN, NaN] : (M = a.dataToPoint(A), M[o] += e), M; 21747 } 21748 function S(x, w, T) { 21749 var C = w.slice(), A = w.slice(); 21750 C[o] += i, A[o] -= i, T ? x.push(C, A) : x.push(A, C); 21751 } 21752 function b(x, w) { 21753 var T = w.slice(), C = w.slice(); 21754 T[o] -= i, C[o] += i, x.push(T, C); 21755 } 21756} 21757function D4(r, e) { 21758 e = e || {};
21759 for (var t = [], a = [], n = e.boundIQR, i = n === "none" || n === 0, o = 0; o < r.length; o++) { 21760 var s = Xe(r[o].slice()), l = of(s, 0.25), u = of(s, 0.5), f = of(s, 0.75), h = s[0], v = s[s.length - 1], c = (n ?? 1.5) * (f - l), p = i ? h : Math.max(h, l - c), d = i ? v : Math.min(v, f + c), g = e.itemNameFormatter, y = j(g) ? g({ value: o }) : Y(g) ? g.replace("{value}", o + "") : o + ""; 21761 t.push([y, p, l, u, f, d]); 21762 for (var m = 0; m < s.length; m++) { 21763 var _ = s[m]; 21764 if (_ < p || _ > d) { 21765 var S = [y, _]; 21766 a.push(S); 21767 } 21768 } 21769 } 21770 return { boxData: t, outliers: a }; 21771} 21772var M4 = { type: "echarts:boxplot", transform: function(e) { 21773 var t = e.upstream; 21774 if (t.sourceFormat !== Ae) { 21775 var a = ""; 21776 Mt(a); 21777 } 21778 var n = D4(t.getRawData(), e.config); 21779 return [{ dimensions: ["ItemName", "Low", "Q1", "Q2", "Q3", "High"], data: n.boxData }, { data: n.outliers }]; 21780} }; 21781function I4(r) { 21782 r.registerSeriesModel(PI), r.registerChartView(_4), r.registerLayout(w4), r.registerTransform(M4); 21783} 21784var L4 = ["itemStyle", "borderColor"], P4 = ["itemStyle", "borderColor0"], R4 = ["itemStyle", "borderColorDoji"], E4 = ["itemStyle", "color"], k4 = ["itemStyle", "color0"]; 21785function xm(r, e) { 21786 return e.get(r > 0 ? E4 : k4); 21787} 21788function bm(r, e) { 21789 return e.get(r === 0 ? R4 : r > 0 ? L4 : P4); 21790} 21791var O4 = { seriesType: "candlestick", plan: Go(), performRawSeries: true, reset: function(r, e) { 21792 if (!e.isSeriesFiltered(r)) { 21793 var t = r.pipelineContext.large; 21794 return !t && { progress: function(a, n) { 21795 for (var i; (i = a.next()) != null; ) { 21796 var o = n.getItemModel(i), s = n.getItemLayout(i).sign, l = o.getItemStyle(); 21797 l.fill = xm(s, o), l.stroke = bm(s, o) || l.fill; 21798 var u = n.ensureUniqueItemVisual(i, "style"); 21799 z(u, l); 21800 } 21801 } }; 21802 } 21803} }, N4 = ["color", "borderColor"], B4 = function(r) { 21804 N(e, r); 21805 function e() { 21806 var t = r !== null && r.apply(this, arguments) || this; 21807 return t.type = e.type, t; 21808 } 21809 return e.prototype.render = function(t, a, n) { 21810 this.group.removeClipPath(), this._progressiveEls = null, this._updateDrawMode(t), this._isLargeDraw ? this._renderLarge(t) : this._renderNormal(t); 21811 }, e.prototype.incrementalPrepareRender = function(t, a, n) { 21812 this._clear(), this._updateDrawMode(t); 21813 }, e.prototype.incrementalRender = function(t, a, n, i) { 21814 this._progressiveEls = [], this._isLargeDraw ? this._incrementalRenderLarge(t, a) : this._incrementalRenderNormal(t, a); 21815 }, e.prototype.eachRendered = function(t) { 21816 un(this._progressiveEls || this.group, t); 21817 }, e.prototype._updateDrawMode = function(t) { 21818 var a = t.pipelineContext.large; 21819 (this._isLargeDraw == null || a !== this._isLargeDraw) && (this._isLargeDraw = a, this._clear()); 21820 }, e.prototype._renderNormal = function(t) { 21821 var a = t.getData(), n = this._data, i = this.group, o = a.getLayout("isSimpleBox"), s = t.get("clip", true), l = t.coordinateSystem, u = l.getArea && l.getArea(); 21822 this._data || i.removeAll(), a.diff(n).add(function(f) { 21823 if (a.hasValue(f)) { 21824 var h = a.getItemLayout(f); 21825 if (s && Bx(u, h)) return; 21826 var v = ap(h, f, true); 21827 Gt(v, { shape: { points: h.ends } }, t, f), np(v, a, f, o), i.add(v), a.setItemGraphicEl(f, v); 21828 } 21829 }).update(function(f, h) { 21830 var v = n.getItemGraphicEl(h); 21831 if (!a.hasValue(f)) { 21832 i.remove(v); 21833 return; 21834 } 21835 var c = a.getItemLayout(f); 21836 if (s && Bx(u, c)) { 21837 i.remove(v); 21838 return; 21839 } 21840 v ? (Tt(v, { shape: { points: c.ends } }, t, f), Er(v)) : v = ap(c), np(v, a, f, o), i.add(v), a.setItemGraphicEl(f, v); 21841 }).remove(function(f) { 21842 var h = n.getItemGraphicEl(f); 21843 h && i.remove(h); 21844 }).execute(), this._data = a; 21845 }, e.prototype._renderLarge = function(t) { 21846 this._clear(), zx(t, this.group); 21847 var a = t.get("clip", true) ? Yl(t.coordinateSystem, false, t) : null; 21848 a ? this.group.setClipPath(a) : this.group.removeClipPath(); 21849 }, e.prototype._incrementalRenderNormal = function(t, a) { 21850 for (var n = a.getData(), i = n.getLayout("isSimpleBox"), o; (o = t.next()) != null; ) { 21851 var s = n.getItemLayout(o), l = ap(s); 21852 np(l, n, o, i), l.incremental = true, this.group.add(l), this._progressiveEls.push(l); 21853 } 21854 }, e.prototype._incrementalRenderLarge = function(t, a) { 21855 zx(a, this.group, this._progressiveEls, true); 21856 }, e.prototype.remove = function(t) { 21857 this._clear(); 21858 }, e.prototype._clear = function() { 21859 this.group.removeAll(), this._data = null; 21860 }, e.type = "candlestick", e; 21861}(Pt), z4 = /* @__PURE__ */ function() { 21862 function r() { 21863 } 21864 return r; 21865}(), V4 = function(r) { 21866 N(e, r); 21867 function e(t) { 21868 var a = r.call(this, t) || this; 21869 return a.type = "normalCandlestickBox", a; 21870 } 21871 return e.prototype.getDefaultShape = function() { 21872 return new z4(); 21873 }, e.prototype.buildPath = function(t, a) { 21874 var n = a.points; 21875 this.__simpleBox ? (t.moveTo(n[4][0], n[4][1]), t.lineTo(n[6][0], n[6][1])) : (t.moveTo(n[0][0], n[0][1]), t.lineTo(n[1][0], n[1][1]), t.lineTo(n[2][0], n[2][1]), t.lineTo(n[3][0], n[3][1]), t.closePath(), t.moveTo(n[4][0], n[4][1]), t.lineTo(n[5][0], n[5][1]), t.moveTo(n[6][0], n[6][1]), t.lineTo(n[7][0], n[7][1])); 21876 }, e; 21877}(mt); 21878function ap(r, e, t) { 21879 var a = r.ends; 21880 return new V4({ shape: { points: t ? G4(a, r) : a }, z2: 100 }); 21881} 21882function Bx(r, e) { 21883 for (var t = true, a = 0; a < e.ends.length; a++) if (r.contain(e.ends[a][0], e.ends[a][1])) { 21884 t = false;
21885 break; 21886 } 21887 return t; 21888} 21889function np(r, e, t, a) { 21890 var n = e.getItemModel(t); 21891 r.useStyle(e.getItemVisual(t, "style")), r.style.strokeNoScale = true, r.__simpleBox = a, pe(r, n); 21892 var i = e.getItemLayout(t).sign; 21893 D(r.states, function(s, l) { 21894 var u = n.getModel(l), f = xm(i, u), h = bm(i, u) || f, v = s.style || (s.style = {}); 21895 f && (v.fill = f), h && (v.stroke = h); 21896 }); 21897 var o = n.getModel("emphasis"); 21898 Wt(r, o.get("focus"), o.get("blurScope"), o.get("disabled")); 21899} 21900function G4(r, e) { 21901 return G(r, function(t) { 21902 return t = t.slice(), t[1] = e.initBaseline, t; 21903 }); 21904} 21905var F4 = /* @__PURE__ */ function() { 21906 function r() { 21907 } 21908 return r; 21909}(), ip = function(r) { 21910 N(e, r); 21911 function e(t) { 21912 var a = r.call(this, t) || this; 21913 return a.type = "largeCandlestickBox", a; 21914 } 21915 return e.prototype.getDefaultShape = function() { 21916 return new F4(); 21917 }, e.prototype.buildPath = function(t, a) { 21918 for (var n = a.points, i = 0; i < n.length; ) if (this.__sign === n[i++]) { 21919 var o = n[i++]; 21920 t.moveTo(o, n[i++]), t.lineTo(o, n[i++]); 21921 } else i += 3; 21922 }, e; 21923}(mt); 21924function zx(r, e, t, a) { 21925 var n = r.getData(), i = n.getLayout("largePoints"), o = new ip({ shape: { points: i }, __sign: 1, ignoreCoarsePointer: true }); 21926 e.add(o); 21927 var s = new ip({ shape: { points: i }, __sign: -1, ignoreCoarsePointer: true }); 21928 e.add(s); 21929 var l = new ip({ shape: { points: i }, __sign: 0, ignoreCoarsePointer: true }); 21930 e.add(l), op(1, o, r), op(-1, s, r), op(0, l, r), a && (o.incremental = true, s.incremental = true), t && t.push(o, s); 21931} 21932function op(r, e, t, a) { 21933 var n = bm(r, t) || xm(r, t), i = t.getModel("itemStyle").getItemStyle(N4); 21934 e.useStyle(i), e.style.fill = null, e.style.stroke = n; 21935} 21936var EI = function(r) { 21937 N(e, r); 21938 function e() { 21939 var t = r !== null && r.apply(this, arguments) || this; 21940 return t.type = e.type, t.defaultValueDimensions = [{ name: "open", defaultTooltip: true }, { name: "close", defaultTooltip: true }, { name: "lowest", defaultTooltip: true }, { name: "highest", defaultTooltip: true }], t; 21941 } 21942 return e.prototype.getShadowDim = function() { 21943 return "open"; 21944 }, e.prototype.brushSelector = function(t, a, n) { 21945 var i = a.getItemLayout(t); 21946 return i && n.rect(i.brushRect); 21947 }, e.type = "series.candlestick", e.dependencies = ["xAxis", "yAxis", "grid"], e.defaultOption = { z: 2, coordinateSystem: "cartesian2d", legendHoverLink: true, layout: null, clip: true, itemStyle: { color: "#eb5454", color0: "#47b262", borderColor: "#eb5454", borderColor0: "#47b262", borderColorDoji: null, borderWidth: 1 }, emphasis: { itemStyle: { borderWidth: 2 } }, barMaxWidth: null, barMinWidth: null, barWidth: null, large: true, largeThreshold: 600, progressive: 3e3, progressiveThreshold: 1e4, progressiveChunkMode: "mod", animationEasing: "linear", animationDuration: 300 }, e; 21948}(Et); 21949Xt(EI, LI, true); 21950function H4(r) { 21951 !r || !V(r.series) || D(r.series, function(e) { 21952 tt(e) && e.type === "k" && (e.type = "candlestick"); 21953 }); 21954} 21955var W4 = { seriesType: "candlestick", plan: Go(), reset: function(r) { 21956 var e = r.coordinateSystem, t = r.getData(), a = U4(r, t), n = 0, i = 1, o = ["x", "y"], s = t.getDimensionIndex(t.mapDimension(o[n])), l = G(t.mapDimensionsAll(o[i]), t.getDimensionIndex, t), u = l[0], f = l[1], h = l[2], v = l[3]; 21957 if (t.setLayout({ candleWidth: a, isSimpleBox: a <= 1.3 }), s < 0 || l.length < 4) return; 21958 return { progress: r.pipelineContext.large ? p : c }; 21959 function c(d, g) { 21960 for (var y, m = g.getStore(); (y = d.next()) != null; ) { 21961 var _ = m.get(s, y), S = m.get(u, y), b = m.get(f, y), x = m.get(h, y), w = m.get(v, y), T = Math.min(S, b), C = Math.max(S, b), A = O(T, _), M = O(C, _), I = O(x, _), L = O(w, _), P = []; 21962 k(P, M, 0), k(P, A, 1), P.push(F(L), F(M), F(I), F(A)); 21963 var R = g.getItemModel(y), E = !!R.get(["itemStyle", "borderColorDoji"]); 21964 g.setItemLayout(y, { sign: Vx(m, y, S, b, f, E), initBaseline: S > b ? M[i] : A[i], ends: P, brushRect: B(x, w, _) }); 21965 } 21966 function O(H, U) { 21967 var K = []; 21968 return K[n] = U, K[i] = H, isNaN(U) || isNaN(H) ? [NaN, NaN] : e.dataToPoint(K); 21969 }
21970 function k(H, U, K) { 21971 var J = U.slice(), nt = U.slice(); 21972 J[n] = uf(J[n] + a / 2, 1, false), nt[n] = uf(nt[n] - a / 2, 1, true), K ? H.push(J, nt) : H.push(nt, J); 21973 } 21974 function B(H, U, K) { 21975 var J = O(H, K), nt = O(U, K); 21976 return J[n] -= a / 2, nt[n] -= a / 2, { x: J[0], y: J[1], width: a, height: nt[1] - J[1] }; 21977 } 21978 function F(H) { 21979 return H[n] = uf(H[n], 1), H; 21980 } 21981 } 21982 function p(d, g) { 21983 for (var y = $r(d.count * 4), m = 0, _, S = [], b = [], x, w = g.getStore(), T = !!r.get(["itemStyle", "borderColorDoji"]); (x = d.next()) != null; ) { 21984 var C = w.get(s, x), A = w.get(u, x), M = w.get(f, x), I = w.get(h, x), L = w.get(v, x); 21985 if (isNaN(C) || isNaN(I) || isNaN(L)) { 21986 y[m++] = NaN, m += 3; 21987 continue; 21988 } 21989 y[m++] = Vx(w, x, A, M, f, T), S[n] = C, S[i] = I, _ = e.dataToPoint(S, null, b), y[m++] = _ ? _[0] : NaN, y[m++] = _ ? _[1] : NaN, S[i] = L, _ = e.dataToPoint(S, null, b), y[m++] = _ ? _[1] : NaN; 21990 } 21991 g.setLayout("largePoints", y); 21992 } 21993} }; 21994function Vx(r, e, t, a, n, i) { 21995 var o; 21996 return t > a ? o = -1 : t < a ? o = 1 : o = i ? 0 : e > 0 ? r.get(n, e - 1) <= a ? 1 : -1 : 1, o; 21997} 21998function U4(r, e) { 21999 var t = r.getBaseAxis(), a, n = t.type === "category" ? t.getBandWidth() : (a = t.getExtent(), Math.abs(a[1] - a[0]) / e.count()), i = W(st(r.get("barMaxWidth"), n), n), o = W(st(r.get("barMinWidth"), 1), n), s = r.get("barWidth"); 22000 return s != null ? W(s, n) : Math.max(Math.min(n / 2, i), o); 22001} 22002function Y4(r) { 22003 r.registerChartView(B4), r.registerSeriesModel(EI), r.registerPreprocessor(H4), r.registerVisual(O4), r.registerLayout(W4); 22004} 22005function Gx(r, e) { 22006 var t = e.rippleEffectColor || e.color; 22007 r.eachChild(function(a) { 22008 a.attr({ z: e.z, zlevel: e.zlevel, style: { stroke: e.brushType === "stroke" ? t : null, fill: e.brushType === "fill" ? t : null } }); 22009 }); 22010} 22011var $4 = function(r) { 22012 N(e, r); 22013 function e(t, a) { 22014 var n = r.call(this) || this, i = new Wl(t, a), o = new at(); 22015 return n.add(i), n.add(o), n.updateData(t, a), n; 22016 } 22017 return e.prototype.stopEffectAnimation = function() { 22018 this.childAt(1).removeAll(); 22019 }, e.prototype.startEffectAnimation = function(t) { 22020 for (var a = t.symbolType, n = t.color, i = t.rippleNumber, o = this.childAt(1), s = 0; s < i; s++) { 22021 var l = qt(a, -1, -1, 2, 2, n); 22022 l.attr({ style: { strokeNoScale: true }, z2: 99, silent: true, scaleX: 0.5, scaleY: 0.5 }); 22023 var u = -s / i * t.period + t.effectOffset; 22024 l.animate("", true).when(t.period, { scaleX: t.rippleScale / 2, scaleY: t.rippleScale / 2 }).delay(u).start(), l.animateStyle(true).when(t.period, { opacity: 0 }).delay(u).start(), o.add(l); 22025 } 22026 Gx(o, t); 22027 }, e.prototype.updateEffectAnimation = function(t) { 22028 for (var a = this._effectCfg, n = this.childAt(1), i = ["symbolType", "period", "rippleScale", "rippleNumber"], o = 0; o < i.length; o++) { 22029 var s = i[o]; 22030 if (a[s] !== t[s]) { 22031 this.stopEffectAnimation(), this.startEffectAnimation(t); 22032 return; 22033 } 22034 } 22035 Gx(n, t); 22036 }, e.prototype.highlight = function() { 22037 ma(this); 22038 }, e.prototype.downplay = function() { 22039 _a(this); 22040 }, e.prototype.getSymbolType = function() { 22041 var t = this.childAt(0); 22042 return t && t.getSymbolType(); 22043 }, e.prototype.updateData = function(t, a) { 22044 var n = this, i = t.hostModel; 22045 this.childAt(0).updateData(t, a); 22046 var o = this.childAt(1), s = t.getItemModel(a), l = t.getItemVisual(a, "symbol"), u = Ho(t.getItemVisual(a, "symbolSize")), f = t.getItemVisual(a, "style"), h = f && f.fill, v = s.getModel("emphasis"); 22047 o.setScale(u), o.traverse(function(g) { 22048 g.setStyle("fill", h); 22049 }); 22050 var c = wi(t.getItemVisual(a, "symbolOffset"), u); 22051 c && (o.x = c[0], o.y = c[1]); 22052 var p = t.getItemVisual(a, "symbolRotate"); 22053 o.rotation = (p || 0) * Math.PI / 180 || 0; 22054 var d = {}; 22055 d.showEffectOn = i.get("showEffectOn"), d.rippleScale = s.get(["rippleEffect", "scale"]), d.brushType = s.get(["rippleEffect", "brushType"]), d.period = s.get(["rippleEffect", "period"]) * 1e3, d.effectOff
22055set = a / t.count(), d.z = i.getShallow("z") || 0, d.zlevel = i.getShallow("zlevel") || 0, d.symbolType = l, d.color = h, d.rippleEffectColor = s.get(["rippleEffect", "color"]), d.rippleNumber = s.get(["rippleEffect", "number"]), d.showEffectOn === "render" ? (this._effectCfg ? this.updateEffectAnimation(d) : this.startEffectAnimation(d), this._effectCfg = d) : (this._effectCfg = null, this.stopEffectAnimation(), this.onHoverStateChange = function(g) { 22056 g === "emphasis" ? d.showEffectOn !== "render" && n.startEffectAnimation(d) : g === "normal" && d.showEffectOn !== "render" && n.stopEffectAnimation(); 22057 }), this._effectCfg = d, Wt(this, v.get("focus"), v.get("blurScope"), v.get("disabled")); 22058 }, e.prototype.fadeOut = function(t) { 22059 t && t(); 22060 }, e; 22061}(at), X4 = function(r) { 22062 N(e, r); 22063 function e() { 22064 var t = r !== null && r.apply(this, arguments) || this; 22065 return t.type = e.type, t; 22066 } 22067 return e.prototype.init = function() { 22068 this._symbolDraw = new Ul($4); 22069 }, e.prototype.render = function(t, a, n) { 22070 var i = t.getData(), o = this._symbolDraw; 22071 o.updateData(i, { clipShape: this._getClipShape(t) }), this.group.add(o.group); 22072 }, e.prototype._getClipShape = function(t) { 22073 var a = t.coordinateSystem, n = a && a.getArea && a.getArea(); 22074 return t.get("clip", true) ? n : null; 22075 }, e.prototype.updateTransform = function(t, a, n) { 22076 var i = t.getData(); 22077 this.group.dirty(); 22078 var o = $l("").reset(t, a, n); 22079 o.progress && o.progress({ start: 0, end: i.count(), count: i.count() }, i), this._symbolDraw.updateLayout(); 22080 }, e.prototype._updateGroupTransform = function(t) { 22081 var a = t.coordinateSystem; 22082 a && a.getRoamTransform && (this.group.transform = gT(a.getRoamTransform()), this.group.decomposeTransform()); 22083 }, e.prototype.remove = function(t, a) { 22084 this._symbolDraw && this._symbolDraw.remove(true); 22085 }, e.type = "effectScatter", e; 22086}(Pt), Z4 = function(r) { 22087 N(e, r); 22088 function e() { 22089 var t = r !== null && r.apply(this, arguments) || this; 22090 return t.type = e.type, t.hasSymbolVisual = true, t; 22091 } 22092 return e.prototype.getInitialData = function(t, a) { 22093 return aa(null, this, { useEncodeDefaulter: true }); 22094 }, e.prototype.brushSelector = function(t, a, n) { 22095 return n.point(a.getItemLayout(t)); 22096 }, e.type = "series.effectScatter", e.dependencies = ["grid", "polar"], e.defaultOption = { coordinateSystem: "cartesian2d", z: 2, legendHoverLink: true, effectType: "ripple", progressive: 0, showEffectOn: "render", clip: true, rippleEffect: { period: 4, scale: 2.5, brushType: "fill", number: 3 }, universalTransition: { divideShape: "clone" }, symbolSize: 10 }, e; 22097}(Et); 22098function q4(r) { 22099 r.registerChartView(X4), r.registerSeriesModel(Z4), r.registerLayout($l("effectScatter")); 22100} 22101var kI = function(r) { 22102 N(e, r); 22103 function e(t, a, n) { 22104 var i = r.call(this) || this; 22105 return i.add(i.createLine(t, a, n)), i._updateEffectSymbol(t, a), i; 22106 } 22107 return e.prototype.createLine = function(t, a, n) { 22108 return new vm(t, a, n); 22109 }, e.prototype._updateEffectSymbol = function(t, a) { 22110 var n = t.getItemModel(a), i = n.getModel("effect"), o = i.get("symbolSize"), s = i.get("symbol"); 22111 V(o) || (o = [o, o]); 22112 var l = t.getItemVisual(a, "style"), u = i.get("color") || l && l.stroke, f = this.childAt(1); 22113 this._symbolType !== s && (this.remove(f), f = qt(s, -0.5, -0.5, 1, 1, u), f.z2 = 100, f.culling = true, this.add(f)), f && (f.setStyle("shadowColor", u), f.setStyle(i.getItemStyle(["color"])), f.scaleX = o[0], f.scaleY = o[1], f.setColor(u), this._symbolType = s, this._symbolScale = o, this._updateEffectAnimation(t, i, a)); 22114 }, e.prototype._updateEffectAnimation = function(t, a, n) { 22115 var i = this.childAt(1); 22116 if (i) { 22117 var o = t.getItemLayout(n), s = a.get("period") * 1e3, l = a.get("loop"), u = a.get("roundTrip"), f = a.get("constantSpeed"), h = ne(a.get("delay"), function(c) { 22118 return c / t.count() * s / 3; 22119 }); 22120 if (i.ignore = true, this._updateAnimationPoints(i, o), f > 0 && (s = this._getLineLength(i) / f * 1e3), s !== this._period || l !== this._loop || u !== this._roundTrip) { 22121 i.stopAnimation(); 22122 var v = void 0; 22123 j(h) ? v = h(n) : v = h, i.__t > 0 && (v = -s * i.__t), this._animateSymbol(i, s, v, l, u); 22124 } 22125 this._period = s, this._loop = l, this._roundTrip = u; 22126 } 22127 }, e.prototype._animateSymbol = function(t, a, n, i, o) { 22128 if (a > 0) { 22129 t.__t = 0; 22130 var s = this, l = t.animate("", i).when(o ? a * 2 : a, { __t: o ? 2 : 1 }).delay(n).during(function() { 22131 s._updateSymbolPosition(t); 22132 }); 22133 i || l.done(function() { 22134 s.remove(t); 22135 }), l.start(); 22136 } 22137 }, e.prototype._getLineLength = function(t) { 22138 return fa(t.__p1, t.__cp1) + fa(t.__cp1, t.__p2); 22139 }, e.prototype._updateAnimationPoints = function(t, a) { 22140 t.__p1 = a[0], t.__p2 = a[1], t.__cp1 = a[2] || [(a[0][0] + a[1][0]) / 2, (a[0][1] + a[1][1]) / 2]; 22141 }, e.prototype.updateData = function(t, a, n) { 22142 this.childAt(0).updateData(t, a, n), this._updateEffectSymbol(t, a); 22143 }, e.prototype._updateSymbolPosition = function(t) { 22144 var a = t.__p1, n = t.__p2, i = t.__cp1, o = t.__t < 1 ? t.__t : 2 - t.__t, s = [t.x, t.y], l = s.slice(), u = fe, f = Up; 22145 s[0] = u(a[0], i[0], n[0], o), s[1] = u(a[1], i[1], n[1], o); 22146 var h = t.__t < 1 ? f(a[0], i[0], n[0], o) : f(n[0], i[0], a[0], 1 - o), v = t.__t < 1 ? f(a[1], i[1], n[1], o) : f(n[1], i[1], a[1], 1 - o);
22147 t.rotation = -Math.atan2(v, h) - Math.PI / 2, (this._symbolType === "line" || this._symbolType === "rect" || this._symbolType === "roundRect") && (t.__lastT !== void 0 && t.__lastT < t.__t ? (t.scaleY = fa(l, s) * 1.05, o === 1 && (s[0] = l[0] + (s[0] - l[0]) / 2, s[1] = l[1] + (s[1] - l[1]) / 2)) : t.__lastT === 1 ? t.scaleY = 2 * fa(a, s) : t.scaleY = this._symbolScale[1]), t.__lastT = t.__t, t.ignore = false, t.x = s[0], t.y = s[1]; 22148 }, e.prototype.updateLayout = function(t, a) { 22149 this.childAt(0).updateLayout(t, a); 22150 var n = t.getItemModel(a).getModel("effect"); 22151 this._updateEffectAnimation(t, n, a); 22152 }, e; 22153}(at), OI = function(r) { 22154 N(e, r); 22155 function e(t, a, n) { 22156 var i = r.call(this) || this; 22157 return i._createPolyline(t, a, n), i; 22158 } 22159 return e.prototype._createPolyline = function(t, a, n) { 22160 var i = t.getItemLayout(a), o = new De({ shape: { points: i } }); 22161 this.add(o), this._updateCommonStl(t, a, n); 22162 }, e.prototype.updateData = function(t, a, n) { 22163 var i = t.hostModel, o = this.childAt(0), s = { shape: { points: t.getItemLayout(a) } }; 22164 Tt(o, s, i, a), this._updateCommonStl(t, a, n); 22165 }, e.prototype._updateCommonStl = function(t, a, n) { 22166 var i = this.childAt(0), o = t.getItemModel(a), s = n && n.emphasisLineStyle, l = n && n.focus, u = n && n.blurScope, f = n && n.emphasisDisabled; 22167 if (!n || t.hasItemOption) { 22168 var h = o.getModel("emphasis"); 22169 s = h.getModel("lineStyle").getLineStyle(), f = h.get("disabled"), l = h.get("focus"), u = h.get("blurScope"); 22170 } 22171 i.useStyle(t.getItemVisual(a, "style")), i.style.fill = null, i.style.strokeNoScale = true; 22172 var v = i.ensureState("emphasis"); 22173 v.style = s, Wt(this, l, u, f); 22174 }, e.prototype.updateLayout = function(t, a) { 22175 var n = this.childAt(0); 22176 n.setShape("points", t.getItemLayout(a)); 22177 }, e; 22178}(at), K4 = function(r) { 22179 N(e, r); 22180 function e() { 22181 var t = r !== null && r.apply(this, arguments) || this; 22182 return t._lastFrame = 0, t._lastFramePercent = 0, t; 22183 } 22184 return e.prototype.createLine = function(t, a, n) { 22185 return new OI(t, a, n); 22186 }, e.prototype._updateAnimationPoints = function(t, a) { 22187 this._points = a; 22188 for (var n = [0], i = 0, o = 1; o < a.length; o++) { 22189 var s = a[o - 1], l = a[o]; 22190 i += fa(s, l), n.push(i); 22191 } 22192 if (i === 0) { 22193 this._length = 0; 22194 return; 22195 } 22196 for (var o = 0; o < n.length; o++) n[o] /= i; 22197 this._offsets = n, this._length = i; 22198 }, e.prototype._getLineLength = function() { 22199 return this._length; 22200 }, e.prototype._updateSymbolPosition = function(t) { 22201 var a = t.__t < 1 ? t.__t : 2 - t.__t, n = this._points, i = this._offsets, o = n.length; 22202 if (i) { 22203 var s = this._lastFrame, l; 22204 if (a < this._lastFramePercent) { 22205 var u = Math.min(s + 1, o - 1); 22206 for (l = u; l >= 0 && !(i[l] <= a); l--) ; 22207 l = Math.min(l, o - 2); 22208 } else { 22209 for (l = s; l < o && !(i[l] > a); l++) ; 22210 l = Math.min(l - 1, o - 2); 22211 } 22212 var f = (a - i[l]) / (i[l + 1] - i[l]), h = n[l], v = n[l + 1]; 22213 t.x = h[0] * (1 - f) + f * v[0], t.y = h[1] * (1 - f) + f * v[1]; 22214 var c = t.__t < 1 ? v[0] - h[0] : h[0] - v[0], p = t.__t < 1 ? v[1] - h[1] : h[1] - v[1]; 22215 t.rotation = -Math.atan2(p, c) - Math.PI / 2, this._lastFrame = l, this._lastFramePercent = a, t.ignore = false; 22216 } 22217 }, e; 22218}(kI), j4 = /* @__PURE__ */ function() { 22219 function r() { 22220 this.polyline = false, this.curveness = 0, this.segs = []; 22221 } 22222 return r; 22223}(), J4 = function(r) { 22224 N(e, r); 22225 function e(t) { 22226 var a = r.call(this, t) || this; 22227 return a._off = 0, a.hoverDataIdx = -1, a; 22228 } 22229 return e.prototype.reset = function() { 22230 this.notClear = false, this._off = 0; 22231 }, e.prototype.getDefaultStyle = function() { 22232 return { stroke: "#000", fill: null }; 22233 }, e.prototype.getDefaultShape = function() { 22234 return new j4(); 22235 }, e.prototype.buildPath = function(t, a) { 22236 var n = a.segs, i = a.curveness, o; 22237 if (a.polyline) for (o = this._off; o < n.length; ) { 22238 var s = n[o++]; 22239 if (s > 0) { 22240 t.moveTo(n[o++], n[o++]); 22241 for (var l = 1; l < s; l++) t.lineTo(n[o++], n[o++]); 22242 } 22243 } 22244 else for (o = this._off; o < n.length; ) { 22245 var u = n[o++], f = n[o++], h = n[o++], v = n[o++]; 22246 if (t.moveTo(u, f), i > 0) { 22247 var c = (u + h) / 2 - (f - v) * i, p = (f + v) / 2 - (h - u) * i; 22248 t.quadraticCurveTo(c, p, h, v); 22249 } else t.lineTo(h, v); 22250 } 22251 this.incremental && (this._off = o, this.notClear = true); 22252 }, e.prototype.findDataIndex = function(t, a) { 22253 var n = this.shape, i = n.segs, o = n.curveness, s = this.style.lineWidth; 22254 if (n.polyline) for (var l = 0, u = 0; u < i.length; ) { 22255 var f = i[u++]; 22256 if (f > 0) for (var h = i[u++], v = i[u++], c = 1; c < f; c++) { 22257 var p = i[u++], d = i[u++]; 22258 if (Ba(h, v, p, d, s, t, a)) return l; 22259 } 22260 l++; 22261 } 22262 else for (var l = 0, u = 0; u < i.length; ) { 22263 var h = i[u++], v = i[u++], p = i[u++], d = i[u++]; 22264 if (o > 0) { 22265 var g = (h + p) / 2 - (v - d) * o, y = (v + d) / 2 - (p - h) * o; 22266 if (sC(h, v, g, y, p, d, s, t, a)) return l; 22267 } else if (Ba(h, v, p, d, s, t, a)) return l; 22268 l++; 22269 } 22270 return -1; 22271 }, e.prototype.contain = function(t, a) { 22272 var n = this.transformCoordToLocal(t, a), i = this.getBoundingRect
22272(); 22273 if (t = n[0], a = n[1], i.contain(t, a)) { 22274 var o = this.hoverDataIdx = this.findDataIndex(t, a); 22275 return o >= 0; 22276 } 22277 return this.hoverDataIdx = -1, false; 22278 }, e.prototype.getBoundingRect = function() { 22279 var t = this._rect; 22280 if (!t) { 22281 for (var a = this.shape, n = a.segs, i = 1 / 0, o = 1 / 0, s = -1 / 0, l = -1 / 0, u = 0; u < n.length; ) { 22282 var f = n[u++], h = n[u++]; 22283 i = Math.min(f, i), s = Math.max(f, s), o = Math.min(h, o), l = Math.max(h, l); 22284 } 22285 t = this._rect = new ht(i, o, s, l); 22286 } 22287 return t; 22288 }, e; 22289}(mt), Q4 = function() { 22290 function r() { 22291 this.group = new at(); 22292 } 22293 return r.prototype.updateData = function(e) { 22294 this._clear(); 22295 var t = this._create(); 22296 t.setShape({ segs: e.getLayout("linesPoints") }), this._setCommon(t, e); 22297 }, r.prototype.incrementalPrepareUpdate = function(e) { 22298 this.group.removeAll(), this._clear(); 22299 }, r.prototype.incrementalUpdate = function(e, t) { 22300 var a = this._newAdded[0], n = t.getLayout("linesPoints"), i = a && a.shape.segs; 22301 if (i && i.length < 2e4) { 22302 var o = i.length, s = new Float32Array(o + n.length); 22303 s.set(i), s.set(n, o), a.setShape({ segs: s }); 22304 } else { 22305 this._newAdded = []; 22306 var l = this._create(); 22307 l.incremental = true, l.setShape({ segs: n }), this._setCommon(l, t), l.__startIndex = e.start; 22308 } 22309 }, r.prototype.remove = function() { 22310 this._clear(); 22311 }, r.prototype.eachRendered = function(e) { 22312 this._newAdded[0] && e(this._newAdded[0]); 22313 }, r.prototype._create = function() { 22314 var e = new J4({ cursor: "default", ignoreCoarsePointer: true }); 22315 return this._newAdded.push(e), this.group.add(e), e; 22316 }, r.prototype._setCommon = function(e, t, a) { 22317 var n = t.hostModel; 22318 e.setShape({ polyline: n.get("polyline"), curveness: n.get(["lineStyle", "curveness"]) }), e.useStyle(n.getModel("lineStyle").getLineStyle()), e.style.strokeNoScale = true; 22319 var i = t.getVisual("style"); 22320 i && i.stroke && e.setStyle("stroke", i.stroke), e.setStyle("fill", null); 22321 var o = it(e); 22322 o.seriesIndex = n.seriesIndex, e.on("mousemove", function(s) { 22323 o.dataIndex = null; 22324 var l = e.hoverDataIdx; 22325 l > 0 && (o.dataIndex = l + e.__startIndex); 22326 }); 22327 }, r.prototype._clear = function() { 22328 this._newAdded = [], this.group.removeAll(); 22329 }, r; 22330}(), NI = { seriesType: "lines", plan: Go(), reset: function(r) { 22331 var e = r.coordinateSystem; 22332 if (e) { 22333 var t = r.get("polyline"), a = r.pipelineContext.large; 22334 return { progress: function(n, i) { 22335 var o = []; 22336 if (a) { 22337 var s = void 0, l = n.end - n.start; 22338 if (t) { 22339 for (var u = 0, f = n.start; f < n.end; f++) u += r.getLineCoordsCount(f); 22340 s = new Float32Array(l + u * 2); 22341 } else s = new Float32Array(l * 4); 22342 for (var h = 0, v = [], f = n.start; f < n.end; f++) { 22343 var c = r.getLineCoords(f, o); 22344 t && (s[h++] = c); 22345 for (var p = 0; p < c; p++) v = e.dataToPoint(o[p], false, v), s[h++] = v[0], s[h++] = v[1]; 22346 } 22347 i.setLayout("linesPoints", s); 22348 } else for (var f = n.start; f < n.end; f++) { 22349 var d = i.getItemModel(f), c = r.getLineCoords(f, o), g = []; 22350 if (t) for (var y = 0; y < c; y++) g.push(e.dataToPoint(o[y])); 22351 else { 22352 g[0] = e.dataToPoint(o[0]), g[1] = e.dataToPoint(o[1]); 22353 var m = d.get(["lineStyle", "curveness"]); 22354 +m && (g[2] = [(g[0][0] + g[1][0]) / 2 - (g[0][1] - g[1][1]) * m, (g[0][1] + g[1][1]) / 2 - (g[1][0] - g[0][0]) * m]); 22355 } 22356 i.setItemLayout(f, g); 22357 } 22358 } }; 22359 } 22360} }, tW = function(r) { 22361 N(e, r); 22362 function e() { 22363 var t = r !== null && r.apply(this, arguments) || this; 22364 return t.type = e.type, t; 22365 } 22366 return e.prototype.render = function(t, a, n) { 22367 var i = t.getData(), o = this._updateLineDraw(i, t), s = t.get("zlevel"), l = t.get(["effect", "trailLength"]), u = n.getZr(), f = u.painter.getType() === "svg"; 22368 f || u.painter.getLayer(s).clear(true), this._lastZlevel != null && !f && u.configLayer(this._lastZlevel, { motionBlur: false }), this._showEffect(t) && l > 0 && (f || u.configLayer(s, { motionBlur: true, lastFrameAlpha: Math.max(Math.min(l / 10 + 0.9, 1), 0
22368) })), o.updateData(i); 22369 var h = t.get("clip", true) && Yl(t.coordinateSystem, false, t); 22370 h ? this.group.setClipPath(h) : this.group.removeClipPath(), this._lastZlevel = s, this._finished = true; 22371 }, e.prototype.incrementalPrepareRender = function(t, a, n) { 22372 var i = t.getData(), o = this._updateLineDraw(i, t); 22373 o.incrementalPrepareUpdate(i), this._clearLayer(n), this._finished = false; 22374 }, e.prototype.incrementalRender = function(t, a, n) { 22375 this._lineDraw.incrementalUpdate(t, a.getData()), this._finished = t.end === a.getData().count(); 22376 }, e.prototype.eachRendered = function(t) { 22377 this._lineDraw && this._lineDraw.eachRendered(t); 22378 }, e.prototype.updateTransform = function(t, a, n) { 22379 var i = t.getData(), o = t.pipelineContext; 22380 if (!this._finished || o.large || o.progressiveRender) return { update: true }; 22381 var s = NI.reset(t, a, n); 22382 s.progress && s.progress({ start: 0, end: i.count(), count: i.count() }, i), this._lineDraw.updateLayout(), this._clearLayer(n); 22383 }, e.prototype._updateLineDraw = function(t, a) { 22384 var n = this._lineDraw, i = this._showEffect(a), o = !!a.get("polyline"), s = a.pipelineContext, l = s.large; 22385 return (!n || i !== this._hasEffet || o !== this._isPolyline || l !== this._isLargeDraw) && (n && n.remove(), n = this._lineDraw = l ? new Q4() : new cm(o ? i ? K4 : OI : i ? kI : vm), this._hasEffet = i, this._isPolyline = o, this._isLargeDraw = l), this.group.add(n.group), n; 22386 }, e.prototype._showEffect = function(t) { 22387 return !!t.get(["effect", "show"]); 22388 }, e.prototype._clearLayer = function(t) { 22389 var a = t.getZr(), n = a.painter.getType() === "svg"; 22390 !n && this._lastZlevel != null && a.painter.getLayer(this._lastZlevel).clear(true); 22391 }, e.prototype.remove = function(t, a) { 22392 this._lineDraw && this._lineDraw.remove(), this._lineDraw = null, this._clearLayer(a); 22393 }, e.prototype.dispose = function(t, a) { 22394 this.remove(t, a); 22395 }, e.type = "lines", e; 22396}(Pt), eW = typeof Uint32Array > "u" ? Array : Uint32Array, rW = typeof Float64Array > "u" ? Array : Float64Array; 22397function Fx(r) { 22398 var e = r.data; 22399 e && e[0] && e[0][0] && e[0][0].coord && (r.data = G(e, function(t) { 22400 var a = [t[0].coord, t[1].coord], n = { coords: a }; 22401 return t[0].name && (n.fromName = t[0].name), t[1].name && (n.toName = t[1].name), Sh([n, t[0], t[1]]); 22402 })); 22403} 22404var aW = function(r) { 22405 N(e, r); 22406 function e() { 22407 var t = r !== null && r.apply(this, arguments) || this; 22408 return t.type = e.type, t.visualStyleAccessPath = "lineStyle", t.visualDrawType = "stroke", t; 22409 } 22410 return e.prototype.init = function(t) { 22411 t.data = t.data || [], Fx(t); 22412 var a = this._processFlatCoordsArray(t.data); 22413 this._flatCoords = a.flatCoords, this._flatCoordsOffset = a.flatCoordsOffset, a.flatCoords && (t.data = new Float32Array(a.count)), r.prototype.init.apply(this, arguments); 22414 }, e.prototype.mergeOption = function(t) { 22415 if (Fx(t), t.data) { 22416 var a = this._processFlatCoordsArray(t.data); 22417 this._flatCoords = a.flatCoords, this._flatCoordsOffset = a.flatCoordsOffset, a.flatCoords && (t.data = new Float32Array(a.count)); 22418 } 22419 r.prototype.mergeOption.apply(this, arguments); 22420 }, e.prototype.appendData = function(t) { 22421 var a = this._processFlatCoordsArray(t.data); 22422 a.flatCoords && (this._flatCoords ? (this._flatCoords = go(this._flatCoords, a.flatCoords), this._flatCoordsOffset = go(this._flatCoordsOffset, a.flatCoordsOffset)) : (this._flatCoords = a.flatCoords, this._flatCoordsOffset = a.flatCoordsOffset), t.data = new Float32Array(a.count)), this.getRawData().appendData(t.data); 22423 }, e.prototype._getCoordsFromItemModel = function(t) { 22424 var a = this.getData().getItemModel(t), n = a.option instanceof Array ? a.option : a.getShallow("coords"); 22425 return n; 22426 }, e.prototype.getLineCoordsCount = function(t) { 22427 return this._flatCoordsOffset ? this._flatCoordsOffset[t * 2 + 1] : this._getCoordsFromItemModel(t).length; 22428 }, e.prototype.getLineCoords = function(t, a) { 22429 if (this._flatCoordsOffset) { 22430 for (var n = this._flatCoordsOffset[t * 2], i = this._flatCoordsOffset[t * 2 + 1], o = 0; o < i; o++) a[o] = a[o] || [], a[o][0] = this._flatCoords[n + o * 2], a[o][1] = this._flatCoords[n + o * 2 + 1]; 22431 return i; 22432 } else { 22433 for (var s = this._getCoordsFromItemModel(t), o = 0; o < s.length;
22433 o++) a[o] = a[o] || [], a[o][0] = s[o][0], a[o][1] = s[o][1]; 22434 return s.length; 22435 } 22436 }, e.prototype._processFlatCoordsArray = function(t) { 22437 var a = 0; 22438 if (this._flatCoords && (a = this._flatCoords.length), wt(t[0])) { 22439 for (var n = t.length, i = new eW(n), o = new rW(n), s = 0, l = 0, u = 0, f = 0; f < n; ) { 22440 u++; 22441 var h = t[f++]; 22442 i[l++] = s + a, i[l++] = h; 22443 for (var v = 0; v < h; v++) { 22444 var c = t[f++], p = t[f++]; 22445 o[s++] = c, o[s++] = p; 22446 } 22447 } 22448 return { flatCoordsOffset: new Uint32Array(i.buffer, 0, l), flatCoords: o, count: u }; 22449 } 22450 return { flatCoordsOffset: null, flatCoords: null, count: t.length }; 22451 }, e.prototype.getInitialData = function(t, a) { 22452 var n = new be(["value"], this); 22453 return n.hasItemOption = false, n.initData(t.data, [], function(i, o, s, l) { 22454 if (i instanceof Array) return NaN; 22455 n.hasItemOption = true; 22456 var u = i.value; 22457 if (u != null) return u instanceof Array ? u[l] : u; 22458 }), n; 22459 }, e.prototype.formatTooltip = function(t, a, n) { 22460 var i = this.getData(), o = i.getItemModel(t), s = o.get("name"); 22461 if (s) return s; 22462 var l = o.get("fromName"), u = o.get("toName"), f = []; 22463 return l != null && f.push(l), u != null && f.push(u), le("nameValue", { name: f.join(" > ") }); 22464 }, e.prototype.preventIncremental = function() { 22465 return !!this.get(["effect", "show"]); 22466 }, e.prototype.getProgressive = function() { 22467 var t = this.option.progressive; 22468 return t ?? (this.option.large ? 1e4 : this.get("progressive")); 22469 }, e.prototype.getProgressiveThreshold = function() { 22470 var t = this.option.progressiveThreshold; 22471 return t ?? (this.option.large ? 2e4 : this.get("progressiveThreshold")); 22472 }, e.prototype.getZLevelKey = function() { 22473 var t = this.getModel("effect"), a = t.get("trailLength"); 22474 return this.getData().count() > this.getProgressiveThreshold() ? this.id : t.get("show") && a > 0 ? a + "" : ""; 22475 }, e.type = "series.lines", e.dependencies = ["grid", "polar", "geo", "calendar"], e.defaultOption = { coordinateSystem: "geo", z: 2, legendHoverLink: true, xAxisIndex: 0, yAxisIndex: 0, symbol: ["none", "none"], symbolSize: [10, 10], geoIndex: 0, effect: { show: false, period: 4, constantSpeed: 0, symbol: "circle", symbolSize: 3, loop: true, trailLength: 0.2 }, large: false, largeThreshold: 2e3, polyline: false, clip: true, label: { show: false, position: "end" }, lineStyle: { opacity: 0.5 } }, e; 22476}(Et); 22477function Uu(r) { 22478 return r instanceof Array || (r = [r, r]), r; 22479} 22480var nW = { seriesType: "lines", reset: function(r) { 22481 var e = Uu(r.get("symbol")), t = Uu(r.get("symbolSize")), a = r.getData(); 22482 a.setVisual("fromSymbol", e && e[0]), a.setVisual("toSymbol", e && e[1]), a.setVisual("fromSymbolSize", t && t[0]), a.setVisual("toSymbolSize", t && t[1]); 22483 function n(i, o) { 22484 var s = i.getItemModel(o), l = Uu(s.getShallow("symbol", true)), u = Uu(s.getShallow("symbolSize", true)); 22485 l[0] && i.setItemVisual(o, "fromSymbol", l[0]), l[1] && i.setItemVisual(o, "toSymbol", l[1]), u[0] && i.setItemVisual(o, "fromSymbolSize", u[0]), u[1] && i.setItemVisual(o, "toSymbolSize", u[1]); 22486 } 22487 return { dataEach: a.hasItemOption ? n : null }; 22488} }; 22489function iW(r) { 22490 r.registerChartView(tW), r.registerSeriesModel(aW), r.registerLayout(NI), r.registerVisual(nW); 22491} 22492var oW = 256, sW = function() { 22493 function r() { 22494 this.blurSize = 30, this.pointSize = 20, this.maxOpacity = 1, this.minOpacity = 0, this._gradientPixels = { inRange: null, outOfRange: null }; 22495 var e = Lr.createCanvas(); 22496 this.canvas = e; 22497 } 22498 return r.prototype.update = function(e, t, a, n, i, o) { 22499 var s = this._getBrush(), l = this._getGradient(i, "inRange"), u = this._getGradient(i, "outOfRange"), f = this.pointSize + this.blurSize, h = this.canvas, v = h.getContext("2d"), c = e.length; 22500 h.width = t, h.height = a; 22501 for (var p = 0; p < c; ++p) { 22502 var d = e[p], g = d[0], y = d[1], m = d[2], _ = n(m); 22503 v.globalAlpha = _, v.drawImage(s, g - f, y - f); 22504 } 22505 if (!h.width || !h.height) return h; 22506 for (var S = v.getImageData(0, 0, h.width, h.height), b = S.data, x = 0, w = b.length, T = this.minOpacity, C = this.maxOpacity, A = C - T; x < w; ) { 22507 var _ = b[x + 3] / 256, M = Math.floor(_ * (oW - 1)) * 4; 22508 if (_ > 0) { 22509 var I = o(_) ? l : u; 22510 _ > 0 && (_ = _ * A + T), b[x++] = I[M], b[x++] = I[M + 1], b[x++] = I[M + 2], b[x++] = I[M + 3] * _ * 256; 22511 } else x += 4; 22512 } 22513 return v.putImageData(S, 0, 0), h; 22514 }, r.prototype._getBrush = function() { 22515 var e = this._brushCanvas || (this._brushCanvas = Lr.createCanvas()), t = this.pointSize + this.blurSize, a = t * 2; 22516 e.width = a, e.height = a; 22517 var n = e.getContext("2d"); 22518 return n.clearRect(0, 0, a, a), n.shadowOffsetX = a, n.shadowBlur = this.blurSize, n.shadowColor = "#000", n.beginPath(), n.arc(-t, t, this.pointSize, 0, Math.PI * 2, true), n.closePath(), n.fill(), e; 22519 }, r.prototype._getGradient = function(e, t) { 22520 for (var a = this._gradientPixels, n = a[t] || (a[t] = new Uint8ClampedArray(256 * 4)), i = [0, 0, 0, 0], o = 0, s = 0; s < 256; s++) e[t](s / 255, true, i), n[o++] = i[0], n[o++] = i[1], n[o++] = i[2], n[o++] = i[3]; 22521 return n; 22522 }, r; 22523}(); 22524function lW(r, e, t) { 22525 var a = r[1] - r[0]; 22526 e = G(e, function(o) { 22527 return { interval: [(o.interval[0] - r[0]) / a, (o.interval[1] - r[0]) / a] }; 22528 }); 22529 var n = e.length, i = 0; 22530 return function(o) { 22531 var s; 22532 for (s = i; s < n; s++) { 22533 var l = e[s].interval; 22534 if (l[0] <= o && o <= l[1]) { 22535 i = s; 22536 break; 22537 } 22538 } 22539 if (s === n) for (s = i - 1; s >= 0; s--) { 22540 var l = e[s].interval; 22541 if (l[0] <= o && o <= l[1]) { 22542 i = s; 22543 break; 22544 } 22545 } 22546 return s >= 0 && s < n && t[s]; 22547 }; 22548} 22549function uW(r, e) { 22550 var t = r[1] - r[0]; 22551 return e = [(e[0] - r[0]) / t, (e[1] - r[0]) / t], function(a) { 22552 return a >= e[0] && a <= e[1]; 22553 }; 22554} 22555function Hx(r) { 22556 var e = r.dimensions; 22557 return e[0] === "lng" && e[1] === "lat"; 22558} 22559var fW = function(r) { 22560 N(e, r); 22561 function e() { 22562 var t = r !== null && r.apply(this, arguments) || this; 22563 return t.type = e.type, t; 22564 } 22565 return e.prototype.render = function(t, a, n) { 22566 var i; 22567 a.eachComponent("visualMap", function(s) { 22568 s.eachTargetSeries(function(l) { 22569 l === t && (i = s); 22570 }); 22571 }), this._progressiveEls = null, this.group.removeAll(); 22572 var o = t.coordinateSystem; 22573 o.type === "cartesian2d" || o.type === "calendar" ? this._renderOnCartesianAndCalendar(t, n, 0, t.getData().count()) : Hx(o) && this._renderOnGeo(o, t, i, n); 22574 }, e.prototype.incrementalPrepareRender = function(t, a, n) { 22575 this.group.removeAll(); 22576 }, e.prototype.incrementalRender = function(t, a, n, i) { 22577 var o = a.coordinateSystem; 22578 o && (Hx(o) ? this.render(a, n, i) : (this._progressiveEls = [], this._renderOnCartesianAndCalendar(a, i, t.start, t.end, true))); 22579 }, e.prototype.eachRendered = function(t) { 22580 un(this._progressiveEls || this.group, t); 22581 }, e.prototype._renderOnCartesianAndCalendar = function(t, a, n, i, o) { 22582 var s = t.coordinateSystem, l = Ti(s, "cartesian2d"), u, f, h, v; 22583 if (l) { 22584 var c = s.getAxis("x"), p = s.getAxis("y"); 22585 u = c.getBandWidth() + 0.5, f = p.getBandWidth() + 0.5, h = c.scale.getExtent(), v = p.scale.getExtent(); 22586 } 22587 for (var d = this.group, g = t.getData(), y = t.getModel(["emphasis", "itemStyle"]).getItemStyle(), m = t.getModel(["blur", "itemStyle"]).getItemStyle(), _ = t.getModel(["select", "itemStyle"]).getItemStyle(), S = t.get(["itemStyle", "borderRadius"]), b = se(t), x = t.getModel("emphasis"), w = x.get("focus"), T = x.get("blurScope"), C = x.get("disabled"), A = l ? [g.mapDimension("x"), g.mapDimension("y"), g.mapDimension("value")] : [g.mapDimension("time"), g.mapDimension("value")], M = n; M < i; M++) { 22588 var I = void 0, L = g.getItemVisual(M, "style"); 22589 if (l) { 22590 var P = g.get(A[0], M), R = g.get(A[1], M); 22591 if (isNaN(g.get(A[2], M)) || isNaN(P) || isNaN(R) || P < h[0] || P > h[1] || R < v[0] || R > v[1]) continue; 22592 var E = s.dataToPoint([P, R]); 22593 I = new xt({ shape: { x: E[0] - u / 2, y: E[1] - f / 2, width: u, height: f }, style: L }); 22594 } else { 22595 if (isNaN(g.get(A[1], M))) continue; 22596 I = new xt({ z2: 1, shape: s.dataToRect([g.get(A[0], M)]).contentShape, style: L }); 22597 } 22598 if (g.hasItemOption) { 22599 var O = g.getItemModel(M), k = O.getModel("emphasis"); 22600 y = k.getModel("itemStyle").getItemStyle(), m = O.getModel(["blur", "itemStyle"]).getItemStyle(), _ = O.getModel(["select", "itemStyle"]).getItemStyle(), S = O.get(["itemStyle", "borderRadius"]), w = k.get("focus"), T = k.get("blurScope"), C = k.get("disabled"), b = se(O); 22601 } 22602 I.shape.r = S; 22603 var B = t.getRawValue(M), F = "-"; 22604 B && B[2] != null && (F = B[2] + ""), de(I, b, { labelFetcher: t, labelDataIndex: M, defaultOpacity: L.opacity, defaultText: F }), I.ensureState("emphasis").style = y, I.ensureState("blur").style = m, I.ensureState("select").style = _, Wt(I, w, T, C), I.incremental = o, o && (I.states.emphasis.hoverLayer = true), d.add(I), g.setItemGraphicEl(M, I), this._progressiveEls && this._progressiveEls.push(I); 22605 } 22606 }, e.prototype._renderOnGeo = function(t, a, n, i) { 22607 var o = n.targetVisuals.inRange, s = n.targetVisuals.outOfRange, l = a.getData(), u = this._hmLayer || this._hmLayer || new sW(); 22608 u.blurSize = a.get("blurSize"), u.pointSize = a.get("pointSize"), u.minOpacity = a.get("minOpacity"), u.maxOpacity = a.get("maxOpacity"); 22609 var f = t.getViewRect().clone(), h = t.getRoamTransform(); 22610 f.applyTransform(h); 22611 var v = Math.max(f.x, 0), c = Math.max(f.y, 0), p = Math.min(f.width + f.x, i.getWidth()), d = Math.min(f.height + f.y, i.getHeight()), g = p - v, y = d - c, m = [l.mapDimension("lng"), l.mapDimension("lat"), l.mapDimension("value")], _ = l.mapArray(m, function(w, T, C) { 22612 var A = t.dataToPoint([w, T]); 22613 return A[0] -= v, A[1] -= c, A.push(C), A; 22614 }), S = n.getExtent(), b = n.type === "visualMap.continuous" ? uW(S, n.option.range) : lW(S, n.getPieceList(), n.option.selected); 22615 u.update(_, g, y, o.color.getNormalizer(), { inRange: o.color.getColorMapper(), outOfRange: s.color.getColorMapper() }, b); 22616 var x = new ue({ style: { width: g, height: y, x: v, y: c, image: u.canvas }, silent: true }); 22617 this.group.add(x); 22618 }, e.type = "heatmap", e; 22619}(Pt), hW = function(r) { 22620 N(e, r); 22621 function e() { 22622 var t = r !== null && r.apply(this, arguments) || this; 22623 return t.type = e.type, t; 22624 } 22625 return e.prototype.getInitialData = function(t, a) { 22626 return aa(null, this, { generateCoord: "value" }); 22627 }, e.prototype.preventIncremental = function() { 22628 var t = Vo.get(this.get("coordinateSystem")); 22629 if (t && t.dimensions) return t.dimensions[0] === "lng" && t.dimensions[1] === "lat"; 22630 }, e.type = "series.heatmap", e.dependencies = ["grid", "geo", "calendar"], e.defaultOption = { coordinateSystem: "cartesian2d", z: 2, geoIndex: 0, blurSize: 30, pointSize: 20, maxOpacity: 1, minOpacity: 0, select: { itemStyle: { borderColor: "#212121" } } }, e; 22631}(Et); 22632function vW(r) { 22633 r.registerChartView(fW), r.registerSeriesModel(hW); 22634} 22635var cW = ["itemStyle", "borderWidth"], Wx = [{ xy: "x", wh: "width", index: 0, posDesc: ["left", "right"] }, { xy: "y", wh: "height", index: 1, posDesc: ["top", "bottom"] }], sp = new ea(), pW = function(r) { 22636 N(e, r); 22637 function e() { 22638 var t = r !== null && r.apply(this, arguments) || this; 22639 return t.type = e.type, t; 22640 } 22641 return e.prototype.render = function(t, a, n) { 22642 var i = this.group, o = t.getData(), s = this._data, l = t.coordinateSystem, u = l.getBaseAxis(), f = u.isHorizontal(), h = l.master.getRect(), v = { ecSize: { width: n.getWidth(), height: n.getHeight() }, seriesModel: t, coordSys: l, coordSysExtent: [[h.x, h.x + h.width], [h.y, h.y + h.height]], isHorizontal: f, valueDim: Wx[+f], categoryDim: Wx[1
22642- +f] }; 22643 o.diff(s).add(function(p) { 22644 if (o.hasValue(p)) { 22645 var d = Yx(o, p), g = Ux(o, p, d, v), y = $x(o, v, g); 22646 o.setItemGraphicEl(p, y), i.add(y), Zx(y, v, g); 22647 } 22648 }).update(function(p, d) { 22649 var g = s.getItemGraphicEl(d); 22650 if (!o.hasValue(p)) { 22651 i.remove(g); 22652 return; 22653 } 22654 var y = Yx(o, p), m = Ux(o, p, y, v), _ = HI(o, m); 22655 g && _ !== g.__pictorialShapeStr && (i.remove(g), o.setItemGraphicEl(p, null), g = null), g ? xW(g, v, m) : g = $x(o, v, m, true), o.setItemGraphicEl(p, g), g.__pictorialSymbolMeta = m, i.add(g), Zx(g, v, m); 22656 }).remove(function(p) { 22657 var d = s.getItemGraphicEl(p); 22658 d && Xx(s, p, d.__pictorialSymbolMeta.animationModel, d); 22659 }).execute(); 22660 var c = t.get("clip", true) ? Yl(t.coordinateSystem, false, t) : null; 22661 return c ? i.setClipPath(c) : i.removeClipPath(), this._data = o, this.group; 22662 }, e.prototype.remove = function(t, a) { 22663 var n = this.group, i = this._data; 22664 t.get("animation") ? i && i.eachItemGraphicEl(function(o) { 22665 Xx(i, it(o).dataIndex, t, o); 22666 }) : n.removeAll(); 22667 }, e.type = "pictorialBar", e; 22668}(Pt); 22669function Ux(r, e, t, a) { 22670 var n = r.getItemLayout(e), i = t.get("symbolRepeat"), o = t.get("symbolClip"), s = t.get("symbolPosition") || "start", l = t.get("symbolRotate"), u = (l || 0) * Math.PI / 180 || 0, f = t.get("symbolPatternSize") || 2, h = t.isAnimationEnabled(), v = { dataIndex: e, layout: n, itemModel: t, symbolType: r.getItemVisual(e, "symbol") || "circle", style: r.getItemVisual(e, "style"), symbolClip: o, symbolRepeat: i, symbolRepeatDirection: t.get("symbolRepeatDirection"), symbolPatternSize: f, rotation: u, animationModel: h ? t : null, hoverScale: h && t.get(["emphasis", "scale"]), z2: t.getShallow("z", true) || 0 }; 22671 dW(t, i, n, a, v), gW(r, e, n, i, o, v.boundingLength, v.pxSign, f, a, v), yW(t, v.symbolScale, u, a, v); 22672 var c = v.symbolSize, p = wi(t.get("symbolOffset"), c); 22673 return mW(t, c, n, i, o, p, s, v.valueLineWidth, v.boundingLength, v.repeatCutLength, a, v), v; 22674} 22675function dW(r, e, t, a, n) { 22676 var i = a.valueDim, o = r.get("symbolBoundingData"), s = a.coordSys.getOtherAxis(a.coordSys.getBaseAxis()), l = s.toGlobalCoord(s.dataToCoord(0)), u = 1 - +(t[i.wh] <= 0), f; 22677 if (V(o)) { 22678 var h = [lp(s, o[0]) - l, lp(s, o[1]) - l]; 22679 h[1] < h[0] && h.reverse(), f = h[u]; 22680 } else o != null ? f = lp(s, o) - l : e ? f = a.coordSysExtent[i.index][u] - l : f = t[i.wh]; 22681 n.boundingLength = f, e && (n.repeatCutLength = t[i.wh]); 22682 var v = i.xy === "x", c = s.inverse; 22683 n.pxSign = v && !c || !v && c ? f >= 0 ? 1 : -1 : f > 0 ? 1 : -1; 22684} 22685function lp(r, e) { 22686 return r.toGlobalCoord(r.dataToCoord(r.scale.parse(e))); 22687} 22688function gW(r, e, t, a, n, i, o, s, l, u) { 22689 var f = l.valueDim, h = l.categoryDim, v = Math.abs(t[h.wh]), c = r.getItemVisual(e, "symbolSize"), p; 22690 V(c) ? p = c.slice() : c == null ? p = ["100%", "100%"] : p = [c, c], p[h.index] = W(p[h.index], v), p[f.index] = W(p[f.index], a ? v : Math.abs(i)), u.symbolSize = p; 22691 var d = u.symbolScale = [p[0] / s, p[1] / s]; 22692 d[f.index] *= (l.isHorizontal ? -1 : 1) * o; 22693} 22694function yW(r, e, t, a, n) { 22695 var i = r.get(cW) || 0; 22696 i && (sp.attr({ scaleX: e[0], scaleY: e[1], rotation: t }), sp.updateTransform(), i /= sp.getLineScale(), i *= e[a.valueDim.index]), n.valueLineWidth = i || 0; 22697} 22698function mW(r, e, t, a, n, i, o, s, l, u, f, h) { 22699 var v = f.categoryDim, c = f.valueDim, p = h.pxSign, d = Math.max(e[c.index] + s, 0), g = d; 22700 if (a) { 22701 var y = Math.abs(l), m = ne(r.get("symbolMargin"), "15%") + "", _ = false; 22702 m.lastIndexOf("!") === m.length - 1 && (_ = true, m = m.slice(0, m.length - 1)); 22703 var S = W(m, e[c.index]), b = Math.max(d + S * 2, 0), x = _ ? 0 : S * 2, w = Ug(a), T = w ? a : qx((y + x) / b), C = y - T * d; 22704 S = C / 2 / (_ ? T : Math.max(T - 1, 1)), b = d + S * 2, x = _ ? 0 : S * 2, !w && a !== "fixed" && (T = u ? qx((Math.abs(u) + x) / b) : 0), g = T * b - x, h.repeatTimes = T, h.symbolMargin = S; 22705 } 22706 var A = p * (g / 2), M = h.pathPosition = []; 22707 M[v.index] = t[v.wh] / 2, M[c.index] = o === "start" ? A : o === "end" ? l - A : l / 2, i && (M[0] += i[0], M[1] += i[1]); 22708 var I = h.bundlePosition = []; 22709 I[v.index] = t[v.xy], I[c.index] = t[c.xy]; 22710 var L = h.barRectShape = z({}, t); 22711 L[c.wh] = p * Math.max(Math.abs(t[c.wh]), Math.abs(M[c.index] + A)), L[v.wh] = t[v.wh]; 22712 var P = h.clipShape = {}; 22713 P[v.xy] = -t[v.xy], P[v.wh] = f.ecSize[v.wh], P[c.xy] = 0, P[c.wh] = t[c.wh]; 22714} 22715function BI(r) { 22716 var e = r.symbolPatternSize, t = qt(r.symbolType, -e / 2, -e / 2, e, e); 22717 return t.attr({ culling: true }), t.type !== "image" && t.setStyle({ strokeNoScale: true }), t; 22718} 22719function zI(r, e, t, a) { 22720 var n = r.__pictorialBundle, i = t.symbolSize, o = t.valueLineWidth, s = t.pathPosition, l = e.valueDim, u = t.repeatTimes || 0, f = 0, h = i[e.valueDim.index] + o + t.symbolMargin * 2; 22721 for (wm(r, function(d) { 22722 d.__pictorialAnimationIndex = f, d.__pictorialRepeatTimes = u, f < u ? co(d, null, p(f), t, a) : co(d, null, { scaleX: 0, scaleY: 0 }, t, a, function() { 22723 n.remove(d); 22724 }), f++; 22725 }); f < u; f++) { 22726 var v = BI(t); 22727 v.__pictorialAnimationIndex = f, v.__pictorialRepeatTimes = u, n.add(v); 22728 var c = p(f); 22729 co(v, { x: c.x, y: c.y, scaleX: 0, scaleY: 0 }, { scaleX: c.scaleX, scaleY: c.scaleY, rotation: c.rotation }, t, a); 22730 } 22731 function p(d) { 22732 var g = s.slice(), y = t.pxSign, m = d; 22733 return (t.symbolRepeatDirection === "start" ? y > 0 : y < 0) && (m = u - 1 - d), g[l.index] = h * (m - u / 2 + 0.5) + s[l.index], { x: g[0], y: g[1], scaleX: t.symbolScale[0], scaleY: t.symbolScale[1], rotation: t.rotation }; 22734 } 22735} 22736function VI(r, e, t, a) { 22737 var n = r.__pictorialBundle, i = r.__pictorialMainPath; 22738 i ? co(i, null, { x: t.pathPosition[0], y: t.pathPosition[1], scaleX: t.symbolScale[0], scaleY: t.symbolScale[1], rotation: t.rotation }, t, a) : (i = r.__pictorialMainPath = BI(t), n.add(i), co(i, { x: t.pathPosition[0], y: t.pathPosition[1], scaleX: 0, scaleY: 0, rotation: t.rotation }, { scaleX: t.symbolScale[0], scaleY: t.symbolScale[1] }, t, a)); 22739} 22740function GI(r, e, t) { 22741 var a = z({}, e.barRectShape), n = r.__pictorialBarRect; 22742 n ? co(n, null, { shape: a }, e, t) : (n = r.__pictorialBarRect = new xt({ z2: 2, shape: a, silent: true, style: { stroke: "transparent", fill: "transparent", lineWidth: 0 } }), n.disableMorphing = true, r.add(n)); 22743} 22744function FI(r, e, t, a) { 22745 if (t.symbolClip) { 22746 var n = r.__pictorialClipPath, i = z({}
22746, t.clipShape), o = e.valueDim, s = t.animationModel, l = t.dataIndex; 22747 if (n) Tt(n, { shape: i }, s, l); 22748 else { 22749 i[o.wh] = 0, n = new xt({ shape: i }), r.__pictorialBundle.setClipPath(n), r.__pictorialClipPath = n; 22750 var u = {}; 22751 u[o.wh] = t.clipShape[o.wh], xi[a ? "updateProps" : "initProps"](n, { shape: u }, s, l); 22752 } 22753 } 22754} 22755function Yx(r, e) { 22756 var t = r.getItemModel(e); 22757 return t.getAnimationDelayParams = _W, t.isAnimationEnabled = SW, t; 22758} 22759function _W(r) { 22760 return { index: r.__pictorialAnimationIndex, count: r.__pictorialRepeatTimes }; 22761} 22762function SW() { 22763 return this.parentModel.isAnimationEnabled() && !!this.getShallow("animation"); 22764} 22765function $x(r, e, t, a) { 22766 var n = new at(), i = new at(); 22767 return n.add(i), n.__pictorialBundle = i, i.x = t.bundlePosition[0], i.y = t.bundlePosition[1], t.symbolRepeat ? zI(n, e, t) : VI(n, e, t), GI(n, t, a), FI(n, e, t, a), n.__pictorialShapeStr = HI(r, t), n.__pictorialSymbolMeta = t, n; 22768} 22769function xW(r, e, t) { 22770 var a = t.animationModel, n = t.dataIndex, i = r.__pictorialBundle; 22771 Tt(i, { x: t.bundlePosition[0], y: t.bundlePosition[1] }, a, n), t.symbolRepeat ? zI(r, e, t, true) : VI(r, e, t, true), GI(r, t, true), FI(r, e, t, true); 22772} 22773function Xx(r, e, t, a) { 22774 var n = a.__pictorialBarRect; 22775 n && n.removeTextContent(); 22776 var i = []; 22777 wm(a, function(o) { 22778 i.push(o); 22779 }), a.__pictorialMainPath && i.push(a.__pictorialMainPath), a.__pictorialClipPath && (t = null), D(i, function(o) { 22780 rn(o, { scaleX: 0, scaleY: 0 }, t, e, function() { 22781 a.parent && a.parent.remove(a); 22782 }); 22783 }), r.setItemGraphicEl(e, null); 22784} 22785function HI(r, e) { 22786 return [r.getItemVisual(e.dataIndex, "symbol") || "none", !!e.symbolRepeat, !!e.symbolClip].join(":"); 22787} 22788function wm(r, e, t) { 22789 D(r.__pictorialBundle.children(), function(a) { 22790 a !== r.__pictorialBarRect && e.call(t, a); 22791 }); 22792} 22793function co(r, e, t, a, n, i) { 22794 e && r.attr(e), a.symbolClip && !n ? t && r.attr(t) : t && xi[n ? "updateProps" : "initProps"](r, t, a.animationModel, a.dataIndex, i); 22795} 22796function Zx(r, e, t) { 22797 var a = t.dataIndex, n = t.itemModel, i = n.getModel("emphasis"), o = i.getModel("itemStyle").getItemStyle(), s = n.getModel(["blur", "itemStyle"]).getItemStyle(), l = n.getModel(["select", "itemStyle"]).getItemStyle(), u = n.getShallow("cursor"), f = i.get("focus"), h = i.get("blurScope"), v = i.get("scale"); 22798 wm(r, function(d) { 22799 if (d instanceof ue) { 22800 var g = d.style; 22801 d.useStyle(z({ image: g.image, x: g.x, y: g.y, width: g.width, height: g.height }, t.style)); 22802 } else d.useStyle(t.style); 22803 var y = d.ensureState("emphasis"); 22804 y.style = o, v && (y.scaleX = d.scaleX * 1.1, y.scaleY = d.scaleY * 1.1), d.ensureState("blur").style = s, d.ensureState("select").style = l, u && (d.cursor = u), d.z2 = t.z2; 22805 }); 22806 var c = e.valueDim.posDesc[+(t.boundingLength > 0)], p = r.__pictorialBarRect; 22807 p.ignoreClip = true, de(p, se(n), { labelFetcher: e.seriesModel, labelDataIndex: a, defaultText: bo(e.seriesModel.getData(), a), inheritColor: t.style.fill, defaultOpacity: t.style.opacity, defaultOutsidePosition: c }), Wt(r, f, h, i.get("disabled")); 22808} 22809function qx(r) { 22810 var e = Math.round(r); 22811 return Math.abs(r - e) < 1e-4 ? e : Math.ceil(r); 22812} 22813var bW = function(r) { 22814 N(e, r); 22815 function e() { 22816 var t = r !== null && r.apply(this, arguments) || this; 22817 return t.type = e.type, t.hasSymbolVisual = true, t.defaultSymbol = "roundRect", t; 22818 } 22819 return e.prototype.getInitialData = function(t) { 22820 return t.stack = null, r.prototype.getInitialData.apply(this, arguments); 22821 }, e.type = "series.pictorialBar", e.dependencies = ["grid"], e.defaultOption = fn(_l.defaultOption, { symbol: "circle", symbolSize: null, symbolRotate: null, symbolPosition: null, symbolOffset: null, symbolMargin: null, symbolRepeat: false, symbolRepeatDirection: "end", symbolClip: false, symbolBoundingData: null, symbolPatternSize: 400, barGap: "-100%", clip: false, progressive: 0, emphasis: { scale: false }, select: { itemStyle: { borderColor: "#212121" } } }), e; 22822}(_l); 22823function wW(r) { 22824 r.registerChartView(pW), r.registerSeriesModel(bW), r.registerLayout(r.PRIORITY.VISUAL.LAYOUT, lt(CD, "pictorialBar")), r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, AD("pictorialBar")); 22825} 22826var TW = function(r) { 22827 N(e, r); 22828 function e() { 22829 var t = r !== null && r.apply(this, arguments) || this; 22830 return t.type = e.type, t._layers = [], t; 22831 } 22832 return e.prototype.render = function(t, a, n) { 22833 var i = t.getData(), o = this, s = this.group, l = t.getLayerSeries(), u = i.getLayout("layoutInfo"), f = u.rect, h = u.boundaryGap; 22834 s.x = 0, s.y = f.y + h[0]; 22835 function v(g) { 22836 return g.name; 22837 } 22838 var c = new Sa(this._layersSeries || [], l, v, v), p = []; 22839 c.add($(d, this, "add")).update($(d, this, "update")).remove($(d, this, "remove")).execute(); 22840 function d(g, y, m) { 22841 var _ = o._layers; 22842 if (g === "remove") { 22843 s.remove(_[y]); 22844 return; 22845 } 22846 for (var S = [], b = [], x, w = l[y].indices, T = 0; T < w.length; T++) { 22847 var C = i.getItemLayout(w[T]), A = C.x, M = C.y0, I = C.y; 22848 S.push(A, M), b.push(A, M + I), x = i.getItemVisual(w[T], "style"); 22849 } 22850 var L, P = i.getItemLayout(w[0]), R = t.getModel("label"), E = R.get("margin"), O = t.getModel("emphasis"); 22851 if (g === "add") { 22852 var k = p[y] = new at(); 22853 L = new pM({ shape: { points: S, stackedOnPoints: b, smooth: 0.4, stackedOnSmooth: 0.4, smoothConstraint: false }, z2: 0 }), k.add(L), s.add(k), t.isAnimationEnabled() && L.setClipPath(CW(L.getBoundingRect
22853(), t, function() { 22854 L.removeClipPath(); 22855 })); 22856 } else { 22857 var k = _[m]; 22858 L = k.childAt(0), s.add(k), p[y] = k, Tt(L, { shape: { points: S, stackedOnPoints: b } }, t), Er(L); 22859 } 22860 de(L, se(t), { labelDataIndex: w[T - 1], defaultText: i.getName(w[T - 1]), inheritColor: x.fill }, { normal: { verticalAlign: "middle" } }), L.setTextConfig({ position: null, local: true }); 22861 var B = L.getTextContent(); 22862 B && (B.x = P.x - E, B.y = P.y0 + P.y / 2), L.useStyle(x), i.setItemGraphicEl(y, L), pe(L, t), Wt(L, O.get("focus"), O.get("blurScope"), O.get("disabled")); 22863 } 22864 this._layersSeries = l, this._layers = p; 22865 }, e.type = "themeRiver", e; 22866}(Pt); 22867function CW(r, e, t) { 22868 var a = new xt({ shape: { x: r.x - 10, y: r.y - 10, width: 0, height: r.height + 20 } }); 22869 return Gt(a, { shape: { x: r.x - 50, width: r.width + 100, height: r.height + 20 } }, e, t), a; 22870} 22871var up = 2, AW = function(r) { 22872 N(e, r); 22873 function e() { 22874 var t = r !== null && r.apply(this, arguments) || this; 22875 return t.type = e.type, t; 22876 } 22877 return e.prototype.init = function(t) { 22878 r.prototype.init.apply(this, arguments), this.legendVisualProvider = new Zl($(this.getData, this), $(this.getRawData, this)); 22879 }, e.prototype.fixData = function(t) { 22880 var a = t.length, n = {}, i = od(t, function(v) { 22881 return n.hasOwnProperty(v[0] + "") || (n[v[0] + ""] = -1), v[2]; 22882 }), o = []; 22883 i.buckets.each(function(v, c) { 22884 o.push({ name: c, dataList: v }); 22885 }); 22886 for (var s = o.length, l = 0; l < s; ++l) { 22887 for (var u = o[l].name, f = 0; f < o[l].dataList.length; ++f) { 22888 var h = o[l].dataList[f][0] + ""; 22889 n[h] = l; 22890 } 22891 for (var h in n) n.hasOwnProperty(h) && n[h] !== l && (n[h] = l, t[a] = [h, 0, u], a++); 22892 } 22893 return t; 22894 }, e.prototype.getInitialData = function(t, a) { 22895 for (var n = this.getReferringComponents("singleAxis", Jt).models[0], i = n.get("type"), o = Ct(t.data, function(p) { 22896 return p[2] !== void 0; 22897 }), s = this.fixData(o || []), l = [], u = this.nameMap = Z(), f = 0, h = 0; h < s.length; ++h) l.push(s[h][up]), u.get(s[h][up]) || (u.set(s[h][up], f), f++); 22898 var v = Wo(s, { coordDimensions: ["single"], dimensionsDefine: [{ name: "time", type: Zf(i) }, { name: "value", type: "float" }, { name: "name", type: "ordinal" }], encodeDefine: { single: 0, value: 1, itemName: 2 } }).dimensions, c = new be(v, this); 22899 return c.initData(s), c; 22900 }, e.prototype.getLayerSeries = function() { 22901 for (var t = this.getData(), a = t.count(), n = [], i = 0; i < a; ++i) n[i] = i; 22902 var o = t.mapDimension("single"), s = od(n, function(u) { 22903 return t.get("name", u); 22904 }), l = []; 22905 return s.buckets.each(function(u, f) { 22906 u.sort(function(h, v) { 22907 return t.get(o, h) - t.get(o, v); 22908 }), l.push({ name: f, indices: u }); 22909 }), l; 22910 }, e.prototype.getAxisTooltipData = function(t, a, n) { 22911 V(t) || (t = t ? [t] : []); 22912 for (var i = this.getData(), o = this.getLayerSeries(), s = [], l = o.length, u, f = 0; f < l; ++f) { 22913 for (var h = Number.MAX_VALUE, v = -1, c = o[f].indices.length, p = 0; p < c; ++p) { 22914 var d = i.get(t[0], o[f].indices[p]), g = Math.abs(d - a); 22915 g <= h && (u = d, h = g, v = o[f].indices[p]); 22916 } 22917 s.push(v); 22918 } 22919 return { dataIndices: s, nestestValue: u }; 22920 }, e.prototype.formatTooltip = function(t, a, n) { 22921 var i = this.getData(), o = i.getName(t), s = i.get(i.mapDimension("value"), t); 22922 return le("nameValue", { name: o, value: s }); 22923 }, e.type = "series.themeRiver", e.dependencies = ["singleAxis"], e.defaultOption = { z: 2, colorBy: "data", coordinateSystem: "singleAxis", boundaryGap: ["10%", "10%"], singleAxisIndex: 0, animationEasing: "linear", label: { margin: 4, show: true, position: "left", fontSize: 11 }, emphasis: { label: { show: true } } }, e; 22924}(Et); 22925function DW(r, e) { 22926 r.eachSeriesByType("themeRiver", function(t) { 22927 var a = t.getData(), n = t.coordinateSystem, i = {}, o = n.getRect(); 22928 i.rect = o; 22929 var s = t.get("boundaryGap"), l = n.getAxis(); 22930 if (i.boundaryGap = s, l.orient === "horizontal") { 22931 s[0] = W(s[0], o.height), s[1] = W(s[1], o.height); 22932 var u = o.height - s[0] - s[1]; 22933 Kx(a, t, u); 22934 } else { 22935 s[0] = W(s[0], o.width), s[1] = W(s[1], o.width); 22936 var f = o.width - s[0] - s[1]; 22937 Kx(a, t, f); 22938 } 22939 a.setLayout("layoutInfo", i); 22940 }); 22941} 22942function Kx(r, e, t) { 22943 if (r.count()) for (var a = e.coordinateSystem, n = e.getLayerSeries(), i = r.mapDimension("single"), o = r.mapDimension("value"), s = G(n, function(g) { 22944 return G(g.indices, function(y) { 22945 var m = a.dataToPoint(r.get(i, y)); 22946 return m[1] = r.get(o, y), m; 22947 }); 22948 }), l = MW(s), u = l.y0, f = t / l.max, h = n.length, v = n[0].indices.length, c, p = 0; p < v; ++p) { 22949 c = u[p] * f, r.setItemLayout(n[0].indices[p], { layerIndex: 0, x: s[0][p][0], y0: c, y: s[0][p][1] * f }); 22950 for (var d = 1; d < h; ++d) c += s[d - 1][p][1] * f, r.setItemLayout(n[d].indices[p], { layerIndex: d, x: s[d][p][0], y0: c, y: s[d][p][1] * f }); 22951 } 22952} 22953function MW(r) { 22954 for (var e = r.length, t = r[0].length, a = [], n = [], i = 0, o = 0; o < t; ++o) { 22955 for (var s = 0, l = 0; l < e; ++l) s += r[l][o][1]; 22956 s > i && (i = s), a.push(s); 22957 } 22958 for (var u = 0; u < t;
22958 ++u) n[u] = (i - a[u]) / 2; 22959 i = 0; 22960 for (var f = 0; f < t; ++f) { 22961 var h = a[f] + n[f]; 22962 h > i && (i = h); 22963 } 22964 return { y0: n, max: i }; 22965} 22966function IW(r) { 22967 r.registerChartView(TW), r.registerSeriesModel(AW), r.registerLayout(DW), r.registerProcessor(Xl("themeRiver")); 22968} 22969var LW = 2, PW = 4, jx = function(r) { 22970 N(e, r); 22971 function e(t, a, n, i) { 22972 var o = r.call(this) || this; 22973 o.z2 = LW, o.textConfig = { inside: true }, it(o).seriesIndex = a.seriesIndex; 22974 var s = new St({ z2: PW, silent: t.getModel().get(["label", "silent"]) }); 22975 return o.setTextContent(s), o.updateData(true, t, a, n, i), o; 22976 } 22977 return e.prototype.updateData = function(t, a, n, i, o) { 22978 this.node = a, a.piece = this, n = n || this._seriesModel, i = i || this._ecModel; 22979 var s = this; 22980 it(s).dataIndex = a.dataIndex; 22981 var l = a.getModel(), u = l.getModel("emphasis"), f = a.getLayout(), h = z({}, f); 22982 h.label = null; 22983 var v = a.getVisual("style"); 22984 v.lineJoin = "bevel"; 22985 var c = a.getVisual("decal"); 22986 c && (v.decal = xo(c, o)); 22987 var p = ti(l.getModel("itemStyle"), h, true); 22988 z(h, p), D(Oe, function(m) { 22989 var _ = s.ensureState(m), S = l.getModel([m, "itemStyle"]); 22990 _.style = S.getItemStyle(); 22991 var b = ti(S, h); 22992 b && (_.shape = b); 22993 }), t ? (s.setShape(h), s.shape.r = f.r0, Gt(s, { shape: { r: f.r } }, n, a.dataIndex)) : (Tt(s, { shape: h }, n), Er(s)), s.useStyle(v), this._updateLabel(n); 22994 var d = l.getShallow("cursor"); 22995 d && s.attr("cursor", d), this._seriesModel = n || this._seriesModel, this._ecModel = i || this._ecModel; 22996 var g = u.get("focus"), y = g === "relative" ? go(a.getAncestorsIndices(), a.getDescendantIndices()) : g === "ancestor" ? a.getAncestorsIndices() : g === "descendant" ? a.getDescendantIndices() : g; 22997 Wt(this, y, u.get("blurScope"), u.get("disabled")); 22998 }, e.prototype._updateLabel = function(t) { 22999 var a = this, n = this.node.getModel(), i = n.getModel("label"), o = this.node.getLayout(), s = o.endAngle - o.startAngle, l = (o.startAngle + o.endAngle) / 2, u = Math.cos(l), f = Math.sin(l), h = this, v = h.getTextContent(), c = this.node.dataIndex, p = i.get("minAngle") / 180 * Math.PI, d = i.get("show") && !(p != null && Math.abs(s) < p); 23000 v.ignore = !d, D(sl, function(y) { 23001 var m = y === "normal" ? n.getModel("label") : n.getModel([y, "label"]), _ = y === "normal", S = _ ? v : v.ensureState(y), b = t.getFormattedLabel(c, y); 23002 _ && (b = b || a.node.name), S.style = Nt(m, {}, null, y !== "normal", true), b && (S.style.text = b); 23003 var x = m.get("show"); 23004 x != null && !_ && (S.ignore = !x); 23005 var w = g(m, "position"), T = _ ? h : h.states[y], C = T.style.fill; 23006 T.textConfig = { outsideFill: m.get("color") === "inherit" ? C : null, inside: w !== "outside" }; 23007 var A, M = g(m, "distance") || 0, I = g(m, "align"), L = g(m, "rotate"), P = Math.PI * 0.5, R = Math.PI * 1.5, E = Ze(L === "tangential" ? Math.PI / 2 - l : l), O = E > P && !yo(E - P) && E < R; 23008 w === "outside" ? (A = o.r + M, I = O ? "right" : "left") : !I || I === "center" ? (s === 2 * Math.PI && o.r0 === 0 ? A = 0 : A = (o.r + o.r0) / 2, I = "center") : I === "left" ? (A = o.r0 + M, I = O ? "right" : "left") : I === "right" && (A = o.r - M, I = O ? "left" : "right"), S.style.align = I, S.style.verticalAlign = g(m, "verticalAlign") || "middle", S.x = A * u + o.cx, S.y = A * f + o.cy; 23009 var k = 0; 23010 L === "radial" ? k = Ze(-l) + (O ? Math.PI : 0) : L === "tangential" ? k = Ze(Math.PI / 2 - l) + (O ? Math.PI : 0) : wt(L) && (k = L * Math.PI / 180), S.rotation = Ze(k); 23011 }); 23012 function g(y, m) { 23013 var _ = y.get(m); 23014 return _ ?? i.get(m); 23015 } 23016 v.dirtyStyle(); 23017 }, e; 23018}(Te), sg = "sunburstRootToNode", Jx = "sunburstHighlight", RW = "sunburstUnhighlight"; 23019function EW(r) { 23020 r.registerAction({ type: sg, update: "updateView" }, function(e, t) { 23021 t.eachComponent({ mainType: "series", subType: "sunburst", query: e }, a); 23022 function a(n, i) { 23023 var o = xl(e, [sg], n); 23024 if (o) { 23025 var s = n.getViewRoot(); 23026 s && (e.direction = sm(s, o.node) ? "rollUp" : "drillDown"), n.resetViewRoot(o.node); 23027 } 23028 } 23029 }), r.registerAction({ type: Jx, update: "none" }, function(e, t, a) { 23030 e = z({}, e), t.eachComponent({ mainType: "series", subType: "sunburst", query: e }, n); 23031 function n(i) { 23032 var o = xl(e, [Jx], i); 23033 o && (e.dataIndex = o.node.dataIndex); 23034 } 23035 a.dispatchAction(z(e, { type: "highlight" })); 23036 }), r.registerAction({ type: RW, update: "updateView" }, function(e, t, a) { 23037 e = z({}, e), a.dispatchAction(z(e, { type: "downplay" })); 23038 }); 23039} 23040var kW = function(r) { 23041 N(e, r); 23042 function e() { 23043 var t = r !== null && r.apply(this, arguments) || this; 23044 return t.type = e.type, t; 23045 } 23046 return e.prototype.render = function(t, a, n, i) { 23047 var o = this; 23048 this.seriesModel = t, this.api = n, this.ecModel = a; 23049 var s = t.getData(), l = s.tree.root, u = t.getViewRoot(), f = this.group, h = t.get("renderLabelForZeroData"), v = []; 23050 u.eachNode(function(m) { 23051 v.push(m); 23052 }); 23053 var c = this._oldChildren || []; 23054 p(v, c), y(l, u), this._initEvents(), this._oldChildren = v; 23055 function p(m, _) { 23056 if (m.length === 0 && _.length === 0) return; 23057 new Sa(_, m, S, S).add(b).update(b).remove(lt(b, null)).execute(); 23058 function S(x) { 23059 return x.getId(); 23060 } 23061 function b(x, w) { 23062 var T = x == null ? null : m[x], C = w == null ? null : _[w]; 23063 d(T, C); 23064 } 23065 } 23066 function d(m, _) { 23067 if (!h && m && !m.getValue() && (m = null), m !== l && _ !== l) { 23068 if (_ && _.piece) m ? (_.piece.updateData(false, m, t, a, n), s.setItemGraphicEl(m.dataIndex, _.piece)) : g(_); 23069 else if (m) { 23070 var S = new jx(m, t, a, n); 23071 f.add(S), s.setItemGraphicEl(m.dataIndex, S); 23072 } 23073 } 23074 } 23075 function g(m) { 23076 m && m.piece && (f.remove(m.piece), m.piece = null); 23077 } 23078 function y(m, _) { 23079 _.depth > 0 ? (o.virtualPiece ? o.virtualPiece.updateData(false, m, t, a, n) : (o.virtualPiece = new jx(m, t, a, n), f.add(o.virtualPiece)), _.piece.off("click"), o.virtualPiece.on("click", function(S) { 23080 o._rootToNode(_.parentNode); 23081 })) : o.virtualPiece && (f.remove(o.virtualPiece), o.virtualPiece = null); 23082 } 23083 }, e.prototype._initEvents = function() { 23084 var t = this;
23085 this.group.off("click"), this.group.on("click", function(a) { 23086 var n = false, i = t.seriesModel.getViewRoot(); 23087 i.eachNode(function(o) { 23088 if (!n && o.piece && o.piece === a.target) { 23089 var s = o.getModel().get("nodeClick"); 23090 if (s === "rootToNode") t._rootToNode(o); 23091 else if (s === "link") { 23092 var l = o.getModel(), u = l.get("link"); 23093 if (u) { 23094 var f = l.get("target", true) || "_blank"; 23095 zf(u, f); 23096 } 23097 } 23098 n = true; 23099 } 23100 }); 23101 }); 23102 }, e.prototype._rootToNode = function(t) { 23103 t !== this.seriesModel.getViewRoot() && this.api.dispatchAction({ type: sg, from: this.uid, seriesId: this.seriesModel.id, targetNode: t }); 23104 }, e.prototype.containPoint = function(t, a) { 23105 var n = a.getData(), i = n.getItemLayout(0); 23106 if (i) { 23107 var o = t[0] - i.cx, s = t[1] - i.cy, l = Math.sqrt(o * o + s * s); 23108 return l <= i.r && l >= i.r0; 23109 } 23110 }, e.type = "sunburst", e; 23111}(Pt), OW = function(r) { 23112 N(e, r); 23113 function e() { 23114 var t = r !== null && r.apply(this, arguments) || this; 23115 return t.type = e.type, t.ignoreStyleOnData = true, t; 23116 } 23117 return e.prototype.getInitialData = function(t, a) { 23118 var n = { name: t.name, children: t.data }; 23119 WI(n); 23120 var i = this._levelModels = G(t.levels || [], function(l) { 23121 return new At(l, this, a); 23122 }, this), o = om.createTree(n, this, s); 23123 function s(l) { 23124 l.wrapMethod("getItemModel", function(u, f) { 23125 var h = o.getNodeByDataIndex(f), v = i[h.depth]; 23126 return v && (u.parentModel = v), u; 23127 }); 23128 } 23129 return o.data; 23130 }, e.prototype.optionUpdated = function() { 23131 this.resetViewRoot(); 23132 }, e.prototype.getDataParams = function(t) { 23133 var a = r.prototype.getDataParams.apply(this, arguments), n = this.getData().tree.getNodeByDataIndex(t); 23134 return a.treePathInfo = av(n, this), a; 23135 }, e.prototype.getLevelModel = function(t) { 23136 return this._levelModels && this._levelModels[t.depth]; 23137 }, e.prototype.getViewRoot = function() { 23138 return this._viewRoot; 23139 }, e.prototype.resetViewRoot = function(t) { 23140 t ? this._viewRoot = t : t = this._viewRoot; 23141 var a = this.getRawData().tree.root; 23142 (!t || t !== a && !a.contains(t)) && (this._viewRoot = a); 23143 }, e.prototype.enableAriaDecal = function() { 23144 ZM(this); 23145 }, e.type = "series.sunburst", e.defaultOption = { z: 2, center: ["50%", "50%"], radius: [0, "75%"], clockwise: true, startAngle: 90, minAngle: 0, stillShowZeroSum: true, nodeClick: "rootToNode", renderLabelForZeroData: false, label: { rotate: "radial", show: true, opacity: 1, align: "center", position: "inside", distance: 5, silent: true }, itemStyle: { borderWidth: 1, borderColor: "white", borderType: "solid", shadowBlur: 0, shadowColor: "rgba(0, 0, 0, 0.2)", shadowOffsetX: 0, shadowOffsetY: 0, opacity: 1 }, emphasis: { focus: "descendant" }, blur: { itemStyle: { opacity: 0.2 }, label: { opacity: 0.1 } }, animationType: "expansion", animationDuration: 1e3, animationDurationUpdate: 500, data: [], sort: "desc" }, e; 23146}(Et); 23147function WI(r) { 23148 var e = 0; 23149 D(r.children, function(a) { 23150 WI(a); 23151 var n = a.value; 23152 V(n) && (n = n[0]), e += n; 23153 }); 23154 var t = r.value; 23155 V(t) && (t = t[0]), (t == null || isNaN(t)) && (t = e), t < 0 && (t = 0), V(r.value) ? r.value[0] = t : r.value = t; 23156} 23157var Qx = Math.PI / 180; 23158function NW(r, e, t) { 23159 e.eachSeriesByType(r, function(a) { 23160 var n = a.get("center"), i = a.get("radius"); 23161 V(i) || (i = [0, i]), V(n) || (n = [n, n]); 23162 var o = t.getWidth(), s = t.getHeight(), l = Math.min(o, s), u = W(n[0], o), f = W(n[1], s), h = W(i[0], l / 2), v = W(i[1], l / 2), c = -a.get("startAngle") * Qx, p = a.get("minAngle") * Qx, d = a.getData().tree.root, g = a.getViewRoot(), y = g.depth, m = a.get("sort"); 23163 m != null && UI(g, m); 23164 var _ = 0; 23165 D(g.children, function(E) { 23166 !isNaN(E.getValue()) && _++; 23167 }); 23168 var S = g.getValue(), b = Math.PI / (S || _) * 2, x = g.depth > 0, w = g.height - (x ? -1 : 1), T = (v - h) / (w || 1), C = a.get("clockwise"), A = a.get("stillShowZeroSum"), M = C ? 1 : -1, I = function(E, O) { 23169 if (E) { 23170 var k = O; 23171 if (E !== d) { 23172 var B = E.getValue(), F = S === 0 && A ? b : B * b; 23173 F < p && (F = p), k = O + M * F; 23174 var H = E.depth - y - (x ? -1 : 1), U = h + T * H, K = h + T * (H + 1), J = a.getLevelModel(E); 23175 if (J) { 23176 var nt = J.get("r0", true), It = J.get("r", true), Yt = J.get("radius", true); 23177 Yt != null && (nt = Yt[0], It = Yt[1]), nt != null && (U = W(nt, l / 2)), It != null && (K = W(It, l / 2)); 23178 } 23179 E.setLayout({ angle: F, startAngle: O, endAngle: k, clockwise: C, cx: u, cy: f, r0: U, r: K }); 23180 } 23181 if (E.children && E.children.length) { 23182 var ct = 0; 23183 D(E.children, function(et) { 23184 ct += I(et, O + ct); 23185 }); 23186 } 23187 return k - O; 23188 } 23189 }; 23190 if (x) { 23191 var L = h, P = h + T, R = Math.PI * 2; 23192 d.setLayout({ angle: R, startAngle: c, endAngle: c + R, clockwise: C, cx: u, cy: f, r0: L, r: P }); 23193 } 23194 I(g, c); 23195 }); 23196} 23197function UI(r, e) { 23198 var t = r.children || []; 23199 r.children = BW(t, e), t.length && D(r.children, function(a) { 23200 UI(a, e); 23201 }); 23202} 23203function BW(r, e) { 23204 if (j(e)) { 23205 var t = G(r, function(n, i) { 23206 var o = n.getValue(); 23207 return { params: { depth: n.depth, height: n.height, dataIndex: n.dataIndex, getValue: function() { 23208 return o; 23209 } }, index: i }; 23210 }); 23211 return t.sort(function(n, i) { 23212 return e(n.params, i.params); 23213 }), G(t, function(n) { 23214 return r[n.index]; 23215 }); 23216 } else { 23217 var a = e === "asc"; 23218 return r.sort(function(n, i) { 23219 var o = (n.getValue() - i.getValue()) * (a ? 1 : -1); 23220 return o === 0 ? (n.dataIndex - i.dataIndex) * (a ? -1 : 1) : o; 23221 }); 23222 } 23223} 23224function zW(r) { 23225 var e = {}; 23226 function t(a, n, i) { 23227 for (var o = a; o && o.depth > 1; ) o = o.parentNode; 23228 var s = n.getColorFromPalette(o.name || o.dataIndex + "", e); 23229 return a.depth > 1 && Y(s) && (s = Af(s, (a.depth - 1) / (i - 1) * 0.5)), s; 23230 } 23231 r.eachSeriesByType("sunburst", function(a) { 23232 var n = a.getData(), i = n.tree; 23233 i.eachNode(function(o) { 23234 var s = o.getModel(), l = s.getModel("itemStyle").getItemStyle(); 23235 l.fill || (l.fill = t(o, a, i.root.height)); 23236 var u = n.ensureUniqueItemVisual(o.dataIndex, "style"); 23237 z(u, l); 23238 }); 23239 }); 23240} 23241function VW(r) { 23242 r.registerChartView(kW), r.registerSeriesModel(OW), r.registerLayout(lt(NW, "sunburst")), r.registerProcessor(lt(Xl, "sunburst")), r.registerVisual(zW), EW(r); 23243} 23244var tb = { color: "fill", borderColor: "stroke" }, GW = { symbol: 1, symbolSize: 1, symbolKeepAspect: 1, legendIcon: 1, visualMeta: 1, liftZ: 1, decal: 1 }, da = bt(), FW = function(r) { 23245 N(e, r); 23246 function e() { 23247 var t = r !== null && r.apply(this, arguments) || this; 23248 return t.type = e.type, t; 23249 } 23250 return e.prototype.optionUpdated = function() { 23251 this.currentZLevel = this.get("zlevel", true), this.currentZ = this.get("z", true); 23252 }, e.prototype.getInitialData = function(t, a) { 23253 return aa(null, this); 23254 }, e.prototype.getDataParams = function(t, a, n) { 23255 var i = r.prototype.getDataParams.call(this, t, a); 23256 return n && (i.info = da(n).info), i; 23257 }, e.type = "series.custom", e.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"], e.defaultOption = { coordinateSystem: "cartesian2d", z: 2, legendHoverLink: true, clip: false }, e; 23258}(Et); 23259function HW(r, e) { 23260 return e = e || [0, 0], G(["x", "y"], function(t, a) { 23261 var n = this.getAxis(t), i = e[a], o = r[a] / 2; 23262 return n.type === "category" ? n.getBandWidth() : Math.abs(n.dataToCoord(i - o) - n.dataToCoord(i + o)); 23263 }, this); 23264} 23265function WW(r) { 23266 var e = r.master.getRect(); 23267 return { coordSys: { type: "cartesian2d", x: e.x, y: e.y, width: e.width, height: e.height }, api: { coord: function(t) { 23268 return r.dataToPoint(t); 23269 }, size: $(HW, r) } }; 23270} 23271function UW(r, e) { 23272 return e = e || [0, 0], G([0, 1], function(t) { 23273 var a = e[t], n = r[t] / 2, i = [], o = [];
23274 return i[t] = a - n, o[t] = a + n, i[1 - t] = o[1 - t] = e[1 - t], Math.abs(this.dataToPoint(i)[t] - this.dataToPoint(o)[t]); 23275 }, this); 23276} 23277function YW(r) { 23278 var e = r.getBoundingRect(); 23279 return { coordSys: { type: "geo", x: e.x, y: e.y, width: e.width, height: e.height, zoom: r.getZoom() }, api: { coord: function(t) { 23280 return r.dataToPoint(t); 23281 }, size: $(UW, r) } }; 23282} 23283function $W(r, e) { 23284 var t = this.getAxis(), a = e instanceof Array ? e[0] : e, n = (r instanceof Array ? r[0] : r) / 2; 23285 return t.type === "category" ? t.getBandWidth() : Math.abs(t.dataToCoord(a - n) - t.dataToCoord(a + n)); 23286} 23287function XW(r) { 23288 var e = r.getRect(); 23289 return { coordSys: { type: "singleAxis", x: e.x, y: e.y, width: e.width, height: e.height }, api: { coord: function(t) { 23290 return r.dataToPoint(t); 23291 }, size: $($W, r) } }; 23292} 23293function ZW(r, e) { 23294 return e = e || [0, 0], G(["Radius", "Angle"], function(t, a) { 23295 var n = "get" + t + "Axis", i = this[n](), o = e[a], s = r[a] / 2, l = i.type === "category" ? i.getBandWidth() : Math.abs(i.dataToCoord(o - s) - i.dataToCoord(o + s)); 23296 return t === "Angle" && (l = l * Math.PI / 180), l; 23297 }, this); 23298} 23299function qW(r) { 23300 var e = r.getRadiusAxis(), t = r.getAngleAxis(), a = e.getExtent(); 23301 return a[0] > a[1] && a.reverse(), { coordSys: { type: "polar", cx: r.cx, cy: r.cy, r: a[1], r0: a[0] }, api: { coord: function(n) { 23302 var i = e.dataToRadius(n[0]), o = t.dataToAngle(n[1]), s = r.coordToPoint([i, o]); 23303 return s.push(i, o * Math.PI / 180), s; 23304 }, size: $(ZW, r) } }; 23305} 23306function KW(r) { 23307 var e = r.getRect(), t = r.getRangeInfo(); 23308 return { coordSys: { type: "calendar", x: e.x, y: e.y, width: e.width, height: e.height, cellWidth: r.getCellWidth(), cellHeight: r.getCellHeight(), rangeInfo: { start: t.start, end: t.end, weeks: t.weeks, dayCount: t.allDay } }, api: { coord: function(a, n) { 23309 return r.dataToPoint(a, n); 23310 } } }; 23311} 23312function YI(r, e, t, a) { 23313 return r && (r.legacy || r.legacy !== false && !t && !a && e !== "tspan" && (e === "text" || X(r, "text"))); 23314} 23315function $I(r, e, t) { 23316 var a = r, n, i, o; 23317 if (e === "text") o = a; 23318 else { 23319 o = {}, X(a, "text") && (o.text = a.text), X(a, "rich") && (o.rich = a.rich), X(a, "textFill") && (o.fill = a.textFill), X(a, "textStroke") && (o.stroke = a.textStroke), X(a, "fontFamily") && (o.fontFamily = a.fontFamily), X(a, "fontSize") && (o.fontSize = a.fontSize), X(a, "fontStyle") && (o.fontStyle = a.fontStyle), X(a, "fontWeight") && (o.fontWeight = a.fontWeight), i = { type: "text", style: o, silent: true }, n = {}; 23320 var s = X(a, "textPosition"); 23321 t ? n.position = s ? a.textPosition : "inside" : s && (n.position = a.textPosition), X(a, "textPosition") && (n.position = a.textPosition), X(a, "textOffset") && (n.offset = a.textOffset), X(a, "textRotation") && (n.rotation = a.textRotation), X(a, "textDistance") && (n.distance = a.textDistance); 23322 } 23323 return eb(o, r), D(o.rich, function(l) { 23324 eb(l, l); 23325 }), { textConfig: n, textContent: i }; 23326} 23327function eb(r, e) { 23328 e && (e.font = e.textFont || e.font, X(e, "textStrokeWidth") && (r.lineWidth = e.textStrokeWidth), X(e, "textAlign") && (r.align = e.textAlign), X(e, "textVerticalAlign") && (r.verticalAlign = e.textVerticalAlign), X(e, "textLineHeight") && (r.lineHeight = e.textLineHeight), X(e, "textWidth") && (r.width = e.textWidth), X(e, "textHeight") && (r.height = e.textHeight), X(e, "textBackgroundColor") && (r.backgroundColor = e.textBackgroundColor), X(e, "textPadding") && (r.padding = e.textPadding), X(e, "textBorderColor") && (r.borderColor = e.textBorderColor), X(e, "textBorderWidth") && (r.borderWidth = e.textBorderWidth), X(e, "textBorderRadius") && (r.borderRadius = e.textBorderRadius), X(e, "textBoxShadowColor") && (r.shadowColor = e.textBoxShadowColor), X(e, "textBoxShadowBlur") && (r.shadowBlur = e.textBoxShadowBlur), X(e, "textBoxShadowOffsetX") && (r.shadowOffsetX = e.textBoxShadowOffsetX), X(e, "textBoxShadowOffsetY") && (r.shadowOffsetY = e.textBoxShadowOffsetY)); 23329} 23330function rb(r, e, t) { 23331 var a = r; 23332 a.textPosition = a.textPosition || t.position || "inside", t.offset != null && (a.textOffset = t.offset), t.rotation != null && (a.textRotation = t.rotation), t.distance != null && (a.textDistance = t.distance); 23333 var n = a.textPosition.indexOf("inside") >= 0, i = r.fill || "#000"; 23334 ab(a, e); 23335 var o = a.textFill == null; 23336 return n ? o && (a.textFill = t.insideFill || "#fff", !a.textStroke && t.insideStroke && (a.textStroke = t.insideStroke), !a.textStroke && (a.textStroke = i), a.textStrokeWidth == null && (a.textStrokeWidth = 2)) : (o && (a.textFill = r.fill || t.outsideFill || "#000"), !a.textStroke && t.outsideStroke && (a.textStroke = t.outsideStroke)), a.text = e.text, a.rich = e.rich, D(e.rich, function(s) { 23337 ab(s, s); 23338 }), a; 23339} 23340function ab(r, e) { 23341 e && (X(e, "fill") && (r.textFill = e.fill), X(e, "stroke") && (r.textStroke = e.fill), X(e, "lineWidth") && (r.textStrokeWidth = e.lineWidth), X(e, "font") && (r.font = e.font), X(e, "fontStyle") && (r.fontStyle = e.fontStyle), X(e, "fontWeight") && (r.fontWeight = e.fontWeight), X(e, "fontSize") && (r.fontSize = e.fontSize), X(e, "fontFamily") && (r.fontFamily = e.fontFamily), X(e, "align") && (r.textAlign = e.align), X(e, "verticalAlign") && (r.textVerticalAlign = e.verticalAlign), X(e, "lineHeight") && (r.textLineHeight = e.lineHeight), X(e, "width") && (r.textWidth = e.width), X(e, "height") && (r.textHeight = e.height), X(e, "backgroundColor") && (r.textBackgroun
23341dColor = e.backgroundColor), X(e, "padding") && (r.textPadding = e.padding), X(e, "borderColor") && (r.textBorderColor = e.borderColor), X(e, "borderWidth") && (r.textBorderWidth = e.borderWidth), X(e, "borderRadius") && (r.textBorderRadius = e.borderRadius), X(e, "shadowColor") && (r.textBoxShadowColor = e.shadowColor), X(e, "shadowBlur") && (r.textBoxShadowBlur = e.shadowBlur), X(e, "shadowOffsetX") && (r.textBoxShadowOffsetX = e.shadowOffsetX), X(e, "shadowOffsetY") && (r.textBoxShadowOffsetY = e.shadowOffsetY), X(e, "textShadowColor") && (r.textShadowColor = e.textShadowColor), X(e, "textShadowBlur") && (r.textShadowBlur = e.textShadowBlur), X(e, "textShadowOffsetX") && (r.textShadowOffsetX = e.textShadowOffsetX), X(e, "textShadowOffsetY") && (r.textShadowOffsetY = e.textShadowOffsetY)); 23342} 23343var XI = { position: ["x", "y"], scale: ["scaleX", "scaleY"], origin: ["originX", "originY"] }, nb = _t(XI); 23344hr(Jr, function(r, e) { 23345 return r[e] = 1, r; 23346}, {}); 23347Jr.join(", "); 23348var oh = ["", "style", "shape", "extra"], Co = bt(); 23349function Tm(r, e, t, a, n) { 23350 var i = r + "Animation", o = Eo(r, a, n) || {}, s = Co(e).userDuring; 23351 return o.duration > 0 && (o.during = s ? $(e6, { el: e, userDuring: s }) : null, o.setToFinal = true, o.scope = r), z(o, t[i]), o; 23352} 23353function df(r, e, t, a) { 23354 a = a || {}; 23355 var n = a.dataIndex, i = a.isInit, o = a.clearStyle, s = t.isAnimationEnabled(), l = Co(r), u = e.style; 23356 l.userDuring = e.during; 23357 var f = {}, h = {}; 23358 if (a6(r, e, h), ob("shape", e, h), ob("extra", e, h), !i && s && (r6(r, e, f), ib("shape", r, e, f), ib("extra", r, e, f), n6(r, e, u, f)), h.style = u, jW(r, h, o), QW(r, e), s) if (i) { 23359 var v = {}; 23360 D(oh, function(p) { 23361 var d = p ? e[p] : e; 23362 d && d.enterFrom && (p && (v[p] = v[p] || {}), z(p ? v[p] : v, d.enterFrom)); 23363 }); 23364 var c = Tm("enter", r, e, t, n); 23365 c.duration > 0 && r.animateFrom(v, c); 23366 } else JW(r, e, n || 0, t, f); 23367 ZI(r, e), u ? r.dirty() : r.markRedraw(); 23368} 23369function ZI(r, e) { 23370 for (var t = Co(r).leaveToProps, a = 0; a < oh.length; a++) { 23371 var n = oh[a], i = n ? e[n] : e; 23372 i && i.leaveTo && (t || (t = Co(r).leaveToProps = {}), n && (t[n] = t[n] || {}), z(n ? t[n] : t, i.leaveTo)); 23373 } 23374} 23375function ov(r, e, t, a) { 23376 if (r) { 23377 var n = r.parent, i = Co(r).leaveToProps; 23378 if (i) { 23379 var o = Tm("update", r, e, t, 0); 23380 o.done = function() { 23381 n.remove(r); 23382 }, r.animateTo(i, o); 23383 } else n.remove(r); 23384 } 23385} 23386function si(r) { 23387 return r === "all"; 23388} 23389function jW(r, e, t) { 23390 var a = e.style; 23391 if (!r.isGroup && a) { 23392 if (t) { 23393 r.useStyle({}); 23394 for (var n = r.animators, i = 0; i < n.length; i++) { 23395 var o = n[i]; 23396 o.targetName === "style" && o.changeTarget(r.style); 23397 } 23398 } 23399 r.setStyle(a); 23400 } 23401 e && (e.style = null, e && r.attr(e), e.style = a); 23402} 23403function JW(r, e, t, a, n) { 23404 if (n) { 23405 var i = Tm("update", r, e, a, t); 23406 i.duration > 0 && r.animateFrom(n, i); 23407 } 23408} 23409function QW(r, e) { 23410 X(e, "silent") && (r.silent = e.silent), X(e, "ignore") && (r.ignore = e.ignore), r instanceof vr && X(e, "invisible") && (r.invisible = e.invisible), r instanceof mt && X(e, "autoBatch") && (r.autoBatch = e.autoBatch); 23411} 23412var Gr = {}, t6 = { setTransform: function(r, e) { 23413 return Gr.el[r] = e, this; 23414}, getTransform: function(r) { 23415 return Gr.el[r]; 23416}, setShape: function(r, e) { 23417 var t = Gr.el, a = t.shape || (t.shape = {}); 23418 return a[r] = e, t.dirtyShape && t.dirtyShape(), this; 23419}, getShape: function(r) { 23420 var e = Gr.el.shape; 23421 if (e) return e[r]; 23422}, setStyle: function(r, e) { 23423 var t = Gr.el, a = t.style; 23424 return a && (a[r] = e, t.dirtyStyle && t.dirtyStyle()), this; 23425}, getStyle: function(r) { 23426 var e = Gr.el.style; 23427 if (e) return e[r]; 23428}, setExtra: function(r, e) { 23429 var t = Gr.el.extra || (Gr.el.extra = {}); 23430 return t[r] = e, this; 23431}, getExtra: function(r) { 23432 var e = Gr.el.extra; 23433 if (e) return e[r]; 23434} }; 23435function e6() { 23436 var r = this, e = r.el; 23437 if (e) { 23438 var t = Co(e).userDuring, a = r.userDuring; 23439 if (t !== a) { 23440 r.el = r.userDuring = null; 23441 return; 23442 } 23443 Gr.el = e, a(t6); 23444 } 23445} 23446function ib(r, e, t, a) { 23447 var n = t[r]; 23448 if (n) { 23449 var i = e[r], o; 23450 if (i) { 23451 var s = t.transition, l = n.transition; 23452 if (l) if (!o && (o = a[r] = {}), si(l)) z(o, i); 23453 else for (var u = Rt(l), f = 0; f < u.length; f++) { 23454 var h = u[f], v = i[h]; 23455 o[h] = v; 23456 } 23457 else if (si(s) || vt(s, r) >= 0) { 23458 !o && (o = a[r] = {}); 23459 for (var c = _t(i), f = 0; f < c.length; f++) { 23460 var h = c[f], v = i[h];
23461 i6(n[h], v) && (o[h] = v); 23462 } 23463 } 23464 } 23465 } 23466} 23467function ob(r, e, t) { 23468 var a = e[r]; 23469 if (a) for (var n = t[r] = {}, i = _t(a), o = 0; o < i.length; o++) { 23470 var s = i[o]; 23471 n[s] = Gs(a[s]); 23472 } 23473} 23474function r6(r, e, t) { 23475 for (var a = e.transition, n = si(a) ? Jr : Rt(a || []), i = 0; i < n.length; i++) { 23476 var o = n[i]; 23477 if (!(o === "style" || o === "shape" || o === "extra")) { 23478 var s = r[o]; 23479 t[o] = s; 23480 } 23481 } 23482} 23483function a6(r, e, t) { 23484 for (var a = 0; a < nb.length; a++) { 23485 var n = nb[a], i = XI[n], o = e[n]; 23486 o && (t[i[0]] = o[0], t[i[1]] = o[1]); 23487 } 23488 for (var a = 0; a < Jr.length; a++) { 23489 var s = Jr[a]; 23490 e[s] != null && (t[s] = e[s]); 23491 } 23492} 23493function n6(r, e, t, a) { 23494 if (t) { 23495 var n = r.style, i; 23496 if (n) { 23497 var o = t.transition, s = e.transition; 23498 if (o && !si(o)) { 23499 var l = Rt(o); 23500 !i && (i = a.style = {}); 23501 for (var u = 0; u < l.length; u++) { 23502 var f = l[u], h = n[f]; 23503 i[f] = h; 23504 } 23505 } else if (r.getAnimationStyleProps && (si(s) || si(o) || vt(s, "style") >= 0)) { 23506 var v = r.getAnimationStyleProps(), c = v ? v.style : null; 23507 if (c) { 23508 !i && (i = a.style = {}); 23509 for (var p = _t(t), u = 0; u < p.length; u++) { 23510 var f = p[u]; 23511 if (c[f]) { 23512 var h = n[f]; 23513 i[f] = h; 23514 } 23515 } 23516 } 23517 } 23518 } 23519 } 23520} 23521function i6(r, e) { 23522 return ce(r) ? r !== e : r != null && isFinite(r); 23523} 23524var qI = bt(), o6 = ["percent", "easing", "shape", "style", "extra"]; 23525function KI(r) { 23526 r.stopAnimation("keyframe"), r.attr(qI(r)); 23527} 23528function sh(r, e, t) { 23529 if (!(!t.isAnimationEnabled() || !e)) { 23530 if (V(e)) { 23531 D(e, function(s) { 23532 sh(r, s, t); 23533 }); 23534 return; 23535 } 23536 var a = e.keyframes, n = e.duration; 23537 if (t && n == null) { 23538 var i = Eo("enter", t, 0); 23539 n = i && i.duration; 23540 } 23541 if (!(!a || !n)) { 23542 var o = qI(r); 23543 D(oh, function(s) { 23544 if (!(s && !r[s])) { 23545 var l; 23546 a.sort(function(u, f) { 23547 return u.percent - f.percent; 23548 }), D(a, function(u) { 23549 var f = r.animators, h = s ? u[s] : u; 23550 if (h) { 23551 var v = _t(h); 23552 if (s || (v = Ct(v, function(d) { 23553 return vt(o6, d) < 0; 23554 })), !!v.length) { 23555 l || (l = r.animate(s, e.loop, true), l.scope = "keyframe"); 23556 for (var c = 0; c < f.length; c++) f[c] !== l && f[c].targetName === l.targetName && f[c].stopTracks(v); 23557 s && (o[s] = o[s] || {}); 23558 var p = s ? o[s] : o; 23559 D(v, function(d) { 23560 p[d] = ((s ? r[s] : r) || {})[d]; 23561 }), l.whenWithKeys(n * u.percent, h, v, u.easing); 23562 } 23563 } 23564 }), l && l.delay(e.delay || 0).duration(n).start(e.easing); 23565 } 23566 }); 23567 } 23568 } 23569} 23570var ga = "emphasis", Ua = "normal", Cm = "blur", Am = "select", on = [Ua, ga, Cm, Am], fp = { normal: ["itemStyle"], emphasis: [ga, "itemStyle"], blur: [Cm, "itemStyle"], select: [Am, "itemStyle"] }, hp = { normal: ["label"], emphasis: [ga, "label"], blur: [Cm, "label"], select: [Am, "label"] }, s6 = ["x", "y"], l6 = "e\0\0", tr = { normal: {}, emphasis: {}, blur: {}, select: {} }, u6 = { cartesian2d: WW, geo: YW, single: XW, polar: qW, calendar: KW }; 23571function lg(r) { 23572 return r instanceof mt; 23573} 23574function ug(r) { 23575 return r instanceof vr; 23576} 23577function f6(r, e) { 23578 e.copyTransform(r), ug(e) && ug(r) && (e.setStyle(r.style), e.z = r.z, e.z2 = r.z2, e.zlevel = r.zlevel, e.invisible = r.invisible, e.ignore = r.ignore, lg(e) && lg(r) && e.setShape(r.shape)); 23579} 23580var h6 = function(r) { 23581 N(e, r); 23582 function e() { 23583 var t = r !== null && r.apply(this, arguments) || this; 23584 return t.type = e.type, t; 23585 } 23586 return e.prototype.render = function(t, a, n, i) { 23587 this._progressiveEls = null; 23588 var o = this._data, s = t.getData(), l = this.group, u = sb(t, s, a, n); 23589 o || l.removeAll(), s.diff(o).add(function(h) { 23590 vp(n, null, h, u(h, i), t, l, s); 23591 }).remove(function(h) { 23592 var v = o.getItemGraphicEl(h); 23593 v && ov(v, da(v).option, t); 23594 }).update(function(h, v) { 23595 var c = o.getItemGraphicEl(v); 23596 vp(n, c, h, u(h, i), t, l, s); 23597 }).execute();
23598 var f = t.get("clip", true) ? Yl(t.coordinateSystem, false, t) : null; 23599 f ? l.setClipPath(f) : l.removeClipPath(), this._data = s; 23600 }, e.prototype.incrementalPrepareRender = function(t, a, n) { 23601 this.group.removeAll(), this._data = null; 23602 }, e.prototype.incrementalRender = function(t, a, n, i, o) { 23603 var s = a.getData(), l = sb(a, s, n, i), u = this._progressiveEls = []; 23604 function f(c) { 23605 c.isGroup || (c.incremental = true, c.ensureState("emphasis").hoverLayer = true); 23606 } 23607 for (var h = t.start; h < t.end; h++) { 23608 var v = vp(null, null, h, l(h, o), a, this.group, s); 23609 v && (v.traverse(f), u.push(v)); 23610 } 23611 }, e.prototype.eachRendered = function(t) { 23612 un(this._progressiveEls || this.group, t); 23613 }, e.prototype.filterForExposedEvent = function(t, a, n, i) { 23614 var o = a.element; 23615 if (o == null || n.name === o) return true; 23616 for (; (n = n.__hostTarget || n.parent) && n !== this.group; ) if (n.name === o) return true; 23617 return false; 23618 }, e.type = "custom", e; 23619}(Pt); 23620function Dm(r) { 23621 var e = r.type, t; 23622 if (e === "path") { 23623 var a = r.shape, n = a.width != null && a.height != null ? { x: a.x || 0, y: a.y || 0, width: a.width, height: a.height } : null, i = QI(a); 23624 t = zl(i, null, n, a.layout || "center"), da(t).customPathData = i; 23625 } else if (e === "image") t = new ue({}), da(t).customImagePath = r.style.image; 23626 else if (e === "text") t = new St({}); 23627 else if (e === "group") t = new at(); 23628 else { 23629 if (e === "compoundPath") throw new Error('"compoundPath" is not supported yet.'); 23630 var o = Nh(e); 23631 if (!o) { 23632 var s = ""; 23633 Mt(s); 23634 } 23635 t = new o(); 23636 } 23637 return da(t).customGraphicType = e, t.name = r.name, t.z2EmphasisLift = 1, t.z2SelectLift = 1, t; 23638} 23639function Mm(r, e, t, a, n, i, o) { 23640 KI(e); 23641 var s = n && n.normal.cfg; 23642 s && e.setTextConfig(s), a && a.transition == null && (a.transition = s6); 23643 var l = a && a.style; 23644 if (l) { 23645 if (e.type === "text") { 23646 var u = l; 23647 X(u, "textFill") && (u.fill = u.textFill), X(u, "textStroke") && (u.stroke = u.textStroke); 23648 } 23649 var f = void 0, h = lg(e) ? l.decal : null; 23650 r && h && (h.dirty = true, f = xo(h, r)), l.__decalPattern = f; 23651 } 23652 if (ug(e) && l) { 23653 var f = l.__decalPattern; 23654 f && (l.decal = f); 23655 } 23656 df(e, a, i, { dataIndex: t, isInit: o, clearStyle: true }), sh(e, a.keyframeAnimation, i); 23657} 23658function jI(r, e, t, a, n) { 23659 var i = e.isGroup ? null : e, o = n && n[r].cfg; 23660 if (i) { 23661 var s = i.ensureState(r); 23662 if (a === false) { 23663 var l = i.getState(r); 23664 l && (l.style = null); 23665 } else s.style = a || null; 23666 o && (s.textConfig = o), ci(i); 23667 } 23668} 23669function v6(r, e, t) { 23670 if (!r.isGroup) { 23671 var a = r, n = t.currentZ, i = t.currentZLevel; 23672 a.z = n, a.zlevel = i; 23673 var o = e.z2; 23674 o != null && (a.z2 = o || 0); 23675 for (var s = 0; s < on.length; s++) c6(a, e, on[s]); 23676 } 23677} 23678function c6(r, e, t) { 23679 var a = t === Ua, n = a ? e : lh(e, t), i = n ? n.z2 : null, o; 23680 i != null && (o = a ? r : r.ensureState(t), o.z2 = i || 0); 23681} 23682function sb(r, e, t, a) { 23683 var n = r.get("renderItem"), i = r.coordinateSystem, o = {}; 23684 i && (o = i.prepareCustoms ? i.prepareCustoms(i) : u6[i.type](i)); 23685 for (var s = Q({ getWidth: a.getWidth, getHeight: a.getHeight, getZr: a.getZr, getDevicePixelRatio: a.getDevicePixelRatio, value: S, style: x, ordinalRawValue: b, styleEmphasis: w, visual: A, barLayout: M, currentSeriesIndices: I, font: L }, o.api || {}), l = { context: {}, seriesId: r.id, seriesName: r.name, seriesIndex: r.seriesIndex, coordSys: o.coordSys, dataInsideLength: e.count(), encode: p6(r.getData()) }, u, f, h = {}, v = {}, c = {}, p = {}, d = 0; d < on.length; d++) { 23686 var g = on[d]; 23687 c[g] = r.getModel(fp[g]), p[g] = r.getModel(hp[g]); 23688 } 23689 function y(P) { 23690 return P === u ? f || (f = e.getItemModel(P)) : e.getItemModel(P); 23691 } 23692 function m(P, R) { 23693 return e.hasItemOption ? P === u ? h[R] || (h[R] = y(P).getModel(fp[R])) : y(P).getModel(fp[R]) : c[R]; 23694 } 23695 function _(P, R) { 23696 return e.hasItemOption ? P === u ? v[R] || (v[R] = y(P).getModel(hp[R])) : y(P).getModel(hp[R]) : p[R]; 23697 } 23698 return function(P, R) { 23699 return u = P, f = null, h = {}, v = {}, n && n(Q({ dataIndexInside: P, dataIndex: e.getRawIndex(P), actionType: R ? R.type : null }, l), s); 23700 }; 23701 function S(P, R) { 23702 return R == null && (R = u), e.getStore().get(e.getDimensionIndex(P || 0), R); 23703 } 23704 function b(P, R) { 23705 R == null && (R = u), P = P || 0; 23706 var E = e.getDimensionInfo(P); 23707 if (!E) { 23708 var O = e.getDimensionIndex(P); 23709 return O >= 0 ? e.getStore().get(O, R) : void 0; 23710 } 23711 var k = e.get(E.name, R), B = E && E.ordinalMeta; 23712 return B ? B.categories[k] : k; 23713 } 23714 function x(P, R) { 23715 R == null && (R = u); 23716 var E = e.getItemVisual(R, "style"), O = E && E.fill, k = E && E.opacity, B = m(R, Ua).getItemStyle(); 23717 O != null && (B.fill = O), k != null && (B.opacity = k); 23718 var F = { inheritColor: Y(O) ? O : "#000" }, H = _(R, Ua), U = Nt(H, null, F, false, true); 23719 U.text = H.getShallow("show") ? st(r.getFormattedLabel(R, Ua), bo(e, R)) : null; 23720 var K = Nf(H, F, false); 23721 return C(P, B), B = rb(B, U, K), P && T(B, P), B.legacy = true, B; 23722 } 23723 function w(P, R) { 23724 R == null && (R = u); 23725 var E = m(R, ga).getItemStyle(), O = _(R, ga), k = Nt(O, null, null, true, true); 23726 k.text = O.getShallow("show") ? Ar(r.getFormattedLabel(R, ga), r.getFormattedLabel(R, Ua), bo(e, R)) : null; 23727 var B = Nf(O, null, true); 23728 return C(P, E), E = rb(E, k, B), P && T(E, P), E.legacy = true, E; 23729 } 23730 function T(P, R) { 23731 for (var E in R) X(R, E) && (P[E] = R[E]); 23732 } 23733 function C(P, R) { 23734 P && (P.textFill && (R.textFill = P.textFill), P.textPosition && (R.textPosition = P.textPosition)); 23735 } 23736 function A(P, R) { 23737 if (R == null && (R = u), X(tb, P)) { 23738 var E = e.getItemVisual(R, "style"); 23739 return E ? E[tb[P]] : null; 23740 } 23741 if (X(GW, P)) return e.getItemVisual(R, P); 23742 } 23743 function M(P) { 23744 if (i.type === "cartesian2d") { 23745 var R = i.getBaseAxis(); 23746 return WB(Q({ axis: R }, P)); 23747 } 23748 } 23749 function I() { 23750 return t.getCurrentSeriesIndices(); 23751 } 23752 function L(P) { 23753 return sy(P, t); 23754 } 23755} 23756function p6(r) { 23757 var e = {}; 23758 return D(r.dimensions, function(t) { 23759 var a = r.getDimensionInfo(t); 23760 if (!a.isExtraCoord) { 23761 var n = a.coordDim, i = e[n] = e[n] || []; 23762 i[a.coordDimIndex] = r.getDimensionIndex(t); 23763 } 23764 }), e; 23765} 23766function vp(r, e, t, a, n, i, o) { 23767 if (!a) { 23768 i.remove(e); 23769 return; 23770 } 23771 var s = Im(r, e, t, a, n, i); 23772 return s && o.setItemGraphicEl(t, s), s && Wt(s, a.focus, a.blurScope, a.emphasisDisabled), s; 23773} 23774function Im(r, e, t, a, n, i) { 23775 var o = -1, s = e; 23776 e && JI(e, a, n) && (o = vt(i.childrenRef(), e), e = null); 23777 var l = !e, u = e; 23778 u ? u.clearStates() : (u = Dm(a), s && f6(s, u)), a.morph === false ? u.disableMorphing = true : u.disableMorphing && (u.disableMorphing = false), tr.normal.cfg = tr.normal.conOpt = tr.emp
23778hasis.cfg = tr.emphasis.conOpt = tr.blur.cfg = tr.blur.conOpt = tr.select.cfg = tr.select.conOpt = null, tr.isLegacy = false, g6(u, t, a, n, l, tr), d6(u, t, a, n, l), Mm(r, u, t, a, tr, n, l), X(a, "info") && (da(u).info = a.info); 23779 for (var f = 0; f < on.length; f++) { 23780 var h = on[f]; 23781 if (h !== Ua) { 23782 var v = lh(a, h), c = Lm(a, v, h); 23783 jI(h, u, v, c, tr); 23784 } 23785 } 23786 return v6(u, a, n), a.type === "group" && y6(r, u, t, a, n), o >= 0 ? i.replaceAt(u, o) : i.add(u), u; 23787} 23788function JI(r, e, t) { 23789 var a = da(r), n = e.type, i = e.shape, o = e.style; 23790 return t.isUniversalTransitionEnabled() || n != null && n !== a.customGraphicType || n === "path" && x6(i) && QI(i) !== a.customPathData || n === "image" && X(o, "image") && o.image !== a.customImagePath; 23791} 23792function d6(r, e, t, a, n) { 23793 var i = t.clipPath; 23794 if (i === false) r && r.getClipPath() && r.removeClipPath(); 23795 else if (i) { 23796 var o = r.getClipPath(); 23797 o && JI(o, i, a) && (o = null), o || (o = Dm(i), r.setClipPath(o)), Mm(null, o, e, i, null, a, n); 23798 } 23799} 23800function g6(r, e, t, a, n, i) { 23801 if (!r.isGroup) { 23802 lb(t, null, i), lb(t, ga, i); 23803 var o = i.normal.conOpt, s = i.emphasis.conOpt, l = i.blur.conOpt, u = i.select.conOpt; 23804 if (o != null || s != null || u != null || l != null) { 23805 var f = r.getTextContent(); 23806 if (o === false) f && r.removeTextContent(); 23807 else { 23808 o = i.normal.conOpt = o || { type: "text" }, f ? f.clearStates() : (f = Dm(o), r.setTextContent(f)), Mm(null, f, e, o, null, a, n); 23809 for (var h = o && o.style, v = 0; v < on.length; v++) { 23810 var c = on[v]; 23811 if (c !== Ua) { 23812 var p = i[c].conOpt; 23813 jI(c, f, p, Lm(o, p, c), null); 23814 } 23815 } 23816 h ? f.dirty() : f.markRedraw(); 23817 } 23818 } 23819 } 23820} 23821function lb(r, e, t) { 23822 var a = e ? lh(r, e) : r, n = e ? Lm(r, a, ga) : r.style, i = r.type, o = a ? a.textConfig : null, s = r.textContent, l = s ? e ? lh(s, e) : s : null; 23823 if (n && (t.isLegacy || YI(n, i, !!o, !!l))) { 23824 t.isLegacy = true; 23825 var u = $I(n, i, !e); 23826 !o && u.textConfig && (o = u.textConfig), !l && u.textContent && (l = u.textContent); 23827 } 23828 if (!e && l) { 23829 var f = l; 23830 !f.type && (f.type = "text"); 23831 } 23832 var h = e ? t[e] : t.normal; 23833 h.cfg = o, h.conOpt = l; 23834} 23835function lh(r, e) { 23836 return e ? r ? r[e] : null : r; 23837} 23838function Lm(r, e, t) { 23839 var a = e && e.style; 23840 return a == null && t === ga && r && (a = r.styleEmphasis), a; 23841} 23842function y6(r, e, t, a, n) { 23843 var i = a.children, o = i ? i.length : 0, s = a.$mergeChildren, l = s === "byName" || a.diffChildrenByName, u = s === false; 23844 if (!(!o && !l && !u)) { 23845 if (l) { 23846 _6({ api: r, oldChildren: e.children() || [], newChildren: i || [], dataIndex: t, seriesModel: n, group: e }); 23847 return; 23848 } 23849 u && e.removeAll(); 23850 for (var f = 0; f < o; f++) { 23851 var h = i[f], v = e.childAt(f); 23852 h ? (h.ignore == null && (h.ignore = false), Im(r, v, t, h, n, e)) : v.ignore = true; 23853 } 23854 for (var c = e.childCount() - 1; c >= f; c--) { 23855 var p = e.childAt(c); 23856 m6(e, p, n); 23857 } 23858 } 23859} 23860function m6(r, e, t) { 23861 e && ov(e, da(r).option, t); 23862} 23863function _6(r) { 23864 new Sa(r.oldChildren, r.newChildren, ub, ub, r).add(fb).update(fb).remove(S6).execute(); 23865} 23866function ub(r, e) { 23867 var t = r && r.name; 23868 return t ?? l6 + e; 23869} 23870function fb(r, e) { 23871 var t = this.context, a = r != null ? t.newChildren[r] : null, n = e != null ? t.oldChildren[e] : null; 23872 Im(t.api, n, t.dataIndex, a, t.seriesModel, t.group); 23873} 23874function S6(r) { 23875 var e = this.context, t = e.oldChildren[r]; 23876 t && ov(t, da(t).option, e.seriesModel); 23877} 23878function QI(r) { 23879 return r && (r.pathData || r.d); 23880} 23881function x6(r) { 23882 return r && (X(r, "pathData") || X(r, "d")); 23883} 23884function b6(r) { 23885 r.registerChartView(h6), r.registerSeriesModel(FW); 23886} 23887var Yn = bt(), hb = rt, cp = $, Pm = function() { 23888 function r() { 23889 this._dragging = false, this.animationThreshold = 15; 23890 } 23891 return r.prototype.render = function(e, t, a, n) { 23892 var i = t.get("value"), o = t.get("status"); 23893 if (this._axisModel = e, this._axisPointerModel = t, this._api = a, !(!n && this._lastValue === i && this._lastStatus === o)) { 23894 this._lastValue = i, this._lastStatus = o; 23895 var s = this._group, l = this._handle; 23896 if (!o || o === "hide") { 23897 s && s.hide(), l && l.hide(); 23898 return; 23899 } 23900 s && s.show(), l && l.show(); 23901 var u = {}; 23902 this.makeElOption(u, i, e, t, a); 23903 var f = u.graphicKey; 23904 f !== this._lastGraphicKey && this.clear(a), this._lastGraphicKey = f; 23905 var h = this._moveAnimation = this.determineAnimation(e, t); 23906 if (!s) s = this._group = new at(), this.createPointerEl(s, u, e, t), this.createLabelEl(s, u, e, t), a.getZr().add(s); 23907 else { 23908 var v = lt(vb, t, h); 23909 this.updatePointerEl(s, u, v), this.updateLabelEl(s, u, v, t); 23910 } 23911 pb(s, t, true), this._renderHandle(i); 23912 } 23913 }, r.prototype.remove = function(e) { 23914 this.clear(e); 23915 }, r.prototype.dispose = function(e) { 23916 this.clear(e); 23917 }, r.prototype.determineAnimation = function(e, t) { 23918 var a = t.get("animation"), n = e.axis, i = n.type === "category", o = t.get("snap"); 23919 if (!o && !i) return false;
23920 if (a === "auto" || a == null) { 23921 var s = this.animationThreshold; 23922 if (i && n.getBandWidth() > s) return true; 23923 if (o) { 23924 var l = Qy(e).seriesDataCount, u = n.getExtent(); 23925 return Math.abs(u[0] - u[1]) / l > s; 23926 } 23927 return false; 23928 } 23929 return a === true; 23930 }, r.prototype.makeElOption = function(e, t, a, n, i) { 23931 }, r.prototype.createPointerEl = function(e, t, a, n) { 23932 var i = t.pointer; 23933 if (i) { 23934 var o = Yn(e).pointerEl = new xi[i.type](hb(t.pointer)); 23935 e.add(o); 23936 } 23937 }, r.prototype.createLabelEl = function(e, t, a, n) { 23938 if (t.label) { 23939 var i = Yn(e).labelEl = new St(hb(t.label)); 23940 e.add(i), cb(i, n); 23941 } 23942 }, r.prototype.updatePointerEl = function(e, t, a) { 23943 var n = Yn(e).pointerEl; 23944 n && t.pointer && (n.setStyle(t.pointer.style), a(n, { shape: t.pointer.shape })); 23945 }, r.prototype.updateLabelEl = function(e, t, a, n) { 23946 var i = Yn(e).labelEl; 23947 i && (i.setStyle(t.label.style), a(i, { x: t.label.x, y: t.label.y }), cb(i, n)); 23948 }, r.prototype._renderHandle = function(e) { 23949 if (!(this._dragging || !this.updateHandleTransform)) { 23950 var t = this._axisPointerModel, a = this._api.getZr(), n = this._handle, i = t.getModel("handle"), o = t.get("status"); 23951 if (!i.get("show") || !o || o === "hide") { 23952 n && a.remove(n), this._handle = null; 23953 return; 23954 } 23955 var s; 23956 this._handle || (s = true, n = this._handle = ko(i.get("icon"), { cursor: "move", draggable: true, onmousemove: function(u) { 23957 ya(u.event); 23958 }, onmousedown: cp(this._onHandleDragMove, this, 0, 0), drift: cp(this._onHandleDragMove, this), ondragend: cp(this._onHandleDragEnd, this) }), a.add(n)), pb(n, t, false), n.setStyle(i.getItemStyle(null, ["color", "borderColor", "borderWidth", "opacity", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"])); 23959 var l = i.get("size"); 23960 V(l) || (l = [l, l]), n.scaleX = l[0] / 2, n.scaleY = l[1] / 2, Fo(this, "_doDispatchAxisPointer", i.get("throttle") || 0, "fixRate"), this._moveHandleToValue(e, s); 23961 } 23962 }, r.prototype._moveHandleToValue = function(e, t) { 23963 vb(this._axisPointerModel, !t && this._moveAnimation, this._handle, pp(this.getHandleTransform(e, this._axisModel, this._axisPointerModel))); 23964 }, r.prototype._onHandleDragMove = function(e, t) { 23965 var a = this._handle; 23966 if (a) { 23967 this._dragging = true; 23968 var n = this.updateHandleTransform(pp(a), [e, t], this._axisModel, this._axisPointerModel); 23969 this._payloadInfo = n, a.stopAnimation(), a.attr(pp(n)), Yn(a).lastProp = null, this._doDispatchAxisPointer(); 23970 } 23971 }, r.prototype._doDispatchAxisPointer = function() { 23972 var e = this._handle; 23973 if (e) { 23974 var t = this._payloadInfo, a = this._axisModel; 23975 this._api.dispatchAction({ type: "updateAxisPointer", x: t.cursorPoint[0], y: t.cursorPoint[1], tooltipOption: t.tooltipOption, axesInfo: [{ axisDim: a.axis.dim, axisIndex: a.componentIndex }] }); 23976 } 23977 }, r.prototype._onHandleDragEnd = function() { 23978 this._dragging = false; 23979 var e = this._handle; 23980 if (e) { 23981 var t = this._axisPointerModel.get("value"); 23982 this._moveHandleToValue(t), this._api.dispatchAction({ type: "hideTip" }); 23983 } 23984 }, r.prototype.clear = function(e) { 23985 this._lastValue = null, this._lastStatus = null; 23986 var t = e.getZr(), a = this._group, n = this._handle; 23987 t && a && (this._lastGraphicKey = null, a && t.remove(a), n && t.remove(n), this._group = null, this._handle = null, this._payloadInfo = null), cl(this, "_doDispatchAxisPointer"); 23988 }, r.prototype.doClear = function() { 23989 }, r.prototype.buildLabel = function(e, t, a) { 23990 return a = a || 0, { x: e[a], y: e[1 - a], width: t[a], height: t[1 - a] }; 23991 }, r; 23992}(); 23993function vb(r, e, t, a) { 23994 tL(Yn(t).lastProp, a) || (Yn(t).lastProp = a, e ? Tt(t, a, r) : (t.stopAnimation(), t.attr(a))); 23995} 23996function tL(r, e) { 23997 if (tt(r) && tt(e)) { 23998 var t = true; 23999 return D(e, function(a, n) { 24000 t = t && tL(r[n], a); 24001 }), !!t; 24002 } else return r === e; 24003} 24004function cb(r, e) { 24005 r[e.get(["label", "show"]) ? "show" : "hide"](); 24006} 24007function pp(r) { 24008 return { x: r.x || 0, y: r.y || 0, rotation: r.rotation || 0 }; 24009} 24010function pb(r, e, t) { 24011 var a = e.get("z"), n = e.get("zlevel"); 24012 r && r.traverse(function(i) { 24013 i.type !== "group" && (a != null && (i.z = a), n != null && (i.zlevel = n), i.silent = t); 24014 }); 24015} 24016function Rm(r) { 24017 var e = r.get("type"), t = r.getModel(e + "Style"), a; 24018 return e === "line" ? (a = t.getLineStyle(), a.fill = null) : e === "shadow" && (a = t.getAreaStyle(), a.stroke = null), a; 24019} 24020function eL(r, e, t, a, n) { 24021 var i = t.get("value"), o = rL(i, e.axis, e.ecModel, t.get("seriesDataIndices"), { precision: t.get(["label", "precision"]), formatter: t.get(["label", "formatter"]) }), s = t.getModel("label"), l = bi(s.get("padding") || 0), u = s.getFont(), f = El(o, u), h
24021= n.position, v = f.width + l[1] + l[3], c = f.height + l[0] + l[2], p = n.align; 24022 p === "right" && (h[0] -= v), p === "center" && (h[0] -= v / 2); 24023 var d = n.verticalAlign; 24024 d === "bottom" && (h[1] -= c), d === "middle" && (h[1] -= c / 2), w6(h, v, c, a); 24025 var g = s.get("backgroundColor"); 24026 (!g || g === "auto") && (g = e.get(["axisLine", "lineStyle", "color"])), r.label = { x: h[0], y: h[1], style: Nt(s, { text: o, font: u, fill: s.getTextColor(), padding: l, backgroundColor: g }), z2: 10 }; 24027} 24028function w6(r, e, t, a) { 24029 var n = a.getWidth(), i = a.getHeight(); 24030 r[0] = Math.min(r[0] + e, n) - e, r[1] = Math.min(r[1] + t, i) - t, r[0] = Math.max(r[0], 0), r[1] = Math.max(r[1], 0); 24031} 24032function rL(r, e, t, a, n) { 24033 r = e.scale.parse(r); 24034 var i = e.scale.getLabel({ value: r }, { precision: n.precision }), o = n.formatter; 24035 if (o) { 24036 var s = { value: Hy(e, { value: r }), axisDimension: e.dim, axisIndex: e.index, seriesData: [] }; 24037 D(a, function(l) { 24038 var u = t.getSeriesByIndex(l.seriesIndex), f = l.dataIndexInside, h = u && u.getDataParams(f); 24039 h && s.seriesData.push(h); 24040 }), Y(o) ? i = o.replace("{value}", i) : j(o) && (i = o(s)); 24041 } 24042 return i; 24043} 24044function Em(r, e, t) { 24045 var a = He(); 24046 return ln(a, a, t.rotation), Pr(a, a, t.position), Ir([r.dataToCoord(e), (t.labelOffset || 0) + (t.labelDirection || 1) * (t.labelMargin || 0)], a); 24047} 24048function aL(r, e, t, a, n, i) { 24049 var o = Ee.innerTextLayout(t.rotation, 0, t.labelDirection); 24050 t.labelMargin = n.get(["label", "margin"]), eL(e, a, n, i, { position: Em(a.axis, r, t), align: o.textAlign, verticalAlign: o.textVerticalAlign }); 24051} 24052function km(r, e, t) { 24053 return t = t || 0, { x1: r[t], y1: r[1 - t], x2: e[t], y2: e[1 - t] }; 24054} 24055function nL(r, e, t) { 24056 return t = t || 0, { x: r[t], y: r[1 - t], width: e[t], height: e[1 - t] }; 24057} 24058function db(r, e, t, a, n, i) { 24059 return { cx: r, cy: e, r0: t, r: a, startAngle: n, endAngle: i, clockwise: true }; 24060} 24061var T6 = function(r) { 24062 N(e, r); 24063 function e() { 24064 return r !== null && r.apply(this, arguments) || this; 24065 } 24066 return e.prototype.makeElOption = function(t, a, n, i, o) { 24067 var s = n.axis, l = s.grid, u = i.get("type"), f = gb(l, s).getOtherAxis(s).getGlobalExtent(), h = s.toGlobalCoord(s.dataToCoord(a, true)); 24068 if (u && u !== "none") { 24069 var v = Rm(i), c = C6[u](s, h, f); 24070 c.style = v, t.graphicKey = c.type, t.pointer = c; 24071 } 24072 var p = Wd(l.model, n); 24073 aL(a, t, p, n, i, o); 24074 }, e.prototype.getHandleTransform = function(t, a, n) { 24075 var i = Wd(a.axis.grid.model, a, { labelInside: false }); 24076 i.labelMargin = n.get(["handle", "margin"]); 24077 var o = Em(a.axis, t, i); 24078 return { x: o[0], y: o[1], rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0) }; 24079 }, e.prototype.updateHandleTransform = function(t, a, n, i) { 24080 var o = n.axis, s = o.grid, l = o.getGlobalExtent(true), u = gb(s, o).getOtherAxis(o).getGlobalExtent(), f = o.dim === "x" ? 0 : 1, h = [t.x, t.y]; 24081 h[f] += a[f], h[f] = Math.min(l[1], h[f]), h[f] = Math.max(l[0], h[f]); 24082 var v = (u[1] + u[0]) / 2, c = [v, v]; 24083 c[f] = h[f]; 24084 var p = [{ verticalAlign: "middle" }, { align: "center" }]; 24085 return { x: h[0], y: h[1], rotation: t.rotation, cursorPoint: c, tooltipOption: p[f] }; 24086 }, e; 24087}(Pm); 24088function gb(r, e) { 24089 var t = {}; 24090 return t[e.dim + "AxisIndex"] = e.index, r.getCartesian(t); 24091} 24092var C6 = { line: function(r, e, t) { 24093 var a = km([e, t[0]], [e, t[1]], yb(r)); 24094 return { type: "Line", subPixelOptimize: true, shape: a }; 24095}, shadow: function(r, e, t) { 24096 var a = Math.max(1, r.getBandWidth()), n = t[1] - t[0]; 24097 return { type: "Rect", shape: nL([e - a / 2, t[0]], [a, n], yb(r)) }; 24098} }; 24099function yb(r) { 24100 return r.dim === "x" ? 0 : 1; 24101} 24102var A6 = function(r) { 24103 N(e, r); 24104 function e() { 24105 var t = r !== null && r.apply(this, arguments) || this; 24106 return t.type = e.type, t; 24107 } 24108 return e.type = "axisPointer", e.defaultOption = { show: "auto", z: 50, type: "line", snap: false, triggerTooltip: true, triggerEmphasis: true, value: null, status: null, link: [], animation: null, animationDurationUpdate: 200, lineStyle: { color: "#B9BEC9", width: 1, type: "dashed" }, shadowStyle: { color: "rgba(210,219,238,0.2)" }, label: { show: true, formatter: null, precision: "auto", margin: 3, color: "#fff", padding: [5, 7, 5, 7], backgroundColor: "auto", borderColor: null, borderWidth: 0, borderRadius: 3 }, handle: { show: false, icon: "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z", size: 45, margin: 50, color: "#333", shadowBlur: 3, shadowColor: "#aaa", shadowOffsetX: 0, shadowOffsetY: 2, throttle: 40 } }, e; 24109}(gt), pa = bt(), D6 = D; 24110function iL(r, e, t) { 24111 if (!yt.node) { 24112 var a = e.getZr(); 24113 pa(a).records || (pa(a).records = {}), M6(a, e); 24114 var n = pa(a).records[r] || (pa(a).records[r] = {}); 24115 n.handler = t; 24116 } 24117} 24118function M6(r, e) { 24119 if (pa(r).initialized) return;
24120 pa(r).initialized = true, t("click", lt(mb, "click")), t("mousemove", lt(mb, "mousemove")), t("globalout", L6); 24121 function t(a, n) { 24122 r.on(a, function(i) { 24123 var o = P6(e); 24124 D6(pa(r).records, function(s) { 24125 s && n(s, i, o.dispatchAction); 24126 }), I6(o.pendings, e); 24127 }); 24128 } 24129} 24130function I6(r, e) { 24131 var t = r.showTip.length, a = r.hideTip.length, n; 24132 t ? n = r.showTip[t - 1] : a && (n = r.hideTip[a - 1]), n && (n.dispatchAction = null, e.dispatchAction(n)); 24133} 24134function L6(r, e, t) { 24135 r.handler("leave", null, t); 24136} 24137function mb(r, e, t, a) { 24138 e.handler(r, t, a); 24139} 24140function P6(r) { 24141 var e = { showTip: [], hideTip: [] }, t = function(a) { 24142 var n = e[a.type]; 24143 n ? n.push(a) : (a.dispatchAction = t, r.dispatchAction(a)); 24144 }; 24145 return { dispatchAction: t, pendings: e }; 24146} 24147function fg(r, e) { 24148 if (!yt.node) { 24149 var t = e.getZr(), a = (pa(t).records || {})[r]; 24150 a && (pa(t).records[r] = null); 24151 } 24152} 24153var R6 = function(r) { 24154 N(e, r); 24155 function e() { 24156 var t = r !== null && r.apply(this, arguments) || this; 24157 return t.type = e.type, t; 24158 } 24159 return e.prototype.render = function(t, a, n) { 24160 var i = a.getComponent("tooltip"), o = t.get("triggerOn") || i && i.get("triggerOn") || "mousemove|click"; 24161 iL("axisPointer", n, function(s, l, u) { 24162 o !== "none" && (s === "leave" || o.indexOf(s) >= 0) && u({ type: "updateAxisPointer", currTrigger: s, x: l && l.offsetX, y: l && l.offsetY }); 24163 }); 24164 }, e.prototype.remove = function(t, a) { 24165 fg("axisPointer", a); 24166 }, e.prototype.dispose = function(t, a) { 24167 fg("axisPointer", a); 24168 }, e.type = "axisPointer", e; 24169}(Vt); 24170function oL(r, e) { 24171 var t = [], a = r.seriesIndex, n; 24172 if (a == null || !(n = e.getSeriesByIndex(a))) return { point: [] }; 24173 var i = n.getData(), o = hi(i, r); 24174 if (o == null || o < 0 || V(o)) return { point: [] }; 24175 var s = i.getItemGraphicEl(o), l = n.coordinateSystem; 24176 if (n.getTooltipPosition) t = n.getTooltipPosition(o) || []; 24177 else if (l && l.dataToPoint) if (r.isStacked) { 24178 var u = l.getBaseAxis(), f = l.getOtherAxis(u), h = f.dim, v = u.dim, c = h === "x" || h === "radius" ? 1 : 0, p = i.mapDimension(v), d = []; 24179 d[c] = i.get(p, o), d[1 - c] = i.get(i.getCalculationInfo("stackResultDimension"), o), t = l.dataToPoint(d) || []; 24180 } else t = l.dataToPoint(i.getValues(G(l.dimensions, function(y) { 24181 return i.mapDimension(y); 24182 }), o)) || []; 24183 else if (s) { 24184 var g = s.getBoundingRect().clone(); 24185 g.applyTransform(s.transform), t = [g.x + g.width / 2, g.y + g.height / 2]; 24186 } 24187 return { point: t, el: s }; 24188} 24189var _b = bt(); 24190function E6(r, e, t) { 24191 var a = r.currTrigger, n = [r.x, r.y], i = r, o = r.dispatchAction || $(t.dispatchAction, t), s = e.getComponent("axisPointer").coordSysAxesInfo; 24192 if (s) { 24193 gf(n) && (n = oL({ seriesIndex: i.seriesIndex, dataIndex: i.dataIndex }, e).point); 24194 var l = gf(n), u = i.axesInfo, f = s.axesInfo, h = a === "leave" || gf(n), v = {}, c = {}, p = { list: [], map: {} }, d = { showPointer: lt(O6, c), showTooltip: lt(N6, p) }; 24195 D(s.coordSysMap, function(y, m) { 24196 var _ = l || y.containPoint(n); 24197 D(s.coordSysAxesInfo[m], function(S, b) { 24198 var x = S.axis, w = G6(u, S); 24199 if (!h && _ && (!u || w)) { 24200 var T = w && w.value; 24201 T == null && !l && (T = x.pointToData(n)), T != null && Sb(S, T, d, false, v); 24202 } 24203 }); 24204 }); 24205 var g = {}; 24206 return D(f, function(y, m) { 24207 var _ = y.linkGroup; 24208 _ && !c[m] && D(_.axesInfo, function(S, b) { 24209 var x = c[b]; 24210 if (S !== y && x) { 24211 var w = x.value; 24212 _.mapper && (w = y.axis.scale.parse(_.mapper(w, xb(S), xb(y)))), g[y.key] = w; 24213 } 24214 }); 24215 }), D(g, function(y, m) { 24216 Sb(f[m], y, d, true, v); 24217 }), B6(c, f, v), z6(p, n, r, o), V6(f, o, t), v; 24218 } 24219} 24220function Sb(r, e, t, a, n) { 24221 var i = r.axis; 24222 if (!(i.scale.isBlank() || !i.containData(e))) { 24223 if (!r.involveSeries) { 24224 t.showPointer(r, e); 24225 return; 24226 } 24227 var o = k6(e, r), s = o.payloadBatch, l = o.snapToValue; 24228 s[0] && n.seriesIndex == null && z(n, s[0]), !a && r.snap && i.containData(l) && l != null && (e = l), t.showPointer(r, e, s), t.showTooltip(r, o, l); 24229 } 24230} 24231function k6(r, e) { 24232 var t = e.axis, a = t.dim, n = r, i = [], o = Number.MAX_VALUE, s = -1; 24233 return D(e.seriesModels, function(l, u) { 24234 var f = l.getData().mapDimensionsAll(a), h, v; 24235 if (l.getAxisTooltipData) { 24236 var c = l.getAxisTooltipData(f, r, t); 24237 v = c.dataIndices, h = c.nestestValue; 24238 } else { 24239 if (v = l.getData().indicesOfNearest(f[0], r, t.type === "category" ? 0.5 : null), !v.length) return; 24240 h = l.getData().get(f[0], v[0]); 24241 } 24242 if (!(h == null || !isFinite(h))) { 24243 var p = r - h, d = Math.abs(p); 24244 d <= o && ((d < o || p >= 0 && s < 0) && (o = d, s = p, n = h, i.length = 0), D(v, function(g) { 24245 i.push({ seriesIndex: l.seriesIndex, dataIndexInside: g, dataIndex: l.getData().getRawIndex(g) }); 24246 })); 24247 } 24248 }), { payloadBatch: i, snapToValue: n }; 24249} 24250function O6(r, e, t, a) { 24251 r[e.key] = { value: t, payloadBatch: a }; 24252} 24253function N6(r, e, t, a) { 24254 var n = t.payloadBatch, i = e.axis, o = i.model, s = e.axisPointerModel; 24255 if (!(!e.triggerTooltip || !n.length)) { 24256 var l = e.coordSys.model, u = Sl(l), f = r.map[u]; 24257 f || (f = r.map[u] = { coordSysId: l.id, coordSysIndex: l.componentIndex, coordSysType: l.type, coordSysMainType: l.mainType, dataByAxis: [] }, r.list.push(f)), f.dataByAxis.push({ axisDim: i.dim, axisIndex: o.componentIndex, axisType: o.type, axisId: o.id, value: a, valueLabelOpt: { precision: s.get(["label", "precision"]), formatter: s.get(["label", "formatter"]) }, seriesDataIndices: n.slice() }); 24258 } 24259} 24260function B6(r, e, t) { 24261 var a = t.axesInfo = []; 24262 D(e, function(n, i) { 24263 var o = n.axisPointerModel.option, s = r[i]; 24264 s ? (!n.useHandle && (o.status = "show"), o.value = s.value, o.seriesDataIndices = (s.payloadBatch || []).slice()) : !n.useHandle && (o.status = "hide"), o.status === "show" && a.push({ axisDim: n.axis.dim, axisIndex: n.axis.model.componentIndex, value: o.value }); 24265 }); 24266} 24267function z6(r, e, t, a) { 24268 if (gf(e) || !r.list.length) { 24269 a({ type: "hideTip" }); 24270 return; 24271 } 24272 var n = ((r.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {}; 24273 a({ type: "showTip", escapeConnect: true, x: e[0], y: e[1], tooltipOption: t.tooltipOption, position: t.position, dataIndexInside: n.dataIndexInside, dataIndex: n.dataIndex, seriesIndex: n.seriesIndex, dataByCoordSys: r.list }); 24274} 24275function V6(r, e, t) { 24276 var a = t.getZr(), n = "axisPointerLastHighlights", i = _b(a)[n] || {}, o = _b(a)[n] = {}; 24277 D(r, function(u, f) { 24278 var h = u.axisPointerModel.option; 24279 h.status === "show" && u.triggerEmphasis && D(h.seriesDataIndices, function(v) { 24280 var c = v.seriesIndex + " | " + v.dataIndex; 24281 o[c] = v; 24282 }); 24283 }); 24284 var s = [], l = []; 24285 D(i, function(u, f) { 24286 !o[f] && l.push(u); 24287 }), D(o, function(u, f) { 24288 !i[f] && s.push(u); 24289 }), l.length && t.dispatchAction({ type: "downplay", escapeConnect: true, notBlur: true, batch: l }), s.length && t.dispatchAction({ type: "highlight", escapeConnect: true, notBlur: true, batch: s }); 24290} 24291function G6(r, e) { 24292 for (var t = 0; t < (r || []).length; t++) { 24293 var a = r[t]; 24294 if (e.axis.dim === a.axisDim && e.axis.model.componentIndex === a.axisIndex) return a; 24295 } 24296} 24297function xb(r) { 24298 var e = r.axis.model, t = {}, a = t.axisDim = r.axis.dim; 24299 return t.axisIndex = t[a + "AxisIndex"] = e.componentIndex, t.axisName = t[a + "AxisName"] = e.name, t.axisId = t[a + "AxisId"] = e.id, t; 24300} 24301function gf(r) { 24302 return !r || r[0] == null || isNaN(r[0]) || r[1] == null || isNaN(r[1]); 24303} 24304function jl(r) { 24305 Ci.registerAxisPointerClass("CartesianAxisPointer", T6), r.registerComponentModel(A6), r.registerComponentView(R6), r.registerPreprocessor(function(e) { 24306 if (e) { 24307 (!e.axisPointer || e.axisPointer.length === 0) && (e.axisPointer = {}); 24308 var t = e.axisPointer.link; 24309 t && !V(t) && (e.axisPointer.link = [t]); 24310 } 24311 }), r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC, function(e, t) { 24312 e.getComponent("axisPointer").coordSysAxesInfo = K5(e, t); 24313 }), r.registerAction({ type: "updateAxisPointer", event: "updateAxisPointer", update: ":updateAxisPointer" }, E6); 24314} 24315function F6(r) { 24316 pt(kM), pt(jl); 24317} 24318var H6 = function(r) { 24319 N(e, r); 24320 function e() { 24321 return r !== null && r.apply(this, arguments) || this; 24322 } 24323 return e.prototype.makeElOption = function(t, a, n, i, o) { 24324 var s = n.axis; 24325 s.dim === "angle" && (this.animationThreshold = Math.PI / 18); 24326 var l = s.polar, u = l.getOtherAxis(s), f = u.getExtent(), h = s.dataToCoord(a), v = i.get("type");
24327 if (v && v !== "none") { 24328 var c = Rm(i), p = U6[v](s, l, h, f); 24329 p.style = c, t.graphicKey = p.type, t.pointer = p; 24330 } 24331 var d = i.get(["label", "margin"]), g = W6(a, n, i, l, d); 24332 eL(t, n, i, o, g); 24333 }, e; 24334}(Pm); 24335function W6(r, e, t, a, n) { 24336 var i = e.axis, o = i.dataToCoord(r), s = a.getAngleAxis().getExtent()[0]; 24337 s = s / 180 * Math.PI; 24338 var l = a.getRadiusAxis().getExtent(), u, f, h; 24339 if (i.dim === "radius") { 24340 var v = He(); 24341 ln(v, v, s), Pr(v, v, [a.cx, a.cy]), u = Ir([o, -n], v); 24342 var c = e.getModel("axisLabel").get("rotate") || 0, p = Ee.innerTextLayout(s, c * Math.PI / 180, -1); 24343 f = p.textAlign, h = p.textVerticalAlign; 24344 } else { 24345 var d = l[1]; 24346 u = a.coordToPoint([d + n, o]); 24347 var g = a.cx, y = a.cy; 24348 f = Math.abs(u[0] - g) / d < 0.3 ? "center" : u[0] > g ? "left" : "right", h = Math.abs(u[1] - y) / d < 0.3 ? "middle" : u[1] > y ? "top" : "bottom"; 24349 } 24350 return { position: u, align: f, verticalAlign: h }; 24351} 24352var U6 = { line: function(r, e, t, a) { 24353 return r.dim === "angle" ? { type: "Line", shape: km(e.coordToPoint([a[0], t]), e.coordToPoint([a[1], t])) } : { type: "Circle", shape: { cx: e.cx, cy: e.cy, r: t } }; 24354}, shadow: function(r, e, t, a) { 24355 var n = Math.max(1, r.getBandWidth()), i = Math.PI / 180; 24356 return r.dim === "angle" ? { type: "Sector", shape: db(e.cx, e.cy, a[0], a[1], (-t - n / 2) * i, (-t + n / 2) * i) } : { type: "Sector", shape: db(e.cx, e.cy, t - n / 2, t + n / 2, 0, Math.PI * 2) }; 24357} }, Y6 = function(r) { 24358 N(e, r); 24359 function e() { 24360 var t = r !== null && r.apply(this, arguments) || this; 24361 return t.type = e.type, t; 24362 } 24363 return e.prototype.findAxisModel = function(t) { 24364 var a, n = this.ecModel; 24365 return n.eachComponent(t, function(i) { 24366 i.getCoordSysModel() === this && (a = i); 24367 }, this), a; 24368 }, e.type = "polar", e.dependencies = ["radiusAxis", "angleAxis"], e.defaultOption = { z: 0, center: ["50%", "50%"], radius: "80%" }, e; 24369}(gt), Om = function(r) { 24370 N(e, r); 24371 function e() { 24372 return r !== null && r.apply(this, arguments) || this; 24373 } 24374 return e.prototype.getCoordSysModel = function() { 24375 return this.getReferringComponents("polar", Jt).models[0]; 24376 }, e.type = "polarAxis", e; 24377}(gt); 24378Xt(Om, Yo); 24379var $6 = function(r) { 24380 N(e, r); 24381 function e() { 24382 var t = r !== null && r.apply(this, arguments) || this; 24383 return t.type = e.type, t; 24384 } 24385 return e.type = "angleAxis", e; 24386}(Om), X6 = function(r) { 24387 N(e, r); 24388 function e() { 24389 var t = r !== null && r.apply(this, arguments) || this; 24390 return t.type = e.type, t; 24391 } 24392 return e.type = "radiusAxis", e; 24393}(Om), Nm = function(r) { 24394 N(e, r); 24395 function e(t, a) { 24396 return r.call(this, "radius", t, a) || this; 24397 } 24398 return e.prototype.pointToData = function(t, a) { 24399 return this.polar.pointToData(t, a)[this.dim === "radius" ? 0 : 1]; 24400 }, e; 24401}(yr); 24402Nm.prototype.dataToRadius = yr.prototype.dataToCoord; 24403Nm.prototype.radiusToData = yr.prototype.coordToData; 24404var Z6 = bt(), Bm = function(r) { 24405 N(e, r); 24406 function e(t, a) { 24407 return r.call(this, "angle", t, a || [0, 360]) || this; 24408 } 24409 return e.prototype.pointToData = function(t, a) { 24410 return this.polar.pointToData(t, a)[this.dim === "radius" ? 0 : 1]; 24411 }, e.prototype.calculateCategoryInterval = function() { 24412 var t = this, a = t.getLabelModel(), n = t.scale, i = n.getExtent(), o = n.count(); 24413 if (i[1] - i[0] < 1) return 0; 24414 var s = i[0], l = t.dataToCoord(s + 1) - t.dataToCoord(s), u = Math.abs(l), f = El(s == null ? "" : s + "", a.getFont(), "center", "top"), h = Math.max(f.height, 7), v = h / u; 24415 isNaN(v) && (v = 1 / 0); 24416 var c = Math.max(0, Math.floor(v)), p = Z6(t.model), d = p.lastAutoInterval, g = p.lastTickCount; 24417 return d != null && g != null && Math.abs(d - c) <= 1 && Math.abs(g - o) <= 1 && d > c ? c = d : (p.lastTickCount = o, p.lastAutoInterval = c), c; 24418 }, e; 24419}(yr); 24420Bm.prototype.dataToAngle = yr.prototype.dataToCoord; 24421Bm.prototype.angleToData = yr.prototype.coordToData; 24422var sL = ["radius", "angle"], q6 = function() { 24423 function r(e) { 24424 this.dimensions = sL, this.type = "polar", this.cx = 0, this.cy = 0, this._radiusAxis = new Nm(), this._angleAxis = new Bm(), this.axisPointerEnabled = true, this.name = e || "", this._radiusAxis.polar = this._angleAxis.polar = this; 24425 } 24426 return r.prototype.containPoint = function(e) { 24427 var t = this.pointToCoord(e); 24428 return this._radiusAxis.contain(t[0]) && this._angleAxis.contain(t[1]); 24429 }, r.prototype.containData = function(e) { 24430 return this._radiusAxis.containData(e[0]) && this._angleAxis.containData(e[1]); 24431 }, r.prototype.getAxis = function(e) { 24432 var t = "_" + e + "Axis"; 24433 return this[t]; 24434 }, r.prototype.getAxes = function() { 24435 return [this._radiusAxis, this._angleAxis]; 24436 }, r.prototype.getAxesByScale = function(e) { 24437 var t = [], a = this._angleAxis, n = this._radiusAxis; 24438 return a.scale.type === e && t.push(a), n.scale.type === e && t.push(n), t;
24439 }, r.prototype.getAngleAxis = function() { 24440 return this._angleAxis; 24441 }, r.prototype.getRadiusAxis = function() { 24442 return this._radiusAxis; 24443 }, r.prototype.getOtherAxis = function(e) { 24444 var t = this._angleAxis; 24445 return e === t ? this._radiusAxis : t; 24446 }, r.prototype.getBaseAxis = function() { 24447 return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAngleAxis(); 24448 }, r.prototype.getTooltipAxes = function(e) { 24449 var t = e != null && e !== "auto" ? this.getAxis(e) : this.getBaseAxis(); 24450 return { baseAxes: [t], otherAxes: [this.getOtherAxis(t)] }; 24451 }, r.prototype.dataToPoint = function(e, t) { 24452 return this.coordToPoint([this._radiusAxis.dataToRadius(e[0], t), this._angleAxis.dataToAngle(e[1], t)]); 24453 }, r.prototype.pointToData = function(e, t) { 24454 var a = this.pointToCoord(e); 24455 return [this._radiusAxis.radiusToData(a[0], t), this._angleAxis.angleToData(a[1], t)]; 24456 }, r.prototype.pointToCoord = function(e) { 24457 var t = e[0] - this.cx, a = e[1] - this.cy, n = this.getAngleAxis(), i = n.getExtent(), o = Math.min(i[0], i[1]), s = Math.max(i[0], i[1]); 24458 n.inverse ? o = s - 360 : s = o + 360; 24459 var l = Math.sqrt(t * t + a * a); 24460 t /= l, a /= l; 24461 for (var u = Math.atan2(-a, t) / Math.PI * 180, f = u < o ? 1 : -1; u < o || u > s; ) u += f * 360; 24462 return [l, u]; 24463 }, r.prototype.coordToPoint = function(e) { 24464 var t = e[0], a = e[1] / 180 * Math.PI, n = Math.cos(a) * t + this.cx, i = -Math.sin(a) * t + this.cy; 24465 return [n, i]; 24466 }, r.prototype.getArea = function() { 24467 var e = this.getAngleAxis(), t = this.getRadiusAxis(), a = t.getExtent().slice(); 24468 a[0] > a[1] && a.reverse(); 24469 var n = e.getExtent(), i = Math.PI / 180, o = 1e-4; 24470 return { cx: this.cx, cy: this.cy, r0: a[0], r: a[1], startAngle: -n[0] * i, endAngle: -n[1] * i, clockwise: e.inverse, contain: function(s, l) { 24471 var u = s - this.cx, f = l - this.cy, h = u * u + f * f, v = this.r, c = this.r0; 24472 return v !== c && h - o <= v * v && h + o >= c * c; 24473 } }; 24474 }, r.prototype.convertToPixel = function(e, t, a) { 24475 var n = bb(t); 24476 return n === this ? this.dataToPoint(a) : null; 24477 }, r.prototype.convertFromPixel = function(e, t, a) { 24478 var n = bb(t); 24479 return n === this ? this.pointToData(a) : null; 24480 }, r; 24481}(); 24482function bb(r) { 24483 var e = r.seriesModel, t = r.polarModel; 24484 return t && t.coordinateSystem || e && e.coordinateSystem; 24485} 24486function K6(r, e, t) { 24487 var a = e.get("center"), n = t.getWidth(), i = t.getHeight(); 24488 r.cx = W(a[0], n), r.cy = W(a[1], i); 24489 var o = r.getRadiusAxis(), s = Math.min(n, i) / 2, l = e.get("radius"); 24490 l == null ? l = [0, "100%"] : V(l) || (l = [0, l]); 24491 var u = [W(l[0], s), W(l[1], s)]; 24492 o.inverse ? o.setExtent(u[1], u[0]) : o.setExtent(u[0], u[1]); 24493} 24494function j6(r, e) { 24495 var t = this, a = t.getAngleAxis(), n = t.getRadiusAxis(); 24496 if (a.scale.setExtent(1 / 0, -1 / 0), n.scale.setExtent(1 / 0, -1 / 0), r.eachSeries(function(s) { 24497 if (s.coordinateSystem === t) { 24498 var l = s.getData(); 24499 D(qf(l, "radius"), function(u) { 24500 n.scale.unionExtentFromData(l, u); 24501 }), D(qf(l, "angle"), function(u) { 24502 a.scale.unionExtentFromData(l, u); 24503 }); 24504 } 24505 }), di(a.scale, a.model), di(n.scale, n.model), a.type === "category" && !a.onBand) { 24506 var i = a.getExtent(), o = 360 / a.scale.count(); 24507 a.inverse ? i[1] += o : i[1] -= o, a.setExtent(i[0], i[1]); 24508 } 24509} 24510function J6(r) { 24511 return r.mainType === "angleAxis"; 24512} 24513function wb(r, e) { 24514 var t; 24515 if (r.type = e.get("type"), r.scale = Hl(e), r.onBand = e.get("boundaryGap") && r.type === "category", r.inverse = e.get("inverse"), J6(e)) { 24516 r.inverse = r.inverse !== e.get("clockwise"); 24517 var a = e.get("startAngle"), n = (t = e.get("endAngle")) !== null && t !== void 0 ? t : a + (r.inverse ? -360 : 360); 24518 r.setExtent(a, n); 24519 } 24520 e.axis = r, r.model = e; 24521} 24522var Q6 = { dimensions: sL, create: function(r, e) { 24523 var t = []; 24524 return r.eachComponent("polar", function(a, n) { 24525 var i = new q6(n + ""); 24526 i.update = j6; 24527 var o = i.getRadiusAxis(), s = i.getAngleAxis(), l = a.findAxisModel("radiusAxis"), u = a.findAxisModel("angleAxis"); 24528 wb(o, l), wb(s, u), K6(i, a, e), t.push(i), a.coordinateSystem = i, i.model = a; 24529 }), r.eachSeries(function(a) { 24530 if (a.get("coordinateSystem") === "polar") { 24531 var n = a.getReferringComponents("polar", Jt).models[0]; 24532 a.coordinateSystem = n.coordinateSystem; 24533 } 24534 }), t;
24535} }, tU = ["axisLine", "axisLabel", "axisTick", "minorTick", "splitLine", "minorSplitLine", "splitArea"]; 24536function Yu(r, e, t) { 24537 e[1] > e[0] && (e = e.slice().reverse()); 24538 var a = r.coordToPoint([e[0], t]), n = r.coordToPoint([e[1], t]); 24539 return { x1: a[0], y1: a[1], x2: n[0], y2: n[1] }; 24540} 24541function $u(r) { 24542 var e = r.getRadiusAxis(); 24543 return e.inverse ? 0 : 1; 24544} 24545function Tb(r) { 24546 var e = r[0], t = r[r.length - 1]; 24547 e && t && Math.abs(Math.abs(e.coord - t.coord) - 360) < 1e-4 && r.pop(); 24548} 24549var eU = function(r) { 24550 N(e, r); 24551 function e() { 24552 var t = r !== null && r.apply(this, arguments) || this; 24553 return t.type = e.type, t.axisPointerClass = "PolarAxisPointer", t; 24554 } 24555 return e.prototype.render = function(t, a) { 24556 if (this.group.removeAll(), !!t.get("show")) { 24557 var n = t.axis, i = n.polar, o = i.getRadiusAxis().getExtent(), s = n.getTicksCoords(), l = n.getMinorTicksCoords(), u = G(n.getViewLabels(), function(f) { 24558 f = rt(f); 24559 var h = n.scale, v = h.type === "ordinal" ? h.getRawOrdinalNumber(f.tickValue) : f.tickValue; 24560 return f.coord = n.dataToCoord(v), f; 24561 }); 24562 Tb(u), Tb(s), D(tU, function(f) { 24563 t.get([f, "show"]) && (!n.scale.isBlank() || f === "axisLine") && rU[f](this.group, t, i, s, l, o, u); 24564 }, this); 24565 } 24566 }, e.type = "angleAxis", e; 24567}(Ci), rU = { axisLine: function(r, e, t, a, n, i) { 24568 var o = e.getModel(["axisLine", "lineStyle"]), s = t.getAngleAxis(), l = Math.PI / 180, u = s.getExtent(), f = $u(t), h = f ? 0 : 1, v, c = Math.abs(u[1] - u[0]) === 360 ? "Circle" : "Arc"; 24569 i[h] === 0 ? v = new xi[c]({ shape: { cx: t.cx, cy: t.cy, r: i[f], startAngle: -u[0] * l, endAngle: -u[1] * l, clockwise: s.inverse }, style: o.getLineStyle(), z2: 1, silent: true }) : v = new Lo({ shape: { cx: t.cx, cy: t.cy, r: i[f], r0: i[h] }, style: o.getLineStyle(), z2: 1, silent: true }), v.style.fill = null, r.add(v); 24570}, axisTick: function(r, e, t, a, n, i) { 24571 var o = e.getModel("axisTick"), s = (o.get("inside") ? -1 : 1) * o.get("length"), l = i[$u(t)], u = G(a, function(f) { 24572 return new ee({ shape: Yu(t, [l, l + s], f.coord) }); 24573 }); 24574 r.add($e(u, { style: Q(o.getModel("lineStyle").getLineStyle(), { stroke: e.get(["axisLine", "lineStyle", "color"]) }) })); 24575}, minorTick: function(r, e, t, a, n, i) { 24576 if (n.length) { 24577 for (var o = e.getModel("axisTick"), s = e.getModel("minorTick"), l = (o.get("inside") ? -1 : 1) * s.get("length"), u = i[$u(t)], f = [], h = 0; h < n.length; h++) for (var v = 0; v < n[h].length; v++) f.push(new ee({ shape: Yu(t, [u, u + l], n[h][v].coord) })); 24578 r.add($e(f, { style: Q(s.getModel("lineStyle").getLineStyle(), Q(o.getLineStyle(), { stroke: e.get(["axisLine", "lineStyle", "color"]) })) })); 24579 } 24580}, axisLabel: function(r, e, t, a, n, i, o) { 24581 var s = e.getCategories(true), l = e.getModel("axisLabel"), u = l.get("margin"), f = e.get("triggerEvent"); 24582 D(o, function(h, v) { 24583 var c = l, p = h.tickValue, d = i[$u(t)], g = t.coordToPoint([d + u, h.coord]), y = t.cx, m = t.cy, _ = Math.abs(g[0] - y) / d < 0.3 ? "center" : g[0] > y ? "left" : "right", S = Math.abs(g[1] - m) / d < 0.3 ? "middle" : g[1] > m ? "top" : "bottom"; 24584 if (s && s[p]) { 24585 var b = s[p]; 24586 tt(b) && b.textStyle && (c = new At(b.textStyle, l, l.ecModel)); 24587 } 24588 var x = new St({ silent: Ee.isLabelSilent(e), style: Nt(c, { x: g[0], y: g[1], fill: c.getTextColor() || e.get(["axisLine", "lineStyle", "color"]), text: h.formattedLabel, align: _, verticalAlign: S }) }); 24589 if (r.add(x), f) { 24590 var w = Ee.makeAxisEventDataBase(e); 24591 w.targetType = "axisLabel", w.value = h.rawLabel, it(x).eventData = w; 24592 } 24593 }, this); 24594}, splitLine: function(r, e, t, a, n, i) { 24595 var o = e.getModel("splitLine"), s = o.getModel("lineStyle"), l = s.get("color"), u = 0; 24596 l = l instanceof Array ? l : [l]; 24597 for (var f = [], h = 0; h < a.length; h++) { 24598 var v = u++ % l.length; 24599 f[v] = f[v] || [], f[v].push(new ee({ shape: Yu(t, i, a[h].coord) })); 24600 } 24601 for (var h = 0; h < f.length; h++) r.add($e(f[h], { style: Q({ stroke: l[h % l.length] }, s.getLineStyle()), silent: true, z: e.get("z") })); 24602}, minorSplitLine: function(r, e, t, a, n, i) { 24603 if (n.length) { 24604 for (var o = e.getModel("minorSplitLine"), s = o.getModel("lineStyle"), l = [], u = 0; u < n.length; u++) for (var f = 0; f < n[u].length; f++) l.push(new ee({ shape: Yu(t, i, n[u][f].coord) })); 24605 r.add($e(l, { style: s.getLineStyle(), silent: true, z: e.get("z") })); 24606 } 24607}, splitArea: function(r, e, t, a, n, i) { 24608 if (a.length) { 24609 var o = e.getModel("splitArea"), s = o.getModel("areaStyle"), l = s.get("color"), u = 0; 24610 l = l instanceof Array ? l : [l]; 24611 for (var f = [], h = Math.PI / 180, v = -a[0].coord * h, c = Math.min(i[0], i[1]), p = Math.max(i[0], i[1]), d = e.get("clockwise"), g = 1, y = a.length; g <= y; g++) { 24612 var m = g === y ? a[0].coord : a[g].coord, _ = u++ % l.length; 24613 f[_] = f[_] || [], f[_].push(new Te({ shape: { cx: t.cx, cy: t.cy, r0: c, r: p, startAngle: v, endAngle: -m * h, clockwise: d }, silent: true })), v = -m * h; 24614 } 24615 for (var g = 0; g < f.length; g++) r.add($e(f[g], { style: Q({ fill: l[g % l.length] }, s.getAreaStyle()), silent: true })); 24616 } 24617} }, aU = ["axisLine", "axisTickLabel", "axisName"], nU = ["splitLine", "splitArea", "minorSplitLine"], iU = function(r) { 24618 N(e, r); 24619 function e() { 24620 var t = r !== null && r.apply(this, arguments) || this; 24621 return t.type = e.type, t.axisPointerClass = "PolarAxisPointer", t; 24622 } 24623 return e.prototype.render = function(t, a) { 24624 if (this.group.removeAll(), !!t.get("show")) { 24625 var n = this._axisGroup, i = this._axisGroup = new at(); 24626 this.group.add(i); 24627 var o = t.axis, s = o.polar, l = s.getAngleAxis(), u = o.getTicksCoords(), f = o.getMinorTicksCoords(), h = l.getExtent()[0], v = o.getExtent(), c = sU(s, t, h), p = new Ee(t, c); 24628 D(aU, p.add, p), i.add(p.getGroup()), Vl(n, i, t), D(nU, function(d) { 24629 t.get([d, "show"]) && !o.scale.isBlank() && oU[d](this.group, t, s, h, v, u, f); 24630 }, this); 24631 } 24632 }, e.type = "radiusAxis", e; 24633}(Ci), oU = { splitLine: function(r, e, t, a, n, i) { 24634 var o = e.getModel("splitLine"), s = o.getModel("lineStyle"), l = s.get("color"), u = 0, f = t.getAngleAxis(), h = Math.PI / 180, v = f.getExtent(), c = Math.abs(v[1] - v[0]) === 360 ? "Circle" : "Arc"; 24635 l = l instanceof Array ? l : [l]; 24636 for (var p = [], d = 0; d < i.length; d++) { 24637 var g = u++ % l.length; 24638 p[g] = p[g] || [], p[g].push(new xi[c]({ shape: { cx: t.cx, cy: t.cy, r: Math.max(i[d].coord, 0), startAngle: -v[0] * h, endAngle: -v[1] * h, clockwise: f.inverse } })); 24639 } 24640 for (var d = 0; d < p.length; d++) r.add($e(p[d], { style: Q({ stroke: l[d % l.length], fill: null }, s.getLineStyle()), silent: true })); 24641}, minorSplitLine: function(r, e, t, a, n, i, o) { 24642 if (o.length) { 24643 for (var s = e.getModel("minorSplitLine"), l = s.getModel("lineStyle"), u = [], f = 0; f < o.length; f++) for (var h = 0; h < o[f].length; h++) u.push(new ea({ shape: { cx: t.cx, cy: t.cy, r: o[f][h].coord } })); 24644 r.add($e(u, { style: Q({ fill: null }, l.getLineStyle()), silent: true })); 24645 } 24646}, splitArea: function(r, e, t, a, n, i) { 24647 if (i.length) { 24648 var o = e.getModel("splitArea"), s = o.getModel("areaStyle"), l = s.get("color"), u = 0; 24649 l = l instanceof Array ? l : [l];
24650 for (var f = [], h = i[0].coord, v = 1; v < i.length; v++) { 24651 var c = u++ % l.length; 24652 f[c] = f[c] || [], f[c].push(new Te({ shape: { cx: t.cx, cy: t.cy, r0: h, r: i[v].coord, startAngle: 0, endAngle: Math.PI * 2 }, silent: true })), h = i[v].coord; 24653 } 24654 for (var v = 0; v < f.length; v++) r.add($e(f[v], { style: Q({ fill: l[v % l.length] }, s.getAreaStyle()), silent: true })); 24655 } 24656} }; 24657function sU(r, e, t) { 24658 return { position: [r.cx, r.cy], rotation: t / 180 * Math.PI, labelDirection: -1, tickDirection: -1, nameDirection: 1, labelRotate: e.getModel("axisLabel").get("rotate"), z2: 1 }; 24659} 24660function lL(r) { 24661 return r.get("stack") || "__ec_stack_" + r.seriesIndex; 24662} 24663function uL(r, e) { 24664 return e.dim + r.model.componentIndex; 24665} 24666function lU(r, e, t) { 24667 var a = {}, n = uU(Ct(e.getSeriesByType(r), function(i) { 24668 return !e.isSeriesFiltered(i) && i.coordinateSystem && i.coordinateSystem.type === "polar"; 24669 })); 24670 e.eachSeriesByType(r, function(i) { 24671 if (i.coordinateSystem.type === "polar") { 24672 var o = i.getData(), s = i.coordinateSystem, l = s.getBaseAxis(), u = uL(s, l), f = lL(i), h = n[u][f], v = h.offset, c = h.width, p = s.getOtherAxis(l), d = i.coordinateSystem.cx, g = i.coordinateSystem.cy, y = i.get("barMinHeight") || 0, m = i.get("barMinAngle") || 0; 24673 a[f] = a[f] || []; 24674 for (var _ = o.mapDimension(p.dim), S = o.mapDimension(l.dim), b = xa(o, _), x = l.dim !== "radius" || !i.get("roundCap", true), w = p.model, T = w.get("startValue"), C = p.dataToCoord(T || 0), A = 0, M = o.count(); A < M; A++) { 24675 var I = o.get(_, A), L = o.get(S, A), P = I >= 0 ? "p" : "n", R = C; 24676 b && (a[f][L] || (a[f][L] = { p: C, n: C }), R = a[f][L][P]); 24677 var E = void 0, O = void 0, k = void 0, B = void 0; 24678 if (p.dim === "radius") { 24679 var F = p.dataToCoord(I) - C, H = l.dataToCoord(L); 24680 Math.abs(F) < y && (F = (F < 0 ? -1 : 1) * y), E = R, O = R + F, k = H - v, B = k - c, b && (a[f][L][P] = O); 24681 } else { 24682 var U = p.dataToCoord(I, x) - C, K = l.dataToCoord(L); 24683 Math.abs(U) < m && (U = (U < 0 ? -1 : 1) * m), E = K + v, O = E + c, k = R, B = R + U, b && (a[f][L][P] = B); 24684 } 24685 o.setItemLayout(A, { cx: d, cy: g, r0: E, r: O, startAngle: -k * Math.PI / 180, endAngle: -B * Math.PI / 180, clockwise: k >= B }); 24686 } 24687 } 24688 }); 24689} 24690function uU(r) { 24691 var e = {}; 24692 D(r, function(a, n) { 24693 var i = a.getData(), o = a.coordinateSystem, s = o.getBaseAxis(), l = uL(o, s), u = s.getExtent(), f = s.type === "category" ? s.getBandWidth() : Math.abs(u[1] - u[0]) / i.count(), h = e[l] || { bandWidth: f, remainedWidth: f, autoWidthCount: 0, categoryGap: "20%", gap: "30%", stacks: {} }, v = h.stacks; 24694 e[l] = h; 24695 var c = lL(a); 24696 v[c] || h.autoWidthCount++, v[c] = v[c] || { width: 0, maxWidth: 0 }; 24697 var p = W(a.get("barWidth"), f), d = W(a.get("barMaxWidth"), f), g = a.get("barGap"), y = a.get("barCategoryGap"); 24698 p && !v[c].width && (p = Math.min(h.remainedWidth, p), v[c].width = p, h.remainedWidth -= p), d && (v[c].maxWidth = d), g != null && (h.gap = g), y != null && (h.categoryGap = y); 24699 }); 24700 var t = {}; 24701 return D(e, function(a, n) { 24702 t[n] = {}; 24703 var i = a.stacks, o = a.bandWidth, s = W(a.categoryGap, o), l = W(a.gap, 1), u = a.remainedWidth, f = a.autoWidthCount, h = (u - s) / (f + (f - 1) * l); 24704 h = Math.max(h, 0), D(i, function(d, g) { 24705 var y = d.maxWidth; 24706 y && y < h && (y = Math.min(y, u), d.width && (y = Math.min(y, d.width)), u -= y, d.width = y, f--); 24707 }), h = (u - s) / (f + (f - 1) * l), h = Math.max(h, 0); 24708 var v = 0, c; 24709 D(i, function(d, g) { 24710 d.width || (d.width = h), c = d, v += d.width * (1 + l); 24711 }), c && (v -= c.width * l); 24712 var p = -v / 2; 24713 D(i, function(d, g) { 24714 t[n][g] = t[n][g] || { offset: p, width: d.width }, p += d.width * (1 + l); 24715 }); 24716 }), t; 24717} 24718var fU = { startAngle: 90, clockwise: true, splitNumber: 12, axisLabel: { rotate: 0 } }, hU = { splitNumber: 5 }, vU = function(r) { 24719 N(e, r); 24720 function e() { 24721 var t = r !== null && r.apply(this, arguments) || this; 24722 return t.type = e.type, t; 24723 } 24724 return e.type = "polar", e; 24725}(Vt); 24726function cU(r) { 24727 pt(jl), Ci.registerAxisPointerClass("PolarAxisPointer", H6), r.registerCoordinateSystem("polar", Q6), r.registerComponentModel(Y6), r.registerComponentView(vU), wo(r, "angle", $6, fU), wo(r, "radiu
24727s", X6, hU), r.registerComponentView(eU), r.registerComponentView(iU), r.registerLayout(lt(lU, "bar")); 24728} 24729function hg(r, e) { 24730 e = e || {}; 24731 var t = r.coordinateSystem, a = r.axis, n = {}, i = a.position, o = a.orient, s = t.getRect(), l = [s.x, s.x + s.width, s.y, s.y + s.height], u = { horizontal: { top: l[2], bottom: l[3] }, vertical: { left: l[0], right: l[1] } }; 24732 n.position = [o === "vertical" ? u.vertical[i] : l[0], o === "horizontal" ? u.horizontal[i] : l[3]]; 24733 var f = { horizontal: 0, vertical: 1 }; 24734 n.rotation = Math.PI / 2 * f[o]; 24735 var h = { top: -1, bottom: 1, right: 1, left: -1 }; 24736 n.labelDirection = n.tickDirection = n.nameDirection = h[i], r.get(["axisTick", "inside"]) && (n.tickDirection = -n.tickDirection), ne(e.labelInside, r.get(["axisLabel", "inside"])) && (n.labelDirection = -n.labelDirection); 24737 var v = e.rotate; 24738 return v == null && (v = r.get(["axisLabel", "rotate"])), n.labelRotation = i === "top" ? -v : v, n.z2 = 1, n; 24739} 24740var pU = ["axisLine", "axisTickLabel", "axisName"], dU = ["splitArea", "splitLine"], gU = function(r) { 24741 N(e, r); 24742 function e() { 24743 var t = r !== null && r.apply(this, arguments) || this; 24744 return t.type = e.type, t.axisPointerClass = "SingleAxisPointer", t; 24745 } 24746 return e.prototype.render = function(t, a, n, i) { 24747 var o = this.group; 24748 o.removeAll(); 24749 var s = this._axisGroup; 24750 this._axisGroup = new at(); 24751 var l = hg(t), u = new Ee(t, l); 24752 D(pU, u.add, u), o.add(this._axisGroup), o.add(u.getGroup()), D(dU, function(f) { 24753 t.get([f, "show"]) && yU[f](this, this.group, this._axisGroup, t); 24754 }, this), Vl(s, this._axisGroup, t), r.prototype.render.call(this, t, a, n, i); 24755 }, e.prototype.remove = function() { 24756 PM(this); 24757 }, e.type = "singleAxis", e; 24758}(Ci), yU = { splitLine: function(r, e, t, a) { 24759 var n = a.axis; 24760 if (!n.scale.isBlank()) { 24761 var i = a.getModel("splitLine"), o = i.getModel("lineStyle"), s = o.get("color"); 24762 s = s instanceof Array ? s : [s]; 24763 for (var l = o.get("width"), u = a.coordinateSystem.getRect(), f = n.isHorizontal(), h = [], v = 0, c = n.getTicksCoords({ tickModel: i }), p = [], d = [], g = 0; g < c.length; ++g) { 24764 var y = n.toGlobalCoord(c[g].coord); 24765 f ? (p[0] = y, p[1] = u.y, d[0] = y, d[1] = u.y + u.height) : (p[0] = u.x, p[1] = y, d[0] = u.x + u.width, d[1] = y); 24766 var m = new ee({ shape: { x1: p[0], y1: p[1], x2: d[0], y2: d[1] }, silent: true }); 24767 _o(m.shape, l); 24768 var _ = v++ % s.length; 24769 h[_] = h[_] || [], h[_].push(m); 24770 } 24771 for (var S = o.getLineStyle(["color"]), g = 0; g < h.length; ++g) e.add($e(h[g], { style: Q({ stroke: s[g % s.length] }, S), silent: true })); 24772 } 24773}, splitArea: function(r, e, t, a) { 24774 LM(r, t, a, a); 24775} }, yf = function(r) { 24776 N(e, r); 24777 function e() { 24778 var t = r !== null && r.apply(this, arguments) || this; 24779 return t.type = e.type, t; 24780 } 24781 return e.prototype.getCoordSysModel = function() { 24782 return this; 24783 }, e.type = "singleAxis", e.layoutMode = "box", e.defaultOption = { left: "5%", top: "5%", right: "5%", bottom: "5%", type: "value", position: "bottom", orient: "horizontal", axisLine: { show: true, lineStyle: { width: 1, type: "solid" } }, tooltip: { show: true }, axisTick: { show: true, length: 6, lineStyle: { width: 1 } }, axisLabel: { show: true, interval: "auto" }, splitLine: { show: true, lineStyle: { type: "dashed", opacity: 0.2 } } }, e; 24784}(gt); 24785Xt(yf, Yo.prototype); 24786var mU = function(r) { 24787 N(e, r); 24788 function e(t, a, n, i, o) { 24789 var s = r.call(this, t, a, n) || this; 24790 return s.type = i || "value", s.position = o || "bottom", s; 24791 } 24792 return e.prototype.isHorizontal = function() { 24793 var t = this.position; 24794 return t === "top" || t === "bottom"; 24795 }, e.prototype.pointToData = function(t, a) { 24796 return this.coordinateSystem.pointToData(t)[0]; 24797 }, e; 24798}(yr), fL = ["single"], _U = function() { 24799 function r(e, t, a) { 24800 this.type = "single", this.dimension = "single", this.dimensions = fL, this.axisPointerEnabled = true, this.model = e, this._init(e, t, a); 24801 } 24802 return r.prototype._init = function(e, t, a) { 24803 var n = this.dimension, i = new mU(n, Hl(e), [0, 0], e.get("type"), e.get("position")), o = i.type === "category"; 24804 i.onBand = o && e.get("boundaryGap"), i.inverse = e.get("inverse"), i.orient = e.get("orient"), e.axis = i, i.model = e, i.coordinateSystem = this, this._axis = i; 24805 }, r.prototype.update = function(e, t) { 24806 e.eachSeries(function(a) { 24807 if (a.coordinateSystem === this) { 24808 var n = a.getData(); 24809 D(n.mapDimensionsAll(this.dimension), function(i) { 24810 this._axis.scale.unionExtentFromData(n, i); 24811 }, this), di(this._axis.scale, this._axis.model); 24812 } 24813 }, this); 24814 }, r.prototype.resize = function(e, t) { 24815 this._rect = Qt({ left: e.get("left"), top: e.get("top"), right: e.get("right"), bottom: e.get("bottom"), width: e.get("width"), height: e.get("height") }, { width: t.getWidth(), height: t.getHeight() }), this._adjustAxis(); 24816 }, r.prototype.getRect = function() { 24817 return this._rect; 24818 }
24818, r.prototype._adjustAxis = function() { 24819 var e = this._rect, t = this._axis, a = t.isHorizontal(), n = a ? [0, e.width] : [0, e.height], i = t.inverse ? 1 : 0; 24820 t.setExtent(n[i], n[1 - i]), this._updateAxisTransform(t, a ? e.x : e.y); 24821 }, r.prototype._updateAxisTransform = function(e, t) { 24822 var a = e.getExtent(), n = a[0] + a[1], i = e.isHorizontal(); 24823 e.toGlobalCoord = i ? function(o) { 24824 return o + t; 24825 } : function(o) { 24826 return n - o + t; 24827 }, e.toLocalCoord = i ? function(o) { 24828 return o - t; 24829 } : function(o) { 24830 return n - o + t; 24831 }; 24832 }, r.prototype.getAxis = function() { 24833 return this._axis; 24834 }, r.prototype.getBaseAxis = function() { 24835 return this._axis; 24836 }, r.prototype.getAxes = function() { 24837 return [this._axis]; 24838 }, r.prototype.getTooltipAxes = function() { 24839 return { baseAxes: [this.getAxis()], otherAxes: [] }; 24840 }, r.prototype.containPoint = function(e) { 24841 var t = this.getRect(), a = this.getAxis(), n = a.orient; 24842 return n === "horizontal" ? a.contain(a.toLocalCoord(e[0])) && e[1] >= t.y && e[1] <= t.y + t.height : a.contain(a.toLocalCoord(e[1])) && e[0] >= t.y && e[0] <= t.y + t.height; 24843 }, r.prototype.pointToData = function(e) { 24844 var t = this.getAxis(); 24845 return [t.coordToData(t.toLocalCoord(e[t.orient === "horizontal" ? 0 : 1]))]; 24846 }, r.prototype.dataToPoint = function(e) { 24847 var t = this.getAxis(), a = this.getRect(), n = [], i = t.orient === "horizontal" ? 0 : 1; 24848 return e instanceof Array && (e = e[0]), n[i] = t.toGlobalCoord(t.dataToCoord(+e)), n[1 - i] = i === 0 ? a.y + a.height / 2 : a.x + a.width / 2, n; 24849 }, r.prototype.convertToPixel = function(e, t, a) { 24850 var n = Cb(t); 24851 return n === this ? this.dataToPoint(a) : null; 24852 }, r.prototype.convertFromPixel = function(e, t, a) { 24853 var n = Cb(t); 24854 return n === this ? this.pointToData(a) : null; 24855 }, r; 24856}(); 24857function Cb(r) { 24858 var e = r.seriesModel, t = r.singleAxisModel; 24859 return t && t.coordinateSystem || e && e.coordinateSystem; 24860} 24861function SU(r, e) { 24862 var t = []; 24863 return r.eachComponent("singleAxis", function(a, n) { 24864 var i = new _U(a, r, e); 24865 i.name = "single_" + n, i.resize(a, e), a.coordinateSystem = i, t.push(i); 24866 }), r.eachSeries(function(a) { 24867 if (a.get("coordinateSystem") === "singleAxis") { 24868 var n = a.getReferringComponents("singleAxis", Jt).models[0]; 24869 a.coordinateSystem = n && n.coordinateSystem; 24870 } 24871 }), t; 24872} 24873var xU = { create: SU, dimensions: fL }, Ab = ["x", "y"], bU = ["width", "height"], wU = function(r) { 24874 N(e, r); 24875 function e() { 24876 return r !== null && r.apply(this, arguments) || this; 24877 } 24878 return e.prototype.makeElOption = function(t, a, n, i, o) { 24879 var s = n.axis, l = s.coordinateSystem, u = dp(l, 1 - uh(s)), f = l.dataToPoint(a)[0], h = i.get("type"); 24880 if (h && h !== "none") { 24881 var v = Rm(i), c = TU[h](s, f, u); 24882 c.style = v, t.graphicKey = c.type, t.pointer = c; 24883 } 24884 var p = hg(n); 24885 aL(a, t, p, n, i, o); 24886 }, e.prototype.getHandleTransform = function(t, a, n) { 24887 var i = hg(a, { labelInside: false }); 24888 i.labelMargin = n.get(["handle", "margin"]); 24889 var o = Em(a.axis, t, i); 24890 return { x: o[0], y: o[1], rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0) }; 24891 }, e.prototype.updateHandleTransform = function(t, a, n, i) { 24892 var o = n.axis, s = o.coordinateSystem, l = uh(o), u = dp(s, l), f = [t.x, t.y]; 24893 f[l] += a[l], f[l] = Math.min(u[1], f[l]), f[l] = Math.max(u[0], f[l]); 24894 var h = dp(s, 1 - l), v = (h[1] + h[0]) / 2, c = [v, v]; 24895 return c[l] = f[l], { x: f[0], y: f[1], rotation: t.rotation, cursorPoint: c, tooltipOption: { verticalAlign: "middle" } }; 24896 }, e; 24897}(Pm), TU = { line: function(r, e, t) { 24898 var a = km([e, t[0]], [e, t[1]], uh(r)); 24899 return { type: "Line", subPixelOptimize: true, shape: a }; 24900}, shadow: function(r, e, t) { 24901 var a = r.getBandWidth(), n = t[1] - t[0]; 24902 return { type: "Rect", shape: nL([e - a / 2, t[0]], [a, n], uh(r)) }; 24903} }; 24904function uh(r) { 24905 return r.isHorizontal() ? 0 : 1; 24906} 24907function dp(r, e) { 24908 var t = r.getRect(); 24909 return [t[Ab[e]], t[Ab[e]] + t[bU[e]]]; 24910} 24911var CU = function(r) { 24912 N(e, r); 24913 function e() { 24914 var t = r !== null && r.apply(this, arguments) || this; 24915 return t.type = e.type, t; 24916 } 24917 return e.type = "single", e; 24918}(Vt); 24919function AU(r) { 24920 pt(jl), Ci.registerAxisPointerClass("SingleAxisPointer", wU), r.registerComponentView(CU), r.registerComponentView(gU), r.registerComponentModel(yf), wo(r, "single", yf, yf.defaultOption), r.registerCoordinateSystem("single", xU); 24921} 24922var DU = function(r) { 24923 N(e, r); 24924 function e() { 24925 var t = r !== null && r.apply(this, arguments) || this; 24926 return t.type = e.type, t; 24927 } 24928 return e.prototype.init = function(t, a, n) { 24929 var i = Bo(t);
24930 r.prototype.init.apply(this, arguments), Db(t, i); 24931 }, e.prototype.mergeOption = function(t) { 24932 r.prototype.mergeOption.apply(this, arguments), Db(this.option, t); 24933 }, e.prototype.getCellSize = function() { 24934 return this.option.cellSize; 24935 }, e.type = "calendar", e.defaultOption = { z: 2, left: 80, top: 60, cellSize: 20, orient: "horizontal", splitLine: { show: true, lineStyle: { color: "#000", width: 1, type: "solid" } }, itemStyle: { color: "#fff", borderWidth: 1, borderColor: "#ccc" }, dayLabel: { show: true, firstDay: 0, position: "start", margin: "50%", color: "#000" }, monthLabel: { show: true, position: "start", margin: 5, align: "center", formatter: null, color: "#000" }, yearLabel: { show: true, position: null, margin: 30, formatter: null, color: "#ccc", fontFamily: "sans-serif", fontWeight: "bolder", fontSize: 20 } }, e; 24936}(gt); 24937function Db(r, e) { 24938 var t = r.cellSize, a; 24939 V(t) ? a = t : a = r.cellSize = [t, t], a.length === 1 && (a[1] = a[0]); 24940 var n = G([0, 1], function(i) { 24941 return Pk(e, i) && (a[i] = "auto"), a[i] != null && a[i] !== "auto"; 24942 }); 24943 an(r, e, { type: "box", ignoreSize: n }); 24944} 24945var MU = function(r) { 24946 N(e, r); 24947 function e() { 24948 var t = r !== null && r.apply(this, arguments) || this; 24949 return t.type = e.type, t; 24950 } 24951 return e.prototype.render = function(t, a, n) { 24952 var i = this.group; 24953 i.removeAll(); 24954 var o = t.coordinateSystem, s = o.getRangeInfo(), l = o.getOrient(), u = a.getLocaleModel(); 24955 this._renderDayRect(t, s, i), this._renderLines(t, s, l, i), this._renderYearText(t, s, l, i), this._renderMonthText(t, u, l, i), this._renderWeekText(t, u, s, l, i); 24956 }, e.prototype._renderDayRect = function(t, a, n) { 24957 for (var i = t.coordinateSystem, o = t.getModel("itemStyle").getItemStyle(), s = i.getCellWidth(), l = i.getCellHeight(), u = a.start.time; u <= a.end.time; u = i.getNextNDay(u, 1).time) { 24958 var f = i.dataToRect([u], false).tl, h = new xt({ shape: { x: f[0], y: f[1], width: s, height: l }, cursor: "default", style: o }); 24959 n.add(h); 24960 } 24961 }, e.prototype._renderLines = function(t, a, n, i) { 24962 var o = this, s = t.coordinateSystem, l = t.getModel(["splitLine", "lineStyle"]).getLineStyle(), u = t.get(["splitLine", "show"]), f = l.lineWidth; 24963 this._tlpoints = [], this._blpoints = [], this._firstDayOfMonth = [], this._firstDayPoints = []; 24964 for (var h = a.start, v = 0; h.time <= a.end.time; v++) { 24965 p(h.formatedDate), v === 0 && (h = s.getDateInfo(a.start.y + "-" + a.start.m)); 24966 var c = h.date; 24967 c.setMonth(c.getMonth() + 1), h = s.getDateInfo(c); 24968 } 24969 p(s.getNextNDay(a.end.time, 1).formatedDate); 24970 function p(d) { 24971 o._firstDayOfMonth.push(s.getDateInfo(d)), o._firstDayPoints.push(s.dataToRect([d], false).tl); 24972 var g = o._getLinePointsOfOneWeek(t, d, n); 24973 o._tlpoints.push(g[0]), o._blpoints.push(g[g.length - 1]), u && o._drawSplitline(g, l, i); 24974 } 24975 u && this._drawSplitline(o._getEdgesPoints(o._tlpoints, f, n), l, i), u && this._drawSplitline(o._getEdgesPoints(o._blpoints, f, n), l, i); 24976 }, e.prototype._getEdgesPoints = function(t, a, n) { 24977 var i = [t[0].slice(), t[t.length - 1].slice()], o = n === "horizontal" ? 0 : 1; 24978 return i[0][o] = i[0][o] - a / 2, i[1][o] = i[1][o] + a / 2, i; 24979 }, e.prototype._drawSplitline = function(t, a, n) { 24980 var i = new De({ z2: 20, shape: { points: t }, style: a }); 24981 n.add(i); 24982 }, e.prototype._getLinePointsOfOneWeek = function(t, a, n) { 24983 for (var i = t.coordinateSystem, o = i.getDateInfo(a), s = [], l = 0; l < 7; l++) { 24984 var u = i.getNextNDay(o.time, l), f = i.dataToRect([u.time], false); 24985 s[2 * u.day] = f.tl, s[2 * u.day + 1] = f[n === "horizontal" ? "bl" : "tr"]; 24986 } 24987 return s; 24988 }, e.prototype._formatterLabel = function(t, a) { 24989 return Y(t) && t ? Dk(t, a) : j(t) ? t(a) : a.nameMap; 24990 }, e.prototype._yearTextPositionControl = function(t, a, n, i, o) { 24991 var s = a[0], l = a[1], u = ["center", "bottom"]; 24992 i === "bottom" ? (l += o, u = ["center", "top"]) : i === "left" ? s -= o : i === "right" ? (s += o, u = ["center", "top"]) : l -= o; 24993 var f = 0; 24994 return (i === "left" || i === "right") && (f = Math.PI / 2), { rotation: f, x: s, y: l, style: { al
24994ign: u[0], verticalAlign: u[1] } }; 24995 }, e.prototype._renderYearText = function(t, a, n, i) { 24996 var o = t.getModel("yearLabel"); 24997 if (o.get("show")) { 24998 var s = o.get("margin"), l = o.get("position"); 24999 l || (l = n !== "horizontal" ? "top" : "left"); 25000 var u = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]], f = (u[0][0] + u[1][0]) / 2, h = (u[0][1] + u[1][1]) / 2, v = n === "horizontal" ? 0 : 1, c = { top: [f, u[v][1]], bottom: [f, u[1 - v][1]], left: [u[1 - v][0], h], right: [u[v][0], h] }, p = a.start.y; 25001 +a.end.y > +a.start.y && (p = p + "-" + a.end.y); 25002 var d = o.get("formatter"), g = { start: a.start.y, end: a.end.y, nameMap: p }, y = this._formatterLabel(d, g), m = new St({ z2: 30, style: Nt(o, { text: y }), silent: o.get("silent") }); 25003 m.attr(this._yearTextPositionControl(m, c[l], n, l, s)), i.add(m); 25004 } 25005 }, e.prototype._monthTextPositionControl = function(t, a, n, i, o) { 25006 var s = "left", l = "top", u = t[0], f = t[1]; 25007 return n === "horizontal" ? (f = f + o, a && (s = "center"), i === "start" && (l = "bottom")) : (u = u + o, a && (l = "middle"), i === "start" && (s = "right")), { x: u, y: f, align: s, verticalAlign: l }; 25008 }, e.prototype._renderMonthText = function(t, a, n, i) { 25009 var o = t.getModel("monthLabel"); 25010 if (o.get("show")) { 25011 var s = o.get("nameMap"), l = o.get("margin"), u = o.get("position"), f = o.get("align"), h = [this._tlpoints, this._blpoints]; 25012 (!s || Y(s)) && (s && (a = md(s) || a), s = a.get(["time", "monthAbbr"]) || []); 25013 var v = u === "start" ? 0 : 1, c = n === "horizontal" ? 0 : 1; 25014 l = u === "start" ? -l : l; 25015 for (var p = f === "center", d = o.get("silent"), g = 0; g < h[v].length - 1; g++) { 25016 var y = h[v][g].slice(), m = this._firstDayOfMonth[g]; 25017 if (p) { 25018 var _ = this._firstDayPoints[g]; 25019 y[c] = (_[c] + h[0][g + 1][c]) / 2; 25020 } 25021 var S = o.get("formatter"), b = s[+m.m - 1], x = { yyyy: m.y, yy: (m.y + "").slice(2), MM: m.m, M: +m.m, nameMap: b }, w = this._formatterLabel(S, x), T = new St({ z2: 30, style: z(Nt(o, { text: w }), this._monthTextPositionControl(y, p, n, u, l)), silent: d }); 25022 i.add(T); 25023 } 25024 } 25025 }, e.prototype._weekTextPositionControl = function(t, a, n, i, o) { 25026 var s = "center", l = "middle", u = t[0], f = t[1], h = n === "start"; 25027 return a === "horizontal" ? (u = u + i + (h ? 1 : -1) * o[0] / 2, s = h ? "right" : "left") : (f = f + i + (h ? 1 : -1) * o[1] / 2, l = h ? "bottom" : "top"), { x: u, y: f, align: s, verticalAlign: l }; 25028 }, e.prototype._renderWeekText = function(t, a, n, i, o) { 25029 var s = t.getModel("dayLabel"); 25030 if (s.get("show")) { 25031 var l = t.coordinateSystem, u = s.get("position"), f = s.get("nameMap"), h = s.get("margin"), v = l.getFirstDayOfWeek(); 25032 if (!f || Y(f)) { 25033 f && (a = md(f) || a); 25034 var c = a.get(["time", "dayOfWeekShort"]); 25035 f = c || G(a.get(["time", "dayOfWeekAbbr"]), function(x) { 25036 return x[0]; 25037 }); 25038 } 25039 var p = l.getNextNDay(n.end.time, 7 - n.lweek).time, d = [l.getCellWidth(), l.getCellHeight()]; 25040 h = W(h, Math.min(d[1], d[0])), u === "start" && (p = l.getNextNDay(n.start.time, -(7 + n.fweek)).time, h = -h); 25041 for (var g = s.get("silent"), y = 0; y < 7; y++) { 25042 var m = l.getNextNDay(p, y), _ = l.dataToRect([m.time], false).center, S = y; 25043 S = Math.abs((y + v) % 7); 25044 var b = new St({ z2: 30, style: z(Nt(s, { text: f[S] }), this._weekTextPositionControl(_, i, u, h, d)), silent: g }); 25045 o.add(b); 25046 } 25047 } 25048 }, e.type = "calendar", e; 25049}(Vt), gp = 864e5, IU = function() { 25050 function r(e, t, a) { 25051 this.type = "calendar", this.dimensions = r.dimensions, this.getDimensionsInfo = r.getDimensionsInfo, this._model = e; 25052 } 25053 return r.getDimensionsInfo = function() { 25054 return [{ name: "time", type: "time" }, "value"]; 25055 }, r.prototype.getRangeInfo = function() { 25056 return this._rangeInfo; 25057 }, r.prototype.getModel = function() { 25058 return this._model; 25059 }, r.prototype.getRect = function() { 25060 return this._rect; 25061 }, r.prototype.getCellWidth = function() { 25062 return this._sw; 25063 }, r.prototype.getCellHeight = function() { 25064 return this._sh; 25065 }, r.prototype.getOrient = function() { 25066 return this._orient; 25067 }, r.prototype.getFirstDayOfWeek = function() { 25068 return this._firstDayOfWeek; 25069 }, r.prototype.getDateInfo = function(e) { 25070 e = Ke(e); 25071 var t = e.getFullYear(), a = e.getMonth() + 1, n = a < 10 ? "0" + a : "" + a, i = e.getDate(), o = i < 10 ? "0" + i : "" + i, s = e.getDay(); 25072 return s = Math.abs((s + 7 - this.getFirstDayOfWeek()) % 7), { y: t + "", m: n, d: o, day: s, time: e.getTime(), formatedDate: t + "-" + n + "-" + o, date: e }; 25073 }, r.prototype.getNextNDay = function(e, t) { 25074 return t = t || 0, t === 0 ? this.getDateInfo(e) : (e = new Date(this.getDateInfo(e).time), e.setDate(e.getDate() + t), this.getDateInfo(e)); 25075 }, r.prototype.update = function(e, t) { 25076 this._firstDayOfWeek = +this._model.getModel("dayLabel").get("firstDay"), this._orient = this._model.get("orient"), this._lineWidth = this._model.getModel("itemStyle").getItemStyle().lineWidth || 0, this._rangeInfo = this._getRangeInfo(this._initRangeOption()); 25077 var a = this._rangeInfo.weeks || 1, n = ["width", "height"], i = this._model.getCellSize().slice(), o = this._model.getBoxLayoutParams(), s = this._orient === "horizontal" ? [a, 7] : [7, a]; 25078 D([0, 1], function(h) { 25079 f(i, h) && (o[n[h]] = i[h] * s[h]); 25080 }); 25081 var l = { width: t.getWidth(), height: t.getHeight() }, u = this._rect = Qt(o, l); 25082 D([0, 1], function(h) { 25083 f(i, h) || (i[h] = u[n[h]] / s[h]); 25084 }); 25085 function f(h, v) { 25086 return h[v] != null && h[v] !== "auto"; 25087 } 25088 this._sw = i[0], this._sh = i[1]; 25089 }, r.prototype.dataToPoint = function(e, t) { 25090 V(e) && (e = e[0]), t == null && (t = true); 25091 var a = this.getDateInfo(e), n = this._rangeInfo, i = a.formatedDate; 25092 if (t && !(a.time >= n.start.time && a.time < n.end.time + gp)) return [NaN, NaN]; 25093 var o = a.day, s = this._getRangeInfo([n.start.time, i]).nthWeek; 25094 return this._orient === "vertical" ? [this._rect.x + o * this._sw + this._sw / 2, this._rect.y + s * this._sh + this._sh / 2] : [this._rect.x + s * this._sw + this._sw / 2, this._rect.y + o * this._sh + this._sh / 2]; 25095 }, r.prototype.pointToData = function(e) { 25096 var t = this.pointToDate(e); 25097 return t && t.time; 25098 }, r.prototype.dataToRect = function(e, t) { 25099 var a = this.dataToPoint(e, t); 25100 return { contentShape: { x: a[0] - (this._sw - this._lineWidth) / 2, y: a[1] - (this._sh - this._lineWidth) / 2, width: this._sw - this._lineWidth, height: this._sh - this._lineWidth }, center: a, tl: [a[0] - this._sw / 2, a[1] - this._sh / 2], tr: [a[0] + this._sw / 2, a[1] - this._sh / 2], br: [a[0] + this._sw / 2, a[1] + this._sh / 2], bl: [a[0] - this._sw / 2, a[1] + this._sh / 2] }; 25101 }, r.prototype.pointToDate = function(e) { 25102 var t = Math.floor((e[0] - this._rect.x) / this._sw) + 1, a = Math.floor((e[1] - this._rect.y) / this._sh) + 1, n = this._rangeInfo.range; 25103 return this._orient === "vertical" ? this._getDateByWeeksAndDay(a, t - 1, n) : this._getDateByWeeksAndDay(t, a - 1, n); 25104 }, r.prototype.convertToPixel = function(e, t, a) { 25105 var n = Mb(t); 25106 return n === this ? n.dataToPoint(a) : null; 25107 }, r.prototype.convertFromPixel = function(e, t, a) { 25108 var n = Mb(t); 25109 return n === this ? n.pointToData(a) : null; 25110 }, r.prototype.containPoint = function(e) { 25111 return console.warn("Not implemented."), false; 25112 }, r.prototype._initRangeOption = function() { 25113 var e = this._model.get("range"), t; 25114 if (V(e) && e.length === 1 && (e = e[0]), V(e)) t = e; 25115 else { 25116 var a = e.toString(); 25117 if (/^\d{4}$/.test(a) && (t = [a + "-01-01", a + "-12-31"]), /^\d{4}[\/|-]\d{1,2}$/.test(a)) { 25118 var n = this.getDateInfo(a), i = n.date; 25119 i.setMonth(i.getMonth() + 1); 25120 var o = this.getNextNDay(i, -1); 25121 t = [n.formatedDate, o.formatedDate]; 25122 } 25123 /^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(a) && (t = [a, a]); 25124 } 25125 if (!t) return e; 25126 var s = this._getRangeInfo(t); 25127 return s.start.time > s.end.time && t.reverse(), t; 25128 }, r.prototype._getRangeInfo = function(e) { 25129 var t = [this.getDateInfo(e[0]), this.getDateInfo(e[1])], a; 25130 t[0].time > t[1].time && (a = true, t.reverse()); 25131 var n = Math.floor(t[1].time / gp) - Math.floor(t[0].time / gp) + 1, i = new Date(t[0].time), o = i.getDate(), s = t[1].date.getDate();
25132 i.setDate(o + n - 1); 25133 var l = i.getDate(); 25134 if (l !== s) for (var u = i.getTime() - t[1].time > 0 ? 1 : -1; (l = i.getDate()) !== s && (i.getTime() - t[1].time) * u > 0; ) n -= u, i.setDate(l - u); 25135 var f = Math.floor((n + t[0].day + 6) / 7), h = a ? -f + 1 : f - 1; 25136 return a && t.reverse(), { range: [t[0].formatedDate, t[1].formatedDate], start: t[0], end: t[1], allDay: n, weeks: f, nthWeek: h, fweek: t[0].day, lweek: t[1].day }; 25137 }, r.prototype._getDateByWeeksAndDay = function(e, t, a) { 25138 var n = this._getRangeInfo(a); 25139 if (e > n.weeks || e === 0 && t < n.fweek || e === n.weeks && t > n.lweek) return null; 25140 var i = (e - 1) * 7 - n.fweek + t, o = new Date(n.start.time); 25141 return o.setDate(+n.start.d + i), this.getDateInfo(o); 25142 }, r.create = function(e, t) { 25143 var a = []; 25144 return e.eachComponent("calendar", function(n) { 25145 var i = new r(n); 25146 a.push(i), n.coordinateSystem = i; 25147 }), e.eachSeries(function(n) { 25148 n.get("coordinateSystem") === "calendar" && (n.coordinateSystem = a[n.get("calendarIndex") || 0]); 25149 }), a; 25150 }, r.dimensions = ["time", "value"], r; 25151}(); 25152function Mb(r) { 25153 var e = r.calendarModel, t = r.seriesModel, a = e ? e.coordinateSystem : t ? t.coordinateSystem : null; 25154 return a; 25155} 25156function LU(r) { 25157 r.registerComponentModel(DU), r.registerComponentView(MU), r.registerCoordinateSystem("calendar", IU); 25158} 25159function PU(r, e) { 25160 var t = r.existing; 25161 if (e.id = r.keyInfo.id, !e.type && t && (e.type = t.type), e.parentId == null) { 25162 var a = e.parentOption; 25163 a ? e.parentId = a.id : t && (e.parentId = t.parentId); 25164 } 25165 e.parentOption = null; 25166} 25167function Ib(r, e) { 25168 var t; 25169 return D(e, function(a) { 25170 r[a] != null && r[a] !== "auto" && (t = true); 25171 }), t; 25172} 25173function RU(r, e, t) { 25174 var a = z({}, t), n = r[e], i = t.$action || "merge"; 25175 i === "merge" ? n ? (ut(n, a, true), an(n, a, { ignoreSize: true }), QC(t, n), Xu(t, n), Xu(t, n, "shape"), Xu(t, n, "style"), Xu(t, n, "extra"), t.clipPath = n.clipPath) : r[e] = a : i === "replace" ? r[e] = a : i === "remove" && n && (r[e] = null); 25176} 25177var hL = ["transition", "enterFrom", "leaveTo"], EU = hL.concat(["enterAnimation", "updateAnimation", "leaveAnimation"]); 25178function Xu(r, e, t) { 25179 if (t && (!r[t] && e[t] && (r[t] = {}), r = r[t], e = e[t]), !(!r || !e)) for (var a = t ? hL : EU, n = 0; n < a.length; n++) { 25180 var i = a[n]; 25181 r[i] == null && e[i] != null && (r[i] = e[i]); 25182 } 25183} 25184function kU(r, e) { 25185 if (r && (r.hv = e.hv = [Ib(e, ["left", "right"]), Ib(e, ["top", "bottom"])], r.type === "group")) { 25186 var t = r, a = e; 25187 t.width == null && (t.width = a.width = 0), t.height == null && (t.height = a.height = 0); 25188 } 25189} 25190var OU = function(r) { 25191 N(e, r); 25192 function e() { 25193 var t = r !== null && r.apply(this, arguments) || this; 25194 return t.type = e.type, t.preventAutoZ = true, t; 25195 } 25196 return e.prototype.mergeOption = function(t, a) { 25197 var n = this.option.elements; 25198 this.option.elements = null, r.prototype.mergeOption.call(this, t, a), this.option.elements = n; 25199 }, e.prototype.optionUpdated = function(t, a) { 25200 var n = this.option, i = (a ? n : t).elements, o = n.elements = a ? [] : n.elements, s = []; 25201 this._flatten(i, s, null); 25202 var l = jT(o, s, "normalMerge"), u = this._elOptionsToUpdate = []; 25203 D(l, function(f, h) { 25204 var v = f.newOption; 25205 v && (u.push(v), PU(f, v), RU(o, h, v), kU(o[h], v)); 25206 }, this), n.elements = Ct(o, function(f) { 25207 return f && delete f.$action, f != null; 25208 }); 25209 }, e.prototype._flatten = function(t, a, n) { 25210 D(t, function(i) { 25211 if (i) { 25212 n && (i.parentOption = n), a.push(i); 25213 var o = i.children; 25214 o && o.length && this._flatten(o, a, i), delete i.children; 25215 } 25216 }, this); 25217 }, e.prototype.useElOptionsToUpdate = function() { 25218 var t = this._elOptionsToUpdate; 25219 return this._elOptionsToUpdate = null, t; 25220 }, e.type = "graphic", e.defaultOption = { elements: [] }, e; 25221}(gt), Lb = { path: null, compoundPath: null, group: at, image: ue, text: St }, ir = bt(), NU = function(r) { 25222 N(e, r); 25223 function e() { 25224 var t = r !== null && r.apply(this, arguments) || this; 25225 return t.type = e.type, t; 25226 } 25227 return e.prototype.init = function() { 25228 this._elMap = Z(); 25229 }, e.prototype.render = function(t, a, n) { 25230 t !== this._lastGraphicModel && this._clear(), this._lastGraphicModel = t, this._updateElements(t), this._relocate(t, n); 25231 }, e.prototype._updateElements = function(t) { 25232 var a = t.useElOptionsToUpdate(); 25233 if (a) { 25234 var n = this._elMap, i = this.group, o = t.get("z"), s = t.get("zlevel"); 25235 D(a, function(l) { 25236 var u = te(l.id, null), f = u != null ? n.get(u) : null, h = te(l.parentId, null), v = h != null ? n.get(h) : i, c = l.type, p = l.style; 25237 c === "text" && p && l.hv && l.hv[1] && (p.textVerticalAlign = p.textBaseline = p.verticalAlign = p.align = null); 25238 var d = l.textContent, g = l.textConfig; 25239 if (p && YI(p, c, !!g, !!d)) { 25240 var y = $I(p, c, true); 25241 !g && y.textConfig && (g = l.textConfig = y.textConfig), !d && y.textContent && (d = y.textContent); 25242 } 25243 var m = BU(l), _ = l.$action || "merge", S = _ === "merge", b = _ === "replace"; 25244 if (S) { 25245 var x = !f, w = f; 25246 x ? w = Pb(u, v, l.type, n) : (w && (ir(w).isNew = false), KI(w)), w && (df(w, m, t, { isInit: x }), Rb(w, l, o, s)); 25247 } else if (b) { 25248 mf(f, l, n, t); 25249 var T = Pb(u, v, l.type, n); 25250 T && (df(T, m, t, { isInit: true }), Rb(T, l, o, s)); 25251 } else _ === "remove" && (ZI(f, l), mf(f, l, n, t)); 25252 var C = n.get(u); 25253 if (C && d) if (S) { 25254 var A = C.getTextContent(); 25255 A ? A.attr(d) : C.setTextContent(new St(d)); 25256 } else b && C.setTextContent(new St(d)); 25257 if (C) { 25258 var M = l.clipPath; 25259 if (M) { 25260 var I = M.type, L = void 0, x = false;
25261 if (S) { 25262 var P = C.getClipPath(); 25263 x = !P || ir(P).type !== I, L = x ? vg(I) : P; 25264 } else b && (x = true, L = vg(I)); 25265 C.setClipPath(L), df(L, M, t, { isInit: x }), sh(L, M.keyframeAnimation, t); 25266 } 25267 var R = ir(C); 25268 C.setTextConfig(g), R.option = l, zU(C, t, l), Si({ el: C, componentModel: t, itemName: C.name, itemTooltipOption: l.tooltip }), sh(C, l.keyframeAnimation, t); 25269 } 25270 }); 25271 } 25272 }, e.prototype._relocate = function(t, a) { 25273 for (var n = t.option.elements, i = this.group, o = this._elMap, s = a.getWidth(), l = a.getHeight(), u = ["x", "y"], f = 0; f < n.length; f++) { 25274 var h = n[f], v = te(h.id, null), c = v != null ? o.get(v) : null; 25275 if (!(!c || !c.isGroup)) { 25276 var p = c.parent, d = p === i, g = ir(c), y = ir(p); 25277 g.width = W(g.option.width, d ? s : y.width) || 0, g.height = W(g.option.height, d ? l : y.height) || 0; 25278 } 25279 } 25280 for (var f = n.length - 1; f >= 0; f--) { 25281 var h = n[f], v = te(h.id, null), c = v != null ? o.get(v) : null; 25282 if (c) { 25283 var p = c.parent, y = ir(p), m = p === i ? { width: s, height: l } : { width: y.width, height: y.height }, _ = {}, S = Wh(c, h, m, null, { hv: h.hv, boundingMode: h.bounding }, _); 25284 if (!ir(c).isNew && S) { 25285 for (var b = h.transition, x = {}, w = 0; w < u.length; w++) { 25286 var T = u[w], C = _[T]; 25287 b && (si(b) || vt(b, T) >= 0) ? x[T] = C : c[T] = C; 25288 } 25289 Tt(c, x, t, 0); 25290 } else c.attr(_); 25291 } 25292 } 25293 }, e.prototype._clear = function() { 25294 var t = this, a = this._elMap; 25295 a.each(function(n) { 25296 mf(n, ir(n).option, a, t._lastGraphicModel); 25297 }), this._elMap = Z(); 25298 }, e.prototype.dispose = function() { 25299 this._clear(); 25300 }, e.type = "graphic", e; 25301}(Vt); 25302function vg(r) { 25303 var e = X(Lb, r) ? Lb[r] : Nh(r), t = new e({}); 25304 return ir(t).type = r, t; 25305} 25306function Pb(r, e, t, a) { 25307 var n = vg(t); 25308 return e.add(n), a.set(r, n), ir(n).id = r, ir(n).isNew = true, n; 25309} 25310function mf(r, e, t, a) { 25311 var n = r && r.parent; 25312 n && (r.type === "group" && r.traverse(function(i) { 25313 mf(i, e, t, a); 25314 }), ov(r, e, a), t.removeKey(ir(r).id)); 25315} 25316function Rb(r, e, t, a) { 25317 r.isGroup || D([["cursor", vr.prototype.cursor], ["zlevel", a || 0], ["z", t || 0], ["z2", 0]], function(n) { 25318 var i = n[0]; 25319 X(e, i) ? r[i] = st(e[i], n[1]) : r[i] == null && (r[i] = n[1]); 25320 }), D(_t(e), function(n) { 25321 if (n.indexOf("on") === 0) { 25322 var i = e[n]; 25323 r[n] = j(i) ? i : null; 25324 } 25325 }), X(e, "draggable") && (r.draggable = e.draggable), e.name != null && (r.name = e.name), e.id != null && (r.id = e.id); 25326} 25327function BU(r) { 25328 return r = z({}, r), D(["id", "parentId", "$action", "hv", "bounding", "textContent", "clipPath"].concat(JC), function(e) { 25329 delete r[e]; 25330 }), r; 25331} 25332function zU(r, e, t) { 25333 var a = it(r).eventData; 25334 !r.silent && !r.ignore && !a && (a = it(r).eventData = { componentType: "graphic", componentIndex: e.componentIndex, name: r.name }), a && (a.info = t.info); 25335} 25336function VU(r) { 25337 r.registerComponentModel(OU), r.registerComponentView(NU), r.registerPreprocessor(function(e) { 25338 var t = e.graphic; 25339 V(t) ? !t[0] || !t[0].elements ? e.graphic = [{ elements: t }] : e.graphic = [e.graphic[0]] : t && !t.elements && (e.graphic = [{ elements: [t] }]); 25340 }); 25341} 25342var Eb = ["x", "y", "radius", "angle", "single"], GU = ["cartesian2d", "polar", "singleAxis"]; 25343function FU(r) { 25344 var e = r.get("coordinateSystem"); 25345 return vt(GU, e) >= 0; 25346} 25347function Ya(r) { 25348 return r + "Axis"; 25349} 25350function HU(r, e) { 25351 var t = Z(), a = [], n = Z(); 25352 r.eachComponent({ mainType: "dataZoom", query: e }, function(f) { 25353 n.get(f.uid) || s(f); 25354 }); 25355 var i; 25356 do 25357 i = false, r.eachComponent("dataZoom", o); 25358 while (i); 25359 function o(f) { 25360 !n.get(f.uid) && l(f) && (s(f), i = true); 25361 } 25362 function s(f) { 25363 n.set(f.uid, true), a.push(f), u(f); 25364 } 25365 function l(f) { 25366 var h = false; 25367 return f.eachTargetAxis(function(v, c) { 25368 var p = t.get(v); 25369 p && p[c] && (h = true); 25370 }), h; 25371 } 25372 function u(f) { 25373 f.eachTargetAxis(function(h, v) { 25374 (t.get(h) || t.set(h, []))[v] = true; 25375 }); 25376 } 25377 return a; 25378} 25379function vL(r) { 25380 var e = r.ecModel, t = { infoList: [], infoMap: Z() }; 25381 return r.eachTargetAxis(function(a, n) { 25382 var i = e.getComponent(Ya(a), n); 25383 if (i) { 25384 var o = i.getCoordSysModel(); 25385 if (o) { 25386 var s = o.uid, l = t.infoMap.get(s); 25387 l || (l = { model: o, axisModels: [] }, t.infoList.push(l), t.infoMap.set(s, l)), l.axisModels.push(i); 25388 } 25389 } 25390 }), t;
25391} 25392var yp = function() { 25393 function r() { 25394 this.indexList = [], this.indexMap = []; 25395 } 25396 return r.prototype.add = function(e) { 25397 this.indexMap[e] || (this.indexList.push(e), this.indexMap[e] = true); 25398 }, r; 25399}(), Al = function(r) { 25400 N(e, r); 25401 function e() { 25402 var t = r !== null && r.apply(this, arguments) || this; 25403 return t.type = e.type, t._autoThrottle = true, t._noTarget = true, t._rangePropMode = ["percent", "percent"], t; 25404 } 25405 return e.prototype.init = function(t, a, n) { 25406 var i = kb(t); 25407 this.settledOption = i, this.mergeDefaultAndTheme(t, n), this._doInit(i); 25408 }, e.prototype.mergeOption = function(t) { 25409 var a = kb(t); 25410 ut(this.option, t, true), ut(this.settledOption, a, true), this._doInit(a); 25411 }, e.prototype._doInit = function(t) { 25412 var a = this.option; 25413 this._setDefaultThrottle(t), this._updateRangeUse(t); 25414 var n = this.settledOption; 25415 D([["start", "startValue"], ["end", "endValue"]], function(i, o) { 25416 this._rangePropMode[o] === "value" && (a[i[0]] = n[i[0]] = null); 25417 }, this), this._resetTarget(); 25418 }, e.prototype._resetTarget = function() { 25419 var t = this.get("orient", true), a = this._targetAxisInfoMap = Z(), n = this._fillSpecifiedTargetAxis(a); 25420 n ? this._orient = t || this._makeAutoOrientByTargetAxis() : (this._orient = t || "horizontal", this._fillAutoTargetAxisByOrient(a, this._orient)), this._noTarget = true, a.each(function(i) { 25421 i.indexList.length && (this._noTarget = false); 25422 }, this); 25423 }, e.prototype._fillSpecifiedTargetAxis = function(t) { 25424 var a = false; 25425 return D(Eb, function(n) { 25426 var i = this.getReferringComponents(Ya(n), _R); 25427 if (i.specified) { 25428 a = true; 25429 var o = new yp(); 25430 D(i.models, function(s) { 25431 o.add(s.componentIndex); 25432 }), t.set(n, o); 25433 } 25434 }, this), a; 25435 }, e.prototype._fillAutoTargetAxisByOrient = function(t, a) { 25436 var n = this.ecModel, i = true; 25437 if (i) { 25438 var o = a === "vertical" ? "y" : "x", s = n.findComponents({ mainType: o + "Axis" }); 25439 l(s, o); 25440 } 25441 if (i) { 25442 var s = n.findComponents({ mainType: "singleAxis", filter: function(f) { 25443 return f.get("orient", true) === a; 25444 } }); 25445 l(s, "single"); 25446 } 25447 function l(u, f) { 25448 var h = u[0]; 25449 if (h) { 25450 var v = new yp(); 25451 if (v.add(h.componentIndex), t.set(f, v), i = false, f === "x" || f === "y") { 25452 var c = h.getReferringComponents("grid", Jt).models[0]; 25453 c && D(u, function(p) { 25454 h.componentIndex !== p.componentIndex && c === p.getReferringComponents("grid", Jt).models[0] && v.add(p.componentIndex); 25455 }); 25456 } 25457 } 25458 } 25459 i && D(Eb, function(u) { 25460 if (i) { 25461 var f = n.findComponents({ mainType: Ya(u), filter: function(v) { 25462 return v.get("type", true) === "category"; 25463 } }); 25464 if (f[0]) { 25465 var h = new yp(); 25466 h.add(f[0].componentIndex), t.set(u, h), i = false; 25467 } 25468 } 25469 }, this); 25470 }, e.prototype._makeAutoOrientByTargetAxis = function() { 25471 var t; 25472 return this.eachTargetAxis(function(a) { 25473 !t && (t = a); 25474 }, this), t === "y" ? "vertical" : "horizontal"; 25475 }, e.prototype._setDefaultThrottle = function(t) { 25476 if (t.hasOwnProperty("throttle") && (this._autoThrottle = false), this._autoThrottle) { 25477 var a = this.ecModel.option; 25478 this.option.throttle = a.animation && a.animationDurationUpdate > 0 ? 100 : 20; 25479 } 25480 }, e.prototype._updateRangeUse = function(t) { 25481 var a = this._rangePropMode, n = this.get("rangeMode"); 25482 D([["start", "startValue"], ["end", "endValue"]], function(i, o) { 25483 var s = t[i[0]] != null, l = t[i[1]] != null; 25484 s && !l ? a[o] = "percent" : !s && l ? a[o] = "value" : n ? a[o] = n[o] : s && (a[o] = "percent"); 25485 }); 25486 }, e.prototype.noTarget = function() { 25487 return this._noTarget; 25488 }, e.prototype.getFirstTargetAxisModel = function() { 25489 var t; 25490 return this.eachTargetAxis(function(a, n) { 25491 t == null && (t = this.ecModel.getComponent(Ya(a), n)); 25492 }, this), t;
25493 }, e.prototype.eachTargetAxis = function(t, a) { 25494 this._targetAxisInfoMap.each(function(n, i) { 25495 D(n.indexList, function(o) { 25496 t.call(a, i, o); 25497 }); 25498 }); 25499 }, e.prototype.getAxisProxy = function(t, a) { 25500 var n = this.getAxisModel(t, a); 25501 if (n) return n.__dzAxisProxy; 25502 }, e.prototype.getAxisModel = function(t, a) { 25503 var n = this._targetAxisInfoMap.get(t); 25504 if (n && n.indexMap[a]) return this.ecModel.getComponent(Ya(t), a); 25505 }, e.prototype.setRawRange = function(t) { 25506 var a = this.option, n = this.settledOption; 25507 D([["start", "startValue"], ["end", "endValue"]], function(i) { 25508 (t[i[0]] != null || t[i[1]] != null) && (a[i[0]] = n[i[0]] = t[i[0]], a[i[1]] = n[i[1]] = t[i[1]]); 25509 }, this), this._updateRangeUse(t); 25510 }, e.prototype.setCalculatedRange = function(t) { 25511 var a = this.option; 25512 D(["start", "startValue", "end", "endValue"], function(n) { 25513 a[n] = t[n]; 25514 }); 25515 }, e.prototype.getPercentRange = function() { 25516 var t = this.findRepresentativeAxisProxy(); 25517 if (t) return t.getDataPercentWindow(); 25518 }, e.prototype.getValueRange = function(t, a) { 25519 if (t == null && a == null) { 25520 var n = this.findRepresentativeAxisProxy(); 25521 if (n) return n.getDataValueWindow(); 25522 } else return this.getAxisProxy(t, a).getDataValueWindow(); 25523 }, e.prototype.findRepresentativeAxisProxy = function(t) { 25524 if (t) return t.__dzAxisProxy; 25525 for (var a, n = this._targetAxisInfoMap.keys(), i = 0; i < n.length; i++) for (var o = n[i], s = this._targetAxisInfoMap.get(o), l = 0; l < s.indexList.length; l++) { 25526 var u = this.getAxisProxy(o, s.indexList[l]); 25527 if (u.hostedBy(this)) return u; 25528 a || (a = u); 25529 } 25530 return a; 25531 }, e.prototype.getRangePropMode = function() { 25532 return this._rangePropMode.slice(); 25533 }, e.prototype.getOrient = function() { 25534 return this._orient; 25535 }, e.type = "dataZoom", e.dependencies = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "series", "toolbox"], e.defaultOption = { z: 4, filterMode: "filter", start: 0, end: 100 }, e; 25536}(gt); 25537function kb(r) { 25538 var e = {}; 25539 return D(["start", "end", "startValue", "endValue", "throttle"], function(t) { 25540 r.hasOwnProperty(t) && (e[t] = r[t]); 25541 }), e; 25542} 25543var WU = function(r) { 25544 N(e, r); 25545 function e() { 25546 var t = r !== null && r.apply(this, arguments) || this; 25547 return t.type = e.type, t; 25548 } 25549 return e.type = "dataZoom.select", e; 25550}(Al), zm = function(r) { 25551 N(e, r); 25552 function e() { 25553 var t = r !== null && r.apply(this, arguments) || this; 25554 return t.type = e.type, t; 25555 } 25556 return e.prototype.render = function(t, a, n, i) { 25557 this.dataZoomModel = t, this.ecModel = a, this.api = n; 25558 }, e.type = "dataZoom", e; 25559}(Vt), UU = function(r) { 25560 N(e, r); 25561 function e() { 25562 var t = r !== null && r.apply(this, arguments) || this; 25563 return t.type = e.type, t; 25564 } 25565 return e.type = "dataZoom.select", e; 25566}(zm), to = D, Ob = Xe, YU = function() { 25567 function r(e, t, a, n) { 25568 this._dimName = e, this._axisIndex = t, this.ecModel = n, this._dataZoomModel = a; 25569 } 25570 return r.prototype.hostedBy = function(e) { 25571 return this._dataZoomModel === e; 25572 }, r.prototype.getDataValueWindow = function() { 25573 return this._valueWindow.slice(); 25574 }, r.prototype.getDataPercentWindow = function() { 25575 return this._percentWindow.slice(); 25576 }, r.prototype.getTargetSeriesModels = function() { 25577 var e = []; 25578 return this.ecModel.eachSeries(function(t) { 25579 if (FU(t)) { 25580 var a = Ya(this._dimName), n = t.getReferringComponents(a, Jt).models[0]; 25581 n && this._axisIndex === n.componentIndex && e.push(t); 25582 } 25583 }, this), e; 25584 }, r.prototype.getAxisModel = function() { 25585 return this.ecModel.getComponent(this._dimName + "Axis", this._axisIndex); 25586 }, r.prototype.getMinMaxSpan = function() { 25587 return rt(this._minMaxSpan); 25588 }, r.prototype.calculateDataWindow = function(e) { 25589 var t = this._dataExtent, a = this.getAxisModel(), n = a.axis.scale, i = this._dataZoomModel.getRangePropMode(), o = [0, 100], s = [], l = [], u; 25590 to(["start", "end"], function(v, c) { 25591 var p = e[v], d = e[v + "Value"]; 25592 i[c] === "percent" ? (p == null && (p = o[c]), d = n.parse(Dt(p, o, t))) : (u = true, d = d == null ? t[c] : n.parse(d), p = Dt(d, t, o)), l[c] = d == null || isNaN(d) ? t[c] : d, s[c] = p == null || isNaN(p) ? o[c] : p; 25593 }), Ob(l), Ob(s); 25594 var f = this._minMaxSpan; 25595 u ? h(l, s, t, o, false) : h(s, l, o, t, true); 25596 function h(v, c, p, d, g) { 25597 var y = g ? "Span" : "ValueSpan"; 25598 Ai(0, v, p, "all", f["min" + y], f["max" + y]); 25599 for (var m = 0; m < 2; m++) c[m] = Dt(v[m], p, d, true), g && (c[m] = n.parse(c[m])); 25600 } 25601 return { valueWindow: l, percentWindow: s }; 25602 }, r.prototype.reset = function(e) { 25603 if (e === this._dataZoomModel) { 25604 var t = this.getTargetSeriesModels(); 25605 this._dataExtent = $U(this, this._dimName, t), this._updateMinMaxSpan(); 25606 var a = this.calculateDataWindow(e.settledOption); 25607 this._valueWindow = a.valueWindow, this._percentWindow = a.percentWindow, this._setAxisModel(); 25608 } 25609 }, r.prototype.filterData = function(e, t) { 25610 if (e !== this._dataZoomModel) return; 25611 var a = this._dimName, n = this.getTargetSeriesModels(), i = e.get("filterMode"), o = this._valueWindow; 25612 if (i === "none") return; 25613 to(n, function(l) { 25614 var u = l.getData(), f = u.mapDimensionsAll(a); 25615 if (f.length) { 25616 if (i === "weakFilter") { 25617 var h = u.getStore(), v = G(f, function(c) { 25618 return u.getDimensionIndex(c); 25619 }, u); 25620 u.filterSelf(function(c) { 25621 for (var p, d, g, y = 0; y < f.length; y++) { 25622 var m = h.get(v[y], c), _ = !isNaN(m), S = m < o[0], b = m > o[1]; 25623 if (_ && !S && !b) return true; 25624 _ && (g = true), S && (p = true), b && (d = true); 25625 } 25626 return g && p && d; 25627 }); 25628 } else to(f, function(c) { 25629 if (i === "empty") l.setData(u = u.map(c, function(d) { 25630 return s(d) ? d : NaN; 25631 })); 25632 else { 25633 var p = {}; 25634 p[c] = o, u.selectRange(p); 25635 } 25636 }); 25637 to(f, function(c) { 25638 u.setApproximateExtent(o, c); 25639 }); 25640 } 25641 }); 25642 function s(l) { 25643 return l >= o[0] && l <= o[1]; 25644 } 25645 }, r.prototype._updateMinMaxSpan = function() { 25646 var e = this._minMaxSpan = {}, t = this._dataZoomModel, a = this._dataExtent; 25647 to(["min", "max"], function(n) { 25648 var i = t.get(n + "Span"), o = t.get(n + "ValueSpan"); 25649 o != null && (o = this.getAxisModel().axis.scale.parse(o)), o != null ? i = Dt(a[0] + o, a, [0, 100], true) : i != null && (o = Dt(i, [0, 100], a, true) - a[0]), e[n + "Span"] = i, e[n + "ValueSpan"] = o; 25650 }, this); 25651 }, r.prototype._setAxisModel = function() { 25652 var e = this.getAxisModel(), t = this._percentWindow, a = this._valueWindow; 25653 if (t) { 25654 var n = Fg(a, [0, 500]); 25655 n = Math.min(n, 20); 25656 var i = e.axis.scale.rawExtentInfo; 25657 t[0] !== 0 && i.setDeterminedMinMax("min", +a[0].toFixed(n)), t[1] !== 100 && i.setDeterminedMinMax("max", +a[1].toFixed(n)), i.freeze(); 25658 } 25659 }, r; 25660}(); 25661function $U(r, e, t) { 25662 var a = [1 / 0, -1 / 0]; 25663 to(t, function(o) { 25664 hz(a, o.getData(), e); 25665 }); 25666 var n = r.getAxisModel(), i = LD(n.axis.scale, n, a).calculate(); 25667 return [i.min, i.max]; 25668} 25669var XU = { getTargetSeries: function(r) { 25670 function e(n) { 25671 r.eachComponent("dataZoom", function(i) { 25672 i.eachTargetAxis(function(o, s) { 25673 var l = r.getComponent(Ya(o), s); 25674 n(o, s, l, i); 25675 }); 25676 }); 25677 } 25678 e(function(n, i, o, s) { 25679 o.__dzAxisProxy = null; 25680 }); 25681 var t = []; 25682 e(function(n, i, o, s) { 25683 o.__dzAxisProxy || (o.__dzAxisProxy = new YU(n, i, s, r), t.push(o.__dzAxisProxy)); 25684 }); 25685 var a = Z(); 25686 return D(t, function(n) { 25687 D(n.getTargetSeriesModels(), function(i) { 25688 a.set(i.uid, i); 25689 }); 25690 }), a; 25691}, overallReset: function(r, e) { 25692 r.eachComponent("dataZoom", function(t) { 25693 t.eachTargetAxis(function(a, n) { 25694 t.getAxisProxy(a, n).reset(t); 25695 }), t.eachTargetAxis(function(a, n) { 25696 t.getAxisProxy(a, n).filterData(t, e); 25697 }); 25698 }), r.eachComponent("dataZoom", function(t) { 25699 var a = t.findRepresentativeAxisProxy(); 25700 if (a) { 25701 var n = a.getDataPercentWindow(), i = a.getDataValueWindow(); 25702 t.setCalculatedRange({ start: n[0], end: n[1], startValue: i[0], endValue: i[1] }); 25703 } 25704 }); 25705} }; 25706function ZU(r) { 25707 r.registerAction("dataZoom", function(e, t) { 25708 var a = HU(t, e); 25709 D(a, function(n) { 25710 n.setRawRange({ start: e.start, end: e.end, startValue: e.startValue, endValue: e.endValue }); 25711 }); 25712 }); 25713} 25714var Nb = false;
25715function Vm(r) { 25716 Nb || (Nb = true, r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER, XU), ZU(r), r.registerSubTypeDefaulter("dataZoom", function() { 25717 return "slider"; 25718 })); 25719} 25720function qU(r) { 25721 r.registerComponentModel(WU), r.registerComponentView(UU), Vm(r); 25722} 25723var sr = /* @__PURE__ */ function() { 25724 function r() { 25725 } 25726 return r; 25727}(), cL = {}; 25728function eo(r, e) { 25729 cL[r] = e; 25730} 25731function pL(r) { 25732 return cL[r]; 25733} 25734var KU = function(r) { 25735 N(e, r); 25736 function e() { 25737 var t = r !== null && r.apply(this, arguments) || this; 25738 return t.type = e.type, t; 25739 } 25740 return e.prototype.optionUpdated = function() { 25741 r.prototype.optionUpdated.apply(this, arguments); 25742 var t = this.ecModel; 25743 D(this.option.feature, function(a, n) { 25744 var i = pL(n); 25745 i && (i.getDefaultOption && (i.defaultOption = i.getDefaultOption(t)), ut(a, i.defaultOption)); 25746 }); 25747 }, e.type = "toolbox", e.layoutMode = { type: "box", ignoreSize: true }, e.defaultOption = { show: true, z: 6, orient: "horizontal", left: "right", top: "top", backgroundColor: "transparent", borderColor: "#ccc", borderRadius: 0, borderWidth: 0, padding: 5, itemSize: 15, itemGap: 8, showTitle: true, iconStyle: { borderColor: "#666", color: "none" }, emphasis: { iconStyle: { borderColor: "#3E98C5" } }, tooltip: { show: false, position: "bottom" } }, e; 25748}(gt); 25749function jU(r, e, t) { 25750 var a = e.getBoxLayoutParams(), n = e.get("padding"), i = { width: t.getWidth(), height: t.getHeight() }, o = Qt(a, i, n); 25751 ni(e.get("orient"), r, e.get("itemGap"), o.width, o.height), Wh(r, a, i, n); 25752} 25753function dL(r, e) { 25754 var t = bi(e.get("padding")), a = e.getItemStyle(["color", "opacity"]); 25755 return a.fill = e.get("backgroundColor"), r = new xt({ shape: { x: r.x - t[3], y: r.y - t[0], width: r.width + t[1] + t[3], height: r.height + t[0] + t[2], r: e.get("borderRadius") }, style: a, silent: true, z2: -1 }), r; 25756} 25757var JU = function(r) { 25758 N(e, r); 25759 function e() { 25760 return r !== null && r.apply(this, arguments) || this; 25761 } 25762 return e.prototype.render = function(t, a, n, i) { 25763 var o = this.group; 25764 if (o.removeAll(), !t.get("show")) return; 25765 var s = +t.get("itemSize"), l = t.get("orient") === "vertical", u = t.get("feature") || {}, f = this._features || (this._features = {}), h = []; 25766 D(u, function(p, d) { 25767 h.push(d); 25768 }), new Sa(this._featureNames || [], h).add(v).update(v).remove(lt(v, null)).execute(), this._featureNames = h; 25769 function v(p, d) { 25770 var g = h[p], y = h[d], m = u[g], _ = new At(m, t, t.ecModel), S; 25771 if (i && i.newTitle != null && i.featureName === g && (m.title = i.newTitle), g && !y) { 25772 if (QU(g)) S = { onclick: _.option.onclick, featureName: g }; 25773 else { 25774 var b = pL(g); 25775 if (!b) return; 25776 S = new b(); 25777 } 25778 f[g] = S; 25779 } else if (S = f[y], !S) return; 25780 S.uid = No("toolbox-feature"), S.model = _, S.ecModel = a, S.api = n; 25781 var x = S instanceof sr; 25782 if (!g && y) { 25783 x && S.dispose && S.dispose(a, n); 25784 return; 25785 } 25786 if (!_.get("show") || x && S.unusable) { 25787 x && S.remove && S.remove(a, n); 25788 return; 25789 } 25790 c(_, S, g), _.setIconStatus = function(w, T) { 25791 var C = this.option, A = this.iconPaths; 25792 C.iconStatus = C.iconStatus || {}, C.iconStatus[w] = T, A[w] && (T === "emphasis" ? ma : _a)(A[w]); 25793 }, S instanceof sr && S.render && S.render(_, a, n, i); 25794 } 25795 function c(p, d, g) { 25796 var y = p.getModel("iconStyle"), m = p.getModel(["emphasis", "iconStyle"]), _ = d instanceof sr && d.getIcons ? d.getIcons() : p.get("icon"), S = p.get("title") || {}, b, x; 25797 Y(_) ? (b = {}, b[g] = _) : b = _, Y(S) ? (x = {}, x[g] = S) : x = S; 25798 var w = p.iconPaths = {}; 25799 D(b, function(T, C) { 25800 var A = ko(T, {}, { x: -s / 2, y: -s / 2, width: s, height: s }); 25801 A.setStyle(y.getItemStyle()); 25802 var M = A.ensureState("emphasis"); 25803 M.style = m.getItemStyle(); 25804 var I = new St({ style: { text: x[C], align: m.get("textAlign"), borderRadius: m.get("textBorderRadius"), padding: m.get("textPadding"), fill: null, font: sy({ fontStyle: m.get("textFontStyle"), fontFamily: m.get("textFontFamily"), fontSize: m.get("textFontSize"), fontWeight: m.get("textFontWeight") }, a) }, ignore: true }); 25805 A.setTextContent(I), Si({ el: A, componentModel: t, itemName: C, formatterParamsExtra: { title: x[C] } }), A.__title = x[C], A.on("mouseover", function() { 25806 var L = m.getItemStyle(), P = l ? t.get("right") == null && t.get("left") !== "right" ? "right" : "left" : t.get("bottom") == null && t.get("top") !== "bottom" ? "bottom" : "top"; 25807 I.setStyle({ fill: m.get("textFill") || L.fill || L.stroke || "#000", backgroundColor: m.get("textBackgroun
25807dColor") }), A.setTextConfig({ position: m.get("textPosition") || P }), I.ignore = !t.get("showTitle"), n.enterEmphasis(this); 25808 }).on("mouseout", function() { 25809 p.get(["iconStatus", C]) !== "emphasis" && n.leaveEmphasis(this), I.hide(); 25810 }), (p.get(["iconStatus", C]) === "emphasis" ? ma : _a)(A), o.add(A), A.on("click", $(d.onclick, d, a, n, C)), w[C] = A; 25811 }); 25812 } 25813 jU(o, t, n), o.add(dL(o.getBoundingRect(), t)), l || o.eachChild(function(p) { 25814 var d = p.__title, g = p.ensureState("emphasis"), y = g.textConfig || (g.textConfig = {}), m = p.getTextContent(), _ = m && m.ensureState("emphasis"); 25815 if (_ && !j(_) && d) { 25816 var S = _.style || (_.style = {}), b = El(d, St.makeFont(S)), x = p.x + o.x, w = p.y + o.y + s, T = false; 25817 w + b.height > n.getHeight() && (y.position = "top", T = true); 25818 var C = T ? -5 - b.height : s + 10; 25819 x + b.width / 2 > n.getWidth() ? (y.position = ["100%", C], S.align = "right") : x - b.width / 2 < 0 && (y.position = [0, C], S.align = "left"); 25820 } 25821 }); 25822 }, e.prototype.updateView = function(t, a, n, i) { 25823 D(this._features, function(o) { 25824 o instanceof sr && o.updateView && o.updateView(o.model, a, n, i); 25825 }); 25826 }, e.prototype.remove = function(t, a) { 25827 D(this._features, function(n) { 25828 n instanceof sr && n.remove && n.remove(t, a); 25829 }), this.group.removeAll(); 25830 }, e.prototype.dispose = function(t, a) { 25831 D(this._features, function(n) { 25832 n instanceof sr && n.dispose && n.dispose(t, a); 25833 }); 25834 }, e.type = "toolbox", e; 25835}(Vt); 25836function QU(r) { 25837 return r.indexOf("my") === 0; 25838} 25839var t8 = function(r) { 25840 N(e, r); 25841 function e() { 25842 return r !== null && r.apply(this, arguments) || this; 25843 } 25844 return e.prototype.onclick = function(t, a) { 25845 var n = this.model, i = n.get("name") || t.get("title.0.text") || "echarts", o = a.getZr().painter.getType() === "svg", s = o ? "svg" : n.get("type", true) || "png", l = a.getConnectedDataURL({ type: s, backgroundColor: n.get("backgroundColor", true) || t.get("backgroundColor") || "#fff", connectedBackgroundColor: n.get("connectedBackgroundColor"), excludeComponents: n.get("excludeComponents"), pixelRatio: n.get("pixelRatio") }), u = yt.browser; 25846 if (typeof MouseEvent == "function" && (u.newEdge || !u.ie && !u.edge)) { 25847 var f = document.createElement("a"); 25848 f.download = i + "." + s, f.target = "_blank", f.href = l; 25849 var h = new MouseEvent("click", { view: document.defaultView, bubbles: true, cancelable: false }); 25850 f.dispatchEvent(h); 25851 } else if (window.navigator.msSaveOrOpenBlob || o) { 25852 var v = l.split(","), c = v[0].indexOf("base64") > -1, p = o ? decodeURIComponent(v[1]) : v[1]; 25853 c && (p = window.atob(p)); 25854 var d = i + "." + s; 25855 if (window.navigator.msSaveOrOpenBlob) { 25856 for (var g = p.length, y = new Uint8Array(g); g--; ) y[g] = p.charCodeAt(g); 25857 var m = new Blob([y]); 25858 window.navigator.msSaveOrOpenBlob(m, d); 25859 } else { 25860 var _ = document.createElement("iframe"); 25861 document.body.appendChild(_); 25862 var S = _.contentWindow, b = S.document; 25863 b.open("image/svg+xml", "replace"), b.write(p), b.close(), S.focus(), b.execCommand("SaveAs", true, d), document.body.removeChild(_); 25864 } 25865 } else { 25866 var x = n.get("lang"), w = '<body style="margin:0;"><img src="' + l + '" style="max-width:100%;" title="' + (x && x[0] || "") + '" /></body>', T = window.open(); 25867 T.document.write(w), T.document.title = i; 25868 } 25869 }, e.getDefaultOption = function(t) { 25870 var a = { show: true, icon: "M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0", title: t.getLocaleModel().get(["toolbox", "saveAsImage", "title"]), type: "png", connectedBackgroundColor: "#fff", name: "", excludeComponents: ["toolbox"], lang: t.getLocaleModel().get(["toolbox", "saveAsImage", "lang"]) }; 25871 return a; 25872 }, e; 25873}(sr), Bb = "__ec_magicType_stack__", e8 = [["line", "bar"], ["stack"]], r8 = function(r) { 25874 N(e, r); 25875 function e() { 25876 return r !== null && r.apply(this, arguments) || this; 25877 } 25878 return e.prototype.getIcons = function() { 25879 var t = this.model, a = t.get("icon"), n = {}; 25880 return D(t.get("type"), function(i) { 25881 a[i] && (n[i] = a[i]); 25882 }), n; 25883 }, e.getDefaultOption = function(t) { 25884 var a = { show: true, type: [], icon: { line: "M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4", bar: "M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7", stack: "M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z" }, title: t.getLocaleModel().get(["toolbox", "magicType", "title"]), option: {}, seriesIndex: {} }; 25885 return a; 25886 }, e.prototype.onclick = function(t, a, n) { 25887 var i = this.model, o = i.get(["seriesIndex", n]); 25888 if (zb[n]) { 25889 var s = { series: [] }, l = function(h) { 25890 var v = h.subType, c = h.id, p = zb[n](v, c, h, i); 25891 p && (Q(p, h.option), s.series.push(p)); 25892 var d = h.coordinateSystem; 25893 if (d && d.type === "cartesian2d" && (n === "line" || n === "bar")) { 25894 var g = d.getAxesByScale("ordinal")[0]; 25895 if (g) { 25896 var y = g.dim, m = y + "Axis", _ = h.getReferringComponents(m, Jt).models[0], S = _.componentIndex; 25897 s[m] = s[m] || []; 25898 for (var b = 0; b <= S; b++) s[m][S] = s[m][S] || {}; 25899 s[m][S].boundaryGap = n === "bar"; 25900 } 25901 } 25902 }; 25903 D(e8, function(h) { 25904 vt(h, n) >= 0 && D(h, function(v) { 25905 i.setIconStatus(v, "normal"); 25906 }); 25907 }), i.setIconStatus(n, "emphasis"), t.eachComponent({ mainType: "series", query: o == null ? null : { seriesIndex: o } }, l); 25908 var u, f = n; 25909 n === "stack" && (u = ut({ stack: i.option.title.tiled, tiled: i.option.title.stack }, i.option.title), i.get(["iconStatus", n]) !== "emphasis" && (f = "tiled")), a.dispatchAction({ type: "changeMagicType", currentType: f, newOption: s, newTitle: u, featureName: "magicType" }); 25910 } 25911 }, e; 25912}(sr), zb = { line: function(r, e, t, a) { 25913 if (r === "bar") return ut({ id: e, type: "line", data: t.get("data"), stack: t.get("stack"), markPoint: t.get("markPoint"), markLine: t.get("markLine") }, a.get(["option", "line"]) || {}, true); 25914}, bar: function(r, e, t, a) { 25915 if (r === "line") return ut({ id: e, type: "bar", data: t.get("data"), stack: t.get("stack"), markPoint: t.get("markPoint"), markLine: t.get("markLine") }, a.get(["option", "bar"]) || {}, true); 25916}, stack: function(r, e, t, a) { 25917 var n = t.get("stack") === Bb; 25918 if (r === "line" || r === "bar") return a.setIconStatus("stack", n ? "normal" : "emphasis"), ut({ id: e, stack: n ? "" : Bb }, a.get(["option", "stack"]) || {}, true); 25919} }; 25920kr({ type: "changeMagicType", event: "magicTypeChanged", update: "prepareAndUpdate" }, function(r, e) { 25921 e.mergeOption(r.newOption); 25922}); 25923var sv = new Array(60).join("-"), Ao = " "; 25924function a8(r) { 25925 var e = {}, t = [], a = []; 25926 return r.eachRawSeries(function(n) { 25927 var i = n.coordinateSystem; 25928 if (i && (i.type === "cartesian2d" || i.type === "polar")) { 25929 var o = i.getBaseAxis(); 25930 if (o.type === "category") { 25931 var s = o.dim + "_" + o.index; 25932 e[s] || (e[s] = { categoryAxis: o, valueAxis: i.getOtherAxis(o), series: [] }, a.push({ axisDim: o.dim, axisIndex: o.index })), e[s].series.push(n); 25933 } else t.push(n); 25934 } else t.push(n); 25935 }), { seriesGroupByCategoryAxis: e, other: t, meta: a }; 25936} 25937function n8(r) { 25938 var e = []; 25939 return D(r, function(t, a) { 25940 var n = t.categoryAxis, i = t.valueAxis, o = i.dim, s = [" "].concat(G(t.series, function(c) { 25941 return c.name; 25942 })), l = [n.model.getCategories()]; 25943 D(t.series, function(c) { 25944 var p = c.getRawData(); 25945 l.push(c.getRawData().mapArray(p.mapDimension(o), function(d) { 25946 return d; 25947 })); 25948 }); 25949 for (var u = [s.join(Ao)], f = 0; f < l[0].length; f++) { 25950 for (var h = [], v = 0; v < l.length; v++) h.push(l[v][f]); 25951 u.push(h.join(Ao)); 25952 } 25953 e.push(u.join(` 25954`)); 25955 }), e.join(` 25956 25957` + sv + ` 25958 25959`); 25960} 25961function i8(r) { 25962 return G(r, function(e) { 25963 var t = e.getRawData(), a = [e.name], n = []; 25964 return t.each(t.dimensions, function() { 25965 for (var i = arguments.length, o = arguments[i - 1], s = t.getName(o), l = 0; l < i - 1; l++) n[l] = arguments[l]; 25966 a.push((s ? s + Ao : "") + n.join(Ao)); 25967 }), a.join(` 25968`); 25969 }).join(` 25970 25971` + sv + ` 25972 25973`); 25974} 25975function o8(r) { 25976 var e = a8(r); 25977 return { value: Ct([n8(e.seriesGroupByCategoryAxis), i8(e.other)], function(t) { 25978 return !!t.replace(/[\n\t\s]/g, ""); 25979 }).join(` 25980 25981` + sv + ` 25982 25983`), meta: e.meta }; 25984} 25985function fh(r) { 25986 return r.replace(/^\s\s*/, "").replace(/\s\s*$/, ""); 25987} 25988function s8(r) { 25989 var e = r.slice(0, r.indexOf(` 25990`)); 25991 if (e.indexOf(Ao) >= 0) return true; 25992} 25993var cg = new RegExp("[" + Ao + "]+", "g"); 25994function l8(r) { 25995 for (var e = r.split(/\n+/g), t = fh(e.shift()).split(cg), a = [], n = G(t, function(l) { 25996 return { name: l, data: [] }; 25997 }), i = 0; i < e.length; i++) { 25998 var o = fh(e[i]).split(cg); 25999 a.push(o.shift()); 26000 for (var s = 0; s < o.length; s++) n[s] && (n[s].data[i] = o[s]); 26001 } 26002 return { series: n, categories: a }; 26003} 26004function u8(r) { 26005 for (var e = r.split(/\n+/g), t = fh(e.shift()), a = [], n = 0; n < e.length; n++) { 26006 var i = fh(e[n]); 26007 if (i) { 26008 var o = i.split(cg), s = "", l = void 0, u = false;
26009 isNaN(o[0]) ? (u = true, s = o[0], o = o.slice(1), a[n] = { name: s, value: [] }, l = a[n].value) : l = a[n] = []; 26010 for (var f = 0; f < o.length; f++) l.push(+o[f]); 26011 l.length === 1 && (u ? a[n].value = l[0] : a[n] = l[0]); 26012 } 26013 } 26014 return { name: t, data: a }; 26015} 26016function f8(r, e) { 26017 var t = r.split(new RegExp(` 26018*` + sv + ` 26019*`, "g")), a = { series: [] }; 26020 return D(t, function(n, i) { 26021 if (s8(n)) { 26022 var o = l8(n), s = e[i], l = s.axisDim + "Axis"; 26023 s && (a[l] = a[l] || [], a[l][s.axisIndex] = { data: o.categories }, a.series = a.series.concat(o.series)); 26024 } else { 26025 var o = u8(n); 26026 a.series.push(o); 26027 } 26028 }), a; 26029} 26030var h8 = function(r) { 26031 N(e, r); 26032 function e() { 26033 return r !== null && r.apply(this, arguments) || this; 26034 } 26035 return e.prototype.onclick = function(t, a) { 26036 setTimeout(function() { 26037 a.dispatchAction({ type: "hideTip" }); 26038 }); 26039 var n = a.getDom(), i = this.model; 26040 this._dom && n.removeChild(this._dom); 26041 var o = document.createElement("div"); 26042 o.style.cssText = "position:absolute;top:0;bottom:0;left:0;right:0;padding:5px", o.style.backgroundColor = i.get("backgroundColor") || "#fff"; 26043 var s = document.createElement("h4"), l = i.get("lang") || []; 26044 s.innerHTML = l[0] || i.get("title"), s.style.cssText = "margin:10px 20px", s.style.color = i.get("textColor"); 26045 var u = document.createElement("div"), f = document.createElement("textarea"); 26046 u.style.cssText = "overflow:auto"; 26047 var h = i.get("optionToContent"), v = i.get("contentToOption"), c = o8(t); 26048 if (j(h)) { 26049 var p = h(a.getOption()); 26050 Y(p) ? u.innerHTML = p : ui(p) && u.appendChild(p); 26051 } else { 26052 f.readOnly = i.get("readOnly"); 26053 var d = f.style; 26054 d.cssText = "display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none", d.color = i.get("textColor"), d.borderColor = i.get("textareaBorderColor"), d.backgroundColor = i.get("textareaColor"), f.value = c.value, u.appendChild(f); 26055 } 26056 var g = c.meta, y = document.createElement("div"); 26057 y.style.cssText = "position:absolute;bottom:5px;left:0;right:0"; 26058 var m = "float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px", _ = document.createElement("div"), S = document.createElement("div"); 26059 m += ";background-color:" + i.get("buttonColor"), m += ";color:" + i.get("buttonTextColor"); 26060 var b = this; 26061 function x() { 26062 n.removeChild(o), b._dom = null; 26063 } 26064 Wp(_, "click", x), Wp(S, "click", function() { 26065 if (v == null && h != null || v != null && h == null) { 26066 x(); 26067 return; 26068 } 26069 var w; 26070 try { 26071 j(v) ? w = v(u, a.getOption()) : w = f8(f.value, g); 26072 } catch (T) { 26073 throw x(), new Error("Data view format error " + T); 26074 } 26075 w && a.dispatchAction({ type: "changeDataView", newOption: w }), x(); 26076 }), _.innerHTML = l[1], S.innerHTML = l[2], S.style.cssText = _.style.cssText = m, !i.get("readOnly") && y.appendChild(S), y.appendChild(_), o.appendChild(s), o.appendChild(u), o.appendChild(y), u.style.height = n.clientHeight - 80 + "px", n.appendChild(o), this._dom = o; 26077 }, e.prototype.remove = function(t, a) { 26078 this._dom && a.getDom().removeChild(this._dom); 26079 }, e.prototype.dispose = function(t, a) { 26080 this.remove(t, a); 26081 }, e.getDefaultOption = function(t) { 26082 var a = { show: true, readOnly: false, optionToContent: null, contentToOption: null, icon: "M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28", title: t.getLocaleModel().get(["toolbox", "dataView", "title"]), lang: t.getLocaleModel().get(["toolbox", "dataView", "lang"]), backgroundColor: "#fff", textColor: "#000", textareaColor: "#fff", textareaBorderColor: "#333", buttonColor: "#c23531", buttonTextColor: "#fff" }; 26083 return a; 26084 }, e; 26085}(sr); 26086function v8(r, e) { 26087 return G(r, function(t, a) { 26088 var n = e && e[a]; 26089 if (tt(n) && !V(n)) { 26090 var i = tt(t) && !V(t); 26091 i || (t = { value: t }); 26092 var o = n.name != null && t.name == null; 26093 return t = Q(t, n), o && delete t.name, t; 26094 } else return t; 26095 }); 26096} 26097kr({ type: "changeDataView", event: "dataViewChanged", update: "prepareAndUpdate" }, function(r, e) { 26098 var t = []; 26099 D(r.newOption.series, function(a) { 26100 var n = e.getSeriesByName(a.name)[0]; 26101 if (!n) t.push(z({ type: "scatter" }, a)); 26102 else { 26103 var i = n.get("data"); 26104 t.push({ name: a.name, data: v8(a.data, i) }); 26105 } 26106 }), e.mergeOption(Q({ series: t }, r.newOption)); 26107}); 26108var gL = D, yL = bt(); 26109function c8(r, e) { 26110 var t = Gm(r); 26111 gL(e, function(a, n) { 26112 for (var i = t.length - 1; i >= 0; i--) { 26113 var o = t[i]; 26114 if (o[n]) break; 26115 } 26116 if (i < 0) { 26117 var s = r.queryComponents({ mainType: "dataZoom", subType: "select", id: n })[0]; 26118 if (s) { 26119 var l = s.getPercentRange(); 26120 t[0][n] = { dataZoomId: n, start: l[0], end: l[1] }; 26121 } 26122 } 26123 }), t.push(e); 26124} 26125function p8(r) { 26126 var e = Gm(r), t = e[e.length - 1]; 26127 e.length > 1 && e.pop(); 26128 var a = {}; 26129 return gL(t, function(n, i) { 26130 for (var o = e.length - 1; o >= 0; o--) if (n = e[o][i], n) { 26131 a[i] = n; 26132 break; 26133 } 26134 }), a; 26135} 26136function d8(r) { 26137 yL(r).snapshots = null; 26138} 26139function g8(r) { 26140 return Gm(r).length; 26141} 26142function Gm(r) { 26143 var e = yL(r); 26144 return e.snapshots || (e.snapshots = [{}]), e.snapshots; 26145} 26146var y8 = function(r) { 26147 N(e, r); 26148 function e() { 26149 return r !== null && r.apply(this, arguments) || this; 26150 } 26151 return e.prototype.onclick = function(t, a) { 26152 d8(t), a.dispatchAction({ type: "restore", from: this.uid }); 26153 }, e.getDefaultOption = function(t) { 26154 var a = { show: true, icon: "M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5", title: t.getLocaleModel().get(["toolbox", "restore", "title"]) }; 26155 return a; 26156 }, e; 26157}(sr); 26158kr({ type: "restore", event: "restore", update: "prepareAndUpdate" }, function(r, e) { 26159 e.resetOption("recreate"); 26160}); 26161var m8 = ["grid", "xAxis", "yAxis", "geo", "graph", "polar", "radiu
26161sAxis", "angleAxis", "bmap"], Fm = function() { 26162 function r(e, t, a) { 26163 var n = this; 26164 this._targetInfoList = []; 26165 var i = Vb(t, e); 26166 D(_8, function(o, s) { 26167 (!a || !a.include || vt(a.include, s) >= 0) && o(i, n._targetInfoList); 26168 }); 26169 } 26170 return r.prototype.setOutputRanges = function(e, t) { 26171 return this.matchOutputRanges(e, t, function(a, n, i) { 26172 if ((a.coordRanges || (a.coordRanges = [])).push(n), !a.coordRange) { 26173 a.coordRange = n; 26174 var o = mp[a.brushType](0, i, n); 26175 a.__rangeOffset = { offset: Wb[a.brushType](o.values, a.range, [1, 1]), xyMinMax: o.xyMinMax }; 26176 } 26177 }), e; 26178 }, r.prototype.matchOutputRanges = function(e, t, a) { 26179 D(e, function(n) { 26180 var i = this.findTargetInfo(n, t); 26181 i && i !== true && D(i.coordSyses, function(o) { 26182 var s = mp[n.brushType](1, o, n.range, true); 26183 a(n, s.values, o, t); 26184 }); 26185 }, this); 26186 }, r.prototype.setInputRanges = function(e, t) { 26187 D(e, function(a) { 26188 var n = this.findTargetInfo(a, t); 26189 if (a.range = a.range || [], n && n !== true) { 26190 a.panelId = n.panelId; 26191 var i = mp[a.brushType](0, n.coordSys, a.coordRange), o = a.__rangeOffset; 26192 a.range = o ? Wb[a.brushType](i.values, o.offset, S8(i.xyMinMax, o.xyMinMax)) : i.values; 26193 } 26194 }, this); 26195 }, r.prototype.makePanelOpts = function(e, t) { 26196 return G(this._targetInfoList, function(a) { 26197 var n = a.getPanelRect(); 26198 return { panelId: a.panelId, defaultBrushType: t ? t(a) : null, clipPath: CI(n), isTargetByCursor: DI(n, e, a.coordSysModel), getLinearBrushOtherExtent: AI(n) }; 26199 }); 26200 }, r.prototype.controlSeries = function(e, t, a) { 26201 var n = this.findTargetInfo(e, a); 26202 return n === true || n && vt(n.coordSyses, t.coordinateSystem) >= 0; 26203 }, r.prototype.findTargetInfo = function(e, t) { 26204 for (var a = this._targetInfoList, n = Vb(t, e), i = 0; i < a.length; i++) { 26205 var o = a[i], s = e.panelId; 26206 if (s) { 26207 if (o.panelId === s) return o; 26208 } else for (var l = 0; l < Gb.length; l++) if (Gb[l](n, o)) return o; 26209 } 26210 return true; 26211 }, r; 26212}(); 26213function pg(r) { 26214 return r[0] > r[1] && r.reverse(), r; 26215} 26216function Vb(r, e) { 26217 return Hs(r, e, { includeMainTypes: m8 }); 26218} 26219var _8 = { grid: function(r, e) { 26220 var t = r.xAxisModels, a = r.yAxisModels, n = r.gridModels, i = Z(), o = {}, s = {}; 26221 !t && !a && !n || (D(t, function(l) { 26222 var u = l.axis.grid.model; 26223 i.set(u.id, u), o[u.id] = true; 26224 }), D(a, function(l) { 26225 var u = l.axis.grid.model; 26226 i.set(u.id, u), s[u.id] = true; 26227 }), D(n, function(l) { 26228 i.set(l.id, l), o[l.id] = true, s[l.id] = true; 26229 }), i.each(function(l) { 26230 var u = l.coordinateSystem, f = []; 26231 D(u.getCartesians(), function(h, v) { 26232 (vt(t, h.getAxis("x").model) >= 0 || vt(a, h.getAxis("y").model) >= 0) && f.push(h); 26233 }), e.push({ panelId: "grid--" + l.id, gridModel: l, coordSysModel: l, coordSys: f[0], coordSyses: f, getPanelRect: Fb.grid, xAxisDeclared: o[l.id], yAxisDeclared: s[l.id] }); 26234 })); 26235}, geo: function(r, e) { 26236 D(r.geoModels, function(t) { 26237 var a = t.coordinateSystem; 26238 e.push({ panelId: "geo--" + t.id, geoModel: t, coordSysModel: t, coordSys: a, coordSyses: [a], getPanelRect: Fb.geo }); 26239 }); 26240} }, Gb = [function(r, e) { 26241 var t = r.xAxisModel, a = r.yAxisModel, n = r.gridModel; 26242 return !n && t && (n = t.axis.grid.model), !n && a && (n = a.axis.grid.model), n && n === e.gridModel; 26243}, function(r, e) { 26244 var t = r.geoModel; 26245 return t && t === e.geoModel; 26246}], Fb = { grid: function() { 26247 return this.coordSys.master.getRect().clone(); 26248}, geo: function() { 26249 var r = this.coordSys, e = r.getBoundingRect().clone(); 26250 return e.applyTransform(qa(r)), e; 26251} }, mp = { lineX: lt(Hb, 0), lineY: lt(Hb, 1), rect: function(r, e, t, a) { 26252 var n = r ? e.pointToData([t[0][0], t[1][0]], a) : e.dataToPoint([t[0][0], t[1][0]], a), i = r ? e.pointToData([t[0][1], t[1][1]], a) : e.dataToPoint([t[0][1], t[1][1]], a), o = [pg([n[0], i[0]]), pg([n[1], i[1]])]; 26253 return { values: o, xyMinMax: o }; 26254}, polygon: function(r, e, t, a) { 26255 var n = [[1 / 0, -1 / 0], [1 / 0, -1 / 0]], i = G(t, function(o) { 26256 var s = r ? e.pointToData(o, a) : e.dataToPoint(o, a); 26257 return n[0][0] = Math.min(n[0][0], s[0]), n[1][0] = Math.min(n[1][0], s[1]), n[0][1] = Math.max(n[0][1], s[0]), n[1][1] = Math.max(n[1][1], s[1]), s; 26258 }); 26259 return { values: i, xyMinMax: n }; 26260} }; 26261function Hb(r, e, t, a) { 26262 var n = t.getAxis(["x", "y"][r]), i = pg(G([0, 1], function(s) { 26263 return e ? n.coordToData(n.toLocalCoord(a[s]), true) : n.toGlobalCoord(n.dataToCoord(a[s])); 26264 })), o = []; 26265 return o[r] = i, o[1 - r] = [NaN, NaN], { values: i, xyMinMax: o }; 26266} 26267var Wb = { lineX: lt(Ub, 0), lineY: lt(Ub, 1), rect: function(r, e, t) { 26268 return [[r[0][0] - t[0] * e[0][0], r[0][1] - t[0] * e[0][1]], [r[1][0] - t[1] * e[1][0], r[1][1] - t[1] * e[1][1]]]; 26269}, polygon: function(r, e, t) { 26270 return G(r, function(a, n) { 26271 return [a[0] - t[0] * e[n][0], a[1] - t[1] * e[n][1]]; 26272 }); 26273} }; 26274function Ub(r, e, t, a) { 26275 return [e[0] - a[r] * t[0], e[1] - a[r] * t[1]]; 26276} 26277function S8(r, e) { 26278 var t = Yb(r), a = Yb(e), n = [t[0] / a[0], t[1] / a[1]]; 26279 return isNaN(n[0]) && (n[0] = 1), isNaN(n[1]) && (n[1] = 1), n; 26280} 26281function Yb(r) { 26282 return r ? [r[0][1] - r[0][0], r[1][1] - r[1][0]] : [NaN, NaN]; 26283} 26284var dg = D, x8 = pR("toolbox-dataZoom_"), b8 = function(r) { 26285 N(e, r); 26286 function e() { 26287 return r !== null && r.apply(this, arguments) || this; 26288 } 26289 return e.prototype.render = function(t, a, n, i) { 26290 this._brushController || (this._brushController = new pm(n.getZr()), this._brushController.on("brush", $(this._onBrush, this)).mount()), C8(t, a, this, i, n), T8(t, a); 26291 }, e.prototype.onclick = function(t, a, n) { 26292 w8[n].call(this); 26293 }, e.prototype.remove = function(t, a) { 26294 this._brushController && this._brushController.unmount(); 26295 }, e.prototype.dispose = function(t, a) { 26296 this._brushController && this._brushController.dispose(); 26297 }, e.prototype._onBrush = function(t) { 26298 var a = t.areas; 26299 if (!t.isEnd || !a.length) return; 26300 var n = {}, i = this.ecModel; 26301 this._brushController.updateCovers([]); 26302 var o = new Fm(Hm(this.model), i, { include: ["grid"] }); 26303 o.matchOutputRanges(a, i, function(u, f, h) { 26304 if (h.type === "cartesian2d") { 26305 var v = u.brushType; 26306 v === "rect" ? (s("x", h, f[0]), s("y", h, f[1])) : s({ lineX: "x", lineY: "y" }[v], h, f); 26307 } 26308 }), c8(i, n), this._dispatchZoomAction(n); 26309 function s(u, f, h) { 26310 var v = f.getAxis(u), c = v.model, p = l(u, c, i), d = p.findRepresentativeAxisProxy(c).getMinMaxSpan(); 26311 (d.minValueSpan != null || d.maxValueSpan != null) && (h = Ai(0, h.slice(), v.scale.getExtent(), 0, d.minValueSpan, d.maxValueSpan)), p && (n[p.id] = { dataZoomId: p.id, startValue: h[0], endValue: h[1] }); 26312 } 26313 function l(u, f, h) { 26314 var v; 26315 return h.eachComponent({ mainType: "dataZoom", subType: "select" }, function(c) { 26316 var p = c.getAxisModel(u, f.componentIndex); 26317 p && (v = c); 26318 }), v; 26319 } 26320 }, e.prototype._dispatchZoomAction = function(t) { 26321 var a = []; 26322 dg(t, function(n, i) { 26323 a.push(rt(n)); 26324 }), a.length && this.api.dispatchAction({ type: "dataZoom", from: this.uid, batch: a }); 26325 }, e.getDefaultOption = function(t) { 26326 var a = { show: true, filterMode: "filter", icon: { zoom: "M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1", back: "M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26" }, title: t.getLocaleModel().get(["toolbox", "dataZoom", "title"]), brushStyle: { borderWidth: 0, color: "rgba(210,219,238,0.2)" } }; 26327 return a; 26328 }, e; 26329}(sr), w8 = { zoom: function() {
26330 var r = !this._isZoomActive; 26331 this.api.dispatchAction({ type: "takeGlobalCursor", key: "dataZoomSelect", dataZoomSelectActive: r }); 26332}, back: function() { 26333 this._dispatchZoomAction(p8(this.ecModel)); 26334} }; 26335function Hm(r) { 26336 var e = { xAxisIndex: r.get("xAxisIndex", true), yAxisIndex: r.get("yAxisIndex", true), xAxisId: r.get("xAxisId", true), yAxisId: r.get("yAxisId", true) }; 26337 return e.xAxisIndex == null && e.xAxisId == null && (e.xAxisIndex = "all"), e.yAxisIndex == null && e.yAxisId == null && (e.yAxisIndex = "all"), e; 26338} 26339function T8(r, e) { 26340 r.setIconStatus("back", g8(e) > 1 ? "emphasis" : "normal"); 26341} 26342function C8(r, e, t, a, n) { 26343 var i = t._isZoomActive; 26344 a && a.type === "takeGlobalCursor" && (i = a.key === "dataZoomSelect" ? a.dataZoomSelectActive : false), t._isZoomActive = i, r.setIconStatus("zoom", i ? "emphasis" : "normal"); 26345 var o = new Fm(Hm(r), e, { include: ["grid"] }), s = o.makePanelOpts(n, function(l) { 26346 return l.xAxisDeclared && !l.yAxisDeclared ? "lineX" : !l.xAxisDeclared && l.yAxisDeclared ? "lineY" : "rect"; 26347 }); 26348 t._brushController.setPanels(s).enableBrush(i && s.length ? { brushType: "auto", brushStyle: r.getModel("brushStyle").getItemStyle() } : false); 26349} 26350Bk("dataZoom", function(r) { 26351 var e = r.getComponent("toolbox", 0), t = ["feature", "dataZoom"]; 26352 if (!e || e.get(t) == null) return; 26353 var a = e.getModel(t), n = [], i = Hm(a), o = Hs(r, i); 26354 dg(o.xAxisModels, function(l) { 26355 return s(l, "xAxis", "xAxisIndex"); 26356 }), dg(o.yAxisModels, function(l) { 26357 return s(l, "yAxis", "yAxisIndex"); 26358 }); 26359 function s(l, u, f) { 26360 var h = l.componentIndex, v = { type: "select", $fromToolbox: true, filterMode: a.get("filterMode", true) || "filter", id: x8 + u + h }; 26361 v[f] = h, n.push(v); 26362 } 26363 return n; 26364}); 26365function A8(r) { 26366 r.registerComponentModel(KU), r.registerComponentView(JU), eo("saveAsImage", t8), eo("magicType", r8), eo("dataView", h8), eo("dataZoom", b8), eo("restore", y8), pt(qU); 26367} 26368var D8 = function(r) { 26369 N(e, r); 26370 function e() { 26371 var t = r !== null && r.apply(this, arguments) || this; 26372 return t.type = e.type, t; 26373 } 26374 return e.type = "tooltip", e.dependencies = ["axisPointer"], e.defaultOption = { z: 60, show: true, showContent: true, trigger: "item", triggerOn: "mousemove|click", alwaysShowContent: false, displayMode: "single", renderMode: "auto", confine: null, showDelay: 0, hideDelay: 100, transitionDuration: 0.4, enterable: false, backgroundColor: "#fff", shadowBlur: 10, shadowColor: "rgba(0, 0, 0, .2)", shadowOffsetX: 1, shadowOffsetY: 2, borderRadius: 4, borderWidth: 1, padding: null, extraCssText: "", axisPointer: { type: "line", axis: "auto", animation: "auto", animationDurationUpdate: 200, animationEasingUpdate: "exponentialOut", crossStyle: { color: "#999", width: 1, type: "dashed", textStyle: {} } }, textStyle: { color: "#666", fontSize: 14 } }, e; 26375}(gt); 26376function mL(r) { 26377 var e = r.get("confine"); 26378 return e != null ? !!e : r.get("renderMode") === "richText"; 26379} 26380function _L(r) { 26381 if (yt.domSupported) { 26382 for (var e = document.documentElement.style, t = 0, a = r.length; t < a; t++) if (r[t] in e) return r[t]; 26383 } 26384} 26385var SL = _L(["transform", "webkitTransform", "OTransform", "MozTransform", "msTransform"]), M8 = _L(["webkitTransition", "transition", "OTransition", "MozTransition", "msTransition"]); 26386function xL(r, e) { 26387 if (!r) return e; 26388 e = dy(e, true); 26389 var t = r.indexOf(e); 26390 return r = t === -1 ? e : "-" + r.slice(0, t) + "-" + e, r.toLowerCase(); 26391} 26392function I8(r, e) { 26393 var t = r.currentStyle || document.defaultView && document.defaultView.getComputedStyle(r); 26394 return t ? t[e] : null; 26395} 26396var L8 = xL(M8, "transition"), Wm = xL(SL, "transform"), P8 = "position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;" + (yt.transform3dSupported ? "will-change:transform;" : ""); 26397function R8(r) { 26398 return r = r === "left" ? "right" : r === "right" ? "left" : r === "top" ? "bottom" : "top", r; 26399} 26400function E8(r, e, t) { 26401 if (!Y(t) || t === "inside") return ""; 26402 var a = r.get("backgroundColor"), n = r.get("borderWidth"); 26403 e = pi(e); 26404 var i = R8(t), o = Math.max(Math.round(n) * 1.5, 6), s = "", l = Wm + ":", u; 26405 vt(["left", "right"], i) > -1 ? (s += "top:50%", l += "translateY(-50%) rotate(" + (u = i === "left" ? -225 : -45) + "deg)") : (s += "left:50%", l += "translateX(-50%) rotate(" + (u = i === "top" ? 225 : 45) + "deg)"); 26406 var f = u * Math.PI / 180, h = o + n, v = h * Math.abs(Math.cos(f)) + h * Math.abs(Math.sin(f)), c = Math.round(((v - Math.SQRT2 * n) / 2 + Math.SQRT2 * n - (v - h) / 2) * 100) / 100; 26407 s += ";" + i + ":-" + c + "px"; 26408 var p = e + " solid " + n + "px;", d = ["position:absolute;
26408width:" + o + "px;height:" + o + "px;z-index:-1;", s + ";" + l + ";", "border-bottom:" + p, "border-right:" + p, "background-color:" + a + ";"]; 26409 return '<div style="' + d.join("") + '"></div>'; 26410} 26411function k8(r, e) { 26412 var t = "cubic-bezier(0.23,1,0.32,1)", a = " " + r / 2 + "s " + t, n = "opacity" + a + ",visibility" + a; 26413 return e || (a = " " + r + "s " + t, n += yt.transformSupported ? "," + Wm + a : ",left" + a + ",top" + a), L8 + ":" + n; 26414} 26415function $b(r, e, t) { 26416 var a = r.toFixed(0) + "px", n = e.toFixed(0) + "px"; 26417 if (!yt.transformSupported) return t ? "top:" + n + ";left:" + a + ";" : [["top", n], ["left", a]]; 26418 var i = yt.transform3dSupported, o = "translate" + (i ? "3d" : "") + "(" + a + "," + n + (i ? ",0" : "") + ")"; 26419 return t ? "top:0;left:0;" + Wm + ":" + o + ";" : [["top", 0], ["left", 0], [SL, o]]; 26420} 26421function O8(r) { 26422 var e = [], t = r.get("fontSize"), a = r.getTextColor(); 26423 a && e.push("color:" + a), e.push("font:" + r.getFont()); 26424 var n = st(r.get("lineHeight"), Math.round(t * 3 / 2)); 26425 t && e.push("line-height:" + n + "px"); 26426 var i = r.get("textShadowColor"), o = r.get("textShadowBlur") || 0, s = r.get("textShadowOffsetX") || 0, l = r.get("textShadowOffsetY") || 0; 26427 return i && o && e.push("text-shadow:" + s + "px " + l + "px " + o + "px " + i), D(["decoration", "align"], function(u) { 26428 var f = r.get(u); 26429 f && e.push("text-" + u + ":" + f); 26430 }), e.join(";"); 26431} 26432function N8(r, e, t) { 26433 var a = [], n = r.get("transitionDuration"), i = r.get("backgroundColor"), o = r.get("shadowBlur"), s = r.get("shadowColor"), l = r.get("shadowOffsetX"), u = r.get("shadowOffsetY"), f = r.getModel("textStyle"), h = LA(r, "html"), v = l + "px " + u + "px " + o + "px " + s; 26434 return a.push("box-shadow:" + v), e && n && a.push(k8(n, t)), i && a.push("background-color:" + i), D(["width", "color", "radius"], function(c) { 26435 var p = "border-" + c, d = dy(p), g = r.get(d); 26436 g != null && a.push(p + ":" + g + (c === "color" ? "" : "px")); 26437 }), a.push(O8(f)), h != null && a.push("padding:" + bi(h).join("px ") + "px"), a.join(";") + ";"; 26438} 26439function Xb(r, e, t, a, n) { 26440 var i = e && e.painter; 26441 if (t) { 26442 var o = i && i.getViewportRoot(); 26443 o && H2(r, o, t, a, n); 26444 } else { 26445 r[0] = a, r[1] = n; 26446 var s = i && i.getViewportRootOffset(); 26447 s && (r[0] += s.offsetLeft, r[1] += s.offsetTop); 26448 } 26449 r[2] = r[0] / e.getWidth(), r[3] = r[1] / e.getHeight(); 26450} 26451var B8 = function() { 26452 function r(e, t) { 26453 if (this._show = false, this._styleCoord = [0, 0, 0, 0], this._enterable = true, this._alwaysShowContent = false, this._firstShow = true, this._longHide = true, yt.wxa) return null; 26454 var a = document.createElement("div"); 26455 a.domBelongToZr = true, this.el = a; 26456 var n = this._zr = e.getZr(), i = t.appendTo, o = i && (Y(i) ? document.querySelector(i) : ui(i) ? i : j(i) && i(e.getDom())); 26457 Xb(this._styleCoord, n, o, e.getWidth() / 2, e.getHeight() / 2), (o || e.getDom()).appendChild(a), this._api = e, this._container = o; 26458 var s = this; 26459 a.onmouseenter = function() { 26460 s._enterable && (clearTimeout(s._hideTimeout), s._show = true), s._inContent = true; 26461 }, a.onmousemove = function(l) { 26462 if (l = l || window.event, !s._enterable) { 26463 var u = n.handler, f = n.painter.getViewportRoot(); 26464 rr(f, l, true), u.dispatch("mousemove", l); 26465 } 26466 }, a.onmouseleave = function() { 26467 s._inContent = false, s._enterable && s._show && s.hideLater(s._hideDelay); 26468 }; 26469 } 26470 return r.prototype.update = function(e) { 26471 if (!this._container) { 26472 var t = this._api.getDom(), a = I8(t, "position"), n = t.style; 26473 n.position !== "absolute" && a !== "absolute" && (n.position = "relative"); 26474 } 26475 var i = e.get("alwaysShowContent"); 26476 i && this._moveIfResized(), this._alwaysShowContent = i, this.el.className = e.get("className") || ""; 26477 }, r.prototype.show = function(e, t) { 26478 clearTimeout(this._hideTimeout), clearTimeout(this._longHideTimeout); 26479 var a = this.el, n = a.style, i = this._styleCoord; 26480 a.innerHTML ? n.cssText = P8 + N8(e, !this._firstShow, this._longHide) + $b(i[0], i[1], true) + ("border-color:" + pi(t) + ";") + (e.get("extraCssText") || "") + (";pointer-events:" + (this._enterable ? "auto" : "none")) : n.display = "none", this._show = true, this._firstShow = false, this._longHide = false;
26481 }, r.prototype.setContent = function(e, t, a, n, i) { 26482 var o = this.el; 26483 if (e == null) { 26484 o.innerHTML = ""; 26485 return; 26486 } 26487 var s = ""; 26488 if (Y(i) && a.get("trigger") === "item" && !mL(a) && (s = E8(a, n, i)), Y(e)) o.innerHTML = e + s; 26489 else if (e) { 26490 o.innerHTML = "", V(e) || (e = [e]); 26491 for (var l = 0; l < e.length; l++) ui(e[l]) && e[l].parentNode !== o && o.appendChild(e[l]); 26492 if (s && o.childNodes.length) { 26493 var u = document.createElement("div"); 26494 u.innerHTML = s, o.appendChild(u); 26495 } 26496 } 26497 }, r.prototype.setEnterable = function(e) { 26498 this._enterable = e; 26499 }, r.prototype.getSize = function() { 26500 var e = this.el; 26501 return e ? [e.offsetWidth, e.offsetHeight] : [0, 0]; 26502 }, r.prototype.moveTo = function(e, t) { 26503 if (this.el) { 26504 var a = this._styleCoord; 26505 if (Xb(a, this._zr, this._container, e, t), a[0] != null && a[1] != null) { 26506 var n = this.el.style, i = $b(a[0], a[1]); 26507 D(i, function(o) { 26508 n[o[0]] = o[1]; 26509 }); 26510 } 26511 } 26512 }, r.prototype._moveIfResized = function() { 26513 var e = this._styleCoord[2], t = this._styleCoord[3]; 26514 this.moveTo(e * this._zr.getWidth(), t * this._zr.getHeight()); 26515 }, r.prototype.hide = function() { 26516 var e = this, t = this.el.style; 26517 t.visibility = "hidden", t.opacity = "0", yt.transform3dSupported && (t.willChange = ""), this._show = false, this._longHideTimeout = setTimeout(function() { 26518 return e._longHide = true; 26519 }, 500); 26520 }, r.prototype.hideLater = function(e) { 26521 this._show && !(this._inContent && this._enterable) && !this._alwaysShowContent && (e ? (this._hideDelay = e, this._show = false, this._hideTimeout = setTimeout($(this.hide, this), e)) : this.hide()); 26522 }, r.prototype.isShow = function() { 26523 return this._show; 26524 }, r.prototype.dispose = function() { 26525 clearTimeout(this._hideTimeout), clearTimeout(this._longHideTimeout); 26526 var e = this.el.parentNode; 26527 e && e.removeChild(this.el), this.el = this._container = null; 26528 }, r; 26529}(), z8 = function() { 26530 function r(e) { 26531 this._show = false, this._styleCoord = [0, 0, 0, 0], this._alwaysShowContent = false, this._enterable = true, this._zr = e.getZr(), qb(this._styleCoord, this._zr, e.getWidth() / 2, e.getHeight() / 2); 26532 } 26533 return r.prototype.update = function(e) { 26534 var t = e.get("alwaysShowContent"); 26535 t && this._moveIfResized(), this._alwaysShowContent = t; 26536 }, r.prototype.show = function() { 26537 this._hideTimeout && clearTimeout(this._hideTimeout), this.el.show(), this._show = true; 26538 }, r.prototype.setContent = function(e, t, a, n, i) { 26539 var o = this; 26540 tt(e) && Mt(""), this.el && this._zr.remove(this.el); 26541 var s = a.getModel("textStyle"); 26542 this.el = new St({ style: { rich: t.richTextStyles, text: e, lineHeight: 22, borderWidth: 1, borderColor: n, textShadowColor: s.get("textShadowColor"), fill: a.get(["textStyle", "color"]), padding: LA(a, "richText"), verticalAlign: "top", align: "left" }, z: a.get("z") }), D(["backgroundColor", "borderRadius", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"], function(u) { 26543 o.el.style[u] = a.get(u); 26544 }), D(["textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"], function(u) { 26545 o.el.style[u] = s.get(u) || 0; 26546 }), this._zr.add(this.el); 26547 var l = this; 26548 this.el.on("mouseover", function() { 26549 l._enterable && (clearTimeout(l._hideTimeout), l._show = true), l._inContent = true; 26550 }), this.el.on("mouseout", function() { 26551 l._enterable && l._show && l.hideLater(l._hideDelay), l._inContent = false; 26552 }); 26553 }, r.prototype.setEnterable = function(e) { 26554 this._enterable = e; 26555 }, r.prototype.getSize = function() { 26556 var e = this.el, t = this.el.getBoundingRect(), a = Zb(e.style); 26557 return [t.width + a.left + a.right, t.height + a.top + a.bottom]; 26558 }, r.prototype.moveTo = function(e, t) { 26559 var a = this.el; 26560 if (a) { 26561 var n = this._styleCoord; 26562 qb(n, this._zr, e, t), e = n[0], t = n[1]; 26563 var i = a.style, o = Na(i.borderWidth || 0), s = Zb(i); 26564 a.x = e + o + s.left, a.y = t + o + s.top, a.markRedraw(); 26565 } 26566 }, r.prototype._moveIfResized = function() { 26567 var e = this._styleCoord[2], t = this._styleCoord[3]; 26568 this.moveTo(e * this._zr.getWidth(), t * this._zr.getHeight()); 26569 }, r.prototype.hide = function() { 26570 this.el && this.el.hide(), this._show = false;
26571 }, r.prototype.hideLater = function(e) { 26572 this._show && !(this._inContent && this._enterable) && !this._alwaysShowContent && (e ? (this._hideDelay = e, this._show = false, this._hideTimeout = setTimeout($(this.hide, this), e)) : this.hide()); 26573 }, r.prototype.isShow = function() { 26574 return this._show; 26575 }, r.prototype.dispose = function() { 26576 this._zr.remove(this.el); 26577 }, r; 26578}(); 26579function Na(r) { 26580 return Math.max(0, r); 26581} 26582function Zb(r) { 26583 var e = Na(r.shadowBlur || 0), t = Na(r.shadowOffsetX || 0), a = Na(r.shadowOffsetY || 0); 26584 return { left: Na(e - t), right: Na(e + t), top: Na(e - a), bottom: Na(e + a) }; 26585} 26586function qb(r, e, t, a) { 26587 r[0] = t, r[1] = a, r[2] = r[0] / e.getWidth(), r[3] = r[1] / e.getHeight(); 26588} 26589var V8 = new xt({ shape: { x: -1, y: -1, width: 2, height: 2 } }), G8 = function(r) { 26590 N(e, r); 26591 function e() { 26592 var t = r !== null && r.apply(this, arguments) || this; 26593 return t.type = e.type, t; 26594 } 26595 return e.prototype.init = function(t, a) { 26596 if (!(yt.node || !a.getDom())) { 26597 var n = t.getComponent("tooltip"), i = this._renderMode = xR(n.get("renderMode")); 26598 this._tooltipContent = i === "richText" ? new z8(a) : new B8(a, { appendTo: n.get("appendToBody", true) ? "body" : n.get("appendTo", true) }); 26599 } 26600 }, e.prototype.render = function(t, a, n) { 26601 if (!(yt.node || !n.getDom())) { 26602 this.group.removeAll(), this._tooltipModel = t, this._ecModel = a, this._api = n; 26603 var i = this._tooltipContent; 26604 i.update(t), i.setEnterable(t.get("enterable")), this._initGlobalListener(), this._keepShow(), this._renderMode !== "richText" && t.get("transitionDuration") ? Fo(this, "_updatePosition", 50, "fixRate") : cl(this, "_updatePosition"); 26605 } 26606 }, e.prototype._initGlobalListener = function() { 26607 var t = this._tooltipModel, a = t.get("triggerOn"); 26608 iL("itemTooltip", this._api, $(function(n, i, o) { 26609 a !== "none" && (a.indexOf(n) >= 0 ? this._tryShow(i, o) : n === "leave" && this._hide(o)); 26610 }, this)); 26611 }, e.prototype._keepShow = function() { 26612 var t = this._tooltipModel, a = this._ecModel, n = this._api, i = t.get("triggerOn"); 26613 if (this._lastX != null && this._lastY != null && i !== "none" && i !== "click") { 26614 var o = this; 26615 clearTimeout(this._refreshUpdateTimeout), this._refreshUpdateTimeout = setTimeout(function() { 26616 !n.isDisposed() && o.manuallyShowTip(t, a, n, { x: o._lastX, y: o._lastY, dataByCoordSys: o._lastDataByCoordSys }); 26617 }); 26618 } 26619 }, e.prototype.manuallyShowTip = function(t, a, n, i) { 26620 if (!(i.from === this.uid || yt.node || !n.getDom())) { 26621 var o = Kb(i, n); 26622 this._ticket = ""; 26623 var s = i.dataByCoordSys, l = U8(i, a, n); 26624 if (l) { 26625 var u = l.el.getBoundingRect().clone(); 26626 u.applyTransform(l.el.transform), this._tryShow({ offsetX: u.x + u.width / 2, offsetY: u.y + u.height / 2, target: l.el, position: i.position, positionDefault: "bottom" }, o); 26627 } else if (i.tooltip && i.x != null && i.y != null) { 26628 var f = V8; 26629 f.x = i.x, f.y = i.y, f.update(), it(f).tooltipConfig = { name: null, option: i.tooltip }, this._tryShow({ offsetX: i.x, offsetY: i.y, target: f }, o); 26630 } else if (s) this._tryShow({ offsetX: i.x, offsetY: i.y, position: i.position, dataByCoordSys: s, tooltipOption: i.tooltipOption }, o); 26631 else if (i.seriesIndex != null) { 26632 if (this._manuallyAxisShowTip(t, a, n, i)) return; 26633 var h = oL(i, a), v = h.point[0], c = h.point[1]; 26634 v != null && c != null && this._tryShow({ offsetX: v, offsetY: c, target: h.el, position: i.position, positionDefault: "bottom" }, o); 26635 } else i.x != null && i.y != null && (n.dispatchAction({ type: "updateAxisPointer", x: i.x, y: i.y }), this._tryShow({ offsetX: i.x, offsetY: i.y, position: i.position, target: n.getZr().findHover(i.x, i.y).target }, o)); 26636 } 26637 }, e.prototype.manuallyHideTip = function(t, a, n, i) { 26638 var o = this._tooltipContent; 26639 this._tooltipModel && o.hideLater(this._tooltipModel.get("hideDelay")), this._lastX = this._lastY = this._lastDataByCoordSys = null, i.from !== this.uid && this._hide(Kb(i, n)); 26640 }, e.prototype._manuallyAxisShowTip = function(t, a, n, i) { 26641 var o = i.seriesIndex, s = i.dataIndex, l = a.getComponent("axisPointer").coordSysAxesInfo; 26642 if (!(o == null || s == null || l == null)) { 26643 var u = a.getSeriesByIndex(o); 26644 if (u) { 26645 var f = u.getData(), h = ys([f.getItemModel(s), u, (u.coordinateSystem || {}).model], this._tooltipModel); 26646 if (h.get("trigger") === "axis") return n.dispatchAction({ type: "updateAxisPointer", seriesIndex: o, dataIndex: s, position: i.position }), true; 26647 } 26648 } 26649 }, e.prototype._tryShow = function(t, a) { 26650 var n = t.target, i = this._tooltipModel; 26651 if (i) { 26652 this._lastX = t.offsetX, this._lastY = t.offsetY; 26653 var o = t.dataByCoordSys; 26654 if (o && o.length) this._showAxisTooltip(o, t); 26655 else if (n) { 26656 var s = it(n); 26657 if (s.ssrType === "legend") return; 26658 this._lastDataByCoordSys = null; 26659 var l, u; 26660 jn(n, function(f) { 26661 if (it(f).dataIndex != null) return l = f, true; 26662 if (it(f).tooltipConfig != null) return u = f, true; 26663 }, true), l ? this._showSeriesItemTooltip(t, l, a) : u ? this._showComponentItemTooltip(t, u, a) : this._hide(a); 26664 } else this._lastDataByCoordSys = null, this._hide(a); 26665 } 26666 }, e.prototype._showOrMove = function(t, a) { 26667 var n = t.get("showDelay"); 26668 a = $(a, this), clearTimeout(this._showTimout), n > 0 ? this._showTimout = setTimeout(a, n) : a(); 26669 }, e.prototype._showAxisTooltip = function(t, a) { 26670 var n = this._ecModel, i = this._tooltipModel, o = [a.offsetX, a.offsetY], s = ys([a.tooltipOption], i), l = this._renderMode, u = [], f = le("section", { blocks: [], noHeader: true }), h = [], v = new ac(); 26671 D(t, function(m) { 26672 D(m.dataByAxis, function(_) { 26673 var S = n.getComponent(_.axisDim + "Axis", _.axisIndex), b = _.value; 26674 if (!(!S || b == null)) { 26675 var x = rL(b, S.axis, n, _.seriesDataIndices, _.valueLabelOpt), w = le("section", { header: x, noHeader: !ur(x), sortBlocks: true, blocks: [] }); 26676 f.blocks.push(w), D(_.seriesDataIndices, function(T) { 26677 var C = n.getSeriesByIndex(T.seriesIndex), A = T.dataIndexInside, M = C.getDataParams(A); 26678 if (!(M.dataIndex < 0)) { 26679 M.axisDim = _.axisDim, M.axisIndex = _.axisIndex, M.axisType = _.axisType, M.axisId = _.axisId, M.axisValue = Hy(S.axis, { value: b }), M.axisValueLabel = x, M.marker = v.makeTooltipMarker("item", pi(M.color), l); 26680 var I = N_(C.formatTooltip(A, true, null)), L = I.frag; 26681 if (L) { 26682 var P = ys([C], i).get("valueFormatter"); 26683 w.blocks.push(P ? z({ valueFormatter: P }
26683, L) : L); 26684 } 26685 I.text && h.push(I.text), u.push(M); 26686 } 26687 }); 26688 } 26689 }); 26690 }), f.blocks.reverse(), h.reverse(); 26691 var c = a.position, p = s.get("order"), d = H_(f, v, l, p, n.get("useUTC"), s.get("textStyle")); 26692 d && h.unshift(d); 26693 var g = l === "richText" ? ` 26694 26695` : "<br/>", y = h.join(g); 26696 this._showOrMove(s, function() { 26697 this._updateContentNotChangedOnAxis(t, u) ? this._updatePosition(s, c, o[0], o[1], this._tooltipContent, u) : this._showTooltipContent(s, y, u, Math.random() + "", o[0], o[1], c, null, v); 26698 }); 26699 }, e.prototype._showSeriesItemTooltip = function(t, a, n) { 26700 var i = this._ecModel, o = it(a), s = o.seriesIndex, l = i.getSeriesByIndex(s), u = o.dataModel || l, f = o.dataIndex, h = o.dataType, v = u.getData(h), c = this._renderMode, p = t.positionDefault, d = ys([v.getItemModel(f), u, l && (l.coordinateSystem || {}).model], this._tooltipModel, p ? { position: p } : null), g = d.get("trigger"); 26701 if (!(g != null && g !== "item")) { 26702 var y = u.getDataParams(f, h), m = new ac(); 26703 y.marker = m.makeTooltipMarker("item", pi(y.color), c); 26704 var _ = N_(u.formatTooltip(f, false, h)), S = d.get("order"), b = d.get("valueFormatter"), x = _.frag, w = x ? H_(b ? z({ valueFormatter: b }, x) : x, m, c, S, i.get("useUTC"), d.get("textStyle")) : _.text, T = "item_" + u.name + "_" + f; 26705 this._showOrMove(d, function() { 26706 this._showTooltipContent(d, w, y, T, t.offsetX, t.offsetY, t.position, t.target, m); 26707 }), n({ type: "showTip", dataIndexInside: f, dataIndex: v.getRawIndex(f), seriesIndex: s, from: this.uid }); 26708 } 26709 }, e.prototype._showComponentItemTooltip = function(t, a, n) { 26710 var i = this._renderMode === "html", o = it(a), s = o.tooltipConfig, l = s.option || {}, u = l.encodeHTMLContent; 26711 if (Y(l)) { 26712 var f = l; 26713 l = { content: f, formatter: f }, u = true; 26714 } 26715 u && i && l.content && (l = rt(l), l.content = xe(l.content)); 26716 var h = [l], v = this._ecModel.getComponent(o.componentMainType, o.componentIndex); 26717 v && h.push(v), h.push({ formatter: l.content }); 26718 var c = t.positionDefault, p = ys(h, this._tooltipModel, c ? { position: c } : null), d = p.get("content"), g = Math.random() + "", y = new ac(); 26719 this._showOrMove(p, function() { 26720 var m = rt(p.get("formatterParams") || {}); 26721 this._showTooltipContent(p, d, m, g, t.offsetX, t.offsetY, t.position, a, y); 26722 }), n({ type: "showTip", from: this.uid }); 26723 }, e.prototype._showTooltipContent = function(t, a, n, i, o, s, l, u, f) { 26724 if (this._ticket = "", !(!t.get("showContent") || !t.get("show"))) { 26725 var h = this._tooltipContent; 26726 h.setEnterable(t.get("enterable")); 26727 var v = t.get("formatter"); 26728 l = l || t.get("position"); 26729 var c = a, p = this._getNearestPoint([o, s], n, t.get("trigger"), t.get("borderColor")), d = p.color; 26730 if (v) if (Y(v)) { 26731 var g = t.ecModel.get("useUTC"), y = V(n) ? n[0] : n, m = y && y.axisType && y.axisType.indexOf("time") >= 0; 26732 c = v, m && (c = Gl(y.axisValue, c, g)), c = gy(c, n, true); 26733 } else if (j(v)) { 26734 var _ = $(function(S, b) { 26735 S === this._ticket && (h.setContent(b, f, t, d, l), this._updatePosition(t, l, o, s, h, n, u)); 26736 }, this); 26737 this._ticket = i, c = v(n, i, _); 26738 } else c = v; 26739 h.setContent(c, f, t, d, l), h.show(t, d), this._updatePosition(t, l, o, s, h, n, u); 26740 } 26741 }, e.prototype._getNearestPoint = function(t, a, n, i) { 26742 if (n === "axis" || V(a)) return { color: i || (this._renderMode === "html" ? "#fff" : "none") }; 26743 if (!V(a)) return { color: i || a.color || a.borderColor }; 26744 }, e.prototype._updatePosition = function(t, a, n, i, o, s, l) { 26745 var u = this._api.getWidth(), f = this._api.getHeight(); 26746 a = a || t.get("position"); 26747 var h = o.getSize(), v = t.get("align"), c = t.get("verticalAlign"), p = l && l.getBoundingRect().clone(); 26748 if (l && p.applyTransform(l.transform), j(a) && (a = a([n, i], s, o.el, p, { viewSize: [u, f], contentSize: h.slice() })), V(a)) n = W(a[0], u), i = W(a[1], f); 26749 else if (tt(a)) { 26750 var d = a; 26751 d.width = h[0], d.height = h[1]; 26752 var g = Qt(d, { width: u, height: f }); 26753 n = g.x, i = g.y, v = null, c = null; 26754 } else if (Y(a) && l) { 26755 var y = W8(a, p, h, t.get("borderWidth")); 26756 n = y[0], i = y[1]; 26757 } else { 26758 var y = F8(n, i, o, u, f, v ? null : 20, c ? null : 20); 26759 n = y[0], i = y[1]; 26760 } 26761 if (v && (n -= jb(v) ? h[0] / 2 : v === "right" ? h[0] : 0), c && (i -= jb(c) ? h[1] / 2 : c === "bottom" ? h[1] : 0), mL(t)) { 26762 var y = H8(n, i, o, u, f); 26763 n = y[0], i = y[1]; 26764 } 26765 o.moveTo(n, i); 26766 }, e.prototype._updateContentNotChangedOnAxis = function(t, a) {
26767 var n = this._lastDataByCoordSys, i = this._cbParamsList, o = !!n && n.length === t.length; 26768 return o && D(n, function(s, l) { 26769 var u = s.dataByAxis || [], f = t[l] || {}, h = f.dataByAxis || []; 26770 o = o && u.length === h.length, o && D(u, function(v, c) { 26771 var p = h[c] || {}, d = v.seriesDataIndices || [], g = p.seriesDataIndices || []; 26772 o = o && v.value === p.value && v.axisType === p.axisType && v.axisId === p.axisId && d.length === g.length, o && D(d, function(y, m) { 26773 var _ = g[m]; 26774 o = o && y.seriesIndex === _.seriesIndex && y.dataIndex === _.dataIndex; 26775 }), i && D(v.seriesDataIndices, function(y) { 26776 var m = y.seriesIndex, _ = a[m], S = i[m]; 26777 _ && S && S.data !== _.data && (o = false); 26778 }); 26779 }); 26780 }), this._lastDataByCoordSys = t, this._cbParamsList = a, !!o; 26781 }, e.prototype._hide = function(t) { 26782 this._lastDataByCoordSys = null, t({ type: "hideTip", from: this.uid }); 26783 }, e.prototype.dispose = function(t, a) { 26784 yt.node || !a.getDom() || (cl(this, "_updatePosition"), this._tooltipContent.dispose(), fg("itemTooltip", a)); 26785 }, e.type = "tooltip", e; 26786}(Vt); 26787function ys(r, e, t) { 26788 var a = e.ecModel, n; 26789 t ? (n = new At(t, a, a), n = new At(e.option, n, a)) : n = e; 26790 for (var i = r.length - 1; i >= 0; i--) { 26791 var o = r[i]; 26792 o && (o instanceof At && (o = o.get("tooltip", true)), Y(o) && (o = { formatter: o }), o && (n = new At(o, n, a))); 26793 } 26794 return n; 26795} 26796function Kb(r, e) { 26797 return r.dispatchAction || $(e.dispatchAction, e); 26798} 26799function F8(r, e, t, a, n, i, o) { 26800 var s = t.getSize(), l = s[0], u = s[1]; 26801 return i != null && (r + l + i + 2 > a ? r -= l + i : r += i), o != null && (e + u + o > n ? e -= u + o : e += o), [r, e]; 26802} 26803function H8(r, e, t, a, n) { 26804 var i = t.getSize(), o = i[0], s = i[1]; 26805 return r = Math.min(r + o, a) - o, e = Math.min(e + s, n) - s, r = Math.max(r, 0), e = Math.max(e, 0), [r, e]; 26806} 26807function W8(r, e, t, a) { 26808 var n = t[0], i = t[1], o = Math.ceil(Math.SQRT2 * a) + 8, s = 0, l = 0, u = e.width, f = e.height; 26809 switch (r) { 26810 case "inside": 26811 s = e.x + u / 2 - n / 2, l = e.y + f / 2 - i / 2; 26812 break; 26813 case "top": 26814 s = e.x + u / 2 - n / 2, l = e.y - i - o; 26815 break; 26816 case "bottom": 26817 s = e.x + u / 2 - n / 2, l = e.y + f + o; 26818 break; 26819 case "left": 26820 s = e.x - n - o, l = e.y + f / 2 - i / 2; 26821 break; 26822 case "right": 26823 s = e.x + u + o, l = e.y + f / 2 - i / 2; 26824 } 26825 return [s, l]; 26826} 26827function jb(r) { 26828 return r === "center" || r === "middle"; 26829} 26830function U8(r, e, t) { 26831 var a = $g(r).queryOptionMap, n = a.keys()[0]; 26832 if (!(!n || n === "series")) { 26833 var i = kl(e, n, a.get(n), { useDefault: false, enableAll: false, enableNone: false }), o = i.models[0]; 26834 if (o) { 26835 var s = t.getViewOfComponentModel(o), l; 26836 if (s.group.traverse(function(u) { 26837 var f = it(u).tooltipConfig; 26838 if (f && f.name === r.name) return l = u, true; 26839 }), l) return { componentMainType: n, componentIndex: o.componentIndex, el: l }; 26840 } 26841 } 26842} 26843function Y8(r) { 26844 pt(jl), r.registerComponentModel(D8), r.registerComponentView(G8), r.registerAction({ type: "showTip", event: "showTip", update: "tooltip:manuallyShowTip" }, $t), r.registerAction({ type: "hideTip", event: "hideTip", update: "tooltip:manuallyHideTip" }, $t); 26845} 26846var $8 = ["rect", "polygon", "keep", "clear"]; 26847function X8(r, e) { 26848 var t = Rt(r ? r.brush : []); 26849 if (t.length) { 26850 var a = []; 26851 D(t, function(l) { 26852 var u = l.hasOwnProperty("toolbox") ? l.toolbox : []; 26853 u instanceof Array && (a = a.concat(u)); 26854 }); 26855 var n = r && r.toolbox; 26856 V(n) && (n = n[0]), n || (n = { feature: {} }, r.toolbox = [n]); 26857 var i = n.feature || (n.feature = {}), o = i.brush || (i.brush = {}), s = o.type || (o.type = []); 26858 s.push.apply(s, a), Z8(s), e && !s.length && s.push.apply(s, $8); 26859 } 26860} 26861function Z8(r) { 26862 var e = {}; 26863 D(r, function(t) { 26864 e[t] = 1; 26865 }), r.length = 0, D(e, function(t, a) { 26866 r.push(a); 26867 }); 26868} 26869var Jb = D; 26870function Qb(r) { 26871 if (r) { 26872 for (var e in r) if (r.hasOwnProperty(e)) return true; 26873 } 26874} 26875function gg(r, e, t) { 26876 var a = {}; 26877 return Jb(e, function(i) { 26878 var o = a[i] = n(); 26879 Jb(r[i], function(s, l) { 26880 if (oe.isValidType(l)) { 26881 var u = { type: l, visual: s }; 26882 t && t(u, i), o[l] = new oe(u), l === "opacity" && (u = rt(u), u.type = "colorAlpha", o.__hidden.__alphaForOpacity = new oe(u)); 26883 } 26884 }); 26885 }), a; 26886 function n() { 26887 var i = function() { 26888 }; 26889 i.prototype.__hidden = i.prototype; 26890 var o = new i(); 26891 return o; 26892 } 26893} 26894function bL(r, e, t) { 26895 var a; 26896 D(t, function(n) { 26897 e.hasOwnProperty(n) && Qb(e[n]) && (a = true); 26898 }), a && D(t, function(n) { 26899 e.hasOwnProperty(n) && Qb(e[n]) ? r[n] = rt(e[n]) : delete r[n]; 26900 }); 26901} 26902function q8(r, e, t, a, n, i) { 26903 var o = {}; 26904 D(r, function(h) { 26905 var v = oe.prepareVisualTypes(e[h]); 26906 o[h] = v; 26907 }); 26908 var s; 26909 function l(h) { 26910 return Ay(t, s, h); 26911 } 26912 function u(h, v) { 26913 GA(t, s, h, v); 26914 } 26915 t.each(f); 26916 function f(h, v) { 26917 s = h; 26918 var c = t.getRawDataItem(s); 26919 if (!(c && c.visualMap === false)) for (var p = a.call(n, h), d = e[p], g = o[p], y = 0, m = g.length; y < m; y++) { 26920 var _ = g[y]; 26921 d[_] && d[_].applyVisual(h, l, u); 26922 } 26923 } 26924} 26925function K8(r, e, t, a) { 26926 var n = {}; 26927 return D(r, function(i) { 26928 var o = oe.prepareVisualTypes(e[i]); 26929 n[i] = o; 26930 }), { progress: function(o, s) { 26931 var l; 26932 a != null && (l = s.getDimensionIndex(a)); 26933 function u(b) { 26934 return Ay(s, h, b); 26935 } 26936 function f(b, x) { 26937 GA(s, h, b, x); 26938 } 26939 for (var h, v = s.getStore(); (h = o.next()) != null; ) { 26940 var c = s.getRawDataItem(h); 26941 if (!(c && c.visualMap === false)) for (var p = a != null ? v.get(l, h) : h, d = t(p), g = e[d], y = n[d], m = 0, _ = y.length; m < _; m++) { 26942 var S = y[m]; 26943 g[S] && g[S].applyVisual(p, u, f); 26944 } 26945 } 26946 } }; 26947} 26948function j8(r) { 26949 var e = r.brushType, t = { point: function(a) { 26950 return tw[e].point(a, t, r); 26951 }, rect: function(a) { 26952 return tw[e].rect(a, t, r); 26953 } }; 26954 return t; 26955} 26956var tw = { lineX: ew(0), lineY: ew(1), rect: { point: function(r, e, t) { 26957 return r && t.boundingRect.contain(r[0], r[1]); 26958}, rect: function(r, e, t) { 26959 return r && t.boundingRect.intersect(r); 26960} }, polygon: { point: function(r, e, t) { 26961 return r && t.boundingRect.contain(r[0], r[1]) && Wn(t.range, r[0], r[1]); 26962}, rect: function(r, e, t) { 26963 var a = t.range; 26964 if (!r || a.length <= 1) return false;
26965 var n = r.x, i = r.y, o = r.width, s = r.height, l = a[0]; 26966 if (Wn(a, n, i) || Wn(a, n + o, i) || Wn(a, n, i + s) || Wn(a, n + o, i + s) || ht.create(r).contain(l[0], l[1]) || As(n, i, n + o, i, a) || As(n, i, n, i + s, a) || As(n + o, i, n + o, i + s, a) || As(n, i + s, n + o, i + s, a)) return true; 26967} } }; 26968function ew(r) { 26969 var e = ["x", "y"], t = ["width", "height"]; 26970 return { point: function(a, n, i) { 26971 if (a) { 26972 var o = i.range, s = a[r]; 26973 return ms(s, o); 26974 } 26975 }, rect: function(a, n, i) { 26976 if (a) { 26977 var o = i.range, s = [a[e[r]], a[e[r]] + a[t[r]]]; 26978 return s[1] < s[0] && s.reverse(), ms(s[0], o) || ms(s[1], o) || ms(o[0], s) || ms(o[1], s); 26979 } 26980 } }; 26981} 26982function ms(r, e) { 26983 return e[0] <= r && r <= e[1]; 26984} 26985var rw = ["inBrush", "outOfBrush"], _p = "__ecBrushSelect", yg = "__ecInBrushSelectEvent"; 26986function wL(r) { 26987 r.eachComponent({ mainType: "brush" }, function(e) { 26988 var t = e.brushTargetManager = new Fm(e.option, r); 26989 t.setInputRanges(e.areas, r); 26990 }); 26991} 26992function J8(r, e, t) { 26993 var a = [], n, i; 26994 r.eachComponent({ mainType: "brush" }, function(o) { 26995 t && t.type === "takeGlobalCursor" && o.setBrushOption(t.key === "brush" ? t.brushOption : { brushType: false }); 26996 }), wL(r), r.eachComponent({ mainType: "brush" }, function(o, s) { 26997 var l = { brushId: o.id, brushIndex: s, brushName: o.name, areas: rt(o.areas), selected: [] }; 26998 a.push(l); 26999 var u = o.option, f = u.brushLink, h = [], v = [], c = [], p = false; 27000 s || (n = u.throttleType, i = u.throttleDelay); 27001 var d = G(o.areas, function(b) { 27002 var x = rY[b.brushType], w = Q({ boundingRect: x ? x(b) : void 0 }, b); 27003 return w.selectors = j8(w), w; 27004 }), g = gg(o.option, rw, function(b) { 27005 b.mappingMethod = "fixed"; 27006 }); 27007 V(f) && D(f, function(b) { 27008 h[b] = 1; 27009 }); 27010 function y(b) { 27011 return f === "all" || !!h[b]; 27012 } 27013 function m(b) { 27014 return !!b.length; 27015 } 27016 r.eachSeries(function(b, x) { 27017 var w = c[x] = []; 27018 b.subType === "parallel" ? _(b, x) : S(b, x, w); 27019 }); 27020 function _(b, x) { 27021 var w = b.coordinateSystem; 27022 p = p || w.hasAxisBrushed(), y(x) && w.eachActiveState(b.getData(), function(T, C) { 27023 T === "active" && (v[C] = 1); 27024 }); 27025 } 27026 function S(b, x, w) { 27027 if (!(!b.brushSelector || eY(o, x)) && (D(d, function(C) { 27028 o.brushTargetManager.controlSeries(C, b, r) && w.push(C), p = p || m(w); 27029 }), y(x) && m(w))) { 27030 var T = b.getData(); 27031 T.each(function(C) { 27032 aw(b, w, T, C) && (v[C] = 1); 27033 }); 27034 } 27035 } 27036 r.eachSeries(function(b, x) { 27037 var w = { seriesId: b.id, seriesIndex: x, seriesName: b.name, dataIndex: [] }; 27038 l.selected.push(w); 27039 var T = c[x], C = b.getData(), A = y(x) ? function(M) { 27040 return v[M] ? (w.dataIndex.push(C.getRawIndex(M)), "inBrush") : "outOfBrush"; 27041 } : function(M) { 27042 return aw(b, T, C, M) ? (w.dataIndex.push(C.getRawIndex(M)), "inBrush") : "outOfBrush"; 27043 }; 27044 (y(x) ? p : m(T)) && q8(rw, g, C, A); 27045 }); 27046 }), Q8(e, n, i, a, t); 27047} 27048function Q8(r, e, t, a, n) { 27049 if (n) { 27050 var i = r.getZr(); 27051 if (!i[yg]) { 27052 i[_p] || (i[_p] = tY); 27053 var o = Fo(i, _p, t, e); 27054 o(r, a); 27055 } 27056 } 27057} 27058function tY(r, e) { 27059 if (!r.isDisposed()) { 27060 var t = r.getZr(); 27061 t[yg] = true, r.dispatchAction({ type: "brushSelect", batch: e }), t[yg] = false; 27062 } 27063} 27064function aw(r, e, t, a) { 27065 for (var n = 0, i = e.length; n < i; n++) { 27066 var o = e[n]; 27067 if (r.brushSelector(a, t, o.selectors, o)) return true; 27068 } 27069} 27070function eY(r, e) { 27071 var t = r.option.seriesIndex; 27072 return t != null && t !== "all" && (V(t) ? vt(t, e) < 0 : e !== t); 27073} 27074var rY = { rect: function(r) { 27075 return nw(r.range); 27076}, polygon: function(r) { 27077 for (var e, t = r.range, a = 0, n = t.length; a < n; a++) { 27078 e = e || [[1 / 0, -1 / 0], [1 / 0, -1 / 0]]; 27079 var i = t[a]; 27080 i[0] < e[0][0] && (e[0][0] = i[0]), i[0] > e[0][1] && (e[0][1] = i[0]), i[1] < e[1][0] && (e[1][0] = i[1]), i[1] > e[1][1] && (e[1][1] = i[1]); 27081 } 27082 return e && nw(e); 27083} }; 27084function nw(r) { 27085 return new ht(r[0][0], r[1][0], r[0][1] - r[0][0], r[1][1] - r[1][0]); 27086} 27087var aY = function(r) { 27088 N(e, r); 27089 function e() { 27090 var t = r !== null && r.apply(this, arguments) || this; 27091 return t.type = e.type, t; 27092 } 27093 return e.prototype.init = function(t, a) { 27094 this.ecModel = t, this.api = a, this.model, (this._brushController = new pm(a.getZr())).on("brush", $(this._onBrush, this)).mount(); 27095 }, e.prototype.render = function(t, a, n, i) { 27096 this.model = t, this._updateController(t, a, n, i); 27097 }, e.prototype.updateTransform = function(t, a, n, i) { 27098 wL(a), this._updateController(t, a, n, i); 27099 }, e.prototype.updateVisual = function(t, a, n, i) { 27100 this.updateTransform(t, a, n, i); 27101 }, e.prototype.updateView = function(t, a, n, i) { 27102 this._updateController(t, a, n, i); 27103 }, e.prototype._updateController = function(t, a, n, i) { 27104 (!i || i.$from !== t.id) && this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice()); 27105 }, e.prototype.dispose = function() { 27106 this._brushController.dispose(); 27107 }, e.prototype._onBrush = function(t) { 27108 var a = this.model.id, n = this.model.brushTargetManager.setOutputRanges(t.areas, this.ecModel); 27109 (!t.isEnd || t.removeOnClick) && this.api.dispatchAction({ type: "brush", brushId: a, areas: rt(n), $from: a }), t.isEnd && this.api.dispatchAction({ type: "brushEnd", brushId: a, areas: rt(n), $from: a }); 27110 }, e.type = "brush", e; 27111}(Vt), nY = "#ddd", iY = function(r) { 27112 N(e, r); 27113 function e() { 27114 var t = r !== null && r.apply(this, arguments) || this; 27115 return t.type = e.type, t.areas = [], t.brushOption = {}, t; 27116 } 27117 return e.prototype.optionUpdated = function(t, a) { 27118 var n = this.option; 27119 !a && bL(n, t, ["inBrush", "outOfBrush"]); 27120 var i = n.inBrush = n.inBrush || {}; 27121 n.outOfBrush = n.outOfBrush || { color: nY }, i.hasOwnProperty("liftZ") || (i.liftZ = 5); 27122 }, e.prototype.setAreas = function(t) { 27123 t && (this.areas = G(t, function(a) { 27124 return iw(this.option, a); 27125 }, this)); 27126 }, e.prototype.setBrushOption = function(t) { 27127 this.brushOption = iw(this.option, t), this.brushType = this.brushOption.brushType; 27128 }, e.type = "brush", e.dependencies = ["geo", "grid", "xAxis", "yAxis", "parallel", "series"], e.defaultOption = { seriesIndex: "all", brushType: "rect", brushMode: "single", transformable: true, brushStyle: { borderWidth: 1, color: "rgba(210,219,238,0.3)", borderColor: "#D2DBEE" }, throttleType: "fixRate", throttleDelay: 0, removeOnClick: true, z: 1e4 }, e; 27129}(gt); 27130function iw(r, e) { 27131 return ut({ brushType: r.brushType, brushMode: r.brushMode, transformable: r.transformable, brushStyle: new At(r.brushStyle).getItemStyle(), removeOnClick: r.removeOnClick, z: r.z }, e, true); 27132} 27133var oY = ["rect", "polygon", "lineX", "lineY", "keep", "clear"], sY = function(r) { 27134 N(e, r); 27135 function e() { 27136 return r !== null && r.apply(this, arguments) || this; 27137 } 27138 return e.prototype.render = function(t, a, n) { 27139 var i, o, s; 27140 a.eachComponent({ mainType: "brush" }, function(l) { 27141 i = l.brushType, o = l.brushOption.brushMode || "single", s = s || !!l.areas.length; 27142 }
27142), this._brushType = i, this._brushMode = o, D(t.get("type", true), function(l) { 27143 t.setIconStatus(l, (l === "keep" ? o === "multiple" : l === "clear" ? s : l === i) ? "emphasis" : "normal"); 27144 }); 27145 }, e.prototype.updateView = function(t, a, n) { 27146 this.render(t, a, n); 27147 }, e.prototype.getIcons = function() { 27148 var t = this.model, a = t.get("icon", true), n = {}; 27149 return D(t.get("type", true), function(i) { 27150 a[i] && (n[i] = a[i]); 27151 }), n; 27152 }, e.prototype.onclick = function(t, a, n) { 27153 var i = this._brushType, o = this._brushMode; 27154 n === "clear" ? (a.dispatchAction({ type: "axisAreaSelect", intervals: [] }), a.dispatchAction({ type: "brush", command: "clear", areas: [] })) : a.dispatchAction({ type: "takeGlobalCursor", key: "brush", brushOption: { brushType: n === "keep" ? i : i === n ? false : n, brushMode: n === "keep" ? o === "multiple" ? "single" : "multiple" : o } }); 27155 }, e.getDefaultOption = function(t) { 27156 var a = { show: true, type: oY.slice(), icon: { rect: "M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13", polygon: "M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2", lineX: "M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4", lineY: "M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4", keep: "M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z", clear: "M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2" }, title: t.getLocaleModel().get(["toolbox", "brush", "title"]) }; 27157 return a; 27158 }, e; 27159}(sr); 27160function lY(r) { 27161 r.registerComponentView(aY), r.registerComponentModel(iY), r.registerPreprocessor(X8), r.registerVisual(r.PRIORITY.VISUAL.BRUSH, J8), r.registerAction({ type: "brush", event: "brush", update: "updateVisual" }, function(e, t) { 27162 t.eachComponent({ mainType: "brush", query: e }, function(a) { 27163 a.setAreas(e.areas); 27164 }); 27165 }), r.registerAction({ type: "brushSelect", event: "brushSelected", update: "none" }, $t), r.registerAction({ type: "brushEnd", event: "brushEnd", update: "none" }, $t), eo("brush", sY); 27166} 27167var uY = function(r) { 27168 N(e, r); 27169 function e() { 27170 var t = r !== null && r.apply(this, arguments) || this; 27171 return t.type = e.type, t.layoutMode = { type: "box", ignoreSize: true }, t; 27172 } 27173 return e.type = "title", e.defaultOption = { z: 6, show: true, text: "", target: "blank", subtext: "", subtarget: "blank", left: 0, top: 0, backgroundColor: "rgba(0,0,0,0)", borderColor: "#ccc", borderWidth: 0, padding: 5, itemGap: 10, textStyle: { fontSize: 18, fontWeight: "bold", color: "#464646" }, subtextStyle: { fontSize: 12, color: "#6E7079" } }, e; 27174}(gt), fY = function(r) { 27175 N(e, r); 27176 function e() { 27177 var t = r !== null && r.apply(this, arguments) || this; 27178 return t.type = e.type, t; 27179 } 27180 return e.prototype.render = function(t, a, n) { 27181 if (this.group.removeAll(), !!t.get("show")) { 27182 var i = this.group, o = t.getModel("textStyle"), s = t.getModel("subtextStyle"), l = t.get("textAlign"), u = st(t.get("textBaseline"), t.get("textVerticalAlign")), f = new St({ style: Nt(o, { text: t.get("text"), fill: o.getTextColor() }, { disableBox: true }), z2: 10 }
27182), h = f.getBoundingRect(), v = t.get("subtext"), c = new St({ style: Nt(s, { text: v, fill: s.getTextColor(), y: h.height + t.get("itemGap"), verticalAlign: "top" }, { disableBox: true }), z2: 10 }), p = t.get("link"), d = t.get("sublink"), g = t.get("triggerEvent", true); 27183 f.silent = !p && !g, c.silent = !d && !g, p && f.on("click", function() { 27184 zf(p, "_" + t.get("target")); 27185 }), d && c.on("click", function() { 27186 zf(d, "_" + t.get("subtarget")); 27187 }), it(f).eventData = it(c).eventData = g ? { componentType: "title", componentIndex: t.componentIndex } : null, i.add(f), v && i.add(c); 27188 var y = i.getBoundingRect(), m = t.getBoxLayoutParams(); 27189 m.width = y.width, m.height = y.height; 27190 var _ = Qt(m, { width: n.getWidth(), height: n.getHeight() }, t.get("padding")); 27191 l || (l = t.get("left") || t.get("right"), l === "middle" && (l = "center"), l === "right" ? _.x += _.width : l === "center" && (_.x += _.width / 2)), u || (u = t.get("top") || t.get("bottom"), u === "center" && (u = "middle"), u === "bottom" ? _.y += _.height : u === "middle" && (_.y += _.height / 2), u = u || "top"), i.x = _.x, i.y = _.y, i.markRedraw(); 27192 var S = { align: l, verticalAlign: u }; 27193 f.setStyle(S), c.setStyle(S), y = i.getBoundingRect(); 27194 var b = _.margin, x = t.getItemStyle(["color", "opacity"]); 27195 x.fill = t.get("backgroundColor"); 27196 var w = new xt({ shape: { x: y.x - b[3], y: y.y - b[0], width: y.width + b[1] + b[3], height: y.height + b[0] + b[2], r: t.get("borderRadius") }, style: x, subPixelOptimize: true, silent: true }); 27197 i.add(w); 27198 } 27199 }, e.type = "title", e; 27200}(Vt); 27201function hY(r) { 27202 r.registerComponentModel(uY), r.registerComponentView(fY); 27203} 27204var ow = function(r) { 27205 N(e, r); 27206 function e() { 27207 var t = r !== null && r.apply(this, arguments) || this; 27208 return t.type = e.type, t.layoutMode = "box", t; 27209 } 27210 return e.prototype.init = function(t, a, n) { 27211 this.mergeDefaultAndTheme(t, n), this._initData(); 27212 }, e.prototype.mergeOption = function(t) { 27213 r.prototype.mergeOption.apply(this, arguments), this._initData(); 27214 }, e.prototype.setCurrentIndex = function(t) { 27215 t == null && (t = this.option.currentIndex); 27216 var a = this._data.count(); 27217 this.option.loop ? t = (t % a + a) % a : (t >= a && (t = a - 1), t < 0 && (t = 0)), this.option.currentIndex = t; 27218 }, e.prototype.getCurrentIndex = function() { 27219 return this.option.currentIndex; 27220 }, e.prototype.isIndexMax = function() { 27221 return this.getCurrentIndex() >= this._data.count() - 1; 27222 }, e.prototype.setPlayState = function(t) { 27223 this.option.autoPlay = !!t; 27224 }, e.prototype.getPlayState = function() { 27225 return !!this.option.autoPlay; 27226 }, e.prototype._initData = function() { 27227 var t = this.option, a = t.data || [], n = t.axisType, i = this._names = [], o; 27228 n === "category" ? (o = [], D(a, function(u, f) { 27229 var h = te(Mo(u), ""), v; 27230 tt(u) ? (v = rt(u), v.value = f) : v = f, o.push(v), i.push(h); 27231 })) : o = a; 27232 var s = { category: "ordinal", time: "time", value: "number" }[n] || "number", l = this._data = new be([{ name: "value", type: s }], this); 27233 l.initData(o, i); 27234 }, e.prototype.getData = function() { 27235 return this._data; 27236 }, e.prototype.getCategories = function() { 27237 if (this.get("axisType") === "category") return this._names.slice(); 27238 }, e.type = "timeline", e.defaultOption = { z: 4, show: true, axisType: "time", realtime: true, left: "20%", top: null, right: "20%", bottom: 0, width: null, height: 40, padding: 5, controlPosition: "left", autoPlay: false, rewind: false, loop: true, playInterval: 2e3, currentIndex: 0, itemStyle: {}, label: { color: "#000" }, data: [] }, e; 27239}(gt), TL = function(r) { 27240 N(e, r); 27241 function e() { 27242 var t = r !== null && r.apply(this, arguments) || this; 27243 return t.type = e.type, t; 27244 } 27245 return e.type = "timeline.slider", e.defaultOption = fn(ow.defaultOption, { backgroundColor: "rgba(0,0,0,0)", borderColor: "#ccc", borderWidth: 0, orient: "horizontal", inverse: false, tooltip: { trigger: "item" }, symbol: "circle", symbolSize: 12, lineStyle: { show: true, width: 2, color: "#DAE1F5" }, label: { position: "auto", show: true, interval: "auto", rotate: 0, color: "#A4B1D7" }, itemStyle: { color: "#A4B1D7", borderWidth: 1 }, checkpointStyle: { symbol: "circle", symbolSize: 15, color: "#316bf3", borderColor: "#fff", borderWidth: 2, shadowBlur: 2, shadowOffsetX: 1, shadowOffsetY: 1, shadowColor: "rgba(0, 0, 0, 0.3)", animation: true, animationDuration: 300, animationEasing: "quinticInOut" }, controlStyle: { show: true, showPlayBtn: true, showPrevBtn: true, showNextBtn: true, itemSize: 24, itemGap: 12, position: "left", playIcon: "path://M31.6,53C17.5,53,6,41.5,6,27.4S1
272457.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z", stopIcon: "path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z", nextIcon: "M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z", prevIcon: "M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z", prevBtnSize: 18, nextBtnSize: 18, color: "#A4B1D7", borderColor: "#A4B1D7", borderWidth: 1 }, emphasis: { label: { show: true, color: "#6f778d" }, itemStyle: { color: "#316BF3" }, controlStyle: { color: "#316BF3", borderColor: "#316BF3", borderWidth: 2 } }, progress: { lineStyle: { color: "#316BF3" }, itemStyle: { color: "#316BF3" }, label: { color: "#6f778d" } }, data: [] }), e; 27246}(ow); 27247Xt(TL, Yh.prototype); 27248var vY = function(r) { 27249 N(e, r); 27250 function e() { 27251 var t = r !== null && r.apply(this, arguments) || this; 27252 return t.type = e.type, t; 27253 } 27254 return e.type = "timeline", e; 27255}(Vt), cY = function(r) { 27256 N(e, r); 27257 function e(t, a, n, i) { 27258 var o = r.call(this, t, a, n) || this; 27259 return o.type = i || "value", o; 27260 } 27261 return e.prototype.getLabelModel = function() { 27262 return this.model.getModel("label"); 27263 }, e.prototype.isHorizontal = function() { 27264 return this.model.get("orient") === "horizontal"; 27265 }, e; 27266}(yr), Sp = Math.PI, sw = bt(), pY = function(r) { 27267 N(e, r); 27268 function e() { 27269 var t = r !== null && r.apply(this, arguments) || this; 27270 return t.type = e.type, t; 27271 } 27272 return e.prototype.init = function(t, a) { 27273 this.api = a; 27274 }, e.prototype.render = function(t, a, n) { 27275 if (this.model = t, this.api = n, this.ecModel = a, this.group.removeAll(), t.get("show", true)) { 27276 var i = this._layout(t, n), o = this._createGroup("_mainGroup"), s = this._createGroup("_labelGroup"), l = this._axis = this._createAxis(i, t); 27277 t.formatTooltip = function(u) { 27278 var f = l.scale.getLabel({ value: u }); 27279 return le("nameValue", { noName: true, value: f }); 27280 }, D(["AxisLine", "AxisTick", "Control", "CurrentPointer"], function(u) { 27281 this["_render" + u](i, o, l, t); 27282 }, this), this._renderAxisLabel(i, s, l, t), this._position(i, t); 27283 } 27284 this._doPlayStop(), this._updateTicksStatus(); 27285 }, e.prototype.remove = function() { 27286 this._clearTimer(), this.group.removeAll(); 27287 }, e.prototype.dispose = function() { 27288 this._clearTimer(); 27289 }, e.prototype._layout = function(t, a) { 27290 var n = t.get(["label", "position"]), i = t.get("orient"), o = gY(t, a), s; 27291 n == null || n === "auto" ? s = i === "horizontal" ? o.y + o.height / 2 < a.getHeight() / 2 ? "-" : "+" : o.x + o.width / 2 < a.getWidth() / 2 ? "+" : "-" : Y(n) ? s = { horizontal: { top: "-", bottom: "+" }, vertical: { left: "-", right: "+" } }[i][n] : s = n; 27292 var l = { horizontal: "center", vertical: s >= 0 || s === "+" ? "left" : "right" }, u = { horizontal: s >= 0 || s === "+" ? "top" : "bottom", vertical: "middle" }, f = { horizontal: 0, vertical: Sp / 2 }, h = i === "vertical" ? o.height : o.width, v = t.getModel("controlStyle"), c = v.get("show", true), p = c ? v.get("itemSize") : 0, d = c ? v.get("itemGap") : 0, g = p + d, y = t.get(["label", "rotate"]) || 0; 27293 y = y * Sp / 180; 27294 var m, _, S, b = v.get("position", true), x = c && v.get("showPlayBtn", true), w = c && v.get("showPrevBtn", true), T = c && v.get("showNextBtn", true), C = 0, A = h; 27295 b === "left" || b === "bottom" ? (x && (m = [0, 0], C += g), w && (_ = [C, 0], C += g), T && (S = [A - p, 0], A -= g)) : (x && (m = [A - p, 0], A -= g), w && (_ = [0, 0], C += g), T && (S = [A - p, 0], A -= g)); 27296 var M = [C, A]; 27297 return t.get("inverse") && M.reverse(), { viewRect: o, mainLength: h, orient: i, rotation: f[i], labelRotation: y, labelPosOpt: s, labelAlign: t.get(["label", "align"]) || l[i], labelBaseline: t.get(["label", "verticalAlign"]) || t.get(["label", "baseline"]) || u[i], playPosition: m, prevBtnPosition: _, nextBtnPosition: S, axisExtent: M, controlSize: p, controlGa
27297p: d }; 27298 }, e.prototype._position = function(t, a) { 27299 var n = this._mainGroup, i = this._labelGroup, o = t.viewRect; 27300 if (t.orient === "vertical") { 27301 var s = He(), l = o.x, u = o.y + o.height; 27302 Pr(s, s, [-l, -u]), ln(s, s, -Sp / 2), Pr(s, s, [l, u]), o = o.clone(), o.applyTransform(s); 27303 } 27304 var f = m(o), h = m(n.getBoundingRect()), v = m(i.getBoundingRect()), c = [n.x, n.y], p = [i.x, i.y]; 27305 p[0] = c[0] = f[0][0]; 27306 var d = t.labelPosOpt; 27307 if (d == null || Y(d)) { 27308 var g = d === "+" ? 0 : 1; 27309 _(c, h, f, 1, g), _(p, v, f, 1, 1 - g); 27310 } else { 27311 var g = d >= 0 ? 0 : 1; 27312 _(c, h, f, 1, g), p[1] = c[1] + d; 27313 } 27314 n.setPosition(c), i.setPosition(p), n.rotation = i.rotation = t.rotation, y(n), y(i); 27315 function y(S) { 27316 S.originX = f[0][0] - S.x, S.originY = f[1][0] - S.y; 27317 } 27318 function m(S) { 27319 return [[S.x, S.x + S.width], [S.y, S.y + S.height]]; 27320 } 27321 function _(S, b, x, w, T) { 27322 S[w] += x[w][T] - b[w][T]; 27323 } 27324 }, e.prototype._createAxis = function(t, a) { 27325 var n = a.getData(), i = a.get("axisType"), o = dY(a, i); 27326 o.getTicks = function() { 27327 return n.mapArray(["value"], function(u) { 27328 return { value: u }; 27329 }); 27330 }; 27331 var s = n.getDataExtent("value"); 27332 o.setExtent(s[0], s[1]), o.calcNiceTicks(); 27333 var l = new cY("value", o, t.axisExtent, i); 27334 return l.model = a, l; 27335 }, e.prototype._createGroup = function(t) { 27336 var a = this[t] = new at(); 27337 return this.group.add(a), a; 27338 }, e.prototype._renderAxisLine = function(t, a, n, i) { 27339 var o = n.getExtent(); 27340 if (i.get(["lineStyle", "show"])) { 27341 var s = new ee({ shape: { x1: o[0], y1: 0, x2: o[1], y2: 0 }, style: z({ lineCap: "round" }, i.getModel("lineStyle").getLineStyle()), silent: true, z2: 1 }); 27342 a.add(s); 27343 var l = this._progressLine = new ee({ shape: { x1: o[0], x2: this._currentPointer ? this._currentPointer.x : o[0], y1: 0, y2: 0 }, style: Q({ lineCap: "round", lineWidth: s.style.lineWidth }, i.getModel(["progress", "lineStyle"]).getLineStyle()), silent: true, z2: 1 }); 27344 a.add(l); 27345 } 27346 }, e.prototype._renderAxisTick = function(t, a, n, i) { 27347 var o = this, s = i.getData(), l = n.scale.getTicks(); 27348 this._tickSymbols = [], D(l, function(u) { 27349 var f = n.dataToCoord(u.value), h = s.getItemModel(u.value), v = h.getModel("itemStyle"), c = h.getModel(["emphasis", "itemStyle"]), p = h.getModel(["progress", "itemStyle"]), d = { x: f, y: 0, onclick: $(o._changeTimeline, o, u.value) }, g = lw(h, v, a, d); 27350 g.ensureState("emphasis").style = c.getItemStyle(), g.ensureState("progress").style = p.getItemStyle(), Za(g); 27351 var y = it(g); 27352 h.get("tooltip") ? (y.dataIndex = u.value, y.dataModel = i) : y.dataIndex = y.dataModel = null, o._tickSymbols.push(g); 27353 }); 27354 }, e.prototype._renderAxisLabel = function(t, a, n, i) { 27355 var o = this, s = n.getLabelModel(); 27356 if (s.get("show")) { 27357 var l = i.getData(), u = n.getViewLabels(); 27358 this._tickLabels = [], D(u, function(f) { 27359 var h = f.tickValue, v = l.getItemModel(h), c = v.getModel("label"), p = v.getModel(["emphasis", "label"]), d = v.getModel(["progress", "label"]), g = n.dataToCoord(f.tickValue), y = new St({ x: g, y: 0, rotation: t.labelRotation - t.rotation, onclick: $(o._changeTimeline, o, h), silent: false, style: Nt(c, { text: f.formattedLabel, align: t.labelAlign, verticalAlign: t.labelBaseline }) }); 27360 y.ensureState("emphasis").style = Nt(p), y.ensureState("progress").style = Nt(d), a.add(y), Za(y), sw(y).dataIndex = h, o._tickLabels.push(y); 27361 }); 27362 } 27363 }, e.prototype._renderControl = function(t, a, n, i) { 27364 var o = t.controlSize, s = t.rotation, l = i.getModel("controlStyle").getItemStyle(), u = i.getModel(["emphasis", "controlStyle"]).getItemStyle(), f = i.getPlayState(), h = i.get("inverse", true); 27365 v(t.nextBtnPosition, "next", $(this._changeTimeline, this, h ? "-" : "+")), v(t.prevBtnPosition, "prev", $(this._changeTimeline, this, h ? "+" : "-")), v(t.playPosition, f ? "stop" : "play", $(this._handlePlayClick, this, !f), true); 27366 function v(c, p, d, g) { 27367 if (c) { 27368 var y = Rr(st(i.get(["controlStyle", p + "BtnSize"]), o), o), m = [0, -y / 2, y, y], _ = yY(i, p + "Icon", m, { x: c[0], y: c[1], originX: o / 2, originY: 0, rotation: g ? -s : 0, rectHover: true, style: l, onclick: d }); 27369 _.ensureState("emphasis").style = u, a.add(_), Za(_); 27370 } 27371 } 27372 }, e.prototype._renderCurrentPointer = function(t, a, n, i) { 27373 var o = i.getData(), s = i.getCurrentIndex(), l = o.getItemModel(s).getModel("checkpointStyle"), u = this, f = { onCreate: function(h) { 27374 h.draggable = true, h.drift = $(u._handlePointerDrag, u), h.ondragend = $(u._handlePointerDragend, u), uw(h, u._progressLine, s, n, i, true); 27375 }
27375, onUpdate: function(h) { 27376 uw(h, u._progressLine, s, n, i); 27377 } }; 27378 this._currentPointer = lw(l, l, this._mainGroup, {}, this._currentPointer, f); 27379 }, e.prototype._handlePlayClick = function(t) { 27380 this._clearTimer(), this.api.dispatchAction({ type: "timelinePlayChange", playState: t, from: this.uid }); 27381 }, e.prototype._handlePointerDrag = function(t, a, n) { 27382 this._clearTimer(), this._pointerChangeTimeline([n.offsetX, n.offsetY]); 27383 }, e.prototype._handlePointerDragend = function(t) { 27384 this._pointerChangeTimeline([t.offsetX, t.offsetY], true); 27385 }, e.prototype._pointerChangeTimeline = function(t, a) { 27386 var n = this._toAxisCoord(t)[0], i = this._axis, o = Xe(i.getExtent().slice()); 27387 n > o[1] && (n = o[1]), n < o[0] && (n = o[0]), this._currentPointer.x = n, this._currentPointer.markRedraw(); 27388 var s = this._progressLine; 27389 s && (s.shape.x2 = n, s.dirty()); 27390 var l = this._findNearestTick(n), u = this.model; 27391 (a || l !== u.getCurrentIndex() && u.get("realtime")) && this._changeTimeline(l); 27392 }, e.prototype._doPlayStop = function() { 27393 var t = this; 27394 this._clearTimer(), this.model.getPlayState() && (this._timer = setTimeout(function() { 27395 var a = t.model; 27396 t._changeTimeline(a.getCurrentIndex() + (a.get("rewind", true) ? -1 : 1)); 27397 }, this.model.get("playInterval"))); 27398 }, e.prototype._toAxisCoord = function(t) { 27399 var a = this._mainGroup.getLocalTransform(); 27400 return Ir(t, a, true); 27401 }, e.prototype._findNearestTick = function(t) { 27402 var a = this.model.getData(), n = 1 / 0, i, o = this._axis; 27403 return a.each(["value"], function(s, l) { 27404 var u = o.dataToCoord(s), f = Math.abs(u - t); 27405 f < n && (n = f, i = l); 27406 }), i; 27407 }, e.prototype._clearTimer = function() { 27408 this._timer && (clearTimeout(this._timer), this._timer = null); 27409 }, e.prototype._changeTimeline = function(t) { 27410 var a = this.model.getCurrentIndex(); 27411 t === "+" ? t = a + 1 : t === "-" && (t = a - 1), this.api.dispatchAction({ type: "timelineChange", currentIndex: t, from: this.uid }); 27412 }, e.prototype._updateTicksStatus = function() { 27413 var t = this.model.getCurrentIndex(), a = this._tickSymbols, n = this._tickLabels; 27414 if (a) for (var i = 0; i < a.length; i++) a && a[i] && a[i].toggleState("progress", i < t); 27415 if (n) for (var i = 0; i < n.length; i++) n && n[i] && n[i].toggleState("progress", sw(n[i]).dataIndex <= t); 27416 }, e.type = "timeline.slider", e; 27417}(vY); 27418function dY(r, e) { 27419 if (e = e || r.get("type"), e) switch (e) { 27420 case "category": 27421 return new Qh({ ordinalMeta: r.getCategories(), extent: [1 / 0, -1 / 0] }); 27422 case "time": 27423 return new Gy({ locale: r.ecModel.getLocaleModel(), useUTC: r.ecModel.get("useUTC") }); 27424 default: 27425 return new ba(); 27426 } 27427} 27428function gY(r, e) { 27429 return Qt(r.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }, r.get("padding")); 27430} 27431function yY(r, e, t, a) { 27432 var n = a.style, i = ko(r.get(["controlStyle", e]), a || {}, new ht(t[0], t[1], t[2], t[3])); 27433 return n && i.setStyle(n), i; 27434} 27435function lw(r, e, t, a, n, i) { 27436 var o = e.get("color"); 27437 if (n) n.setColor(o), t.add(n), i && i.onUpdate(n); 27438 else { 27439 var s = r.get("symbol"); 27440 n = qt(s, -1, -1, 2, 2, o), n.setStyle("strokeNoScale", true), t.add(n), i && i.onCreate(n); 27441 } 27442 var l = e.getItemStyle(["color"]); 27443 n.setStyle(l), a = ut({ rectHover: true, z2: 100 }, a, true); 27444 var u = Ho(r.get("symbolSize")); 27445 a.scaleX = u[0] / 2, a.scaleY = u[1] / 2; 27446 var f = wi(r.get("symbolOffset"), u); 27447 f && (a.x = (a.x || 0) + f[0], a.y = (a.y || 0) + f[1]); 27448 var h = r.get("symbolRotate"); 27449 return a.rotation = (h || 0) * Math.PI / 180 || 0, n.attr(a), n.updateTransform(), n; 27450} 27451function uw(r, e, t, a, n, i) { 27452 if (!r.dragging) { 27453 var o = n.getModel("checkpointStyle"), s = a.dataToCoord(n.getData().get("value", t)); 27454 if (i || !o.get("animation", true)) r.attr({ x: s, y: 0 }), e && e.attr({ shape: { x2: s } }); 27455 else { 27456 var l = { duration: o.get("animationDuration", true), easing: o.get("animationEasing", true) }; 27457 r.stopAnimation(null, true), r.animateTo({ x: s, y: 0 }, l), e && e.animateTo({ shape: { x2: s } }, l); 27458 } 27459 } 27460} 27461function mY(r) { 27462 r.registerAction({ type: "timelineChange", event: "timelineChanged", update: "prepareAndUpdate" }, function(e, t, a) { 27463 var n = t.getComponent("timeline"); 27464 return n && e.currentIndex != null && (n.setCurrentIndex(e.currentIndex), !n.get("loop", true) && n.isIndexMax() && n.getPlayState() && (n.setPlayState(false), a.dispatchAction({ type: "timelinePlayChange", playState: false, from: e.from }))), t.resetOption("timeline", { replaceMerge: n.get("replaceMerge", true) }), Q({ currentIndex: n.option.currentIndex }, e); 27465 }), r.registerAction({ type: "timelinePlayChange", event: "timelinePlayChanged", update: "update" }, function(e, t) { 27466 var a = t.getComponent("timeline"); 27467 a && e.playState != null && a.setPlayState(e.playState); 27468 }); 27469} 27470function _Y(r) { 27471 var e = r && r.timeline; 27472 V(e) || (e = e ? [e] : []), D(e, function(t) { 27473 t && SY(t); 27474 }); 27475} 27476function SY(r) { 27477 var e = r.type, t = { number: "value", time: "time" }; 27478 if (t[e] && (r.axisType = t[e], delete r.type), fw(r), $n(r, "controlPosition")) { 27479 var a = r.controlStyle || (r.controlStyle = {}); 27480 $n(a, "position") || (a.position = r.controlPosition), a.position === "none" && !$n(a, "show") && (a.show = false, delete a.position), delete r.controlPosition; 27481 } 27482 D(r.data || [], function(n) { 27483 tt(n) && !V(n) && (!$n(n, "value") && $n(n, "name") && (n.value = n.name), fw(n)); 27484 }); 27485} 27486function fw(r) { 27487 var e = r.itemStyle || (r.itemStyle = {}
27487), t = e.emphasis || (e.emphasis = {}), a = r.label || r.label || {}, n = a.normal || (a.normal = {}), i = { normal: 1, emphasis: 1 }; 27488 D(a, function(o, s) { 27489 !i[s] && !$n(n, s) && (n[s] = o); 27490 }), t.label && !$n(a, "emphasis") && (a.emphasis = t.label, delete t.label); 27491} 27492function $n(r, e) { 27493 return r.hasOwnProperty(e); 27494} 27495function xY(r) { 27496 r.registerComponentModel(TL), r.registerComponentView(pY), r.registerSubTypeDefaulter("timeline", function() { 27497 return "slider"; 27498 }), mY(r), r.registerPreprocessor(_Y); 27499} 27500function Um(r, e) { 27501 if (!r) return false; 27502 for (var t = V(r) ? r : [r], a = 0; a < t.length; a++) if (t[a] && t[a][e]) return true; 27503 return false; 27504} 27505function Zu(r) { 27506 fi(r, "label", ["show"]); 27507} 27508var qu = bt(), Ta = function(r) { 27509 N(e, r); 27510 function e() { 27511 var t = r !== null && r.apply(this, arguments) || this; 27512 return t.type = e.type, t.createdBySelf = false, t; 27513 } 27514 return e.prototype.init = function(t, a, n) { 27515 this.mergeDefaultAndTheme(t, n), this._mergeOption(t, n, false, true); 27516 }, e.prototype.isAnimationEnabled = function() { 27517 if (yt.node) return false; 27518 var t = this.__hostSeries; 27519 return this.getShallow("animation") && t && t.isAnimationEnabled(); 27520 }, e.prototype.mergeOption = function(t, a) { 27521 this._mergeOption(t, a, false, false); 27522 }, e.prototype._mergeOption = function(t, a, n, i) { 27523 var o = this.mainType; 27524 n || a.eachSeries(function(s) { 27525 var l = s.get(this.mainType, true), u = qu(s)[o]; 27526 if (!l || !l.data) { 27527 qu(s)[o] = null; 27528 return; 27529 } 27530 u ? u._mergeOption(l, a, true) : (i && Zu(l), D(l.data, function(f) { 27531 f instanceof Array ? (Zu(f[0]), Zu(f[1])) : Zu(f); 27532 }), u = this.createMarkerModelFromSeries(l, this, a), z(u, { mainType: this.mainType, seriesIndex: s.seriesIndex, name: s.name, createdBySelf: true }), u.__hostSeries = s), qu(s)[o] = u; 27533 }, this); 27534 }, e.prototype.formatTooltip = function(t, a, n) { 27535 var i = this.getData(), o = this.getRawValue(t), s = i.getName(t); 27536 return le("section", { header: this.name, blocks: [le("nameValue", { name: s, value: o, noName: !s, noValue: o == null })] }); 27537 }, e.prototype.getData = function() { 27538 return this._data; 27539 }, e.prototype.setData = function(t) { 27540 this._data = t; 27541 }, e.prototype.getDataParams = function(t, a) { 27542 var n = Yh.prototype.getDataParams.call(this, t, a), i = this.__hostSeries; 27543 return i && (n.seriesId = i.id, n.seriesName = i.name, n.seriesType = i.subType), n; 27544 }, e.getMarkerModelFromSeries = function(t, a) { 27545 return qu(t)[a]; 27546 }, e.type = "marker", e.dependencies = ["series", "grid", "polar", "geo"], e; 27547}(gt); 27548Xt(Ta, Yh.prototype); 27549var bY = function(r) { 27550 N(e, r); 27551 function e() { 27552 var t = r !== null && r.apply(this, arguments) || this; 27553 return t.type = e.type, t; 27554 } 27555 return e.prototype.createMarkerModelFromSeries = function(t, a, n) { 27556 return new e(t, a, n); 27557 }, e.type = "markPoint", e.defaultOption = { z: 5, symbol: "pin", symbolSize: 50, tooltip: { trigger: "item" }, label: { show: true, position: "inside" }, itemStyle: { borderWidth: 2 }, emphasis: { label: { show: true } } }, e; 27558}(Ta); 27559function mg(r) { 27560 return !(isNaN(parseFloat(r.x)) && isNaN(parseFloat(r.y))); 27561} 27562function wY(r) { 27563 return !isNaN(parseFloat(r.x)) && !isNaN(parseFloat(r.y)); 27564} 27565function Ku(r, e, t, a, n, i) { 27566 var o = [], s = xa(e, a), l = s ? e.getCalculationInfo("stackResultDimension") : a, u = Ym(e, l, r), f = e.indicesOfNearest(l, u)[0]; 27567 o[n] = e.get(t, f), o[i] = e.get(l, f); 27568 var h = e.get(a, f), v = Tr(e.get(a, f)); 27569 return v = Math.min(v, 20), v >= 0 && (o[i] = +o[i].toFixed(v)), [o, h]; 27570} 27571var xp = { min: lt(Ku, "min"), max: lt(Ku, "max"), average: lt(Ku, "average"), median: lt(Ku, "median") }; 27572function Dl(r, e) { 27573 if (e) { 27574 var t = r.getData(), a = r.coordinateSystem, n = a && a.dimensions; 27575 if (!wY(e) && !V(e.coord) && V(n)) { 27576 var i = CL(e, t, a, r); 27577 if (e = rt(e), e.type && xp[e.type] && i.baseAxis && i.valueAxis) { 27578 var o = vt(n, i.baseAxis.dim), s = vt(n, i.valueAxis.dim), l = xp[e.type](t, i.baseDataDim, i.valueDataDim, o, s); 27579 e.coord = l[0], e.value = l[1]; 27580 } else e.coord = [e.xAxis != null ? e.xAxis : e.radiusAxis, e.yAxis != null ? e.yAxis : e.angleAxis]; 27581 } 27582 if (e.coord == null || !V(n)) e.coord = []; 27583 else for (var u = e.coord, f = 0; f < 2; f++) xp[u[f]] && (u[f] = Ym(t, t.mapDimension(n[f]), u[f])); 27584 return e; 27585 } 27586} 27587function CL(r, e, t, a) { 27588 var n = {}; 27589 return r.valueIndex != null || r.valueDim != null ? (n.valueDataDim = r.valueIndex != null ? e.getDimension(r.valueIndex) : r.valueDim, n.valueAxis = t.getAxis(TY(a, n.valueDataDim)), n.baseAxis = t.getOtherAxis(n.valueAxis), n.baseDataDim = e.mapDimension(n.baseAxis.dim)) : (n.baseAxis = a.getBaseAxis(), n.valueAxis = t.getOtherAxis(n.baseAxis), n.baseDataDim = e.mapDimension(n.baseAxis.dim), n.valueDataDim = e.mapDimension(n.valueAxis.dim)), n; 27590} 27591function TY(r, e) { 27592 var t = r.getData().getDimensionInfo(e); 27593 return t && t.coordDim; 27594} 27595function Ml(r, e) { 27596 return r && r.containData && e.coord && !mg(e) ? r.containData(e.coord) : true; 27597} 27598function CY(r, e, t) { 27599 return r && r.containZone && e.coord && t.coord && !mg(e) && !mg(t) ? r.containZone(e.coord, t.coord) : true; 27600} 27601function AL(r, e) { 27602 return r ? function(t, a, n, i) { 27603 var o = i < 2 ? t.coord && t.coord[i] : t.value; 27604 return ja(o, e[i]); 27605 } : function(t, a, n, i) { 27606 return ja(t.value, e[i]); 27607 }; 27608} 27609function Ym(r, e, t) { 27610 if (t === "average") { 27611 var a = 0, n = 0; 27612 return r.each(e, function(i, o) { 27613 isNaN(i) || (a += i, n++); 27614 }), a / n; 27615 } else return t === "median" ? r.getMedian(e) : r.getDataExtent(e)[t === "max" ? 1 : 0]; 27616} 27617var bp = bt(), $m = function(r) { 27618 N(e, r); 27619 function e() { 27620 var t = r !== null && r.apply(this, arguments) || this; 27621 return t.type = e.type, t; 27622 } 27623 return e.prototype.init = function() { 27624 this.markerGroupMap = Z(); 27625 }, e.prototype.render = function(t, a, n) { 27626 var i = this, o = this.markerGroupMap; 27627 o.each(function(s) { 27628 bp(s).keep = false;
27629 }), a.eachSeries(function(s) { 27630 var l = Ta.getMarkerModelFromSeries(s, i.type); 27631 l && i.renderSeries(s, l, a, n); 27632 }), o.each(function(s) { 27633 !bp(s).keep && i.group.remove(s.group); 27634 }); 27635 }, e.prototype.markKeep = function(t) { 27636 bp(t).keep = true; 27637 }, e.prototype.toggleBlurSeries = function(t, a) { 27638 var n = this; 27639 D(t, function(i) { 27640 var o = Ta.getMarkerModelFromSeries(i, n.type); 27641 if (o) { 27642 var s = o.getData(); 27643 s.eachItemGraphicEl(function(l) { 27644 l && (a ? yC(l) : Qg(l)); 27645 }); 27646 } 27647 }); 27648 }, e.type = "marker", e; 27649}(Vt); 27650function hw(r, e, t) { 27651 var a = e.coordinateSystem; 27652 r.each(function(n) { 27653 var i = r.getItemModel(n), o, s = W(i.get("x"), t.getWidth()), l = W(i.get("y"), t.getHeight()); 27654 if (!isNaN(s) && !isNaN(l)) o = [s, l]; 27655 else if (e.getMarkerPosition) o = e.getMarkerPosition(r.getValues(r.dimensions, n)); 27656 else if (a) { 27657 var u = r.get(a.dimensions[0], n), f = r.get(a.dimensions[1], n); 27658 o = a.dataToPoint([u, f]); 27659 } 27660 isNaN(s) || (o[0] = s), isNaN(l) || (o[1] = l), r.setItemLayout(n, o); 27661 }); 27662} 27663var AY = function(r) { 27664 N(e, r); 27665 function e() { 27666 var t = r !== null && r.apply(this, arguments) || this; 27667 return t.type = e.type, t; 27668 } 27669 return e.prototype.updateTransform = function(t, a, n) { 27670 a.eachSeries(function(i) { 27671 var o = Ta.getMarkerModelFromSeries(i, "markPoint"); 27672 o && (hw(o.getData(), i, n), this.markerGroupMap.get(i.id).updateLayout()); 27673 }, this); 27674 }, e.prototype.renderSeries = function(t, a, n, i) { 27675 var o = t.coordinateSystem, s = t.id, l = t.getData(), u = this.markerGroupMap, f = u.get(s) || u.set(s, new Ul()), h = DY(o, t, a); 27676 a.setData(h), hw(a.getData(), t, i), h.each(function(v) { 27677 var c = h.getItemModel(v), p = c.getShallow("symbol"), d = c.getShallow("symbolSize"), g = c.getShallow("symbolRotate"), y = c.getShallow("symbolOffset"), m = c.getShallow("symbolKeepAspect"); 27678 if (j(p) || j(d) || j(g) || j(y)) { 27679 var _ = a.getRawValue(v), S = a.getDataParams(v); 27680 j(p) && (p = p(_, S)), j(d) && (d = d(_, S)), j(g) && (g = g(_, S)), j(y) && (y = y(_, S)); 27681 } 27682 var b = c.getModel("itemStyle").getItemStyle(), x = Fl(l, "color"); 27683 b.fill || (b.fill = x), h.setItemVisual(v, { symbol: p, symbolSize: d, symbolRotate: g, symbolOffset: y, symbolKeepAspect: m, style: b }); 27684 }), f.updateData(h), this.group.add(f.group), h.eachItemGraphicEl(function(v) { 27685 v.traverse(function(c) { 27686 it(c).dataModel = a; 27687 }); 27688 }), this.markKeep(f), f.group.silent = a.get("silent") || t.get("silent"); 27689 }, e.type = "markPoint", e; 27690}($m); 27691function DY(r, e, t) { 27692 var a; 27693 r ? a = G(r && r.dimensions, function(s) { 27694 var l = e.getData().getDimensionInfo(e.getData().mapDimension(s)) || {}; 27695 return z(z({}, l), { name: s, ordinalMeta: null }); 27696 }) : a = [{ name: "value", type: "float" }]; 27697 var n = new be(a, t), i = G(t.get("data"), lt(Dl, e)); 27698 r && (i = Ct(i, lt(Ml, r))); 27699 var o = AL(!!r, a); 27700 return n.initData(i, null, o), n; 27701} 27702function MY(r) { 27703 r.registerComponentModel(bY), r.registerComponentView(AY), r.registerPreprocessor(function(e) { 27704 Um(e.series, "markPoint") && (e.markPoint = e.markPoint || {}); 27705 }); 27706} 27707var IY = function(r) { 27708 N(e, r); 27709 function e() { 27710 var t = r !== null && r.apply(this, arguments) || this; 27711 return t.type = e.type, t; 27712 } 27713 return e.prototype.createMarkerModelFromSeries = function(t, a, n) { 27714 return new e(t, a, n); 27715 }, e.type = "markLine", e.defaultOption = { z: 5, symbol: ["circle", "arrow"], symbolSize: [8, 16], symbolOffset: 0, precision: 2, tooltip: { trigger: "item" }, label: { show: true, position: "end", distance: 5 }, lineStyle: { type: "dashed" }, emphasis: { label: { show: true }, lineStyle: { width: 3 } }, animationEasing: "linear" }, e; 27716}(Ta), ju = bt(), LY = function(r, e, t, a) { 27717 var n = r.getData(), i; 27718 if (V(a)) i = a; 27719 else { 27720 var o = a.type; 27721 if (o === "min" || o === "max" || o === "average" || o === "median" || a.xAxis != null || a.yAxis != null) { 27722 var s = void 0, l = void 0; 27723 if (a.yAxis != null || a.xAxis != null) s = e.getAxis(a.yAxis != null ? "y" : "x"), l = ne(a.yAxis, a.xAxis); 27724 else { 27725 var u = CL(a, n, e, r); 27726 s = u.valueAxis; 27727 var f = zy(n, u.valueDataDim); 27728 l = Ym(n, f, o); 27729 } 27730 var h = s.dim === "x" ? 0 : 1, v = 1 - h, c = rt(a), p = { coord: [] }; 27731 c.type = null, c.coord = [], c.coord[v] = -1 / 0, p.coord[v] = 1 / 0; 27732 var d = t.get("precision"); 27733 d >= 0 && wt(l) && (l = +l.toFixed(Math.min(d, 20))), c.coord[h] = p.coord[h] = l, i = [c, p, { type: o, valueIndex: a.valueIndex, value: l }]; 27734 } else i = []; 27735 } 27736 var g = [Dl(r, i[0]), Dl(r, i[1]), z({}, i[2])]; 27737 return g[2].type = g[2].type || null, ut(g[2], g[0]), ut(g[2], g[1]), g; 27738}; 27739function hh(r) { 27740 return !isNaN(r) && !isFinite(r); 27741} 27742function vw(r, e, t, a) { 27743 var n = 1 - r, i = a.dimensions[r]; 27744 return hh(e[n]) && hh(t[n]) && e[r] === t[r] && a.getAxis(i).containData(e[r]); 27745} 27746function PY(r, e) { 27747 if (r.type === "cartesian2d") { 27748 var t = e[0].coord, a = e[1].coord; 27749 if (t && a && (vw(1, t, a, r) || vw(0, t, a, r))) return true; 27750 } 27751 return Ml(r, e[0]) && Ml(r, e[1]); 27752} 27753function wp(r, e, t, a, n) { 27754 var i = a.coordinateSystem, o = r.getItemModel(e), s, l = W(o.get("x"), n.getWidth()), u = W(o.get("y"), n.getHeight()); 27755 if (!isNaN(l) && !isNaN(u)) s = [l, u]; 27756 else { 27757 if (a.getMarkerPosition) s = a.getMarkerPosition(r.getValues(r.dimensions, e)); 27758 else { 27759 var f = i.dimensions, h = r.get(f[0], e), v = r.get(f[1], e); 27760 s = i.dataToPoint([h, v]); 27761 } 27762 if (Ti(i, "cartesian2d")) { 27763 var c = i.getAxis("x"), p = i.getAxis("y"), f = i.dimensions; 27764 hh(r.get(f[0], e)) ? s[0] = c.toGlobalCoord(c.getExtent()[t ? 0 : 1]) : hh(r.get(f[1], e)) && (s[1] = p.toGlobalCoord(p.getExtent()[t ? 0 : 1])); 27765 } 27766 isNaN(l) || (s[0] = l), isNaN(u) || (s[1] = u); 27767 } 27768 r.setItemLayout(e, s); 27769} 27770var RY = function(r) { 27771 N(e, r); 27772 function e() { 27773 var t = r !== null && r.apply(this, arguments) || this; 27774 return t.type = e.type, t; 27775 } 27776 return e.prototype.updateTransform = function(t, a, n) { 27777 a.eachSeries(function(i) { 27778 var o = Ta.getMarkerModelFromSeries(i, "markLine"); 27779 if (o) { 27780 var s = o.getData(), l = ju(o).from, u = ju(o).to; 27781 l.each(function(f) { 27782 wp(l, f, true, i, n), wp(u, f, false, i, n); 27783 }), s.each(function(f) { 27784 s.setItemLayout(f, [l.getItemLayout(f), u.getItemLayout(f)]); 27785 }), this.markerGroupMap.get(i.id).updateLayout(); 27786 } 27787 }, this); 27788 }, e.prototype.renderSeries = function(t, a, n, i) { 27789 var o = t.coordinateSystem, s = t.id, l = t.getData(), u = this.markerGroupMap, f = u.get(s) || u.set(s, new cm()); 27790 this.group.add(f.group); 27791 var h = EY(o, t, a), v = h.from, c = h.to, p = h.line; 27792 ju(a).from = v, ju(a).to = c, a.setData(p); 27793 var d = a.get("symbol"), g = a.get("symbolSize"), y = a.get("symbolRotate"), m = a.get("symbolOffset"); 27794 V(d) || (d = [d, d]), V(g) || (g = [g, g]), V(y) || (y = [y, y]), V(m) || (m = [m, m]), h.from.each(function(S) { 27795 _(v, S, true), _(c, S, false); 27796 }), p.each(function(S) { 27797 var b = p.getItemModel(S).getModel("lineStyle").getLineStyle(); 27798 p.setItemLayout(S, [v.getItemLayout(S), c.getItemLayout(S)]), b.stroke == null && (b.stroke = v.getItemVisual(S, "style").fill), p.setItemVisual(S, { fromSymbolKeepAspect: v.getItemVisual(S, "symbolKeepAspect"), fromSymbolOffset: v.getItemVisual(S, "symbolOffset"), fromSymbolRotate: v.getItemVisual(S, "symbolRotate"), fromSymbolSize: v.getItemVisual(S, "symbolSize"), fromSymbol
27798: v.getItemVisual(S, "symbol"), toSymbolKeepAspect: c.getItemVisual(S, "symbolKeepAspect"), toSymbolOffset: c.getItemVisual(S, "symbolOffset"), toSymbolRotate: c.getItemVisual(S, "symbolRotate"), toSymbolSize: c.getItemVisual(S, "symbolSize"), toSymbol: c.getItemVisual(S, "symbol"), style: b }); 27799 }), f.updateData(p), h.line.eachItemGraphicEl(function(S) { 27800 it(S).dataModel = a, S.traverse(function(b) { 27801 it(b).dataModel = a; 27802 }); 27803 }); 27804 function _(S, b, x) { 27805 var w = S.getItemModel(b); 27806 wp(S, b, x, t, i); 27807 var T = w.getModel("itemStyle").getItemStyle(); 27808 T.fill == null && (T.fill = Fl(l, "color")), S.setItemVisual(b, { symbolKeepAspect: w.get("symbolKeepAspect"), symbolOffset: st(w.get("symbolOffset", true), m[x ? 0 : 1]), symbolRotate: st(w.get("symbolRotate", true), y[x ? 0 : 1]), symbolSize: st(w.get("symbolSize"), g[x ? 0 : 1]), symbol: st(w.get("symbol", true), d[x ? 0 : 1]), style: T }); 27809 } 27810 this.markKeep(f), f.group.silent = a.get("silent") || t.get("silent"); 27811 }, e.type = "markLine", e; 27812}($m); 27813function EY(r, e, t) { 27814 var a; 27815 r ? a = G(r && r.dimensions, function(u) { 27816 var f = e.getData().getDimensionInfo(e.getData().mapDimension(u)) || {}; 27817 return z(z({}, f), { name: u, ordinalMeta: null }); 27818 }) : a = [{ name: "value", type: "float" }]; 27819 var n = new be(a, t), i = new be(a, t), o = new be([], t), s = G(t.get("data"), lt(LY, e, r, t)); 27820 r && (s = Ct(s, lt(PY, r))); 27821 var l = AL(!!r, a); 27822 return n.initData(G(s, function(u) { 27823 return u[0]; 27824 }), null, l), i.initData(G(s, function(u) { 27825 return u[1]; 27826 }), null, l), o.initData(G(s, function(u) { 27827 return u[2]; 27828 })), o.hasItemOption = true, { from: n, to: i, line: o }; 27829} 27830function kY(r) { 27831 r.registerComponentModel(IY), r.registerComponentView(RY), r.registerPreprocessor(function(e) { 27832 Um(e.series, "markLine") && (e.markLine = e.markLine || {}); 27833 }); 27834} 27835var OY = function(r) { 27836 N(e, r); 27837 function e() { 27838 var t = r !== null && r.apply(this, arguments) || this; 27839 return t.type = e.type, t; 27840 } 27841 return e.prototype.createMarkerModelFromSeries = function(t, a, n) { 27842 return new e(t, a, n); 27843 }, e.type = "markArea", e.defaultOption = { z: 1, tooltip: { trigger: "item" }, animation: false, label: { show: true, position: "top" }, itemStyle: { borderWidth: 0 }, emphasis: { label: { show: true, position: "top" } } }, e; 27844}(Ta), Ju = bt(), NY = function(r, e, t, a) { 27845 var n = a[0], i = a[1]; 27846 if (!(!n || !i)) { 27847 var o = Dl(r, n), s = Dl(r, i), l = o.coord, u = s.coord; 27848 l[0] = ne(l[0], -1 / 0), l[1] = ne(l[1], -1 / 0), u[0] = ne(u[0], 1 / 0), u[1] = ne(u[1], 1 / 0); 27849 var f = Sh([{}, o, s]); 27850 return f.coord = [o.coord, s.coord], f.x0 = o.x, f.y0 = o.y, f.x1 = s.x, f.y1 = s.y, f; 27851 } 27852}; 27853function vh(r) { 27854 return !isNaN(r) && !isFinite(r); 27855} 27856function cw(r, e, t, a) { 27857 var n = 1 - r; 27858 return vh(e[n]) && vh(t[n]); 27859} 27860function BY(r, e) { 27861 var t = e.coord[0], a = e.coord[1], n = { coord: t, x: e.x0, y: e.y0 }, i = { coord: a, x: e.x1, y: e.y1 }; 27862 return Ti(r, "cartesian2d") ? t && a && (cw(1, t, a) || cw(0, t, a)) ? true : CY(r, n, i) : Ml(r, n) || Ml(r, i); 27863} 27864function pw(r, e, t, a, n) { 27865 var i = a.coordinateSystem, o = r.getItemModel(e), s, l = W(o.get(t[0]), n.getWidth()), u = W(o.get(t[1]), n.getHeight()); 27866 if (!isNaN(l) && !isNaN(u)) s = [l, u]; 27867 else { 27868 if (a.getMarkerPosition) { 27869 var f = r.getValues(["x0", "y0"], e), h = r.getValues(["x1", "y1"], e), v = i.clampData(f), c = i.clampData(h), p = []; 27870 t[0] === "x0" ? p[0] = v[0] > c[0] ? h[0] : f[0] : p[0] = v[0] > c[0] ? f[0] : h[0], t[1] === "y0" ? p[1] = v[1] > c[1] ? h[1] : f[1] : p[1] = v[1] > c[1] ? f[1] : h[1], s = a.getMarkerPosition(p, t, true); 27871 } else { 27872 var d = r.get(t[0], e), g = r.get(t[1], e), y = [d, g]; 27873 i.clampData && i.clampData(y, y), s = i.dataToPoint(y, true); 27874 } 27875 if (Ti(i, "cartesian2d")) { 27876 var m = i.getAxis("x"), _ = i.getAxis("y"), d = r.get(t[0], e), g = r.get(t[1], e); 27877 vh(d) ? s[0] = m.toGlobalCoord(m.getExtent()[t[0] === "x0" ? 0 : 1]) : vh(g) && (s[1] = _.toGlobalCoord(_.getExtent()[t[1] === "y0" ? 0 : 1])); 27878 } 27879 isNaN(l) || (s[0] = l), isNaN(u) || (s[1] = u); 27880 } 27881 return s; 27882} 27883var dw = [["x0", "y0"], ["x1", "y0"], ["x1", "y1"], ["x0", "y1"]], zY = function(r) { 27884 N(e, r); 27885 function e() { 27886 var t = r !== null && r.apply(this, arguments) || this; 27887 return t.type = e.type, t; 27888 } 27889 return e.prototype.updateTransform = function(t, a, n) { 27890 a.eachSeries(function(i) { 27891 var o = Ta.getMarkerModelFromSeries(i, "markArea"); 27892 if (o) { 27893 var s = o.getData(); 27894 s.each(function(l) { 27895 var u = G(dw, function(h) { 27896 return pw(s, l, h, i, n); 27897 }); 27898 s.setItemLayout(l, u); 27899 var f = s.getItemGraphicEl(l); 27900 f.setShape("points", u); 27901 }); 27902 } 27903 }, this); 27904 }, e.prototype.renderSeries = function(t, a, n, i) { 27905 var o = t.coordinateSystem, s = t.id, l = t.getData(), u = this.markerGroupMap, f = u.get(s) || u.set(s, { group: new at() }); 27906 this.group.add(f.group), this.markKeep(f); 27907 var h = VY(o, t, a); 27908 a.setData(h), h.each(function(v) { 27909 var c = G(dw, function(T) { 27910 return pw(h, v, T, t, i); 27911 }), p = o.getAxis("x").scale, d = o.getAxis("y").scale, g = p.getExtent(), y = d.getExtent(), m = [p.parse(h.get("x0", v)), p.parse(h.get("x1", v))], _ = [d.parse(h.get("y0", v)), d.parse(h.get("y1", v))]; 27912 Xe(m), Xe(_); 27913 var S = !(g[0] > m[1] || g[1] < m[0] || y[0] > _[1] || y[1] < _[0]), b = !S; 27914 h.setItemLayout(v, { points: c, allClipped: b }); 27915 var x = h.getItemModel(v).getModel("itemStyle").getItemStyle(), w = Fl(l, "color"); 27916 x.fill || (x.fill = w, Y(x.fill) && (x.fill = al(x.fill, 0.4))), x.stroke || (x.stroke = w), h.setItemVisual(v, "style", x); 27917 }), h.diff(Ju(f).data).add(function(v) { 27918 var c = h.getItemLayout(v); 27919 if (!c.allClipped) { 27920 var p = new Ce({ shape: { points: c.points } }); 27921 h.setItemGraphicEl(v, p), f.group.add(p); 27922 } 27923 }).update(function(v, c) { 27924 var p = Ju(f).data.getItemGraphicEl(c), d = h.getItemLayout(v); 27925 d.allClipped ? p && f.group.remove(p) : (p ? Tt(p, { shape: { points: d.points } }, a, v) : p = new Ce({ shape: { points: d.points } }), h.setItemGraphicEl(v, p), f.group.add(p)); 27926 }).remove(function(v) { 27927 var c = Ju(f).data.getItemGraphicEl(v); 27928 f.group.remove(c); 27929 }).execute(), h.eachItemGraphicEl(function(v, c) { 27930 var p = h.getItemModel(c), d = h.getItemVisual(c, "style"); 27931 v.useStyle(h.getItemVisual(c, "style")), de(v, se(p), { labelFetcher: a, labelDataIndex: c, defaultText: h.getName(c) || "", inheritColor: Y(d.fill) ? al(d.fill, 1) : "#000" }
27931), pe(v, p), Wt(v, null, null, p.get(["emphasis", "disabled"])), it(v).dataModel = a; 27932 }), Ju(f).data = h, f.group.silent = a.get("silent") || t.get("silent"); 27933 }, e.type = "markArea", e; 27934}($m); 27935function VY(r, e, t) { 27936 var a, n, i = ["x0", "y0", "x1", "y1"]; 27937 if (r) { 27938 var o = G(r && r.dimensions, function(u) { 27939 var f = e.getData(), h = f.getDimensionInfo(f.mapDimension(u)) || {}; 27940 return z(z({}, h), { name: u, ordinalMeta: null }); 27941 }); 27942 n = G(i, function(u, f) { 27943 return { name: u, type: o[f % 2].type }; 27944 }), a = new be(n, t); 27945 } else n = [{ name: "value", type: "float" }], a = new be(n, t); 27946 var s = G(t.get("data"), lt(NY, e, r, t)); 27947 r && (s = Ct(s, lt(BY, r))); 27948 var l = r ? function(u, f, h, v) { 27949 var c = u.coord[Math.floor(v / 2)][v % 2]; 27950 return ja(c, n[v]); 27951 } : function(u, f, h, v) { 27952 return ja(u.value, n[v]); 27953 }; 27954 return a.initData(s, null, l), a.hasItemOption = true, a; 27955} 27956function GY(r) { 27957 r.registerComponentModel(OY), r.registerComponentView(zY), r.registerPreprocessor(function(e) { 27958 Um(e.series, "markArea") && (e.markArea = e.markArea || {}); 27959 }); 27960} 27961var FY = function(r, e) { 27962 if (e === "all") return { type: "all", title: r.getLocaleModel().get(["legend", "selector", "all"]) }; 27963 if (e === "inverse") return { type: "inverse", title: r.getLocaleModel().get(["legend", "selector", "inverse"]) }; 27964}, _g = function(r) { 27965 N(e, r); 27966 function e() { 27967 var t = r !== null && r.apply(this, arguments) || this; 27968 return t.type = e.type, t.layoutMode = { type: "box", ignoreSize: true }, t; 27969 } 27970 return e.prototype.init = function(t, a, n) { 27971 this.mergeDefaultAndTheme(t, n), t.selected = t.selected || {}, this._updateSelector(t); 27972 }, e.prototype.mergeOption = function(t, a) { 27973 r.prototype.mergeOption.call(this, t, a), this._updateSelector(t); 27974 }, e.prototype._updateSelector = function(t) { 27975 var a = t.selector, n = this.ecModel; 27976 a === true && (a = t.selector = ["all", "inverse"]), V(a) && D(a, function(i, o) { 27977 Y(i) && (i = { type: i }), a[o] = ut(i, FY(n, i.type)); 27978 }); 27979 }, e.prototype.optionUpdated = function() { 27980 this._updateData(this.ecModel); 27981 var t = this._data; 27982 if (t[0] && this.get("selectedMode") === "single") { 27983 for (var a = false, n = 0; n < t.length; n++) { 27984 var i = t[n].get("name"); 27985 if (this.isSelected(i)) { 27986 this.select(i), a = true; 27987 break; 27988 } 27989 } 27990 !a && this.select(t[0].get("name")); 27991 } 27992 }, e.prototype._updateData = function(t) { 27993 var a = [], n = []; 27994 t.eachRawSeries(function(l) { 27995 var u = l.name; 27996 n.push(u); 27997 var f; 27998 if (l.legendVisualProvider) { 27999 var h = l.legendVisualProvider, v = h.getAllNames(); 28000 t.isSeriesFiltered(l) || (n = n.concat(v)), v.length ? a = a.concat(v) : f = true; 28001 } else f = true; 28002 f && Yg(l) && a.push(l.name); 28003 }), this._availableNames = n; 28004 var i = this.get("data") || a, o = Z(), s = G(i, function(l) { 28005 return (Y(l) || wt(l)) && (l = { name: l }), o.get(l.name) ? null : (o.set(l.name, true), new At(l, this, this.ecModel)); 28006 }, this); 28007 this._data = Ct(s, function(l) { 28008 return !!l; 28009 }); 28010 }, e.prototype.getData = function() { 28011 return this._data; 28012 }, e.prototype.select = function(t) { 28013 var a = this.option.selected, n = this.get("selectedMode"); 28014 if (n === "single") { 28015 var i = this._data; 28016 D(i, function(o) { 28017 a[o.get("name")] = false; 28018 }); 28019 } 28020 a[t] = true; 28021 }, e.prototype.unSelect = function(t) { 28022 this.get("selectedMode") !== "single" && (this.option.selected[t] = false); 28023 }, e.prototype.toggleSelected = function(t) { 28024 var a = this.option.selected; 28025 a.hasOwnProperty(t) || (a[t] = true), this[a[t] ? "unSelect" : "select"](t); 28026 }, e.prototype.allSelect = function() { 28027 var t = this._data, a = this.option.selected; 28028 D(t, function(n) { 28029 a[n.get("name", true)] = true; 28030 }); 28031 }, e.prototype.inverseSelect = function() { 28032 var t = this._data, a = this.option.selected; 28033 D(t, function(n) { 28034 var i = n.get("name", true); 28035 a.hasOwnProperty(i) || (a[i] = true), a[i] = !a[i]; 28036 }); 28037 }, e.prototype.isSelected = function(t) { 28038 var a = this.option.selected; 28039 return !(a.hasOwnProperty(t) && !a[t]) && vt(this._availableNames, t) >= 0; 28040 }, e.prototype.getOrient = function() { 28041 return this.get("orient") === "vertical" ? { index: 1, name: "vertical" } : { index: 0, name: "horizontal" }; 28042 }, e.type = "legend.plain", e.dependencies = ["series"], e.defaultOption = { z: 4, show: true, orient: "horizontal", left: "center", top: 0, align: "auto", backgroundColor: "rgba(0,0,0,0)", borderColor: "#ccc", borderRadius: 0, borderWidth: 0, padding: 5, itemGap: 10, itemWidth: 25, itemHeight: 14, symbolRotate: "inherit", symbolKeepAspect: true, inactiveColor: "#ccc", inactiveBorderColor: "#ccc", inactiveBorderWidth: "auto", itemStyle: { color: "inherit", opacity: "inherit", borderColor: "inherit", borderWidth: "auto", borderCap: "inherit", borderJoin: "inherit", borderDashOffset: "inherit", borderMiterLimit: "inherit" }, lineStyle: { width: "auto", color: "inherit", inactiveColor: "#ccc", inactiveWidth: 2, opacity: "inherit", type: "inherit", cap: "inherit", join: "inherit", dashOffset: "inherit", miterLimit: "inherit" }, textStyle: { color: "#333" }, selectedMode: true, selector: false, selectorLabel: { show: true, borderRadius: 10, padding: [3, 5, 3, 5], fontSize: 12, fontFamily: "sans-serif", color: "#666", borderWidth: 1, borderColor: "#666" }, emphasis: { selectorLabel: { show: true, color: "#eee", backgroundColor: "#666" } }, selectorPosition: "auto", selectorItemGap: 7, selectorButtonGap: 10, tooltip: { show: false } }, e; 28043}(gt), Xi = lt, Sg = D, Qu = at, DL = function(r) { 28044 N(e, r); 28045 function e() { 28046 var t = r !== null && r.apply(this, arguments) || this; 28047 return t.type = e.type, t.newlineDisabled = false, t; 28048 } 28049 return e.prototype.init = function() {
28050 this.group.add(this._contentGroup = new Qu()), this.group.add(this._selectorGroup = new Qu()), this._isFirstRender = true; 28051 }, e.prototype.getContentGroup = function() { 28052 return this._contentGroup; 28053 }, e.prototype.getSelectorGroup = function() { 28054 return this._selectorGroup; 28055 }, e.prototype.render = function(t, a, n) { 28056 var i = this._isFirstRender; 28057 if (this._isFirstRender = false, this.resetInner(), !!t.get("show", true)) { 28058 var o = t.get("align"), s = t.get("orient"); 28059 (!o || o === "auto") && (o = t.get("left") === "right" && s === "vertical" ? "right" : "left"); 28060 var l = t.get("selector", true), u = t.get("selectorPosition", true); 28061 l && (!u || u === "auto") && (u = s === "horizontal" ? "end" : "start"), this.renderInner(o, t, a, n, l, s, u); 28062 var f = t.getBoxLayoutParams(), h = { width: n.getWidth(), height: n.getHeight() }, v = t.get("padding"), c = Qt(f, h, v), p = this.layoutInner(t, o, c, i, l, u), d = Qt(Q({ width: p.width, height: p.height }, f), h, v); 28063 this.group.x = d.x - p.x, this.group.y = d.y - p.y, this.group.markRedraw(), this.group.add(this._backgroundEl = dL(p, t)); 28064 } 28065 }, e.prototype.resetInner = function() { 28066 this.getContentGroup().removeAll(), this._backgroundEl && this.group.remove(this._backgroundEl), this.getSelectorGroup().removeAll(); 28067 }, e.prototype.renderInner = function(t, a, n, i, o, s, l) { 28068 var u = this.getContentGroup(), f = Z(), h = a.get("selectedMode"), v = []; 28069 n.eachRawSeries(function(c) { 28070 !c.get("legendHoverLink") && v.push(c.id); 28071 }), Sg(a.getData(), function(c, p) { 28072 var d = c.get("name"); 28073 if (!this.newlineDisabled && (d === "" || d === ` 28074`)) { 28075 var g = new Qu(); 28076 g.newline = true, u.add(g); 28077 return; 28078 } 28079 var y = n.getSeriesByName(d)[0]; 28080 if (!f.get(d)) if (y) { 28081 var m = y.getData(), _ = m.getVisual("legendLineStyle") || {}, S = m.getVisual("legendIcon"), b = m.getVisual("style"), x = this._createItem(y, d, p, c, a, t, _, b, S, h, i); 28082 x.on("click", Xi(gw, d, null, i, v)).on("mouseover", Xi(xg, y.name, null, i, v)).on("mouseout", Xi(bg, y.name, null, i, v)), n.ssr && x.eachChild(function(w) { 28083 var T = it(w); 28084 T.seriesIndex = y.seriesIndex, T.dataIndex = p, T.ssrType = "legend"; 28085 }), f.set(d, true); 28086 } else n.eachRawSeries(function(w) { 28087 if (!f.get(d) && w.legendVisualProvider) { 28088 var T = w.legendVisualProvider; 28089 if (!T.containName(d)) return; 28090 var C = T.indexOfName(d), A = T.getItemVisual(C, "style"), M = T.getItemVisual(C, "legendIcon"), I = Re(A.fill); 28091 I && I[3] === 0 && (I[3] = 0.2, A = z(z({}, A), { fill: Mr(I, "rgba") })); 28092 var L = this._createItem(w, d, p, c, a, t, {}, A, M, h, i); 28093 L.on("click", Xi(gw, null, d, i, v)).on("mouseover", Xi(xg, null, d, i, v)).on("mouseout", Xi(bg, null, d, i, v)), n.ssr && L.eachChild(function(P) { 28094 var R = it(P); 28095 R.seriesIndex = w.seriesIndex, R.dataIndex = p, R.ssrType = "legend"; 28096 }), f.set(d, true); 28097 } 28098 }, this); 28099 }, this), o && this._createSelector(o, a, i, s, l); 28100 }, e.prototype._createSelector = function(t, a, n, i, o) { 28101 var s = this.getSelectorGroup(); 28102 Sg(t, function(u) { 28103 var f = u.type, h = new St({ style: { x: 0, y: 0, align: "center", verticalAlign: "middle" }, onclick: function() { 28104 n.dispatchAction({ type: f === "all" ? "legendAllSelect" : "legendInverseSelect", legendId: a.id }); 28105 } }); 28106 s.add(h); 28107 var v = a.getModel("selectorLabel"), c = a.getModel(["emphasis", "selectorLabel"]); 28108 de(h, { normal: v, emphasis: c }, { defaultText: u.title }), Za(h); 28109 }); 28110 }, e.prototype._createItem = function(t, a, n, i, o, s, l, u, f, h, v) { 28111 var c = t.visualDrawType, p = o.get("itemWidth"), d = o.get("itemHeight"), g = o.isSelected(a), y = i.get("symbolRotate"), m = i.get("symbolKeepAspect"), _ = i.get("icon"); 28112 f = _ || f || "roundRect"; 28113 var S = HY(f, i, l, u, c, g, v), b = new Qu(), x = i.getModel("textStyle"); 28114 if (j(t.getLegendIcon) && (!_ || _ === "inherit")) b.add(t.getLegendIcon({ itemWidth: p, itemHeight: d, icon: f, iconRotate: y, itemStyle: S.itemStyle, lineStyle: S.lineStyle, symbolKeepAspect: m })); 28115 else { 28116 var w = _ === "inherit" && t.getData().getVisual("symbol") ? y === "inherit" ? t.getData().getVisual("symbolRotate") : y : 0; 28117 b.add(WY({ itemWidth: p, itemHeight: d, icon: f, iconRotate: w, itemStyle: S.itemStyle, symbolKeepAspect: m })); 28118 } 28119 var T = s === "left" ? p + 5 : -5, C = s, A = o.get("formatter"), M = a; 28120 Y(A) && A ? M = A.replace("{name}", a ?? "") : j(A) && (M = A(a)); 28121 var I = g ? x.getTextColor() : i.get("inactiveColor"); 28122 b.add(new St({ style: Nt(x, { text: M, x: T, y: d / 2, fill: I, align: C, verticalAlign: "middle" }, { inheritColor: I }) }));
28123 var L = new xt({ shape: b.getBoundingRect(), style: { fill: "transparent" } }), P = i.getModel("tooltip"); 28124 return P.get("show") && Si({ el: L, componentModel: o, itemName: a, itemTooltipOption: P.option }), b.add(L), b.eachChild(function(R) { 28125 R.silent = true; 28126 }), L.silent = !h, this.getContentGroup().add(b), Za(b), b.__legendDataIndex = n, b; 28127 }, e.prototype.layoutInner = function(t, a, n, i, o, s) { 28128 var l = this.getContentGroup(), u = this.getSelectorGroup(); 28129 ni(t.get("orient"), l, t.get("itemGap"), n.width, n.height); 28130 var f = l.getBoundingRect(), h = [-f.x, -f.y]; 28131 if (u.markRedraw(), l.markRedraw(), o) { 28132 ni("horizontal", u, t.get("selectorItemGap", true)); 28133 var v = u.getBoundingRect(), c = [-v.x, -v.y], p = t.get("selectorButtonGap", true), d = t.getOrient().index, g = d === 0 ? "width" : "height", y = d === 0 ? "height" : "width", m = d === 0 ? "y" : "x"; 28134 s === "end" ? c[d] += f[g] + p : h[d] += v[g] + p, c[1 - d] += f[y] / 2 - v[y] / 2, u.x = c[0], u.y = c[1], l.x = h[0], l.y = h[1]; 28135 var _ = { x: 0, y: 0 }; 28136 return _[g] = f[g] + p + v[g], _[y] = Math.max(f[y], v[y]), _[m] = Math.min(0, v[m] + c[1 - d]), _; 28137 } else return l.x = h[0], l.y = h[1], this.group.getBoundingRect(); 28138 }, e.prototype.remove = function() { 28139 this.getContentGroup().removeAll(), this._isFirstRender = true; 28140 }, e.type = "legend.plain", e; 28141}(Vt); 28142function HY(r, e, t, a, n, i, o) { 28143 function s(g, y) { 28144 g.lineWidth === "auto" && (g.lineWidth = y.lineWidth > 0 ? 2 : 0), Sg(g, function(m, _) { 28145 g[_] === "inherit" && (g[_] = y[_]); 28146 }); 28147 } 28148 var l = e.getModel("itemStyle"), u = l.getItemStyle(), f = r.lastIndexOf("empty", 0) === 0 ? "fill" : "stroke", h = l.getShallow("decal"); 28149 u.decal = !h || h === "inherit" ? a.decal : xo(h, o), u.fill === "inherit" && (u.fill = a[n]), u.stroke === "inherit" && (u.stroke = a[f]), u.opacity === "inherit" && (u.opacity = (n === "fill" ? a : t).opacity), s(u, a); 28150 var v = e.getModel("lineStyle"), c = v.getLineStyle(); 28151 if (s(c, t), u.fill === "auto" && (u.fill = a.fill), u.stroke === "auto" && (u.stroke = a.fill), c.stroke === "auto" && (c.stroke = a.fill), !i) { 28152 var p = e.get("inactiveBorderWidth"), d = u[f]; 28153 u.lineWidth = p === "auto" ? a.lineWidth > 0 && d ? 2 : 0 : u.lineWidth, u.fill = e.get("inactiveColor"), u.stroke = e.get("inactiveBorderColor"), c.stroke = v.get("inactiveColor"), c.lineWidth = v.get("inactiveWidth"); 28154 } 28155 return { itemStyle: u, lineStyle: c }; 28156} 28157function WY(r) { 28158 var e = r.icon || "roundRect", t = qt(e, 0, 0, r.itemWidth, r.itemHeight, r.itemStyle.fill, r.symbolKeepAspect); 28159 return t.setStyle(r.itemStyle), t.rotation = (r.iconRotate || 0) * Math.PI / 180, t.setOrigin([r.itemWidth / 2, r.itemHeight / 2]), e.indexOf("empty") > -1 && (t.style.stroke = t.style.fill, t.style.fill = "#fff", t.style.lineWidth = 2), t; 28160} 28161function gw(r, e, t, a) { 28162 bg(r, e, t, a), t.dispatchAction({ type: "legendToggleSelect", name: r ?? e }), xg(r, e, t, a); 28163} 28164function ML(r) { 28165 for (var e = r.getZr().storage.getDisplayList(), t, a = 0, n = e.length; a < n && !(t = e[a].states.emphasis); ) a++; 28166 return t && t.hoverLayer; 28167} 28168function xg(r, e, t, a) { 28169 ML(t) || t.dispatchAction({ type: "highlight", seriesName: r, name: e, excludeSeriesId: a }); 28170} 28171function bg(r, e, t, a) { 28172 ML(t) || t.dispatchAction({ type: "downplay", seriesName: r, name: e, excludeSeriesId: a }); 28173} 28174function UY(r) { 28175 var e = r.findComponents({ mainType: "legend" }); 28176 e && e.length && r.filterSeries(function(t) { 28177 for (var a = 0; a < e.length; a++) if (!e[a].isSelected(t.name)) return false; 28178 return true; 28179 }); 28180} 28181function _s(r, e, t) { 28182 var a = r === "allSelect" || r === "inverseSelect", n = {}, i = []; 28183 t.eachComponent({ mainType: "legend", query: e }, function(s) { 28184 a ? s[r]() : s[r](e.name), yw(s, n), i.push(s.componentIndex); 28185 }); 28186 var o = {}; 28187 return t.eachComponent("legend", function(s) { 28188 D(n, function(l, u) { 28189 s[l ? "select" : "unSelect"](u); 28190 }), yw(s, o); 28191 }), a ? { selected: o, legendIndex: i } : { name: e.name, selected: o }; 28192} 28193function yw(r, e) { 28194 var t = e || {}; 28195 return D(r.getData(), function(a) { 28196 var n = a.get("name"); 28197 if (!(n === ` 28198` || n === "")) { 28199 var i = r.isSelected(n); 28200 X(t, n) ? t[n] = t[n] && i : t[n] = i; 28201 } 28202 }), t;
28203} 28204function YY(r) { 28205 r.registerAction("legendToggleSelect", "legendselectchanged", lt(_s, "toggleSelected")), r.registerAction("legendAllSelect", "legendselectall", lt(_s, "allSelect")), r.registerAction("legendInverseSelect", "legendinverseselect", lt(_s, "inverseSelect")), r.registerAction("legendSelect", "legendselected", lt(_s, "select")), r.registerAction("legendUnSelect", "legendunselected", lt(_s, "unSelect")); 28206} 28207function IL(r) { 28208 r.registerComponentModel(_g), r.registerComponentView(DL), r.registerProcessor(r.PRIORITY.PROCESSOR.SERIES_FILTER, UY), r.registerSubTypeDefaulter("legend", function() { 28209 return "plain"; 28210 }), YY(r); 28211} 28212var $Y = function(r) { 28213 N(e, r); 28214 function e() { 28215 var t = r !== null && r.apply(this, arguments) || this; 28216 return t.type = e.type, t; 28217 } 28218 return e.prototype.setScrollDataIndex = function(t) { 28219 this.option.scrollDataIndex = t; 28220 }, e.prototype.init = function(t, a, n) { 28221 var i = Bo(t); 28222 r.prototype.init.call(this, t, a, n), mw(this, t, i); 28223 }, e.prototype.mergeOption = function(t, a) { 28224 r.prototype.mergeOption.call(this, t, a), mw(this, this.option, t); 28225 }, e.type = "legend.scroll", e.defaultOption = fn(_g.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 }), e; 28226}(_g); 28227function mw(r, e, t) { 28228 var a = r.getOrient(), n = [1, 1]; 28229 n[a.index] = 0, an(e, t, { type: "box", ignoreSize: !!n }); 28230} 28231var _w = at, Tp = ["width", "height"], Cp = ["x", "y"], XY = function(r) { 28232 N(e, r); 28233 function e() { 28234 var t = r !== null && r.apply(this, arguments) || this; 28235 return t.type = e.type, t.newlineDisabled = true, t._currentIndex = 0, t; 28236 } 28237 return e.prototype.init = function() { 28238 r.prototype.init.call(this), this.group.add(this._containerGroup = new _w()), this._containerGroup.add(this.getContentGroup()), this.group.add(this._controllerGroup = new _w()); 28239 }, e.prototype.resetInner = function() { 28240 r.prototype.resetInner.call(this), this._controllerGroup.removeAll(), this._containerGroup.removeClipPath(), this._containerGroup.__rectSize = null; 28241 }, e.prototype.renderInner = function(t, a, n, i, o, s, l) { 28242 var u = this; 28243 r.prototype.renderInner.call(this, t, a, n, i, o, s, l); 28244 var f = this._controllerGroup, h = a.get("pageIconSize", true), v = V(h) ? h : [h, h]; 28245 p("pagePrev", 0); 28246 var c = a.getModel("pageTextStyle"); 28247 f.add(new St({ name: "pageText", style: { text: "xx/xx", fill: c.getTextColor(), font: c.getFont(), verticalAlign: "middle", align: "center" }, silent: true })), p("pageNext", 1); 28248 function p(d, g) { 28249 var y = d + "DataIndex", m = ko(a.get("pageIcons", true)[a.getOrient().name][g], { onclick: $(u._pageGo, u, y, a, i) }, { x: -v[0] / 2, y: -v[1] / 2, width: v[0], height: v[1] }); 28250 m.name = d, f.add(m); 28251 } 28252 }, e.prototype.layoutInner = function(t, a, n, i, o, s) { 28253 var l = this.getSelectorGroup(), u = t.getOrient().index, f = Tp[u], h = Cp[u], v = Tp[1 - u], c = Cp[1 - u]; 28254 o && ni("horizontal", l, t.get("selectorItemGap", true)); 28255 var p = t.get("selectorButtonGap", true), d = l.getBoundingRect(), g = [-d.x, -d.y], y = rt(n); 28256 o && (y[f] = n[f] - d[f] - p); 28257 var m = this._layoutContentAndController(t, i, y, u, f, v, c, h); 28258 if (o) { 28259 if (s === "end") g[u] += m[f] + p; 28260 else { 28261 var _ = d[f] + p; 28262 g[u] -= _, m[h] -= _; 28263 } 28264 m[f] += d[f] + p, g[1 - u] += m[c] + m[v] / 2 - d[v] / 2, m[v] = Math.max(m[v], d[v]), m[c] = Math.min(m[c], d[c] + g[1 - u]), l.x = g[0], l.y = g[1], l.markRedraw(); 28265 } 28266 return m; 28267 }, e.prototype._layoutContentAndController = function(t, a, n, i, o, s, l, u) { 28268 var f = this.getContentGroup(), h = this._containerGroup, v = this._controllerGroup; 28269 ni(t.get("orient"), f, t.get("itemGap"), i ? n.width : null, i ? null : n.height), ni("horizontal", v, t.get("pageButtonItemGap", true));
28270 var c = f.getBoundingRect(), p = v.getBoundingRect(), d = this._showController = c[o] > n[o], g = [-c.x, -c.y]; 28271 a || (g[i] = f[u]); 28272 var y = [0, 0], m = [-p.x, -p.y], _ = st(t.get("pageButtonGap", true), t.get("itemGap", true)); 28273 if (d) { 28274 var S = t.get("pageButtonPosition", true); 28275 S === "end" ? m[i] += n[o] - p[o] : y[i] += p[o] + _; 28276 } 28277 m[1 - i] += c[s] / 2 - p[s] / 2, f.setPosition(g), h.setPosition(y), v.setPosition(m); 28278 var b = { x: 0, y: 0 }; 28279 if (b[o] = d ? n[o] : c[o], b[s] = Math.max(c[s], p[s]), b[l] = Math.min(0, p[l] + m[1 - i]), h.__rectSize = n[o], d) { 28280 var x = { x: 0, y: 0 }; 28281 x[o] = Math.max(n[o] - p[o] - _, 0), x[s] = b[s], h.setClipPath(new xt({ shape: x })), h.__rectSize = x[o]; 28282 } else v.eachChild(function(T) { 28283 T.attr({ invisible: true, silent: true }); 28284 }); 28285 var w = this._getPageInfo(t); 28286 return w.pageIndex != null && Tt(f, { x: w.contentPosition[0], y: w.contentPosition[1] }, d ? t : null), this._updatePageInfoView(t, w), b; 28287 }, e.prototype._pageGo = function(t, a, n) { 28288 var i = this._getPageInfo(a)[t]; 28289 i != null && n.dispatchAction({ type: "legendScroll", scrollDataIndex: i, legendId: a.id }); 28290 }, e.prototype._updatePageInfoView = function(t, a) { 28291 var n = this._controllerGroup; 28292 D(["pagePrev", "pageNext"], function(f) { 28293 var h = f + "DataIndex", v = a[h] != null, c = n.childOfName(f); 28294 c && (c.setStyle("fill", v ? t.get("pageIconColor", true) : t.get("pageIconInactiveColor", true)), c.cursor = v ? "pointer" : "default"); 28295 }); 28296 var i = n.childOfName("pageText"), o = t.get("pageFormatter"), s = a.pageIndex, l = s != null ? s + 1 : 0, u = a.pageCount; 28297 i && o && i.setStyle("text", Y(o) ? o.replace("{current}", l == null ? "" : l + "").replace("{total}", u == null ? "" : u + "") : o({ current: l, total: u })); 28298 }, e.prototype._getPageInfo = function(t) { 28299 var a = t.get("scrollDataIndex", true), n = this.getContentGroup(), i = this._containerGroup.__rectSize, o = t.getOrient().index, s = Tp[o], l = Cp[o], u = this._findTargetItemIndex(a), f = n.children(), h = f[u], v = f.length, c = v ? 1 : 0, p = { contentPosition: [n.x, n.y], pageCount: c, pageIndex: c - 1, pagePrevDataIndex: null, pageNextDataIndex: null }; 28300 if (!h) return p; 28301 var d = S(h); 28302 p.contentPosition[o] = -d.s; 28303 for (var g = u + 1, y = d, m = d, _ = null; g <= v; ++g) _ = S(f[g]), (!_ && m.e > y.s + i || _ && !b(_, y.s)) && (m.i > y.i ? y = m : y = _, y && (p.pageNextDataIndex == null && (p.pageNextDataIndex = y.i), ++p.pageCount)), m = _; 28304 for (var g = u - 1, y = d, m = d, _ = null; g >= -1; --g) _ = S(f[g]), (!_ || !b(m, _.s)) && y.i < m.i && (m = y, p.pagePrevDataIndex == null && (p.pagePrevDataIndex = y.i), ++p.pageCount, ++p.pageIndex), y = _; 28305 return p; 28306 function S(x) { 28307 if (x) { 28308 var w = x.getBoundingRect(), T = w[l] + x[l]; 28309 return { s: T, e: T + w[s], i: x.__legendDataIndex }; 28310 } 28311 } 28312 function b(x, w) { 28313 return x.e >= w && x.s <= w + i; 28314 } 28315 }, e.prototype._findTargetItemIndex = function(t) { 28316 if (!this._showController) return 0; 28317 var a, n = this.getContentGroup(), i; 28318 return n.eachChild(function(o, s) { 28319 var l = o.__legendDataIndex; 28320 i == null && l != null && (i = s), l === t && (a = s); 28321 }), a ?? i; 28322 }, e.type = "legend.scroll", e; 28323}(DL); 28324function ZY(r) { 28325 r.registerAction("legendScroll", "legendscroll", function(e, t) { 28326 var a = e.scrollDataIndex; 28327 a != null && t.eachComponent({ mainType: "legend", subType: "scroll", query: e }, function(n) { 28328 n.setScrollDataIndex(a); 28329 }); 28330 }); 28331} 28332function qY(r) { 28333 pt(IL), r.registerComponentModel($Y), r.registerComponentView(XY), ZY(r); 28334} 28335function KY(r) { 28336 pt(IL), pt(qY); 28337} 28338var jY = function(r) { 28339 N(e, r); 28340 function e() { 28341 var t = r !== null && r.apply(this, arguments) || this; 28342 return t.type = e.type, t; 28343 } 28344 return e.type = "dataZoom.inside", e.defaultOption = fn(Al.defaultOption, { disabled: false, zoomLock: false, zoomOnMouseWheel: true, moveOnMouseMove: true, moveOnMouseWheel: false, preventDefaultMouseMove: true }), e; 28345}(Al), Xm = bt(); 28346function JY(r, e, t) { 28347 Xm(r).coordSysRecordMap.each(function(a) { 28348 var n = a.dataZoomInfoMap.get(e.uid); 28349 n && (n.getRange = t); 28350 }); 28351} 28352function QY(r, e) { 28353 for (var t = Xm(r).coordSysRecordMap, a = t.keys(), n = 0; n < a.length; n++) { 28354 var i = a[n], o = t.get(i), s = o.dataZoomInfoMap; 28355 if (s) { 28356 var l = e.uid, u = s.get(l); 28357 u && (s.removeKey(l), s.keys().length || LL(t, o)); 28358 } 28359 } 28360} 28361function LL(r, e) { 28362 if (e) { 28363 r.removeKey(e.model.uid); 28364 var t = e.controller; 28365 t && t.dispose(); 28366 } 28367} 28368function t7(r, e) { 28369 var t = { model: e, containsPoint: lt(r7, e), dispatchAction: lt(e7, r), dataZoomInfoMap: null, controller: null }, a = t.controller = new ql(r.getZr()); 28370 return D(["pan", "zoom", "scrollMove"], function(n) { 28371 a.on(n, function(i) { 28372 var o = []; 28373 t.dataZoomInfoMap.each(function(s) { 28374 if (i.isAvailableBehavior(s.model.option)) { 28375 var l = (s.getRange || {})[n], u = l && l(s.dzReferCoordSysInfo, t.model.mainType, t.controller, i); 28376 !s.model.get("disabled", true) && u && o.push({ dataZoomId: s.model.id, start: u[0], end: u[1] }); 28377 } 28378 }), o.length && t.dispatchAction(o); 28379 }); 28380 }), t;
28381} 28382function e7(r, e) { 28383 r.isDisposed() || r.dispatchAction({ type: "dataZoom", animation: { easing: "cubicOut", duration: 100 }, batch: e }); 28384} 28385function r7(r, e, t, a) { 28386 return r.coordinateSystem.containPoint([t, a]); 28387} 28388function a7(r) { 28389 var e, t = "type_", a = { type_true: 2, type_move: 1, type_false: 0, type_undefined: -1 }, n = true; 28390 return r.each(function(i) { 28391 var o = i.model, s = o.get("disabled", true) ? false : o.get("zoomLock", true) ? "move" : true; 28392 a[t + s] > a[t + e] && (e = s), n = n && o.get("preventDefaultMouseMove", true); 28393 }), { controlType: e, opt: { zoomOnMouseWheel: true, moveOnMouseMove: true, moveOnMouseWheel: true, preventDefaultMouseMove: !!n } }; 28394} 28395function n7(r) { 28396 r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER, function(e, t) { 28397 var a = Xm(t), n = a.coordSysRecordMap || (a.coordSysRecordMap = Z()); 28398 n.each(function(i) { 28399 i.dataZoomInfoMap = null; 28400 }), e.eachComponent({ mainType: "dataZoom", subType: "inside" }, function(i) { 28401 var o = vL(i); 28402 D(o.infoList, function(s) { 28403 var l = s.model.uid, u = n.get(l) || n.set(l, t7(t, s.model)), f = u.dataZoomInfoMap || (u.dataZoomInfoMap = Z()); 28404 f.set(i.uid, { dzReferCoordSysInfo: s, model: i, getRange: null }); 28405 }); 28406 }), n.each(function(i) { 28407 var o = i.controller, s, l = i.dataZoomInfoMap; 28408 if (l) { 28409 var u = l.keys()[0]; 28410 u != null && (s = l.get(u)); 28411 } 28412 if (!s) { 28413 LL(n, i); 28414 return; 28415 } 28416 var f = a7(l); 28417 o.enable(f.controlType, f.opt), o.setPointerChecker(i.containsPoint), Fo(i, "dispatchAction", s.model.get("throttle", true), "fixRate"); 28418 }); 28419 }); 28420} 28421var i7 = function(r) { 28422 N(e, r); 28423 function e() { 28424 var t = r !== null && r.apply(this, arguments) || this; 28425 return t.type = "dataZoom.inside", t; 28426 } 28427 return e.prototype.render = function(t, a, n) { 28428 if (r.prototype.render.apply(this, arguments), t.noTarget()) { 28429 this._clear(); 28430 return; 28431 } 28432 this.range = t.getPercentRange(), JY(n, t, { pan: $(Ap.pan, this), zoom: $(Ap.zoom, this), scrollMove: $(Ap.scrollMove, this) }); 28433 }, e.prototype.dispose = function() { 28434 this._clear(), r.prototype.dispose.apply(this, arguments); 28435 }, e.prototype._clear = function() { 28436 QY(this.api, this.dataZoomModel), this.range = null; 28437 }, e.type = "dataZoom.inside", e; 28438}(zm), Ap = { zoom: function(r, e, t, a) { 28439 var n = this.range, i = n.slice(), o = r.axisModels[0]; 28440 if (o) { 28441 var s = Dp[e](null, [a.originX, a.originY], o, t, r), l = (s.signal > 0 ? s.pixelStart + s.pixelLength - s.pixel : s.pixel - s.pixelStart) / s.pixelLength * (i[1] - i[0]) + i[0], u = Math.max(1 / a.scale, 0); 28442 i[0] = (i[0] - l) * u + l, i[1] = (i[1] - l) * u + l; 28443 var f = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan(); 28444 if (Ai(0, i, [0, 100], 0, f.minSpan, f.maxSpan), this.range = i, n[0] !== i[0] || n[1] !== i[1]) return i; 28445 } 28446}, pan: Sw(function(r, e, t, a, n, i) { 28447 var o = Dp[a]([i.oldX, i.oldY], [i.newX, i.newY], e, n, t); 28448 return o.signal * (r[1] - r[0]) * o.pixel / o.pixelLength; 28449}), scrollMove: Sw(function(r, e, t, a, n, i) { 28450 var o = Dp[a]([0, 0], [i.scrollDelta, i.scrollDelta], e, n, t); 28451 return o.signal * (r[1] - r[0]) * i.scrollDelta; 28452}) }; 28453function Sw(r) { 28454 return function(e, t, a, n) { 28455 var i = this.range, o = i.slice(), s = e.axisModels[0]; 28456 if (s) { 28457 var l = r(o, s, e, t, a, n); 28458 if (Ai(l, o, [0, 100], "all"), this.range = o, i[0] !== o[0] || i[1] !== o[1]) return o; 28459 } 28460 }; 28461} 28462var Dp = { grid: function(r, e, t, a, n) { 28463 var i = t.axis, o = {}, s = n.model.coordinateSystem.getRect(); 28464 return r = r || [0, 0], i.dim === "x" ? (o.pixel = e[0] - r[0], o.pixelLength = s.width, o.pixelStart = s.x, o.signal = i.inverse ? 1 : -1) : (o.pixel = e[1] - r[1], o.pixelLength = s.height, o.pixelStart = s.y, o.signal = i.inverse ? -1 : 1), o; 28465}, polar: function(r, e, t, a, n) { 28466 var i = t.axis, o = {}, s = n.model.coordinateSystem, l = s.getRadiusAxis().getExtent(), u = s.getAngleAxis().getExtent(); 28467 return r = r ? s.pointToCoord(r) : [0, 0], e = s.pointToCoord(e), t.mainType === "radiusAxis" ? (o.pixel = e[0] - r[0], o.pixelLength = l[1] - l[0], o.pixelStart = l[0], o.signal = i.inverse ? 1 : -1) : (o.pixel = e[1] - r[1], o.pixelLength = u[1] - u[0], o.pixelStart = u[0], o.signal = i.inverse ? -1 : 1), o; 28468}, singleAxis: function(r, e, t, a, n) { 28469 var i = t.axis, o = n.model.coordinateSystem.getRect(), s = {}; 28470 return r = r || [0, 0], i.orient === "horizontal" ? (s.pixel = e[0] - r[0], s.pixelLength = o.width, s.pixelStart = o.x, s.signal = i.inverse ? 1 : -1) : (s.pixel = e[1] - r[1], s.pixelLength = o.height, s.pixelStart = o.y, s.signal = i.inverse ? -1 : 1), s; 28471} }; 28472function PL(r) { 28473 Vm(r), r.registerComponentModel(jY), r.registerComponentView(i7), n7(r); 28474} 28475var o7 = function(r) { 28476 N(e, r); 28477 function e() { 28478 var t = r !== null && r.apply(this, arguments) || this; 28479 return t.type = e.type, t; 28480 } 28481 return e.type = "dataZoom.slider", e.layoutMode = "box", e.defaultOption = fn(Al.defaultOption, { show: true, right: "ph", top: "ph", width: "ph", height: "ph", left: null, bottom: null, borderColor: "#d2dbee", borderRadius: 3, backgroundColor: "rgba(47,69,84,0)", dataBackgroun
28481d: { lineStyle: { color: "#d2dbee", width: 0.5 }, areaStyle: { color: "#d2dbee", opacity: 0.2 } }, selectedDataBackground: { lineStyle: { color: "#8fb0f7", width: 0.5 }, areaStyle: { color: "#8fb0f7", opacity: 0.2 } }, fillerColor: "rgba(135,175,274,0.2)", handleIcon: "path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z", handleSize: "100%", handleStyle: { color: "#fff", borderColor: "#ACB8D1" }, moveHandleSize: 7, moveHandleIcon: "path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z", moveHandleStyle: { color: "#D2DBEE", opacity: 0.7 }, showDetail: true, showDataShadow: "auto", realtime: true, zoomLock: false, textStyle: { color: "#6E7079" }, brushSelect: true, brushStyle: { color: "rgba(135,175,274,0.15)" }, emphasis: { handleLabel: { show: true }, handleStyle: { borderColor: "#8FB0F7" }, moveHandleStyle: { color: "#8FB0F7" } } }), e; 28482}(Al), Ss = xt, xw = 7, s7 = 1, Mp = 30, l7 = 7, xs = "horizontal", bw = "vertical", u7 = 5, f7 = ["line", "bar", "candlestick", "scatter"], h7 = { easing: "cubicOut", duration: 100, delay: 0 }, v7 = function(r) { 28483 N(e, r); 28484 function e() { 28485 var t = r !== null && r.apply(this, arguments) || this; 28486 return t.type = e.type, t._displayables = {}, t; 28487 } 28488 return e.prototype.init = function(t, a) { 28489 this.api = a, this._onBrush = $(this._onBrush, this), this._onBrushEnd = $(this._onBrushEnd, this); 28490 }, e.prototype.render = function(t, a, n, i) { 28491 if (r.prototype.render.apply(this, arguments), Fo(this, "_dispatchZoomAction", t.get("throttle"), "fixRate"), this._orient = t.getOrient(), t.get("show") === false) { 28492 this.group.removeAll(); 28493 return; 28494 } 28495 if (t.noTarget()) { 28496 this._clear(), this.group.removeAll(); 28497 return; 28498 } 28499 (!i || i.type !== "dataZoom" || i.from !== this.uid) && this._buildView(), this._updateView(); 28500 }, e.prototype.dispose = function() { 28501 this._clear(), r.prototype.dispose.apply(this, arguments); 28502 }, e.prototype._clear = function() { 28503 cl(this, "_dispatchZoomAction"); 28504 var t = this.api.getZr(); 28505 t.off("mousemove", this._onBrush), t.off("mouseup", this._onBrushEnd); 28506 }, e.prototype._buildView = function() { 28507 var t = this.group; 28508 t.removeAll(), this._brushing = false, this._displayables.brushRect = null, this._resetLocation(), this._resetInterval(); 28509 var a = this._displayables.sliderGroup = new at(); 28510 this._renderBackground(), this._renderHandle(), this._renderDataShadow(), t.add(a), this._positionGroup(); 28511 }, e.prototype._resetLocation = function() { 28512 var t = this.dataZoomModel, a = this.api, n = t.get("brushSelect"), i = n ? l7 : 0, o = this._findCoordRect(), s = { width: a.getWidth(), height: a.getHeight() }, l = this._orient === xs ? { right: s.width - o.x - o.width, top: s.height - Mp - xw - i, width: o.width, height: Mp } : { right: xw, top: o.y, width: Mp, height: o.height }, u = Bo(t.option); 28513 D(["right", "top", "width", "height"], function(h) { 28514 u[h] === "ph" && (u[h] = l[h]); 28515 }); 28516 var f = Qt(u, s); 28517 this._location = { x: f.x, y: f.y }, this._size = [f.width, f.height], this._orient === bw && this._size.reverse(); 28518 }, e.prototype._positionGroup = function() { 28519 var t = this.group, a = this._location, n = this._orient, i = this.dataZoomModel.getFirstTargetAxisModel(), o = i && i.get("inverse"), s = this._displayables.sliderGroup, l = (this._dataShadowInfo || {}).otherAxisInverse; 28520 s.attr(n === xs && !o ? { scaleY: l ? 1 : -1, scaleX: 1 } : n === xs && o ? { scaleY: l ? 1 : -1, scaleX: -1 } : n === bw && !o ? { scaleY: l ? -1 : 1, scaleX: 1, rotation: Math.PI / 2 } : { scaleY: l ? -1 : 1, scaleX: -1, rotation: Math.PI / 2 }); 28521 var u = t.getBoundingRect([s]); 28522 t.x = a.x - u.x, t.y = a.y - u.y, t.markRedraw(); 28523 }, e.prototype._getViewExtent = function() { 28524 return [0, this._size[0]]; 28525 }
28525, e.prototype._renderBackground = function() { 28526 var t = this.dataZoomModel, a = this._size, n = this._displayables.sliderGroup, i = t.get("brushSelect"); 28527 n.add(new Ss({ silent: true, shape: { x: 0, y: 0, width: a[0], height: a[1] }, style: { fill: t.get("backgroundColor") }, z2: -40 })); 28528 var o = new Ss({ shape: { x: 0, y: 0, width: a[0], height: a[1] }, style: { fill: "transparent" }, z2: 0, onclick: $(this._onClickPanel, this) }), s = this.api.getZr(); 28529 i ? (o.on("mousedown", this._onBrushStart, this), o.cursor = "crosshair", s.on("mousemove", this._onBrush), s.on("mouseup", this._onBrushEnd)) : (s.off("mousemove", this._onBrush), s.off("mouseup", this._onBrushEnd)), n.add(o); 28530 }, e.prototype._renderDataShadow = function() { 28531 var t = this._dataShadowInfo = this._prepareDataShadowInfo(); 28532 if (this._displayables.dataShadowSegs = [], !t) return; 28533 var a = this._size, n = this._shadowSize || [], i = t.series, o = i.getRawData(), s = i.getShadowDim && i.getShadowDim(), l = s && o.getDimensionInfo(s) ? i.getShadowDim() : t.otherDim; 28534 if (l == null) return; 28535 var u = this._shadowPolygonPts, f = this._shadowPolylinePts; 28536 if (o !== this._shadowData || l !== this._shadowDim || a[0] !== n[0] || a[1] !== n[1]) { 28537 var h = o.getDataExtent(l), v = (h[1] - h[0]) * 0.3; 28538 h = [h[0] - v, h[1] + v]; 28539 var c = [0, a[1]], p = [0, a[0]], d = [[a[0], 0], [0, 0]], g = [], y = p[1] / (o.count() - 1), m = 0, _ = Math.round(o.count() / a[0]), S; 28540 o.each([l], function(C, A) { 28541 if (_ > 0 && A % _) { 28542 m += y; 28543 return; 28544 } 28545 var M = C == null || isNaN(C) || C === "", I = M ? 0 : Dt(C, h, c, true); 28546 M && !S && A ? (d.push([d[d.length - 1][0], 0]), g.push([g[g.length - 1][0], 0])) : !M && S && (d.push([m, 0]), g.push([m, 0])), d.push([m, I]), g.push([m, I]), m += y, S = M; 28547 }), u = this._shadowPolygonPts = d, f = this._shadowPolylinePts = g; 28548 } 28549 this._shadowData = o, this._shadowDim = l, this._shadowSize = [a[0], a[1]]; 28550 var b = this.dataZoomModel; 28551 function x(C) { 28552 var A = b.getModel(C ? "selectedDataBackground" : "dataBackground"), M = new at(), I = new Ce({ shape: { points: u }, segmentIgnoreThreshold: 1, style: A.getModel("areaStyle").getAreaStyle(), silent: true, z2: -20 }), L = new De({ shape: { points: f }, segmentIgnoreThreshold: 1, style: A.getModel("lineStyle").getLineStyle(), silent: true, z2: -19 }); 28553 return M.add(I), M.add(L), M; 28554 } 28555 for (var w = 0; w < 3; w++) { 28556 var T = x(w === 1); 28557 this._displayables.sliderGroup.add(T), this._displayables.dataShadowSegs.push(T); 28558 } 28559 }, e.prototype._prepareDataShadowInfo = function() { 28560 var t = this.dataZoomModel, a = t.get("showDataShadow"); 28561 if (a !== false) { 28562 var n, i = this.ecModel; 28563 return t.eachTargetAxis(function(o, s) { 28564 var l = t.getAxisProxy(o, s).getTargetSeriesModels(); 28565 D(l, function(u) { 28566 if (!n && !(a !== true && vt(f7, u.get("type")) < 0)) { 28567 var f = i.getComponent(Ya(o), s).axis, h = c7(o), v, c = u.coordinateSystem; 28568 h != null && c.getOtherAxis && (v = c.getOtherAxis(f).inverse), h = u.getData().mapDimension(h), n = { thisAxis: f, series: u, thisDim: o, otherDim: h, otherAxisInverse: v }; 28569 } 28570 }, this); 28571 }, this), n; 28572 } 28573 }, e.prototype._renderHandle = function() { 28574 var t = this.group, a = this._displayables, n = a.handles = [null, null], i = a.handleLabels = [null, null], o = this._displayables.sliderGroup, s = this._size, l = this.dataZoomModel, u = this.api, f = l.get("borderRadius") || 0, h = l.get("brushSelect"), v = a.filler = new Ss({ silent: h, style: { fill: l.get("fillerColor") }, textConfig: { position: "inside" } }); 28575 o.add(v), o.add(new Ss({ silent: true, subPixelOptimize: true, shape: { x: 0, y: 0, width: s[0], height: s[1], r: f }, style: { stroke: l.get("dataBackgroundColor") || l.get("borderColor"), lineWidth: s7, fill: "rgba(0,0,0,0)" } })), D([0, 1], function(_) { 28576 var S = l.get("handleIcon"); 28577 !Ff[S] && S.indexOf("path://") < 0 && S.indexOf("image://") < 0 && (S = "path://" + S); 28578 var b = qt(S, -1, 0, 2, 2, null, true); 28579 b.attr({ cursor: ww(this._orient), draggable: true, drift: $(this._onDragMove, this, _), ondragend: $(this._onDragEnd, this), onmouseover: $(this._showDataInfo, this, true), onmouseout: $(this._showDataInfo, this, false), z2: 5 });
28580 var x = b.getBoundingRect(), w = l.get("handleSize"); 28581 this._handleHeight = W(w, this._size[1]), this._handleWidth = x.width / x.height * this._handleHeight, b.setStyle(l.getModel("handleStyle").getItemStyle()), b.style.strokeNoScale = true, b.rectHover = true, b.ensureState("emphasis").style = l.getModel(["emphasis", "handleStyle"]).getItemStyle(), Za(b); 28582 var T = l.get("handleColor"); 28583 T != null && (b.style.fill = T), o.add(n[_] = b); 28584 var C = l.getModel("textStyle"), A = l.get("handleLabel") || {}, M = A.show || false; 28585 t.add(i[_] = new St({ silent: true, invisible: !M, style: Nt(C, { x: 0, y: 0, text: "", verticalAlign: "middle", align: "center", fill: C.getTextColor(), font: C.getFont() }), z2: 10 })); 28586 }, this); 28587 var c = v; 28588 if (h) { 28589 var p = W(l.get("moveHandleSize"), s[1]), d = a.moveHandle = new xt({ style: l.getModel("moveHandleStyle").getItemStyle(), silent: true, shape: { r: [0, 0, 2, 2], y: s[1] - 0.5, height: p } }), g = p * 0.8, y = a.moveHandleIcon = qt(l.get("moveHandleIcon"), -g / 2, -g / 2, g, g, "#fff", true); 28590 y.silent = true, y.y = s[1] + p / 2 - 0.5, d.ensureState("emphasis").style = l.getModel(["emphasis", "moveHandleStyle"]).getItemStyle(); 28591 var m = Math.min(s[1] / 2, Math.max(p, 10)); 28592 c = a.moveZone = new xt({ invisible: true, shape: { y: s[1] - m, height: p + m } }), c.on("mouseover", function() { 28593 u.enterEmphasis(d); 28594 }).on("mouseout", function() { 28595 u.leaveEmphasis(d); 28596 }), o.add(d), o.add(y), o.add(c); 28597 } 28598 c.attr({ draggable: true, cursor: ww(this._orient), drift: $(this._onDragMove, this, "all"), ondragstart: $(this._showDataInfo, this, true), ondragend: $(this._onDragEnd, this), onmouseover: $(this._showDataInfo, this, true), onmouseout: $(this._showDataInfo, this, false) }); 28599 }, e.prototype._resetInterval = function() { 28600 var t = this._range = this.dataZoomModel.getPercentRange(), a = this._getViewExtent(); 28601 this._handleEnds = [Dt(t[0], [0, 100], a, true), Dt(t[1], [0, 100], a, true)]; 28602 }, e.prototype._updateInterval = function(t, a) { 28603 var n = this.dataZoomModel, i = this._handleEnds, o = this._getViewExtent(), s = n.findRepresentativeAxisProxy().getMinMaxSpan(), l = [0, 100]; 28604 Ai(a, i, o, n.get("zoomLock") ? "all" : t, s.minSpan != null ? Dt(s.minSpan, l, o, true) : null, s.maxSpan != null ? Dt(s.maxSpan, l, o, true) : null); 28605 var u = this._range, f = this._range = Xe([Dt(i[0], o, l, true), Dt(i[1], o, l, true)]); 28606 return !u || u[0] !== f[0] || u[1] !== f[1]; 28607 }, e.prototype._updateView = function(t) { 28608 var a = this._displayables, n = this._handleEnds, i = Xe(n.slice()), o = this._size; 28609 D([0, 1], function(c) { 28610 var p = a.handles[c], d = this._handleHeight; 28611 p.attr({ scaleX: d / 2, scaleY: d / 2, x: n[c] + (c ? -1 : 1), y: o[1] / 2 - d / 2 }); 28612 }, this), a.filler.setShape({ x: i[0], y: 0, width: i[1] - i[0], height: o[1] }); 28613 var s = { x: i[0], width: i[1] - i[0] }; 28614 a.moveHandle && (a.moveHandle.setShape(s), a.moveZone.setShape(s), a.moveZone.getBoundingRect(), a.moveHandleIcon && a.moveHandleIcon.attr("x", s.x + s.width / 2)); 28615 for (var l = a.dataShadowSegs, u = [0, i[0], i[1], o[0]], f = 0; f < l.length; f++) { 28616 var h = l[f], v = h.getClipPath(); 28617 v || (v = new xt(), h.setClipPath(v)), v.setShape({ x: u[f], y: 0, width: u[f + 1] - u[f], height: o[1] }); 28618 } 28619 this._updateDataInfo(t); 28620 }, e.prototype._updateDataInfo = function(t) { 28621 var a = this.dataZoomModel, n = this._displayables, i = n.handleLabels, o = this._orient, s = ["", ""]; 28622 if (a.get("showDetail")) { 28623 var l = a.findRepresentativeAxisProxy(); 28624 if (l) { 28625 var u = l.getAxisModel().axis, f = this._range, h = t ? l.calculateDataWindow({ start: f[0], end: f[1] }).valueWindow : l.getDataValueWindow(); 28626 s = [this._formatLabel(h[0], u), this._formatLabel(h[1], u)]; 28627 } 28628 } 28629 var v = Xe(this._handleEnds.slice()); 28630 c.call(this, 0), c.call(this, 1); 28631 function c(p) { 28632 var d = qa(n.handles[p].parent, this.group), g = Bh(p === 0 ? "right" : "left", d), y = this._handleWidth / 2 + u7, m = Ir([v[p] + (p === 0 ? -y : y), this._size[1] / 2], d); 28633 i[p].setStyle({ x: m[0], y: m[1], verticalAlign: o === xs ? "middle" : g, align: o === xs ? g : "center", text: s[p] }); 28634 } 28635 }, e.prototype._formatLabel = function(t, a) { 28636 var n = this.dataZoomModel, i = n.get("labelFormatter"), o = n.get("labelPrecision"); 28637 (o == null || o === "auto") && (o = a.getPixelPrecision()); 28638 var s = t == null || isNaN(t) ? "" : a.type === "category" || a.type === "time" ? a.scale.getLabel({ value: Math.round(t) }) : t.toFixed(Math.min(o, 20)); 28639 return j(i) ? i(t, s) : Y(i) ? i.replace("{value}", s) : s; 28640 }, e.prototype._showDataInfo = function(t) { 28641 var a = this.dataZoomModel.get("handleLabel") || {}, n = a.show || false, i = this.dataZoomModel.getModel(["emphasis", "handleLabel"]), o = i.get("show") || false, s = t || this._dragging ? o : n, l = this._displayables, u = l.handleLabels; 28642 u[0].attr("invisible", !s), u[1].attr("invisible", !s), l.moveHandle && this.api[s ? "enterEmphasis" : "leaveEmphasis"](l.moveHandle, 1); 28643 }, e.prototype._onDragMove = function(t, a, n, i) { 28644 this._dragging = true, ya(i.event);
28645 var o = this._displayables.sliderGroup.getLocalTransform(), s = Ir([a, n], o, true), l = this._updateInterval(t, s[0]), u = this.dataZoomModel.get("realtime"); 28646 this._updateView(!u), l && u && this._dispatchZoomAction(true); 28647 }, e.prototype._onDragEnd = function() { 28648 this._dragging = false, this._showDataInfo(false); 28649 var t = this.dataZoomModel.get("realtime"); 28650 !t && this._dispatchZoomAction(false); 28651 }, e.prototype._onClickPanel = function(t) { 28652 var a = this._size, n = this._displayables.sliderGroup.transformCoordToLocal(t.offsetX, t.offsetY); 28653 if (!(n[0] < 0 || n[0] > a[0] || n[1] < 0 || n[1] > a[1])) { 28654 var i = this._handleEnds, o = (i[0] + i[1]) / 2, s = this._updateInterval("all", n[0] - o); 28655 this._updateView(), s && this._dispatchZoomAction(false); 28656 } 28657 }, e.prototype._onBrushStart = function(t) { 28658 var a = t.offsetX, n = t.offsetY; 28659 this._brushStart = new ft(a, n), this._brushing = true, this._brushStartTime = +/* @__PURE__ */ new Date(); 28660 }, e.prototype._onBrushEnd = function(t) { 28661 if (this._brushing) { 28662 var a = this._displayables.brushRect; 28663 if (this._brushing = false, !!a) { 28664 a.attr("ignore", true); 28665 var n = a.shape, i = +/* @__PURE__ */ new Date(); 28666 if (!(i - this._brushStartTime < 200 && Math.abs(n.width) < 5)) { 28667 var o = this._getViewExtent(), s = [0, 100]; 28668 this._range = Xe([Dt(n.x, o, s, true), Dt(n.x + n.width, o, s, true)]), this._handleEnds = [n.x, n.x + n.width], this._updateView(), this._dispatchZoomAction(false); 28669 } 28670 } 28671 } 28672 }, e.prototype._onBrush = function(t) { 28673 this._brushing && (ya(t.event), this._updateBrushRect(t.offsetX, t.offsetY)); 28674 }, e.prototype._updateBrushRect = function(t, a) { 28675 var n = this._displayables, i = this.dataZoomModel, o = n.brushRect; 28676 o || (o = n.brushRect = new Ss({ silent: true, style: i.getModel("brushStyle").getItemStyle() }), n.sliderGroup.add(o)), o.attr("ignore", false); 28677 var s = this._brushStart, l = this._displayables.sliderGroup, u = l.transformCoordToLocal(t, a), f = l.transformCoordToLocal(s.x, s.y), h = this._size; 28678 u[0] = Math.max(Math.min(h[0], u[0]), 0), o.setShape({ x: f[0], y: 0, width: u[0] - f[0], height: h[1] }); 28679 }, e.prototype._dispatchZoomAction = function(t) { 28680 var a = this._range; 28681 this.api.dispatchAction({ type: "dataZoom", from: this.uid, dataZoomId: this.dataZoomModel.id, animation: t ? h7 : null, start: a[0], end: a[1] }); 28682 }, e.prototype._findCoordRect = function() { 28683 var t, a = vL(this.dataZoomModel).infoList; 28684 if (!t && a.length) { 28685 var n = a[0].model.coordinateSystem; 28686 t = n.getRect && n.getRect(); 28687 } 28688 if (!t) { 28689 var i = this.api.getWidth(), o = this.api.getHeight(); 28690 t = { x: i * 0.2, y: o * 0.2, width: i * 0.6, height: o * 0.6 }; 28691 } 28692 return t; 28693 }, e.type = "dataZoom.slider", e; 28694}(zm); 28695function c7(r) { 28696 var e = { x: "y", y: "x", radius: "angle", angle: "radius" }; 28697 return e[r]; 28698} 28699function ww(r) { 28700 return r === "vertical" ? "ns-resize" : "ew-resize"; 28701} 28702function RL(r) { 28703 r.registerComponentModel(o7), r.registerComponentView(v7), Vm(r); 28704} 28705function p7(r) { 28706 pt(PL), pt(RL); 28707} 28708var EL = { get: function(r, e, t) { 28709 var a = rt((d7[r] || {})[e]); 28710 return t && V(a) ? a[a.length - 1] : a; 28711} }, d7 = { color: { active: ["#006edd", "#e0ffff"], inactive: ["rgba(0,0,0,0)"] }, colorHue: { active: [0, 360], inactive: [0, 0] }, colorSaturation: { active: [0.3, 1], inactive: [0, 0] }, colorLightness: { active: [0.9, 0.5], inactive: [0, 0] }, colorAlpha: { active: [0.3, 1], inactive: [0, 0] }, opacity: { active: [0.3, 1], inactive: [0, 0] }, symbol: { active: ["circle", "roundRect", "diamond"], inactive: ["none"] }, symbolSize: { active: [10, 50], inactive: [0, 0] } }, Tw = oe.mapVisual, g7 = oe.eachVisual, y7 = V, Cw = D, m7 = Xe, _7 = Dt, ch = function(r) { 28712 N(e, r); 28713 function e() { 28714 var t = r !== null && r.apply(this, arguments) || this; 28715 return t.type = e.type, t.stateList = ["inRange", "outOfRange"], t.replacableOptionKeys = ["inRange", "outOfRange", "target", "controller", "color"], t.layoutMode = { type: "box", ignoreSize: true }, t.dataBound = [-1 / 0, 1 / 0], t.targetVisuals = {}, t.controllerVisuals = {}, t; 28716 } 28717 return e.prototype.init = function(t, a, n) { 28718 this.mergeDefaultAndTheme(t, n); 28719 }, e.prototype.optionUpdated = function(t, a) { 28720 var n = this.option; 28721 !a && bL(n, t, this.replacableOptionKeys), this.textStyleModel = this.getModel("textStyle"), this.resetItemSize(), this.completeVisualOption(); 28722 }, e.prototype.resetVisual = function(t) { 28723 var a = this.stateList; 28724 t = $(t, this), this.controllerVisuals = gg(this.option.controller, a, t), this.targetVisuals = gg(this.option.target, a, t); 28725 }, e.prototype.getItemSymbol = function() { 28726 return null; 28727 }, e.prototype.getTargetSeriesIndices = function() { 28728 var t = this.option.seriesIndex, a = []; 28729 return t == null || t === "all" ? this.ecModel.eachSeries(function(n, i) { 28730 a.push(i); 28731 }) : a = Rt(t), a; 28732 }, e.prototype.eachTargetSeries = function(t, a) { 28733 D(this.getTargetSeriesIndices(), function(n) { 28734 var i = this.ecModel.getSeriesByIndex(n); 28735 i && t.call(a, i); 28736 }, this); 28737 }, e.prototype.isTargetSeries = function(t) { 28738 var a = false;
28739 return this.eachTargetSeries(function(n) { 28740 n === t && (a = true); 28741 }), a; 28742 }, e.prototype.formatValueText = function(t, a, n) { 28743 var i = this.option, o = i.precision, s = this.dataBound, l = i.formatter, u; 28744 n = n || ["<", ">"], V(t) && (t = t.slice(), u = true); 28745 var f = a ? t : u ? [h(t[0]), h(t[1])] : h(t); 28746 if (Y(l)) return l.replace("{value}", u ? f[0] : f).replace("{value2}", u ? f[1] : f); 28747 if (j(l)) return u ? l(t[0], t[1]) : l(t); 28748 if (u) return t[0] === s[0] ? n[0] + " " + f[1] : t[1] === s[1] ? n[1] + " " + f[0] : f[0] + " - " + f[1]; 28749 return f; 28750 function h(v) { 28751 return v === s[0] ? "min" : v === s[1] ? "max" : (+v).toFixed(Math.min(o, 20)); 28752 } 28753 }, e.prototype.resetExtent = function() { 28754 var t = this.option, a = m7([t.min, t.max]); 28755 this._dataExtent = a; 28756 }, e.prototype.getDataDimensionIndex = function(t) { 28757 var a = this.option.dimension; 28758 if (a != null) return t.getDimensionIndex(a); 28759 for (var n = t.dimensions, i = n.length - 1; i >= 0; i--) { 28760 var o = n[i], s = t.getDimensionInfo(o); 28761 if (!s.isCalculationCoord) return s.storeDimIndex; 28762 } 28763 }, e.prototype.getExtent = function() { 28764 return this._dataExtent.slice(); 28765 }, e.prototype.completeVisualOption = function() { 28766 var t = this.ecModel, a = this.option, n = { inRange: a.inRange, outOfRange: a.outOfRange }, i = a.target || (a.target = {}), o = a.controller || (a.controller = {}); 28767 ut(i, n), ut(o, n); 28768 var s = this.isCategory(); 28769 l.call(this, i), l.call(this, o), u.call(this, i, "inRange", "outOfRange"), f.call(this, o); 28770 function l(h) { 28771 y7(a.color) && !h.inRange && (h.inRange = { color: a.color.slice().reverse() }), h.inRange = h.inRange || { color: t.get("gradientColor") }; 28772 } 28773 function u(h, v, c) { 28774 var p = h[v], d = h[c]; 28775 p && !d && (d = h[c] = {}, Cw(p, function(g, y) { 28776 if (oe.isValidType(y)) { 28777 var m = EL.get(y, "inactive", s); 28778 m != null && (d[y] = m, y === "color" && !d.hasOwnProperty("opacity") && !d.hasOwnProperty("colorAlpha") && (d.opacity = [0, 0])); 28779 } 28780 })); 28781 } 28782 function f(h) { 28783 var v = (h.inRange || {}).symbol || (h.outOfRange || {}).symbol, c = (h.inRange || {}).symbolSize || (h.outOfRange || {}).symbolSize, p = this.get("inactiveColor"), d = this.getItemSymbol(), g = d || "roundRect"; 28784 Cw(this.stateList, function(y) { 28785 var m = this.itemSize, _ = h[y]; 28786 _ || (_ = h[y] = { color: s ? p : [p] }), _.symbol == null && (_.symbol = v && rt(v) || (s ? g : [g])), _.symbolSize == null && (_.symbolSize = c && rt(c) || (s ? m[0] : [m[0], m[0]])), _.symbol = Tw(_.symbol, function(x) { 28787 return x === "none" ? g : x; 28788 }); 28789 var S = _.symbolSize; 28790 if (S != null) { 28791 var b = -1 / 0; 28792 g7(S, function(x) { 28793 x > b && (b = x); 28794 }), _.symbolSize = Tw(S, function(x) { 28795 return _7(x, [0, b], [0, m[0]], true); 28796 }); 28797 } 28798 }, this); 28799 } 28800 }, e.prototype.resetItemSize = function() { 28801 this.itemSize = [parseFloat(this.get("itemWidth")), parseFloat(this.get("itemHeight"))]; 28802 }, e.prototype.isCategory = function() { 28803 return !!this.option.categories; 28804 }, e.prototype.setSelected = function(t) { 28805 }, e.prototype.getSelected = function() { 28806 return null; 28807 }, e.prototype.getValueState = function(t) { 28808 return null; 28809 }, e.prototype.getVisualMeta = function(t) { 28810 return null; 28811 }, e.type = "visualMap", e.dependencies = ["series"], e.defaultOption = { show: true, z: 4, seriesIndex: "all", min: 0, max: 200, left: 0, right: null, top: null, bottom: 0, itemWidth: null, itemHeight: null, inverse: false, orient: "vertical", backgroundColor: "rgba(0,0,0,0)", borderColor: "#ccc", contentColor: "#5793f3", inactiveColor: "#aaa", borderWidth: 0, padding: 5, textGap: 10, precision: 0, textStyle: { color: "#333" } }, e; 28812}(gt), Aw = [20, 140], S7 = function(r) { 28813 N(e, r); 28814 function e() { 28815 var t = r !== null && r.apply(this, arguments) || this; 28816 return t.type = e.type, t; 28817 } 28818 return e.prototype.optionUpdated = function(t, a) { 28819 r.prototype.optionUpdated.apply(this, arguments), this.resetExtent(), this.resetVisual(function(n) { 28820 n.mappingMethod = "linear", n.dataExtent = this.getExtent(); 28821 }), this._resetRange(); 28822 }, e.prototype.resetItemSize = function() { 28823 r.prototype.resetItemSize.apply(this, arguments); 28824 var t = this.itemSize; 28825 (t[0] == null || isNaN(t[0])) && (t[0] = Aw[0]), (t[1] == null || isNaN(t[1])) && (t[1] = Aw[1]); 28826 }, e.prototype._resetRange = function() { 28827 var t = this.getExtent(), a = this.option.range; 28828 !a || a.auto ? (t.auto = 1, this.option.range = t) : V(a) && (a[0] > a[1] && a.reverse(), a[0] = Math.max(a[0], t[0]), a[1] = Math.min(a[1], t[1])); 28829 }, e.prototype.completeVisualOption = function() { 28830 r.prototype.completeVisualOption.apply(this, arguments), D(this.stateList, function(t) { 28831 var a = this.option.controller[t].symbolSize; 28832 a && a[0] !== a[1] && (a[0] = a[1] / 3); 28833 }, this); 28834 }, e.prototype.setSelected = function(t) { 28835 this.option.range = t.slice(), this._resetRange(); 28836 }, e.prototype.getSelected = function() { 28837 var t = this.getExtent(), a = Xe((this.get("range") || []).slice()); 28838 return a[0] > t[1] && (a[0] = t[1]), a[1] > t[1] && (a[1] = t[1]), a[0] < t[0] && (a[0] = t[0]), a[1] < t[0] && (a[1] = t[0]), a; 28839 }, e.prototype.getValueState = function(t) { 28840 var a = this.option.range, n = this.getExtent(); 28841 return (a[0] <= n[0] || a[0] <= t) && (a[1] >= n[1] || t <= a[1]) ? "inRange" : "outOfRange"; 28842 }, e.prototype.findTargetDataIndices = function(t) { 28843 var a = []; 28844 return this.eachTargetSeries(function(n) { 28845 var i = [], o = n.getData(); 28846 o.each(this.getDataDimensionIndex(o), function(s, l) { 28847 t[0] <= s && s <= t[1] && i.push(l); 28848 }, this), a.push({ seriesId: n.id, dataIndex: i }); 28849 }, this), a; 28850 }, e.prototype.getVisualMeta = function(t) { 28851 var a = Dw(this, "outOfRange", this.getExtent()), n = Dw(this, "inRange", this.option.range.slice()), i = []; 28852 function o(c, p) { 28853 i.push({ value: c, color: t(c, p) }); 28854 } 28855 for (var s = 0, l = 0, u = n.length, f = a.length; l < f && (!n.length || a[l] <= n[0]); l++) a[l] < n[s] && o(a[l], "outOfRange"); 28856 for (var h = 1; s < u; s++, h = 0) h && i.length && o(n[s], "outOfRange"), o(n[s], "inRange"); 28857 for (var h = 1; l < f; l++) (!n.length || n[n.length - 1] < a[l]) && (h && (i.length && o(i[i.length - 1].value, "outOfRange"), h = 0), o(a[l], "outOfRange")); 28858 var v = i.length; 28859 return { stops: i, outerColors: [v ? i[0].color : "transparent", v ? i[v - 1].color : "transparent"] }; 28860 }, e.type = "visualMap.continuous", e.defaultOption = fn(ch.defaultOption, { align: "auto", calculable: false, hoverLink: true, realtime: true, handleIcon: "path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z", handleSize: "120%", handleStyle: { borderColor: "#fff", borderWidth: 1 }, indicatorIcon: "circle", indicatorSize: "50%", indicatorStyle: { borderColor: "#fff", borderWidth: 2, shadowBlur: 2, shadowOffsetX: 1, shadowOffsetY: 1, shadowColor: "rgba(0,0,0,0.2)" } }), e; 28861}(ch); 28862function Dw(r, e, t) { 28863 if (t[0] === t[1]) return t.slice(); 28864 for (var a = 200, n = (t[1] - t[0]) / a, i = t[0], o = [], s = 0; s <= a && i < t[1]; s++) o.push(i), i += n; 28865 return o.push(t[1]), o; 28866} 28867var kL = function(r) { 28868 N(e, r); 28869 function e() { 28870 var t = r !== null && r.apply(this, arguments) || this; 28871 return t.type = e.type, t.autoPositionValues = { left: 1, right: 1, top: 1, bottom: 1 }, t; 28872 } 28873 return e.prototype.init = function(t, a) { 28874 this.ecModel = t, this.api = a; 28875 }, e.prototype.render = function(t, a, n, i) { 28876 if (this.visualMapModel = t, t.get("show") === false) { 28877 this.group.removeAll(); 28878 return; 28879 } 28880 this.doRender(t, a, n, i); 28881 }
28881, e.prototype.renderBackground = function(t) { 28882 var a = this.visualMapModel, n = bi(a.get("padding") || 0), i = t.getBoundingRect(); 28883 t.add(new xt({ z2: -1, silent: true, shape: { x: i.x - n[3], y: i.y - n[0], width: i.width + n[3] + n[1], height: i.height + n[0] + n[2] }, style: { fill: a.get("backgroundColor"), stroke: a.get("borderColor"), lineWidth: a.get("borderWidth") } })); 28884 }, e.prototype.getControllerVisual = function(t, a, n) { 28885 n = n || {}; 28886 var i = n.forceState, o = this.visualMapModel, s = {}; 28887 if (a === "color") { 28888 var l = o.get("contentColor"); 28889 s.color = l; 28890 } 28891 function u(c) { 28892 return s[c]; 28893 } 28894 function f(c, p) { 28895 s[c] = p; 28896 } 28897 var h = o.controllerVisuals[i || o.getValueState(t)], v = oe.prepareVisualTypes(h); 28898 return D(v, function(c) { 28899 var p = h[c]; 28900 n.convertOpacityToAlpha && c === "opacity" && (c = "colorAlpha", p = h.__alphaForOpacity), oe.dependsOn(c, a) && p && p.applyVisual(t, u, f); 28901 }), s[a]; 28902 }, e.prototype.positionGroup = function(t) { 28903 var a = this.visualMapModel, n = this.api; 28904 Wh(t, a.getBoxLayoutParams(), { width: n.getWidth(), height: n.getHeight() }); 28905 }, e.prototype.doRender = function(t, a, n, i) { 28906 }, e.type = "visualMap", e; 28907}(Vt), Mw = [["left", "right", "width"], ["top", "bottom", "height"]]; 28908function OL(r, e, t) { 28909 var a = r.option, n = a.align; 28910 if (n != null && n !== "auto") return n; 28911 for (var i = { width: e.getWidth(), height: e.getHeight() }, o = a.orient === "horizontal" ? 1 : 0, s = Mw[o], l = [0, null, 10], u = {}, f = 0; f < 3; f++) u[Mw[1 - o][f]] = l[f], u[s[f]] = f === 2 ? t[0] : a[s[f]]; 28912 var h = [["x", "width", 3], ["y", "height", 0]][o], v = Qt(u, i, a.padding); 28913 return s[(v.margin[h[2]] || 0) + v[h[0]] + v[h[1]] * 0.5 < i[h[1]] * 0.5 ? 0 : 1]; 28914} 28915function _f(r, e) { 28916 return D(r || [], function(t) { 28917 t.dataIndex != null && (t.dataIndexInside = t.dataIndex, t.dataIndex = null), t.highlightKey = "visualMap" + (e ? e.componentIndex : ""); 28918 }), r; 28919} 28920var Fr = Dt, x7 = D, Iw = Math.min, Ip = Math.max, b7 = 12, w7 = 6, T7 = function(r) { 28921 N(e, r); 28922 function e() { 28923 var t = r !== null && r.apply(this, arguments) || this; 28924 return t.type = e.type, t._shapes = {}, t._dataInterval = [], t._handleEnds = [], t._hoverLinkDataIndices = [], t; 28925 } 28926 return e.prototype.init = function(t, a) { 28927 r.prototype.init.call(this, t, a), this._hoverLinkFromSeriesMouseOver = $(this._hoverLinkFromSeriesMouseOver, this), this._hideIndicator = $(this._hideIndicator, this); 28928 }, e.prototype.doRender = function(t, a, n, i) { 28929 (!i || i.type !== "selectDataRange" || i.from !== this.uid) && this._buildView(); 28930 }, e.prototype._buildView = function() { 28931 this.group.removeAll(); 28932 var t = this.visualMapModel, a = this.group; 28933 this._orient = t.get("orient"), this._useHandle = t.get("calculable"), this._resetInterval(), this._renderBar(a); 28934 var n = t.get("text"); 28935 this._renderEndsText(a, n, 0), this._renderEndsText(a, n, 1), this._updateView(true), this.renderBackground(a), this._updateView(), this._enableHoverLinkToSeries(), this._enableHoverLinkFromSeries(), this.positionGroup(a); 28936 }, e.prototype._renderEndsText = function(t, a, n) { 28937 if (a) { 28938 var i = a[1 - n]; 28939 i = i != null ? i + "" : ""; 28940 var o = this.visualMapModel, s = o.get("textGap"), l = o.itemSize, u = this._shapes.mainGroup, f = this._applyTransform([l[0] / 2, n === 0 ? -s : l[1] + s], u), h = this._applyTransform(n === 0 ? "bottom" : "top", u), v = this._orient, c = this.visualMapModel.textStyleModel; 28941 this.group.add(new St({ style: Nt(c, { x: f[0], y: f[1], verticalAlign: v === "horizontal" ? "middle" : h, align: v === "horizontal" ? h : "center", text: i }) })); 28942 } 28943 }, e.prototype._renderBar = function(t) { 28944 var a = this.visualMapModel, n = this._shapes, i = a.itemSize, o = this._orient, s = this._useHandle, l = OL(a, this.api, i), u = n.mainGroup = this._createBarGroup(l), f = new at(); 28945 u.add(f), f.add(n.outOfRange = Lw()), f.add(n.inRange = Lw(null, s ? Rw(this._orient) : null, $(this._dragHandle, this, "all", false), $(this._dragHandle, this, "all", true))), f.setClipPath(new xt({ shape: { x: 0, y: 0, width: i[0], height: i[1], r: 3 } }));
28946 var h = a.textStyleModel.getTextRect("\u56FD"), v = Ip(h.width, h.height); 28947 s && (n.handleThumbs = [], n.handleLabels = [], n.handleLabelPoints = [], this._createHandle(a, u, 0, i, v, o), this._createHandle(a, u, 1, i, v, o)), this._createIndicator(a, u, i, v, o), t.add(u); 28948 }, e.prototype._createHandle = function(t, a, n, i, o, s) { 28949 var l = $(this._dragHandle, this, n, false), u = $(this._dragHandle, this, n, true), f = Rr(t.get("handleSize"), i[0]), h = qt(t.get("handleIcon"), -f / 2, -f / 2, f, f, null, true), v = Rw(this._orient); 28950 h.attr({ cursor: v, draggable: true, drift: l, ondragend: u, onmousemove: function(y) { 28951 ya(y.event); 28952 } }), h.x = i[0] / 2, h.useStyle(t.getModel("handleStyle").getItemStyle()), h.setStyle({ strokeNoScale: true, strokeFirst: true }), h.style.lineWidth *= 2, h.ensureState("emphasis").style = t.getModel(["emphasis", "handleStyle"]).getItemStyle(), qn(h, true), a.add(h); 28953 var c = this.visualMapModel.textStyleModel, p = new St({ cursor: v, draggable: true, drift: l, onmousemove: function(y) { 28954 ya(y.event); 28955 }, ondragend: u, style: Nt(c, { x: 0, y: 0, text: "" }) }); 28956 p.ensureState("blur").style = { opacity: 0.1 }, p.stateTransition = { duration: 200 }, this.group.add(p); 28957 var d = [f, 0], g = this._shapes; 28958 g.handleThumbs[n] = h, g.handleLabelPoints[n] = d, g.handleLabels[n] = p; 28959 }, e.prototype._createIndicator = function(t, a, n, i, o) { 28960 var s = Rr(t.get("indicatorSize"), n[0]), l = qt(t.get("indicatorIcon"), -s / 2, -s / 2, s, s, null, true); 28961 l.attr({ cursor: "move", invisible: true, silent: true, x: n[0] / 2 }); 28962 var u = t.getModel("indicatorStyle").getItemStyle(); 28963 if (l instanceof ue) { 28964 var f = l.style; 28965 l.useStyle(z({ image: f.image, x: f.x, y: f.y, width: f.width, height: f.he
28965ight }, u)); 28966 } else l.useStyle(u); 28967 a.add(l); 28968 var h = this.visualMapModel.textStyleModel, v = new St({ silent: true, invisible: true, style: Nt(h, { x: 0, y: 0, text: "" }) }); 28969 this.group.add(v); 28970 var c = [(o === "horizontal" ? i / 2 : w7) + n[0] / 2, 0], p = this._shapes; 28971 p.indicator = l, p.indicatorLabel = v, p.indicatorLabelPoint = c, this._firstShowIndicator = true; 28972 }, e.prototype._dragHandle = function(t, a, n, i) { 28973 if (this._useHandle) { 28974 if (this._dragging = !a, !a) { 28975 var o = this._applyTransform([n, i], this._shapes.mainGroup, true); 28976 this._updateInterval(t, o[1]), this._hideIndicator(), this._updateView(); 28977 } 28978 a === !this.visualMapModel.get("realtime") && this.api.dispatchAction({ type: "selectDataRange", from: this.uid, visualMapId: this.visualMapModel.id, selected: this._dataInterval.slice() }), a ? !this._hovering && this._clearHoverLinkToSeries() : Pw(this.visualMapModel) && this._doHoverLinkToSeries(this._handleEnds[t], false); 28979 } 28980 }, e.prototype._resetInterval = function() { 28981 var t = this.visualMapModel, a = this._dataInterval = t.getSelected(), n = t.getExtent(), i = [0, t.itemSize[1]]; 28982 this._handleEnds = [Fr(a[0], n, i, true), Fr(a[1], n, i, true)]; 28983 }, e.prototype._updateInterval = function(t, a) { 28984 a = a || 0; 28985 var n = this.visualMapModel, i = this._handleEnds, o = [0, n.itemSize[1]]; 28986 Ai(a, i, o, t, 0); 28987 var s = n.getExtent(); 28988 this._dataInterval = [Fr(i[0], o, s, true), Fr(i[1], o, s, true)]; 28989 }, e.prototype._updateView = function(t) { 28990 var a = this.visualMapModel, n = a.getExtent(), i = this._shapes, o = [0, a.itemSize[1]], s = t ? o : this._handleEnds, l = this._createBarVisual(this._dataInterval, n, s, "inRange"), u = this._createBarVisual(n, n, o, "outOfRange"); 28991 i.inRange.setStyle({ fill: l.barColor }).setShape("points", l.barPoints), i.outOfRange.setStyle({ fill: u.barColor }).setShape("points", u.barPoints), this._updateHandle(s, l); 28992 }, e.prototype._createBarVisual = function(t, a, n, i) { 28993 var o = { forceState: i, convertOpacityToAlpha: true }, s = this._makeColorGradient(t, o), l = [this.getControllerVisual(t[0], "symbolSize", o), this.getControllerVisual(t[1], "symbolSize", o)], u = this._createBarPoints(n, l); 28994 return { barColor: new Ro(0, 0, 0, 1, s), barPoints: u, handlesColor: [s[0].color, s[s.length - 1].color] }; 28995 }, e.prototype._makeColorGradient = function(t, a) { 28996 var n = 100, i = [], o = (t[1] - t[0]) / n; 28997 i.push({ color: this.getControllerVisual(t[0], "color", a), offset: 0 }); 28998 for (var s = 1; s < n; s++) { 28999 var l = t[0] + o * s; 29000 if (l > t[1]) break; 29001 i.push({ color: this.getControllerVisual(l, "color", a), offset: s / n }); 29002 } 29003 return i.push({ color: this.getControllerVisual(t[1], "color", a), offset: 1 }), i; 29004 }, e.prototype._createBarPoints = function(t, a) { 29005 var n = this.visualMapModel.itemSize; 29006 return [[n[0] - a[0], t[0]], [n[0], t[0]], [n[0], t[1]], [n[0] - a[1], t[1]]]; 29007 }, e.prototype._createBarGroup = function(t) { 29008 var a = this._orient, n = this.visualMapModel.get("inverse"); 29009 return new at(a === "horizontal" && !n ? { scaleX: t === "bottom" ? 1 : -1, rotation: Math.PI / 2 } : a === "horizontal" && n ? { scaleX: t === "bottom" ? -1 : 1, rotation: -Math.PI / 2 } : a === "vertical" && !n ? { scaleX: t === "left" ? 1 : -1, scaleY: -1 } : { scaleX: t === "left" ? 1 : -1 }); 29010 }, e.prototype._updateHandle = function(t, a) { 29011 if (this._useHandle) { 29012 var n = this._shapes, i = this.visualMapModel, o = n.handleThumbs, s = n.handleLabels, l = i.itemSize, u = i.getExtent(), f = this._applyTransform("left", n.mainGroup); 29013 x7([0, 1], function(h) { 29014 var v = o[h]; 29015 v.setStyle("fill", a.handlesColor[h]), v.y = t[h]; 29016 var c = Fr(t[h], [0, l[1]], u, true), p = this.getControllerVisual(c, "symbolSize"); 29017 v.scaleX = v.scaleY = p / l[0], v.x = l[0] - p / 2; 29018 var d = Ir(n.handleLabelPoints[h], qa(v, this.group)); 29019 if (this._orient === "horizontal") { 29020 var g = f === "left" || f === "top" ? (l[0] - p) / 2 : (l[0] - p) / -2; 29021 d[1] += g; 29022 } 29023 s[h].setStyle({ x: d[0], y: d[1], text: i.formatValueText(this._dataInterval[h]), verticalAlign: "middle", align: this._orient === "vertical" ? this._applyTransform("left", n.mainGroup) : "center" }); 29024 }, this); 29025 } 29026 }, e.prototype._showIndicator = function(t, a, n, i) { 29027 var o = this.visualMapModel, s = o.getExtent(), l = o.itemSize, u = [0, l[1]], f = this._shapes, h = f.indicator; 29028 if (h) { 29029 h.attr("invisible", false); 29030 var v = { convertOpacityToAlpha: true }, c = this.getControllerVisual(t, "color", v), p = this.getControllerVisual(t, "symbolSize"), d = Fr(t, s, u, true), g = l[0] - p / 2, y = { x: h.x, y: h.y }; 29031 h.y = d, h.x = g; 29032 var m = Ir(f.indicatorLabelPoint, qa(h, this.group)), _ = f.indicatorLabel; 29033 _.attr("invisible", false); 29034 var S = this._applyTransform("left", f.mainGroup), b = this._orient, x = b === "horizontal"; 29035 _.setStyle({ text: (n || "") + o.formatValueText(a), verticalAlign: x ? S : "middle", align: x ? "center" : S }); 29036 var w = { x: g, y: d, style: { fill: c } }, T = { style: { x: m[0], y: m[1] } }; 29037 if (o.ecModel.isAnimationEnabled() && !this._firstShowIndicator) { 29038 var C = { duration: 100, easing: "cubicInOut", additive: true }; 29039 h.x = y.x, h.y = y.y, h.animateTo(w, C), _.animateTo(T, C); 29040 } else h.attr(w), _.attr(T); 29041 this._firstShowIndicator = false;
29042 var A = this._shapes.handleLabels; 29043 if (A) for (var M = 0; M < A.length; M++) this.api.enterBlur(A[M]); 29044 } 29045 }, e.prototype._enableHoverLinkToSeries = function() { 29046 var t = this; 29047 this._shapes.mainGroup.on("mousemove", function(a) { 29048 if (t._hovering = true, !t._dragging) { 29049 var n = t.visualMapModel.itemSize, i = t._applyTransform([a.offsetX, a.offsetY], t._shapes.mainGroup, true, true); 29050 i[1] = Iw(Ip(0, i[1]), n[1]), t._doHoverLinkToSeries(i[1], 0 <= i[0] && i[0] <= n[0]); 29051 } 29052 }).on("mouseout", function() { 29053 t._hovering = false, !t._dragging && t._clearHoverLinkToSeries(); 29054 }); 29055 }, e.prototype._enableHoverLinkFromSeries = function() { 29056 var t = this.api.getZr(); 29057 this.visualMapModel.option.hoverLink ? (t.on("mouseover", this._hoverLinkFromSeriesMouseOver, this), t.on("mouseout", this._hideIndicator, this)) : this._clearHoverLinkFromSeries(); 29058 }, e.prototype._doHoverLinkToSeries = function(t, a) { 29059 var n = this.visualMapModel, i = n.itemSize; 29060 if (n.option.hoverLink) { 29061 var o = [0, i[1]], s = n.getExtent(); 29062 t = Iw(Ip(o[0], t), o[1]); 29063 var l = C7(n, s, o), u = [t - l, t + l], f = Fr(t, o, s, true), h
29063= [Fr(u[0], o, s, true), Fr(u[1], o, s, true)]; 29064 u[0] < o[0] && (h[0] = -1 / 0), u[1] > o[1] && (h[1] = 1 / 0), a && (h[0] === -1 / 0 ? this._showIndicator(f, h[1], "< ", l) : h[1] === 1 / 0 ? this._showIndicator(f, h[0], "> ", l) : this._showIndicator(f, f, "\u2248 ", l)); 29065 var v = this._hoverLinkDataIndices, c = []; 29066 (a || Pw(n)) && (c = this._hoverLinkDataIndices = n.findTargetDataIndices(h)); 29067 var p = yR(v, c); 29068 this._dispatchHighDown("downplay", _f(p[0], n)), this._dispatchHighDown("highlight", _f(p[1], n)); 29069 } 29070 }, e.prototype._hoverLinkFromSeriesMouseOver = function(t) { 29071 var a; 29072 if (jn(t.target, function(l) { 29073 var u = it(l); 29074 if (u.dataIndex != null) return a = u, true; 29075 }, true), !!a) { 29076 var n = this.ecModel.getSeriesByIndex(a.seriesIndex), i = this.visualMapModel; 29077 if (i.isTargetSeries(n)) { 29078 var o = n.getData(a.dataType), s = o.getStore().get(i.getDataDimensionIndex(o), a.dataIndex); 29079 isNaN(s) || this._showIndicator(s, s); 29080 } 29081 } 29082 }, e.prototype._hideIndicator = function() { 29083 var t = this._shapes; 29084 t.indicator && t.indicator.attr("invisible", true), t.indicatorLabel && t.indicatorLabel.attr("invisible", true); 29085 var a = this._shapes.handleLabels; 29086 if (a) for (var n = 0; n < a.length; n++) this.api.leaveBlur(a[n]); 29087 }, e.prototype._clearHoverLinkToSeries = function() { 29088 this._hideIndicator(); 29089 var t = this._hoverLinkDataIndices; 29090 this._dispatchHighDown("downplay", _f(t, this.visualMapModel)), t.length = 0; 29091 }, e.prototype._clearHoverLinkFromSeries = function() { 29092 this._hideIndicator(); 29093 var t = this.api.getZr(); 29094 t.off("mouseover", this._hoverLinkFromSeriesMouseOver), t.off("mouseout", this._hideIndicator); 29095 }, e.prototype._applyTransform = function(t, a, n, i) { 29096 var o = qa(a, i ? null : this.group); 29097 return V(t) ? Ir(t, o, n) : Bh(t, o, n); 29098 }, e.prototype._dispatchHighDown = function(t, a) { 29099 a && a.length && this.api.dispatchAction({ type: t, batch: a }); 29100 }, e.prototype.dispose = function() { 29101 this._clearHoverLinkFromSeries(), this._clearHoverLinkToSeries(); 29102 }, e.type = "visualMap.continuous", e; 29103}(kL); 29104function Lw(r, e, t, a) { 29105 return new Ce({ shape: { points: r }, draggable: !!t, cursor: e, drift: t, onmousemove: function(n) { 29106 ya(n.event); 29107 }, ondragend: a }); 29108} 29109function C7(r, e, t) { 29110 var a = b7 / 2, n = r.get("hoverLinkDataSize"); 29111 return n && (a = Fr(n, e, t, true) / 2), a; 29112} 29113function Pw(r) { 29114 var e = r.get("hoverLinkOnHandle"); 29115 return !!(e ?? r.get("realtime")); 29116} 29117function Rw(r) { 29118 return r === "vertical" ? "ns-resize" : "ew-resize"; 29119} 29120var A7 = { type: "selectDataRange", event: "dataRangeSelected", update: "update" }, D7 = function(r, e) { 29121 e.eachComponent({ mainType: "visualMap", query: r }, function(t) { 29122 t.setSelected(r.selected); 29123 }); 29124}, M7 = [{ createOnAllSeries: true, reset: function(r, e) { 29125 var t = []; 29126 return e.eachComponent("visualMap", function(a) { 29127 var n = r.pipelineContext; 29128 !a.isTargetSeries(r) || n && n.large || t.push(K8(a.stateList, a.targetVisuals, $(a.getValueState, a), a.getDataDimensionIndex(r.getData()))); 29129 }), t; 29130} }, { createOnAllSeries: true, reset: function(r, e) { 29131 var t = r.getData(), a = []; 29132 e.eachComponent("visualMap", function(n) { 29133 if (n.isTargetSeries(r)) { 29134 var i = n.getVisualMeta($(I7, null, r, n)) || { stops: [], outerColors: [] }, o = n.getDataDimensionIndex(t); 29135 o >= 0 && (i.dimension = o, a.push(i)); 29136 } 29137 }), r.getData().setVisual("visualMeta", a); 29138} }]; 29139function I7(r, e, t, a) { 29140 for (var n = e.targetVisuals[a], i = oe.prepareVisualTypes(n), o = { color: Fl(r.getData(), "color") }, s = 0, l = i.length; s < l; s++) { 29141 var u = i[s], f = n[u === "opacity" ? "__alphaForOpacity" : u]; 29142 f && f.applyVisual(t, h, v); 29143 } 29144 return o.color; 29145 function h(c) { 29146 return o[c]; 29147 } 29148 function v(c, p) { 29149 o[c] = p; 29150 } 29151} 29152var Ew = D; 29153function L7(r) { 29154 var e = r && r.visualMap; 29155 V(e) || (e = e ? [e] : []), Ew(e, function(t) { 29156 if (t) { 29157 Zi(t, "splitList") && !Zi(t, "pieces") && (t.pieces = t.splitList, delete t.splitList); 29158 var a = t.pieces; 29159 a && V(a) && Ew(a, function(n) { 29160 tt(n) && (Zi(n, "start") && !Zi(n, "min") && (n.min = n.start), Zi(n, "end") && !Zi(n, "max") && (n.max = n.end)); 29161 }); 29162 } 29163 }); 29164} 29165function Zi(r, e) { 29166 return r && r.hasOwnProperty && r.hasOwnProperty(e); 29167} 29168var kw = false;
29169function NL(r) { 29170 kw || (kw = true, r.registerSubTypeDefaulter("visualMap", function(e) { 29171 return !e.categories && (!(e.pieces ? e.pieces.length > 0 : e.splitNumber > 0) || e.calculable) ? "continuous" : "piecewise"; 29172 }), r.registerAction(A7, D7), D(M7, function(e) { 29173 r.registerVisual(r.PRIORITY.VISUAL.COMPONENT, e); 29174 }), r.registerPreprocessor(L7)); 29175} 29176function BL(r) { 29177 r.registerComponentModel(S7), r.registerComponentView(T7), NL(r); 29178} 29179var P7 = function(r) { 29180 N(e, r); 29181 function e() { 29182 var t = r !== null && r.apply(this, arguments) || this; 29183 return t.type = e.type, t._pieceList = [], t; 29184 } 29185 return e.prototype.optionUpdated = function(t, a) { 29186 r.prototype.optionUpdated.apply(this, arguments), this.resetExtent(); 29187 var n = this._mode = this._determineMode(); 29188 this._pieceList = [], R7[this._mode].call(this, this._pieceList), this._resetSelected(t, a); 29189 var i = this.option.categories; 29190 this.resetVisual(function(o, s) { 29191 n === "categories" ? (o.mappingMethod = "category", o.categories = rt(i)) : (o.dataExtent = this.getExtent(), o.mappingMethod = "piecewise", o.pieceList = G(this._pieceList, function(l) { 29192 return l = rt(l), s !== "inRange" && (l.visual = null), l; 29193 })); 29194 }); 29195 }, e.prototype.completeVisualOption = function() { 29196 var t = this.option, a = {}, n = oe.listVisualTypes(), i = this.isCategory(); 29197 D(t.pieces, function(s) { 29198 D(n, function(l) { 29199 s.hasOwnProperty(l) && (a[l] = 1); 29200 }); 29201 }), D(a, function(s, l) { 29202 var u = false; 29203 D(this.stateList, function(f) { 29204 u = u || o(t, f, l) || o(t.target, f, l); 29205 }, this), !u && D(this.stateList, function(f) { 29206 (t[f] || (t[f] = {}))[l] = EL.get(l, f === "inRange" ? "active" : "inactive", i); 29207 }); 29208 }, this); 29209 function o(s, l, u) { 29210 return s && s[l] && s[l].hasOwnProperty(u); 29211 } 29212 r.prototype.completeVisualOption.apply(this, arguments); 29213 }, e.prototype._resetSelected = function(t, a) { 29214 var n = this.option, i = this._pieceList, o = (a ? n : t).selected || {}; 29215 if (n.selected = o, D(i, function(l, u) { 29216 var f = this.getSelectedMapKey(l); 29217 o.hasOwnProperty(f) || (o[f] = true); 29218 }, this), n.selectedMode === "single") { 29219 var s = false; 29220 D(i, function(l, u) { 29221 var f = this.getSelectedMapKey(l); 29222 o[f] && (s ? o[f] = false : s = true); 29223 }, this); 29224 } 29225 }, e.prototype.getItemSymbol = function() { 29226 return this.get("itemSymbol"); 29227 }, e.prototype.getSelectedMapKey = function(t) { 29228 return this._mode === "categories" ? t.value + "" : t.index + ""; 29229 }, e.prototype.getPieceList = function() { 29230 return this._pieceList; 29231 }, e.prototype._determineMode = function() { 29232 var t = this.option; 29233 return t.pieces && t.pieces.length > 0 ? "pieces" : this.option.categories ? "categories" : "splitNumber"; 29234 }, e.prototype.setSelected = function(t) { 29235 this.option.selected = rt(t); 29236 }, e.prototype.getValueState = function(t) { 29237 var a = oe.findPieceIndex(t, this._pieceList); 29238 return a != null && this.option.selected[this.getSelectedMapKey(this._pieceList[a])] ? "inRange" : "outOfRange"; 29239 }, e.prototype.findTargetDataIndices = function(t) { 29240 var a = [], n = this._pieceList; 29241 return this.eachTargetSeries(function(i) { 29242 var o = [], s = i.getData(); 29243 s.each(this.getDataDimensionIndex(s), function(l, u) { 29244 var f = oe.findPieceIndex(l, n); 29245 f === t && o.push(u); 29246 }, this), a.push({ seriesId: i.id, dataIndex: o }); 29247 }, this), a; 29248 }, e.prototype.getRepresentValue = function(t) { 29249 var a; 29250 if (this.isCategory()) a = t.value; 29251 else if (t.value != null) a = t.value; 29252 else { 29253 var n = t.interval || []; 29254 a = n[0] === -1 / 0 && n[1] === 1 / 0 ? 0 : (n[0] + n[1]) / 2; 29255 } 29256 return a; 29257 }, e.prototype.getVisualMeta = function(t) { 29258 if (this.isCategory()) return; 29259 var a = [], n = ["", ""], i = this; 29260 function o(f, h) { 29261 var v = i.getRepresentValue({ interval: f }); 29262 h || (h = i.getValueState(v)); 29263 var c = t(v, h); 29264 f[0] === -1 / 0 ? n[0] = c : f[1] === 1 / 0 ? n[1] = c : a.push({ value: f[0], color: c }, { value: f[1], color: c }); 29265 } 29266 var s = this._pieceList.slice(); 29267 if (!s.length) s.push({ interval: [-1 / 0, 1 / 0] }); 29268 else { 29269 var l = s[0].interval[0]; 29270 l !== -1 / 0 && s.unshift({ interval: [-1 / 0, l] }), l = s[s.length - 1].interval[1], l !== 1 / 0 && s.push({ interval: [l, 1 / 0] }); 29271 } 29272 var u = -1 / 0; 29273 return D(s, function(f) { 29274 var h = f.interval; 29275 h && (h[0] > u && o([u, h[0]], "outOfRange"), o(h.slice()), u = h[1]); 29276 }, this), { stops: a, outerColors: n }; 29277 }, e.type = "visualMap.piecewise", e.defaultOption = fn(ch.defaultOption, { selected: null, minOpen: false, maxOpen: false, align: "auto", itemWidth: 20, itemHeight: 14, itemSymbol: "roundRect", pieces: null, categories: null, splitNumber: 5, selectedMode: "multiple", itemGap: 10, hoverLink: true }), e; 29278}(ch), R7 = { splitNumber: function(r) { 29279 var e = this.option, t = Math.min(e.precision, 20), a = this.getExtent(), n = e.splitNumber; 29280 n = Math.max(parseInt(n, 10), 1), e.splitNumber = n; 29281 for (var i = (a[1] - a[0]) / n; +i.toFixed(t) !== i && t < 5; ) t++; 29282 e.precision = t, i = +i.toFixed(t), e.minOpen && r.push({ interval: [-1 / 0, a[0]], close: [0, 0] }); 29283 for (var o = 0, s = a[0]; o < n; s += i, o++) { 29284 var l = o === n - 1 ? a[1] : s + i; 29285 r.push({ interval: [s, l], close: [1, 1] }); 29286 } 29287 e.maxOpen && r.push({ interval: [a[1], 1 / 0], close: [0, 0] }), id(r), D(r, function(u, f) { 29288 u.index = f, u.text = this.formatValueText(u.interval); 29289 }, this); 29290}, categories: function(r) { 29291 var e = this.option; 29292 D(e.categories, function(t) { 29293 r.push({ text: this.formatValueText(t, true), value: t }); 29294 }, this), Ow(e, r); 29295}, pieces: function(r) { 29296 var e = this.option; 29297 D(e.pieces, function(t, a) { 29298 tt(t) || (t = { value: t }); 29299 var n = { text: "", index: a }; 29300 if (t.label != null && (n.text = t.label), t.hasOwnProperty("value")) { 29301 var i = n.value = t.value; 29302 n.interval = [i, i], n.close = [1, 1]; 29303 } else { 29304 for (var o = n.interval = [], s = n.close = [0, 0], l = [1, 0, 1], u = [-1 / 0, 1 / 0], f = [], h = 0; h < 2; h++) { 29305 for (var v = [["gte", "gt", "min"], ["lte", "lt", "max"]][h], c = 0; c < 3 && o[h] == null; c++) o[h] = t[v[c]], s[h] = l[c], f[h] = c === 2; 29306 o[h] == null && (o[h] = u[h]); 29307 } 29308 f[0] && o[1] === 1 / 0 && (s[0] = 0), f[1] && o[0] === -1 / 0 && (s[1] = 0), o[0] === o[1] && s[0] && s[1] && (n.value = o[0]); 29309 } 29310 n.visual = oe.retrieveVisuals(t), r.push(n); 29311 }, this), Ow(e, r), id(r), D(r, function(t) { 29312 var a = t.close, n = [["<", "\u2264"][a[1]], [">", "\u2265"][a[0]]]; 29313 t.text = t.text || this.formatValueText(t.value != null ? t.value : t.interval, false, n); 29314 }, this); 29315} }; 29316function Ow(r, e) { 29317 var t = r.inverse; 29318 (r.orient === "vertical" ? !t : t) && e.reverse(); 29319} 29320var E7 = function(r) { 29321 N(e, r); 29322 function e() { 29323 var t = r !== null && r.apply(this, arguments) || this; 29324 return t.type = e.type, t; 29325 } 29326 return e.prototype.doRender = function() { 29327 var t = this.group; 29328 t.removeAll(); 29329 var a = this.visualMapModel, n = a.get("textGap"), i = a.textStyleModel, o = i.getFont(), s = i.getTextColor(), l = this._getItemAlign(), u = a.itemSize, f = this._getViewData(), h = f.endsText, v = ne(a.get("showLabel", true), !h), c = !a.get("selectedMode"); 29330 h && this._renderEndsText(t, h[0], u, v, l), D(f.viewPieceList, function(p) { 29331 var d = p.piece, g = new at(); 29332 g.onclick = $(this._onItemClick, this, d), this._enableHoverLink(g, p.indexInModelPieceList); 29333 var y = a.getRepresentValue(d); 29334 if (this._createItemSymbol(g, y, [0, 0, u[0], u[1]], c), v) { 29335 var m = this.visualMapModel.getValueState(y); 29336 g.add(new St({ style: { x: l === "right" ? -n : u[0] + n, y: u[1] / 2, text: d.text, verticalAlign: "middle", align: l, font: o, fill: s, opacity: m === "outOfRange" ? 0.5 : 1 }, silent: c })); 29337 } 29338 t.add(g); 29339 }, this), h && this._renderEndsText(t, h[1], u, v, l), ni(a.get("orient"), t, a.get("itemGap")), this.renderBackgroun
29339d(t), this.positionGroup(t); 29340 }, e.prototype._enableHoverLink = function(t, a) { 29341 var n = this; 29342 t.on("mouseover", function() { 29343 return i("highlight"); 29344 }).on("mouseout", function() { 29345 return i("downplay"); 29346 }); 29347 var i = function(o) { 29348 var s = n.visualMapModel; 29349 s.option.hoverLink && n.api.dispatchAction({ type: o, batch: _f(s.findTargetDataIndices(a), s) }); 29350 }; 29351 }, e.prototype._getItemAlign = function() { 29352 var t = this.visualMapModel, a = t.option; 29353 if (a.orient === "vertical") return OL(t, this.api, t.itemSize); 29354 var n = a.align; 29355 return (!n || n === "auto") && (n = "left"), n; 29356 }, e.prototype._renderEndsText = function(t, a, n, i, o) { 29357 if (a) { 29358 var s = new at(), l = this.visualMapModel.textStyleModel; 29359 s.add(new St({ style: Nt(l, { x: i ? o === "right" ? n[0] : 0 : n[0] / 2, y: n[1] / 2, verticalAlign: "middle", align: i ? o : "center", text: a }) })), t.add(s); 29360 } 29361 }, e.prototype._getViewData = function() { 29362 var t = this.visualMapModel, a = G(t.getPieceList(), function(s, l) { 29363 return { piece: s, indexInModelPieceList: l }; 29364 }), n = t.get("text"), i = t.get("orient"), o = t.get("inverse"); 29365 return (i === "horizontal" ? o : !o) ? a.reverse() : n && (n = n.slice().reverse()), { viewPieceList: a, endsText: n }; 29366 }, e.prototype._createItemSymbol = function(t, a, n, i) { 29367 var o = qt(this.getControllerVisual(a, "symbol"), n[0], n[1], n[2], n[3], this.getControllerVisual(a, "color")); 29368 o.silent = i, t.add(o); 29369 }, e.prototype._onItemClick = function(t) { 29370 var a = this.visualMapModel, n = a.option, i = n.selectedMode; 29371 if (i) { 29372 var o = rt(n.selected), s = a.getSelectedMapKey(t); 29373 i === "single" || i === true ? (o[s] = true, D(o, function(l, u) { 29374 o[u] = u === s; 29375 })) : o[s] = !o[s], this.api.dispatchAction({ type: "selectDataRange", from: this.uid, visualMapId: this.visualMapModel.id, selected: o }); 29376 } 29377 }, e.type = "visualMap.piecewise", e; 29378}(kL); 29379function zL(r) { 29380 r.registerComponentModel(P7), r.registerComponentView(E7), NL(r); 29381} 29382function k7(r) { 29383 pt(BL), pt(zL); 29384} 29385var O7 = { label: { enabled: true }, decal: { show: false } }, Nw = bt(), N7 = {}; 29386function B7(r, e) { 29387 var t = r.getModel("aria"); 29388 if (!t.get("enabled")) return; 29389 var a = rt(O7); 29390 ut(a.label, r.getLocaleModel().get("aria"), false), ut(t.option, a, false), n(), i(); 29391 function n() { 29392 var u = t.getModel("decal"), f = u.get("show"); 29393 if (f) { 29394 var h = Z(); 29395 r.eachSeries(function(v) { 29396 if (!v.isColorBySeries()) { 29397 var c = h.get(v.type); 29398 c || (c = {}, h.set(v.type, c)), Nw(v).scope = c; 29399 } 29400 }), r.eachRawSeries(function(v) { 29401 if (r.isSeriesFiltered(v)) return; 29402 if (j(v.enableAriaDecal)) { 29403 v.enableAriaDecal(); 29404 return; 29405 } 29406 var c = v.getData(); 29407 if (v.isColorBySeries()) { 29408 var m = xd(v.ecModel, v.name, N7, r.getSeriesCount()), _ = c.getVisual("decal"); 29409 c.setVisual("decal", S(_, m)); 29410 } else { 29411 var p = v.getRawData(), d = {}, g = Nw(v).scope; 29412 c.each(function(b) { 29413 var x = c.getRawIndex(b); 29414 d[x] = b; 29415 }); 29416 var y = p.count(); 29417 p.each(function(b) { 29418 var x = d[b], w = p.getName(b) || b + "", T = xd(v.ecModel, w, g, y), C = c.getItemVisual(x, "decal"); 29419 c.setItemVisual(x, "decal", S(C, T)); 29420 }); 29421 } 29422 function S(b, x) { 29423 var w = b ? z(z({}, x), b) : x; 29424 return w.dirty = true, w; 29425 } 29426 }); 29427 } 29428 } 29429 function i() { 29430 var u = e.getZr().dom; 29431 if (u) { 29432 var f = r.getLocaleModel().get("aria"), h = t.getModel("label"); 29433 if (h.option = Q(h.option, f), !!h.get("enabled")) { 29434 if (u.setAttribute("role", "img"), h.get("description")) { 29435 u.setAttribute("aria-label", h.get("description")); 29436 return; 29437 } 29438 var v = r.getSeriesCount(), c = h.get(["data", "maxCount"]) || 10, p = h.get(["series", "maxCount"]) || 10, d = Math.min(v, p), g; 29439 if (!(v < 1)) { 29440 var y = s(); 29441 if (y) { 29442 var m = h.get(["general", "withTitle"]); 29443 g = o(m, { title: y }); 29444 } else g = h.get(["general", "withoutTitle"]); 29445 var _ = [], S = v > 1 ? h.get(["series", "multiple", "prefix"]) : h.get(["series", "single", "prefix"]); 29446 g += o(S, { seriesCount: v }), r.eachSeries(function(T, C) { 29447 if (C < d) { 29448 var A = void 0, M = T.get("name"), I = M ? "withName" : "withoutName"; 29449 A = v > 1 ? h.get(["series", "multiple", I]) : h.get(["series", "single", I]), A = o(A, { seriesId: T.seriesIndex, seriesName: T.get("name"), seriesType: l(T.subType) }); 29450 var L = T.getData(); 29451 if (L.count() > c) { 29452 var P = h.get(["data", "partialData"]); 29453 A += o(P, { displayCnt: c }); 29454 } else A += h.get(["data", "allData"]); 29455 for (var R = h.get(["data", "separator", "middle"]), E = h.get(["data", "separator", "end"]), O = h.get(["data", "excludeDimensionId"]), k = [], B = 0; B < L.count(); B++) if (B < c) { 29456 var F = L.getName(B), H = O ? Ct(L.getValues(B), function(K, J) { 29457 return vt(O, J) === -1; 29458 }) : L.getValues(B), U = h.get(["data", F ? "withName" : "withoutName"]); 29459 k.push(o(U, { name: F, value: H.join(R) })); 29460 } 29461 A += k.join(R) + E, _.push(A); 29462 } 29463 }); 29464 var b = h.getModel(["series", "multiple", "separator"]), x = b.get("middle"), w = b.get("end"); 29465 g += _.join(x) + w, u.setAttribute("aria-label", g); 29466 } 29467 } 29468 } 29469 } 29470 function o(u, f) { 29471 if (!Y(u)) return u; 29472 var h = u; 29473 return D(f, function(v, c) { 29474 h = h.replace(new RegExp("\\{\\s*" + c + "\\s*\\}", "g"), v); 29475 }), h; 29476 } 29477 function s() { 29478 var u = r.get("title"); 29479 return u && u.length && (u = u[0]), u && u.text; 29480 } 29481 function l(u) { 29482 var f = r.getLocaleModel().get(["series", "typeNames"]); 29483 return f[u] || f.chart; 29484 } 29485} 29486function z7(r) { 29487 if (!(!r || !r.aria)) { 29488 var e = r.aria; 29489 e.show != null && (e.enabled = e.show), e.label = e.label || {}, D(["description", "general", "series", "data"], function(t) { 29490 e[t] != null && (e.label[t] = e[t]); 29491 }); 29492 } 29493} 29494function V7(r) { 29495 r.registerPreprocessor(z7), r.registerVisual(r.PRIORITY.VISUAL.ARIA, B7); 29496} 29497var Bw = { value: "eq", "<": "lt", "<=": "lte", ">": "gt", ">=": "gte", "=": "eq", "!=": "ne", "<>": "ne" }, G7 = function() { 29498 function r(e) {
29499 var t = this._condVal = Y(e) ? new RegExp(e) : uT(e) ? e : null; 29500 if (t == null) { 29501 var a = ""; 29502 Mt(a); 29503 } 29504 } 29505 return r.prototype.evaluate = function(e) { 29506 var t = typeof e; 29507 return Y(t) ? this._condVal.test(e) : wt(t) ? this._condVal.test(e + "") : false; 29508 }, r; 29509}(), F7 = function() { 29510 function r() { 29511 } 29512 return r.prototype.evaluate = function() { 29513 return this.value; 29514 }, r; 29515}(), H7 = function() { 29516 function r() { 29517 } 29518 return r.prototype.evaluate = function() { 29519 for (var e = this.children, t = 0; t < e.length; t++) if (!e[t].evaluate()) return false; 29520 return true; 29521 }, r; 29522}(), W7 = function() { 29523 function r() { 29524 } 29525 return r.prototype.evaluate = function() { 29526 for (var e = this.children, t = 0; t < e.length; t++) if (e[t].evaluate()) return true; 29527 return false; 29528 }, r; 29529}(), U7 = function() { 29530 function r() { 29531 } 29532 return r.prototype.evaluate = function() { 29533 return !this.child.evaluate(); 29534 }, r; 29535}(), Y7 = function() { 29536 function r() { 29537 } 29538 return r.prototype.evaluate = function() { 29539 for (var e = !!this.valueParser, t = this.getValue, a = t(this.valueGetterParam), n = e ? this.valueParser(a) : null, i = 0; i < this.subCondList.length; i++) if (!this.subCondList[i].evaluate(e ? n : a)) return false; 29540 return true; 29541 }, r; 29542}(); 29543function Zm(r, e) { 29544 if (r === true || r === false) { 29545 var t = new F7(); 29546 return t.value = r, t; 29547 } 29548 var a = ""; 29549 return VL(r) || Mt(a), r.and ? zw("and", r, e) : r.or ? zw("or", r, e) : r.not ? $7(r, e) : X7(r, e); 29550} 29551function zw(r, e, t) { 29552 var a = e[r], n = ""; 29553 V(a) || Mt(n), a.length || Mt(n); 29554 var i = r === "and" ? new H7() : new W7(); 29555 return i.children = G(a, function(o) { 29556 return Zm(o, t); 29557 }), i.children.length || Mt(n), i; 29558} 29559function $7(r, e) { 29560 var t = r.not, a = ""; 29561 VL(t) || Mt(a); 29562 var n = new U7(); 29563 return n.child = Zm(t, e), n.child || Mt(a), n; 29564} 29565function X7(r, e) { 29566 for (var t = "", a = e.prepareGetValue(r), n = [], i = _t(r), o = r.parser, s = o ? yA(o) : null, l = 0; l < i.length; l++) { 29567 var u = i[l]; 29568 if (!(u === "parser" || e.valueGetterAttrMap.get(u))) { 29569 var f = X(Bw, u) ? Bw[u] : u, h = r[u], v = s ? s(h) : h, c = mO(f, v) || f === "reg" && new G7(v); 29570 c || Mt(t), n.push(c); 29571 } 29572 } 29573 n.length || Mt(t); 29574 var p = new Y7(); 29575 return p.valueGetterParam = a, p.valueParser = s, p.getValue = e.getValue, p.subCondList = n, p; 29576} 29577function VL(r) { 29578 return tt(r) && !ce(r); 29579} 29580var Z7 = function() { 29581 function r(e, t) { 29582 this._cond = Zm(e, t); 29583 } 29584 return r.prototype.evaluate = function() { 29585 return this._cond.evaluate(); 29586 }, r; 29587}(); 29588function q7(r, e) { 29589 return new Z7(r, e); 29590} 29591var K7 = { type: "echarts:filter", transform: function(r) { 29592 for (var e = r.upstream, t, a = q7(r.config, { valueGetterAttrMap: Z({ dimension: true }), prepareGetValue: function(s) { 29593 var l = "", u = s.dimension; 29594 X(s, "dimension") || Mt(l); 29595 var f = e.getDimensionInfo(u); 29596 return f || Mt(l), { dimIdx: f.index }; 29597 }, getValue: function(s) { 29598 return e.retrieveValueFromItem(t, s.dimIdx); 29599 } }), n = [], i = 0, o = e.count(); i < o; i++) t = e.getRawDataItem(i), a.evaluate() && n.push(t); 29600 return { data: n }; 29601} }, j7 = { type: "echarts:sort", transform: function(r) { 29602 var e = r.upstream, t = r.config, a = "", n = Rt(t); 29603 n.length || Mt(a); 29604 var i = []; 29605 D(n, function(f) { 29606 var h = f.dimension, v = f.order, c = f.parser, p = f.incomparable; 29607 if (h == null && Mt(a), v !== "asc" && v !== "desc" && Mt(a), p && p !== "min" && p !== "max") { 29608 var d = ""; 29609 Mt(d); 29610 } 29611 if (v !== "asc" && v !== "desc") { 29612 var g = ""; 29613 Mt(g); 29614 } 29615 var y = e.getDimensionInfo(h); 29616 y || Mt(a); 29617 var m = c ? yA(c) : null; 29618 c && !m && Mt(a), i.push({ dimIdx: y.index, parser: m, comparator: new _A(v, p) }); 29619 }); 29620 var o = e.sourceFormat; 29621 o !== Ae && o !== gr && Mt(a); 29622 for (var s = [], l = 0, u = e.count(); l < u; l++) s.push(e.getRawDataItem(l)); 29623 return s.sort(function(f, h) { 29624 for (var v = 0; v < i.length; v++) { 29625 var c = i[v], p = e.retrieveValueFromItem(f, c.dimIdx), d = e.retrieveValueFromItem(h, c.dimIdx); 29626 c.parser && (p = c.parser(p), d = c.parser(d)); 29627 var g = c.comparator.evaluate(p, d); 29628 if (g !== 0) return g; 29629 } 29630 return 0; 29631 }), { data: s }; 29632} }; 29633function J7(r) { 29634 r.registerTransform(K7), r.registerTransform(j7); 29635} 29636var Q7 = function(r) { 29637 N(e, r); 29638 function e() { 29639 var t = r !== null && r.apply(this, arguments) || this; 29640 return t.type = "dataset", t; 29641 } 29642 return e.prototype.init = function(t, a, n) { 29643 r.prototype.init.call(this, t, a, n), this._sourceManager = new wA(this), G_(this); 29644 }, e.prototype.mergeOption = function(t, a) { 29645 r.prototype.mergeOption.call(this, t, a), G_(this); 29646 }, e.prototype.optionUpdated = function() { 29647 this._sourceManager.dirty(); 29648 }, e.prototype.getSourceManager = function() { 29649 return this._sourceManager; 29650 }, e.type = "dataset", e.defaultOption = { seriesLayoutBy: Kr }, e; 29651}(gt), t$ = function(r) { 29652 N(e, r); 29653 function e() { 29654 var t = r !== null && r.apply(this, arguments) || this; 29655 return t.type = "dataset", t; 29656 } 29657 return e.type = "dataset", e; 29658}(Vt); 29659function e$(r) { 29660 r.registerComponentModel(Q7), r.registerComponentView(t$); 29661} 29662var Vr = ta.CMD; 29663function io(r, e) { 29664 return Math.abs(r - e) < 1e-5; 29665} 29666function wg(r) { 29667 var e = r.data, t = r.len(), a = [], n, i = 0, o = 0, s = 0, l = 0; 29668 function u(L, P) { 29669 n && n.length > 2 && a.push(n), n = [L, P]; 29670 } 29671 function f(L, P, R, E) { 29672 io(L, R) && io(P, E) || n.push(L, P, R, E, R, E); 29673 } 29674 function h(L, P, R, E, O, k) { 29675 var B = Math.abs(P - L), F = Math.tan(B / 4) * 4 / 3, H = P < L ? -1 : 1, U = Math.cos(L), K = Math.sin(L), J = Math.
29675cos(P), nt = Math.sin(P), It = U * O + R, Yt = K * k + E, ct = J * O + R, et = nt * k + E, dt = O * F * H, q = k * F * H; 29676 n.push(It - dt * K, Yt + q * U, ct + dt * nt, et - q * J, ct, et); 29677 } 29678 for (var v, c, p, d, g = 0; g < t; ) { 29679 var y = e[g++], m = g === 1; 29680 switch (m && (i = e[g], o = e[g + 1], s = i, l = o, (y === Vr.L || y === Vr.C || y === Vr.Q) && (n = [s, l])), y) { 29681 case Vr.M: 29682 i = s = e[g++], o = l = e[g++], u(s, l); 29683 break; 29684 case Vr.L: 29685 v = e[g++], c = e[g++], f(i, o, v, c), i = v, o = c; 29686 break; 29687 case Vr.C: 29688 n.push(e[g++], e[g++], e[g++], e[g++], i = e[g++], o = e[g++]); 29689 break; 29690 case Vr.Q: 29691 v = e[g++], c = e[g++], p = e[g++], d = e[g++], n.push(i + 2 / 3 * (v - i), o + 2 / 3 * (c - o), p + 2 / 3 * (v - p), d + 2 / 3 * (c - d), p, d), i = p, o = d; 29692 break; 29693 case Vr.A: 29694 var _ = e[g++], S = e[g++], b = e[g++], x = e[g++], w = e[g++], T = e[g++] + w; 29695 g += 1; 29696 var C = !e[g++]; 29697 v = Math.cos(w) * b + _, c = Math.sin(w) * x + S, m ? (s = v, l = c, u(s, l)) : f(i, o, v, c), i = Math.cos(T) * b + _, o = Math.sin(T) * x + S; 29698 for (var A = (C ? -1 : 1) * Math.PI / 2, M = w; C ? M > T : M < T; M += A) { 29699 var I = C ? Math.max(M + A, T) : Math.min(M + A, T); 29700 h(M, I, _, S, b, x); 29701 } 29702 break; 29703 case Vr.R: 29704 s = i = e[g++], l = o = e[g++], v = s + e[g++], c = l + e[g++], u(v, l), f(v, l, v, c), f(v, c, s, c), f(s, c, s, l), f(s, l, v, l); 29705 break; 29706 case Vr.Z: 29707 n && f(i, o, s, l), i = s, o = l; 29708 break; 29709 } 29710 } 29711 return n && n.length > 2 && a.push(n), a; 29712} 29713function Tg(r, e, t, a, n, i, o, s, l, u) { 29714 if (io(r, t) && io(e, a) && io(n, o) && io(i, s)) { 29715 l.push(o, s); 29716 return; 29717 } 29718 var f = 2 / u, h = f * f, v = o - r, c = s - e, p = Math.sqrt(v * v + c * c); 29719 v /= p, c /= p; 29720 var d = t - r, g = a - e, y = n - o, m = i - s, _ = d * d + g * g, S = y * y + m * m; 29721 if (_ < h && S < h) { 29722 l.push(o, s); 29723 return; 29724 } 29725 var b = v * d + c * g, x = -v * y - c * m, w = _ - b * b, T = S - x * x; 29726 if (w < h && b >= 0 && T < h && x >= 0) { 29727 l.push(o, s); 29728 return; 29729 } 29730 var C = [], A = []; 29731 en(r, t, n, o, 0.5, C), en(e, a, i, s, 0.5, A), Tg(C[0], A[0], C[1], A[1], C[2], A[2], C[3], A[3], l, u), Tg(C[4], A[4], C[5], A[5], C[6], A[6], C[7], A[7], l, u); 29732} 29733function r$(r, e) { 29734 var t = wg(r), a = []; 29735 e = e || 1; 29736 for (var n = 0; n < t.length; n++) { 29737 var i = t[n], o = [], s = i[0], l = i[1]; 29738 o.push(s, l); 29739 for (var u = 2; u < i.length; ) { 29740 var f = i[u++], h = i[u++], v = i[u++], c = i[u++], p = i[u++], d = i[u++]; 29741 Tg(s, l, f, h, v, c, p, d, o, e), s = p, l = d; 29742 } 29743 a.push(o); 29744 } 29745 return a; 29746} 29747function GL(r, e, t) { 29748 var a = r[e], n = r[1 - e], i = Math.abs(a / n), o = Math.ceil(Math.sqrt(i * t)), s = Math.floor(t / o); 29749 s === 0 && (s = 1, o = t); 29750 for (var l = [], u = 0; u < o; u++) l.push(s); 29751 var f = o * s, h = t - f; 29752 if (h > 0) for (var u = 0; u < h; u++) l[u % o] += 1; 29753 return l; 29754} 29755function Vw(r, e, t) { 29756 for (var a = r.r0, n = r.r, i = r.startAngle, o = r.endAngle, s = Math.abs(o - i), l = s * n, u = n - a, f = l > Math.abs(u), h = GL([l, u], f ? 0 : 1, e), v = (f ? s : u) / h.length, c = 0; c < h.length; c++) for (var p = (f ? u : s) / h[c], d = 0; d < h[c]; d++) { 29757 var g = {}; 29758 f ? (g.startAngle = i + v * c, g.endAngle = i + v * (c + 1), g.r0 = a + p * d, g.r = a + p * (d + 1)) : (g.startAngle = i + p * d, g.endAngle = i + p * (d + 1), g.r0 = a + v * c, g.r = a + v * (c + 1)), g.clockwise = r.clockwise, g.cx = r.cx, g.cy = r.cy, t.push(g); 29759 } 29760} 29761function a$(r, e, t) { 29762 for (var a = r.width, n = r.height, i = a > n, o = GL([a, n], i ? 0 : 1, e), s = i ? "width" : "height", l = i ? "height" : "width", u = i ? "x" : "y", f = i ? "y" : "x", h = r[s] / o.length, v = 0; v < o.length; v++) for (var c = r[l] / o[v], p = 0; p < o[v]; p++) { 29763 var d = {}; 29764 d[u] = v * h, d[f] = p * c, d[s] = h, d[l] = c, d.x += r.x, d.y += r.y, t.push(d); 29765 } 29766} 29767function Gw(r, e, t, a) { 29768 return r * a - t * e; 29769} 29770function n$(r, e, t, a, n, i, o, s) { 29771 var l = t - r, u = a - e, f = o - n, h = s - i, v = Gw(f, h, l, u); 29772 if (Math.abs(v) < 1e-6) return null; 29773 var c = r - n, p = e - i, d = Gw(c, p, f, h) / v; 29774 return d < 0 || d > 1 ? null : new ft(d * l + r, d * u + e); 29775} 29776function i$(r, e, t) { 29777 var a = new ft(); 29778 ft.sub(a, t, e), a.normalize(); 29779 var n = new ft(); 29780 ft.sub(n, r, e); 29781 var i = n.dot(a); 29782 return i; 29783} 29784function qi(r, e) { 29785 var t = r[r.length - 1]; 29786 t && t[0] === e[0] && t[1] === e[1] || r.push(e); 29787} 29788function o$(r, e, t) { 29789 for (var a = r.length, n = [], i = 0; i < a; i++) { 29790 var o = r[i], s = r[(i + 1) % a], l = n$(o[0], o[1], s[0], s[1], e.x, e.y, t.x, t.y); 29791 l && n.push({ projPt: i$(l, e, t), pt: l, idx: i }); 29792 } 29793 if (n.length < 2) return [{ points: r }, { points: r }]; 29794 n.sort(function(g, y) { 29795 return g.projPt - y.projPt; 29796 }); 29797 var u = n[0], f = n[n.length - 1];
29798 if (f.idx < u.idx) { 29799 var h = u; 29800 u = f, f = h; 29801 } 29802 for (var v = [u.pt.x, u.pt.y], c = [f.pt.x, f.pt.y], p = [v], d = [c], i = u.idx + 1; i <= f.idx; i++) qi(p, r[i].slice()); 29803 qi(p, c), qi(p, v); 29804 for (var i = f.idx + 1; i <= u.idx + a; i++) qi(d, r[i % a].slice()); 29805 return qi(d, v), qi(d, c), [{ points: p }, { points: d }]; 29806} 29807function Fw(r) { 29808 var e = r.points, t = [], a = []; 29809 Rh(e, t, a); 29810 var n = new ht(t[0], t[1], a[0] - t[0], a[1] - t[1]), i = n.width, o = n.height, s = n.x, l = n.y, u = new ft(), f = new ft(); 29811 return i > o ? (u.x = f.x = s + i / 2, u.y = l, f.y = l + o) : (u.y = f.y = l + o / 2, u.x = s, f.x = s + i), o$(e, u, f); 29812} 29813function ph(r, e, t, a) { 29814 if (t === 1) a.push(e); 29815 else { 29816 var n = Math.floor(t / 2), i = r(e); 29817 ph(r, i[0], n, a), ph(r, i[1], t - n, a); 29818 } 29819 return a; 29820} 29821function s$(r, e) { 29822 for (var t = [], a = 0; a < e; a++) t.push(ey(r)); 29823 return t; 29824} 29825function l$(r, e) { 29826 e.setStyle(r.style), e.z = r.z, e.z2 = r.z2, e.zlevel = r.zlevel; 29827} 29828function u$(r) { 29829 for (var e = [], t = 0; t < r.length; ) e.push([r[t++], r[t++]]); 29830 return e; 29831} 29832function f$(r, e) { 29833 var t = [], a = r.shape, n; 29834 switch (r.type) { 29835 case "rect": 29836 a$(a, e, t), n = xt; 29837 break; 29838 case "sector": 29839 Vw(a, e, t), n = Te; 29840 break; 29841 case "circle": 29842 Vw({ r0: 0, r: a.r, startAngle: 0, endAngle: Math.PI * 2, cx: a.cx, cy: a.cy }, e, t), n = Te; 29843 break; 29844 default: 29845 var i = r.getComputedTransform(), o = i ? Math.sqrt(Math.max(i[0] * i[0] + i[1] * i[1], i[2] * i[2] + i[3] * i[3])) : 1, s = G(r$(r.getUpdatedPathProxy(), o), function(y) { 29846 return u$(y); 29847 }), l = s.length; 29848 if (l === 0) ph(Fw, { points: s[0] }, e, t); 29849 else if (l === e) for (var u = 0; u < l; u++) t.push({ points: s[u] }); 29850 else { 29851 var f = 0, h = G(s, function(y) { 29852 var m = [], _ = []; 29853 Rh(y, m, _); 29854 var S = (_[1] - m[1]) * (_[0] - m[0]); 29855 return f += S, { poly: y, area: S }; 29856 }); 29857 h.sort(function(y, m) { 29858 return m.area - y.area; 29859 }); 29860 for (var v = e, u = 0; u < l; u++) { 29861 var c = h[u]; 29862 if (v <= 0) break; 29863 var p = u === l - 1 ? v : Math.ceil(c.area / f * e); 29864 p < 0 || (ph(Fw, { points: c.poly }, p, t), v -= p); 29865 } 29866 } 29867 n = Ce; 29868 break; 29869 } 29870 if (!n) return s$(r, e); 29871 for (var d = [], u = 0; u < t.length; u++) { 29872 var g = new n(); 29873 g.setShape(t[u]), l$(r, g), d.push(g); 29874 } 29875 return d; 29876} 29877function h$(r, e) { 29878 var t = r.length, a = e.length; 29879 if (t === a) return [r, e]; 29880 for (var n = [], i = [], o = t < a ? r : e, s = Math.min(t, a), l = Math.abs(a - t) / 6, u = (s - 2) / 6, f = Math.ceil(l / u) + 1, h = [o[0], o[1]], v = l, c = 2; c < s; ) { 29881 var p = o[c - 2], d = o[c - 1], g = o[c++], y = o[c++], m = o[c++], _ = o[c++], S = o[c++], b = o[c++]; 29882 if (v <= 0) { 29883 h.push(g, y, m, _, S, b); 29884 continue; 29885 } 29886 for (var x = Math.min(v, f - 1) + 1, w = 1; w <= x; w++) { 29887 var T = w / x; 29888 en(p, g, m, S, T, n), en(d, y, _, b, T, i), p = n[3], d = i[3], h.push(n[1], i[1], n[2], i[2], p, d), g = n[5], y = i[5], m = n[6], _ = i[6]; 29889 } 29890 v -= x - 1; 29891 } 29892 return o === r ? [h, e] : [r, h]; 29893} 29894function Hw(r, e) { 29895 for (var t = r.length, a = r[t - 2], n = r[t - 1], i = [], o = 0; o < e.length; ) i[o++] = a, i[o++] = n; 29896 return i; 29897} 29898function v$(r, e) { 29899 for (var t, a, n, i = [], o = [], s = 0; s < Math.max(r.length, e.length); s++) { 29900 var l = r[s], u = e[s], f = void 0, h = void 0; 29901 l ? u ? (t = h$(l, u), f = t[0], h = t[1], a = f, n = h) : (h = Hw(n || l, l), f = l) : (f = Hw(a || u, u), h = u), i.push(f), o.push(h); 29902 } 29903 return [i, o]; 29904} 29905function Ww(r) { 29906 for (var e = 0, t = 0, a = 0, n = r.length, i = 0, o = n - 2; i < n; o = i, i += 2) { 29907 var s = r[o], l = r[o + 1], u = r[i], f = r[i + 1], h = s * f - u * l; 29908 e += h, t += (s + u) * h, a += (l + f) * h; 29909 } 29910 return e === 0 ? [r[0] || 0, r[1] || 0] : [t / e / 3, a / e / 3, e]; 29911} 29912function c$(r, e, t, a) { 29913 for (var n = (r.length - 2) / 6, i = 1 / 0, o = 0, s = r.length, l = s - 2, u = 0; u < n; u++) { 29914 for (var f = u * 6, h = 0, v = 0; v < s; v += 2) { 29915 var c = v === 0 ? f : (f + v - 2) % l + 2, p = r[c] - t[0], d = r[c + 1] - t[1], g = e[v] - a[0], y = e[v + 1] - a[1], m = g - p, _ = y - d; 29916 h += m * m + _ * _; 29917 } 29918 h < i && (i = h, o = u); 29919 } 29920 return o; 29921} 29922function p$(r) { 29923 for (var e = [], t = r.length, a = 0; a < t; a += 2) e[a] = r[t - a - 2], e[a + 1] = r[t - a - 1]; 29924 return e; 29925} 29926function d$(r, e, t, a) { 29927 for (var n = [], i, o = 0; o < r.length; o++) { 29928 var s = r[o], l = e[o], u = Ww(s), f = Ww(l); 29929 i == null && (i = u[2] < 0 != f[2] < 0); 29930 var h = [], v = [], c = 0, p = 1 / 0, d = [], g = s.length; 29931 i && (s = p$(s)); 29932 for (var y = c$(s, l, u, f) * 6, m = g - 2, _ = 0; _ < m;
29932 _ += 2) { 29933 var S = (y + _) % m + 2; 29934 h[_ + 2] = s[S] - u[0], h[_ + 3] = s[S + 1] - u[1]; 29935 } 29936 h[0] = s[y] - u[0], h[1] = s[y + 1] - u[1]; 29937 for (var b = a / t, x = -a / 2; x <= a / 2; x += b) { 29938 for (var w = Math.sin(x), T = Math.cos(x), C = 0, _ = 0; _ < s.length; _ += 2) { 29939 var A = h[_], M = h[_ + 1], I = l[_] - f[0], L = l[_ + 1] - f[1], P = I * T - L * w, R = I * w + L * T; 29940 d[_] = P, d[_ + 1] = R; 29941 var E = P - A, O = R - M; 29942 C += E * E + O * O; 29943 } 29944 if (C < p) { 29945 p = C, c = x; 29946 for (var k = 0; k < d.length; k++) v[k] = d[k]; 29947 } 29948 } 29949 n.push({ from: h, to: v, fromCp: u, toCp: f, rotation: -c }); 29950 } 29951 return n; 29952} 29953function dh(r) { 29954 return r.__isCombineMorphing; 29955} 29956var FL = "__mOriginal_"; 29957function gh(r, e, t) { 29958 var a = FL + e, n = r[a] || r[e]; 29959 r[a] || (r[a] = r[e]); 29960 var i = t.replace, o = t.after, s = t.before; 29961 r[e] = function() { 29962 var l = arguments, u; 29963 return s && s.apply(this, l), i ? u = i.apply(this, l) : u = n.apply(this, l), o && o.apply(this, l), u; 29964 }; 29965} 29966function js(r, e) { 29967 var t = FL + e; 29968 r[t] && (r[e] = r[t], r[t] = null); 29969} 29970function Uw(r, e) { 29971 for (var t = 0; t < r.length; t++) for (var a = r[t], n = 0; n < a.length; ) { 29972 var i = a[n], o = a[n + 1]; 29973 a[n++] = e[0] * i + e[2] * o + e[4], a[n++] = e[1] * i + e[3] * o + e[5]; 29974 } 29975} 29976function HL(r, e) { 29977 var t = r.getUpdatedPathProxy(), a = e.getUpdatedPathProxy(), n = v$(wg(t), wg(a)), i = n[0], o = n[1], s = r.getComputedTransform(), l = e.getComputedTransform(); 29978 function u() { 29979 this.transform = null; 29980 } 29981 s && Uw(i, s), l && Uw(o, l), gh(e, "updateTransform", { replace: u }), e.transform = null; 29982 var f = d$(i, o, 10, Math.PI), h = []; 29983 gh(e, "buildPath", { replace: function(v) { 29984 for (var c = e.__morphT, p = 1 - c, d = [], g = 0; g < f.length; g++) { 29985 var y = f[g], m = y.from, _ = y.to, S = y.rotation * c, b = y.fromCp, x = y.toCp, w = Math.sin(S), T = Math.cos(S); 29986 Bs(d, b, x, c); 29987 for (var C = 0; C < m.length; C += 2) { 29988 var A = m[C], M = m[C + 1], I = _[C], L = _[C + 1], P = A * p + I * c, R = M * p + L * c; 29989 h[C] = P * T - R * w + d[0], h[C + 1] = P * w + R * T + d[1]; 29990 } 29991 var E = h[0], O = h[1]; 29992 v.moveTo(E, O); 29993 for (var C = 2; C < m.length; ) { 29994 var I = h[C++], L = h[C++], k = h[C++], B = h[C++], F = h[C++], H = h[C++]; 29995 E === I && O === L && k === F && B === H ? v.lineTo(F, H) : v.bezierCurveTo(I, L, k, B, F, H), E = F, O = H; 29996 } 29997 } 29998 } }); 29999} 30000function qm(r, e, t) { 30001 if (!r || !e) return e; 30002 var a = t.done, n = t.during; 30003 HL(r, e), e.__morphT = 0; 30004 function i() { 30005 js(e, "buildPath"), js(e, "updateTransform"), e.__morphT = -1, e.createPathProxy(), e.dirtyShape(); 30006 } 30007 return e.animateTo({ __morphT: 1 }, Q({ during: function(o) { 30008 e.dirtyShape(), n && n(o); 30009 }, done: function() { 30010 i(), a && a(); 30011 } }, t)), e; 30012} 30013function g$(r, e, t, a, n, i) { 30014 var o = 16; 30015 r = n === t ? 0 : Math.round(32767 * (r - t) / (n - t)), e = i === a ? 0 : Math.round(32767 * (e - a) / (i - a)); 30016 for (var s = 0, l, u = (1 << o) / 2; u > 0; u /= 2) { 30017 var f = 0, h = 0; 30018 (r & u) > 0 && (f = 1), (e & u) > 0 && (h = 1), s += u * u * (3 * f ^ h), h === 0 && (f === 1 && (r = u - 1 - r, e = u - 1 - e), l = r, r = e, e = l); 30019 } 30020 return s; 30021} 30022function yh(r) { 30023 var e = 1 / 0, t = 1 / 0, a = -1 / 0, n = -1 / 0, i = G(r, function(s) { 30024 var l = s.getBoundingRect(), u = s.getComputedTransform(), f = l.x + l.width / 2 + (u ? u[4] : 0), h = l.y + l.height / 2 + (u ? u[5] : 0); 30025 return e = Math.min(f, e), t = Math.min(h, t), a = Math.max(f, a), n = Math.max(h, n), [f, h]; 30026 }), o = G(i, function(s, l) { 30027 return { cp: s, z: g$(s[0], s[1], e, t, a, n), path: r[l] }; 30028 }); 30029 return o.sort(function(s, l) { 30030 return s.z - l.z; 30031 }).map(function(s) { 30032 return s.path; 30033 }); 30034} 30035function WL(r) { 30036 return f$(r.path, r.count); 30037} 30038function Cg() { 30039 return { fromIndividuals: [], toIndividuals: [], count: 0 }; 30040} 30041function y$(r, e, t) { 30042 var a = []; 30043 function n(b) { 30044 for (var x = 0; x < b.length; x++) { 30045 var w = b[x]; 30046 dh(w) ? n(w.childrenRef()) : w instanceof mt && a.push(w); 30047 } 30048 } 30049 n(r); 30050 var i = a.length; 30051 if (!i) return Cg();
30052 var o = t.dividePath || WL, s = o({ path: e, count: i }); 30053 if (s.length !== i) return console.error("Invalid morphing: unmatched splitted path"), Cg(); 30054 a = yh(a), s = yh(s); 30055 for (var l = t.done, u = t.during, f = t.individualDelay, h = new ca(), v = 0; v < i; v++) { 30056 var c = a[v], p = s[v]; 30057 p.parent = e, p.copyTransform(h), f || HL(c, p); 30058 } 30059 e.__isCombineMorphing = true, e.childrenRef = function() { 30060 return s; 30061 }; 30062 function d(b) { 30063 for (var x = 0; x < s.length; x++) s[x].addSelfToZr(b); 30064 } 30065 gh(e, "addSelfToZr", { after: function(b) { 30066 d(b); 30067 } }), gh(e, "removeSelfFromZr", { after: function(b) { 30068 for (var x = 0; x < s.length; x++) s[x].removeSelfFromZr(b); 30069 } }); 30070 function g() { 30071 e.__isCombineMorphing = false, e.__morphT = -1, e.childrenRef = null, js(e, "addSelfToZr"), js(e, "removeSelfFromZr"); 30072 } 30073 var y = s.length; 30074 if (f) for (var m = y, _ = function() { 30075 m--, m === 0 && (g(), l && l()); 30076 }, v = 0; v < y; v++) { 30077 var S = f ? Q({ delay: (t.delay || 0) + f(v, y, a[v], s[v]), done: _ }, t) : t; 30078 qm(a[v], s[v], S); 30079 } 30080 else e.__morphT = 0, e.animateTo({ __morphT: 1 }, Q({ during: function(b) { 30081 for (var x = 0; x < y; x++) { 30082 var w = s[x]; 30083 w.__morphT = e.__morphT, w.dirtyShape(); 30084 } 30085 u && u(b); 30086 }, done: function() { 30087 g(); 30088 for (var b = 0; b < r.length; b++) js(r[b], "updateTransform"); 30089 l && l(); 30090 } }, t)); 30091 return e.__zr && d(e.__zr), { fromIndividuals: a, toIndividuals: s, count: y }; 30092} 30093function m$(r, e, t) { 30094 var a = e.length, n = [], i = t.dividePath || WL; 30095 function o(c) { 30096 for (var p = 0; p < c.length; p++) { 30097 var d = c[p]; 30098 dh(d) ? o(d.childrenRef()) : d instanceof mt && n.push(d); 30099 } 30100 } 30101 if (dh(r)) { 30102 o(r.childrenRef()); 30103 var s = n.length; 30104 if (s < a) for (var l = 0, u = s; u < a; u++) n.push(ey(n[l++ % s])); 30105 n.length = a; 30106 } else { 30107 n = i({ path: r, count: a }); 30108 for (var f = r.getComputedTransform(), u = 0; u < n.length; u++) n[u].setLocalTransform(f); 30109 if (n.length !== a) return console.error("Invalid morphing: unmatched splitted path"), Cg(); 30110 } 30111 n = yh(n), e = yh(e); 30112 for (var h = t.individualDelay, u = 0; u < a; u++) { 30113 var v = h ? Q({ delay: (t.delay || 0) + h(u, a, n[u], e[u]) }, t) : t; 30114 qm(n[u], e[u], v); 30115 } 30116 return { fromIndividuals: n, toIndividuals: e, count: e.length }; 30117} 30118function Yw(r) { 30119 return V(r[0]); 30120} 30121function $w(r, e) { 30122 for (var t = [], a = r.length, n = 0; n < a; n++) t.push({ one: r[n], many: [] }); 30123 for (var n = 0; n < e.length; n++) { 30124 var i = e[n].length, o = void 0; 30125 for (o = 0; o < i; o++) t[o % a].many.push(e[n][o]); 30126 } 30127 for (var s = 0, n = a - 1; n >= 0; n--) if (!t[n].many.length) { 30128 var l = t[s].many; 30129 if (l.length <= 1) if (s) s = 0; 30130 else return t; 30131 var i = l.length, u = Math.ceil(i / 2); 30132 t[n].many = l.slice(u, i), t[s].many = l.slice(0, u), s++; 30133 } 30134 return t; 30135} 30136var _$ = { clone: function(r) { 30137 for (var e = [], t = 1 - Math.pow(1 - r.path.style.opacity, 1 / r.count), a = 0; a < r.count; a++) { 30138 var n = ey(r.path); 30139 n.setStyle("opacity", t), e.push(n); 30140 } 30141 return e; 30142}, split: null }; 30143function Lp(r, e, t, a, n, i) { 30144 if (!r.length || !e.length) return; 30145 var o = Eo("update", a, n); 30146 if (!(o && o.duration > 0)) return; 30147 var s = a.getModel("universalTransition").get("delay"), l = Object.assign({ setToFinal: true }, o), u, f; 30148 Yw(r) && (u = r, f = e), Yw(e) && (u = e, f = r); 30149 function h(y, m, _, S, b) { 30150 var x = y.many, w = y.one; 30151 if (x.length === 1 && !b) { 30152 var T = m ? x[0] : w, C = m ? w : x[0]; 30153 if (dh(T)) h({ many: [T], one: C }, true, _, S, true); 30154 else { 30155 var A = s ? Q({ delay: s(_, S) }, l) : l; 30156 qm(T, C, A), i(T, C, T, C, A); 30157 } 30158 } else for (var M = Q({ dividePath: _$[t], individualDelay: s && function(O, k, B, F) { 30159 return s(O + _, S); 30160 } }, l), I = m ? y$(x, w, M) : m$(w, x, M), L = I.fromIndividuals, P = I.toIndividuals, R = L.length, E = 0; E < R; E++) { 30161 var A = s ? Q({ delay: s(E, R) }, l) : l; 30162 i(L[E], P[E], m ? x[E] : y.one, m ? y.one : x[E], A); 30163 } 30164 } 30165 for (var v = u ? u === r : r.length > e.length, c = u ? $w(f, u) : $w(v ? e : r, [v ? r : e]), p = 0, d = 0; d < c.length; d++) p += c[d].many.length; 30166 for (var g = 0, d = 0; d < c.length; d++) h(c[d], v, g, p), g += c[d].many.length; 30167} 30168function Hn(r) { 30169 if (!r) return []; 30170 if (V(r)) { 30171 for (var e = [], t = 0; t < r.length; t++) e.push(Hn(r[t])); 30172 return e; 30173 } 30174 var a = []; 30175 return r.traverse(function(n) { 30176 n instanceof mt && !n.disableMorphing && !n.invisible && !n.ignore && a.push(n); 30177 }), a; 30178} 30179var UL = 1e4, S$ = 0, Xw = 1, Zw = 2, x$ = bt(); 30180function b$(r, e) { 30181 for (var t = r.dimensions, a = 0; a < t.length; a++) { 30182 var n = r.getDimensionInfo(t[a]); 30183 if (n && n.otherDims[e] === 0) return t[a]; 30184 } 30185} 30186function w$(r, e, t) { 30187 var a = r.getDimensionInfo(t), n = a && a.ordinalMeta; 30188 if (a) { 30189 var i = r.get(a.name, e); 30190 return n && n.categories[i] || i + ""; 30191 } 30192} 30193function qw(r, e, t, a) { 30194 var n = a ? "itemChildGroupId" : "itemGroupId", i = b$(r, n); 30195 if (i) { 30196 var o = w$(r, e, i); 30197 return o; 30198 } 30199 var s = r.getRawDataItem(e), l = a ? "childGroupId" : "groupId"; 30200 if (s && s[l]) return s[l] + ""; 30201 if (!a) return t || r.getId(e); 30202} 30203function Kw(r) { 30204 var e = []; 30205 return D(r, function(t) { 30206 var a = t.data, n = t.dataGroupId; 30207 if (!(a.count() > UL)) for (var i = a.getIndices(), o = 0; o < i.length; o++) e.push({ data: a, groupId: qw(a, o, n, false), childGroupId: qw(a, o, n, true), divide: t.divi
30207de, dataIndex: o }); 30208 }), e; 30209} 30210function Pp(r, e, t) { 30211 r.traverse(function(a) { 30212 a instanceof mt && Gt(a, { style: { opacity: 0 } }, e, { dataIndex: t, isFrom: true }); 30213 }); 30214} 30215function Rp(r) { 30216 if (r.parent) { 30217 var e = r.getComputedTransform(); 30218 r.setLocalTransform(e), r.parent.remove(r); 30219 } 30220} 30221function Ki(r) { 30222 r.stopAnimation(), r.isGroup && r.traverse(function(e) { 30223 e.stopAnimation(); 30224 }); 30225} 30226function T$(r, e, t) { 30227 var a = Eo("update", t, e); 30228 a && r.traverse(function(n) { 30229 if (n instanceof vr) { 30230 var i = rk(n); 30231 i && n.animateFrom({ style: i }, a); 30232 } 30233 }); 30234} 30235function C$(r, e) { 30236 var t = r.length; 30237 if (t !== e.length) return false; 30238 for (var a = 0; a < t; a++) { 30239 var n = r[a], i = e[a]; 30240 if (n.data.getId(n.dataIndex) !== i.data.getId(i.dataIndex)) return false; 30241 } 30242 return true; 30243} 30244function YL(r, e, t) { 30245 var a = Kw(r), n = Kw(e); 30246 function i(_, S, b, x, w) { 30247 (b || _) && S.animateFrom({ style: b && b !== _ ? z(z({}, b.style), _.style) : _.style }, w); 30248 } 30249 var o = false, s = S$, l = Z(), u = Z(); 30250 a.forEach(function(_) { 30251 _.groupId && l.set(_.groupId, true), _.childGroupId && u.set(_.childGroupId, true); 30252 }); 30253 for (var f = 0; f < n.length; f++) { 30254 var h = n[f].groupId; 30255 if (u.get(h)) { 30256 s = Xw; 30257 break; 30258 } 30259 var v = n[f].childGroupId; 30260 if (v && l.get(v)) { 30261 s = Zw; 30262 break; 30263 } 30264 } 30265 function c(_, S) { 30266 return function(b) { 30267 var x = b.data, w = b.dataIndex; 30268 return S ? x.getId(w) : _ ? s === Xw ? b.childGroupId : b.groupId : s === Zw ? b.childGroupId : b.groupId; 30269 }; 30270 } 30271 var p = C$(a, n), d = {}; 30272 if (!p) for (var f = 0; f < n.length; f++) { 30273 var g = n[f], y = g.data.getItemGraphicEl(g.dataIndex); 30274 y && (d[y.id] = true); 30275 } 30276 function m(_, S) { 30277 var b = a[S], x = n[_], w = x.data.hostModel, T = b.data.getItemGraphicEl(b.dataIndex), C = x.data.getItemGraphicEl(x.dataIndex); 30278 if (T === C) { 30279 C && T$(C, x.dataIndex, w); 30280 return; 30281 } 30282 T && d[T.id] || C && (Ki(C), T ? (Ki(T), Rp(T), o = true, Lp(Hn(T), Hn(C), x.divide, w, _, i)) : Pp(C, w, _)); 30283 } 30284 new Sa(a, n, c(true, p), c(false, p), null, "multiple").update(m).updateManyToOne(function(_, S) { 30285 var b = n[_], x = b.data, w = x.hostModel, T = x.getItemGraphicEl(b.dataIndex), C = Ct(G(S, function(A) { 30286 return a[A].data.getItemGraphicEl(a[A].dataIndex); 30287 }), function(A) { 30288 return A && A !== T && !d[A.id]; 30289 }); 30290 T && (Ki(T), C.length ? (D(C, function(A) { 30291 Ki(A), Rp(A); 30292 }), o = true, Lp(Hn(C), Hn(T), b.divide, w, _, i)) : Pp(T, w, b.dataIndex)); 30293 }).updateOneToMany(function(_, S) { 30294 var b = a[S], x = b.data.getItemGraphicEl(b.dataIndex); 30295 if (!(x && d[x.id])) { 30296 var w = Ct(G(_, function(C) { 30297 return n[C].data.getItemGraphicEl(n[C].dataIndex); 30298 }), function(C) { 30299 return C && C !== x; 30300 }), T = n[_[0]].data.hostModel; 30301 w.length && (D(w, function(C) { 30302 return Ki(C); 30303 }), x ? (Ki(x), Rp(x), o = true, Lp(Hn(x), Hn(w), b.divide, T, _[0], i)) : D(w, function(C) { 30304 return Pp(C, T, _[0]); 30305 })); 30306 } 30307 }).updateManyToMany(function(_, S) { 30308 new Sa(S, _, function(b) { 30309 return a[b].data.getId(a[b].dataIndex); 30310 }, function(b) { 30311 return n[b].data.getId(n[b].dataIndex); 30312 }).update(function(b, x) { 30313 m(_[b], S[x]); 30314 }).execute(); 30315 }).execute(), o && D(e, function(_) { 30316 var S = _.data, b = S.hostModel, x = b && t.getViewOfSeriesModel(b), w = Eo("update", b, 0); 30317 x && b.isAnimationEnabled() && w && w.duration > 0 && x.group.traverse(function(T) { 30318 T instanceof mt && !T.animators.length && T.animateFrom({ style: { opacity: 0 } }, w); 30319 }); 30320 }); 30321} 30322function jw(r) { 30323 var e = r.getModel("universalTransition").get("seriesKey"); 30324 return e || r.id; 30325} 30326function Jw(r) { 30327 return V(r) ? r.sort().join(",") : r; 30328} 30329function za(r) { 30330 if (r.hostModel) return r.hostModel.getModel("universalTransition").get("divideShape"); 30331} 30332function A$(r, e) { 30333 var t = Z(), a = Z(), n = Z(); 30334 return D(r.oldSeries, function(i, o) { 30335 var s = r.oldDataGroupIds[o], l = r.oldData[o], u = jw(i), f = Jw(u); 30336 a.set(f, { dataGroupId: s, data: l }), V(u) && D(u, function(h) { 30337 n.set(h, { key: f, dataGroupId: s, data: l }); 30338 }); 30339 }), D(e.updatedSeries, function(i) { 30340 if (i.isUniversalTransitionEnabled() && i.isAnimationEnabled()) { 30341 var o = i.get("dataGroupId"), s = i.getData(), l = jw(i), u = Jw(l), f = a.get(u); 30342 if (f) t.set(u, { oldSeries: [{ dataGroupId: f.dataGroupId, divide: za(f.data), data: f.data }], newSeries: [{ dataGroupId: o, divide: za(s), data: s }] }); 30343 else if (V(l)) { 30344 var h = []; 30345 D(l, function(p) { 30346 var d = a.get(p); 30347 d.data && h.push({ dataGroupId: d.dataGroupId, divide: za(d.data), data: d.data }); 30348 }), h.length && t.set(u, { oldSeries: h, newSeries: [{ dataGroupId: o, data: s, divide: za(s) }] }); 30349 } else { 30350 var v = n.get(l); 30351 if (v) { 30352 var c = t.get(v.key); 30353 c || (c = { oldSeries: [{ dataGroupId: v.dataGroupId, data: v.data, divide: za(v.data) }], newSeries: [] }, t.set(v.key, c)), c.newSeries.push({ dataGroupId: o, data: s, divide: za(s) }); 30354 } 30355 } 30356 } 30357 }), t;
30358} 30359function Qw(r, e) { 30360 for (var t = 0; t < r.length; t++) { 30361 var a = e.seriesIndex != null && e.seriesIndex === r[t].seriesIndex || e.seriesId != null && e.seriesId === r[t].id; 30362 if (a) return t; 30363 } 30364} 30365function D$(r, e, t, a) { 30366 var n = [], i = []; 30367 D(Rt(r.from), function(o) { 30368 var s = Qw(e.oldSeries, o); 30369 s >= 0 && n.push({ dataGroupId: e.oldDataGroupIds[s], data: e.oldData[s], divide: za(e.oldData[s]), groupIdDim: o.dimension }); 30370 }), D(Rt(r.to), function(o) { 30371 var s = Qw(t.updatedSeries, o); 30372 if (s >= 0) { 30373 var l = t.updatedSeries[s].getData(); 30374 i.push({ dataGroupId: e.oldDataGroupIds[s], data: l, divide: za(l), groupIdDim: o.dimension }); 30375 } 30376 }), n.length > 0 && i.length > 0 && YL(n, i, a); 30377} 30378function M$(r) { 30379 r.registerUpdateLifecycle("series:beforeupdate", function(e, t, a) { 30380 D(Rt(a.seriesTransition), function(n) { 30381 D(Rt(n.to), function(i) { 30382 for (var o = a.updatedSeries, s = 0; s < o.length; s++) (i.seriesIndex != null && i.seriesIndex === o[s].seriesIndex || i.seriesId != null && i.seriesId === o[s].id) && (o[s][vf] = true); 30383 }); 30384 }); 30385 }), r.registerUpdateLifecycle("series:transition", function(e, t, a) { 30386 var n = x$(t); 30387 if (n.oldSeries && a.updatedSeries && a.optionChanged) { 30388 var i = a.seriesTransition; 30389 if (i) D(Rt(i), function(c) { 30390 D$(c, n, a, t); 30391 }); 30392 else { 30393 var o = A$(n, a); 30394 D(o.keys(), function(c) { 30395 var p = o.get(c); 30396 YL(p.oldSeries, p.newSeries, t); 30397 }); 30398 } 30399 D(a.updatedSeries, function(c) { 30400 c[vf] && (c[vf] = false); 30401 }); 30402 } 30403 for (var s = e.getSeries(), l = n.oldSeries = [], u = n.oldDataGroupIds = [], f = n.oldData = [], h = 0; h < s.length; h++) { 30404 var v = s[h].getData(); 30405 v.count() < UL && (l.push(s[h]), u.push(s[h].get("dataGroupId")), f.push(v)); 30406 } 30407 }); 30408} 30409pt([zV]); 30410pt([EV]); 30411pt([n5, _5, I5, lG, _G, iF, EF, g3, z3, U3, Q3, XH, m4, I4, Y4, q4, iW, vW, wW, IW, VW, b6]); 30412pt(F6); 30413pt(cU); 30414pt(WM); 30415pt(AU); 30416pt(MI); 30417pt(LU); 30418pt(VU); 30419pt(A8); 30420pt(Y8); 30421pt(jl); 30422pt(lY); 30423pt(hY); 30424pt(xY); 30425pt(MY); 30426pt(kY); 30427pt(GY); 30428pt(KY); 30429pt(p7); 30430pt(PL); 30431pt(RL); 30432pt(k7); 30433pt(BL); 30434pt(zL); 30435pt(V7); 30436pt(J7); 30437pt(e$); 30438pt(M$); 30439pt(Qz); 30440const I$ = Object.freeze(Object.defineProperty({ __proto__: null, Axis: yr, ChartView: Pt, ComponentModel: gt, ComponentView: Vt, List: be, Model: At, PRIORITY: JA, SeriesModel: Et, color: xP, connect: lB, dataTool: dB, dependencies: UN, disConnect: uB, disconnect: oD, dispose: fB, env: yt, extendChartView: Gz, extendComponentModel: Bz, extendComponentView: zz, extendSeriesModel: Vz, format: Az, getCoordinateSystemDimensions: vB, getInstanceByDom: Ry, getInstanceById: hB, getMap: pB, graphic: Cz, helper: yz, init: sB, innerDrawElementOnCanvas: My, matrix: Q2, number: wz, parseGeoJSON: Nd, parseGeoJson: Nd, registerAction: kr, registerCoordinateSystem: uD, registerLayout: fD, registerLoading: By, registerLocale: fy, registerMap: hD, registerPostInit: sD, registerPostUpdate: lD, registerPreprocessor: ky, registerProcessor: Oy, registerTheme: Ey, registerTransform: vD, registerUpdateLifecycle: qh, registerVisual: hn, setCanvasCreator: cB, setPlatformAPI: nT, throttle: Xh, time: Tz, use: pt, util: Dz, vector: V2, version: WN, zrUtil: R2, zrender: rR }, Symbol.toStringTag, { value: "Module" })); 30441var li = {}, Qa = {}, $L = {}; 30442(function(r) { 30443 Object.defineProperty(r, "__esModule", { value: true }), r.default = void 0; 30444 var e = 1; 30445 r.default = function() { 30446 return "".concat(e++); 30447 }; 30448})($L); 30449var lv = {}, uv = {}, Km = {}; 30450(function(r) { 30451 Object.defineProperty(r, "__esModule", { value: true }), r.default = void 0, r.default = function(t) { 30452 var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 60, n = null; 30453 return function() { 30454 for (var i = this, o = arguments.length, s = new Array(o), l = 0; l < o; l++) s[l] = arguments[l]; 30455 clearTimeout(n), n = setTimeout(function() { 30456 t.apply(i, s); 30457 }, a); 30458 }; 30459 }; 30460})(Km); 30461var jr = {}; 30462Object.defineProperty(jr, "__esModule", { value: true }); 30463jr.SizeSensorId = jr.SensorTabIndex = jr.SensorClassName = void 0; 30464jr.SizeSensorId = "size-sensor-id"; 30465jr.SensorClassName = "size-sensor-object"; 30466jr.SensorTabIndex = "-1"; 30467Object.defineProperty(uv, "__esModule", { value: true }); 30468uv.createSensor = void 0; 30469var L$ = P$(Km), Ep = jr; 30470function P$(r) { 30471 return r && r.__esModule ? r : { default: r }; 30472} 30473uv.createSensor = function(e, t) { 30474 var a = void 0, n = [], i = function() { 30475 getComputedStyle(e).position === "static" && (e.style.position = "relative"); 30476 var h = document.createElement("object"); 30477 return h.onload = function() { 30478 h.contentDocument.defaultView.addEventListener("resize", o), o(); 30479 }, h.style.display = "block", h.style.position = "absolute", h.style.top = "0", h.style.left = "0", h.style.height = "100%", h.style.width = "100%", h.style.overflow = "hidden", h.style.pointerEvents = "none", h.style.zIndex = "-1", h.style.opacity = "0", h.setAttribute("class", Ep.SensorClassName), h.setAttribute("tabindex", Ep.SensorTabIndex), h.type = "text/html", e.a
30479ppendChild(h), h.data = "about:blank", h; 30480 }, o = (0, L$.default)(function() { 30481 n.forEach(function(f) { 30482 f(e); 30483 }); 30484 }), s = function(h) { 30485 a || (a = i()), n.indexOf(h) === -1 && n.push(h); 30486 }, l = function() { 30487 a && a.parentNode && (a.contentDocument && a.contentDocument.defaultView.removeEventListener("resize", o), a.parentNode.removeChild(a), e.removeAttribute(Ep.SizeSensorId), a = void 0, n = [], t && t()); 30488 }, u = function(h) { 30489 var v = n.indexOf(h); 30490 v !== -1 && n.splice(v, 1), n.length === 0 && a && l(); 30491 }; 30492 return { element: e, bind: s, destroy: l, unbind: u }; 30493}; 30494var fv = {}; 30495Object.defineProperty(fv, "__esModule", { value: true }); 30496fv.createSensor = void 0; 30497var R$ = jr, E$ = k$(Km); 30498function k$(r) { 30499 return r && r.__esModule ? r : { default: r }; 30500} 30501fv.createSensor = function(e, t) { 30502 var a = void 0, n = [], i = (0, E$.default)(function() { 30503 n.forEach(function(f) { 30504 f(e); 30505 }); 30506 }), o = function() { 30507 var h = new ResizeObserver(i); 30508 return h.observe(e), i(), h; 30509 }, s = function(h) { 30510 a || (a = o()), n.indexOf(h) === -1 && n.push(h); 30511 }, l = function() { 30512 a && a.disconnect(), n = [], a = void 0, e.removeAttribute(R$.SizeSensorId), t && t(); 30513 }, u = function(h) { 30514 var v = n.indexOf(h); 30515 v !== -1 && n.splice(v, 1), n.length === 0 && a && l(); 30516 }; 30517 return { element: e, bind: s, destroy: l, unbind: u }; 30518}; 30519Object.defineProperty(lv, "__esModule", { value: true }); 30520lv.createSensor = void 0; 30521var O$ = uv, N$ = fv; 30522lv.createSensor = typeof ResizeObserver < "u" ? N$.createSensor : O$.createSensor; 30523Object.defineProperty(Qa, "__esModule", { value: true }); 30524Qa.removeSensor = Qa.getSensor = Qa.Sensors = void 0; 30525var B$ = V$($L), z$ = lv, Ag = jr; 30526function V$(r) { 30527 return r && r.__esModule ? r : { default: r }; 30528} 30529var Js = Qa.Sensors = {}; 30530function XL(r) { 30531 r && Js[r] && delete Js[r]; 30532} 30533Qa.getSensor = function(e) { 30534 var t = e.getAttribute(Ag.SizeSensorId); 30535 if (t && Js[t]) return Js[t]; 30536 var a = (0, B$.default)(); 30537 e.setAttribute(Ag.SizeSensorId, a); 30538 var n = (0, z$.createSensor)(e, function() { 30539 return XL(a); 30540 }); 30541 return Js[a] = n, n; 30542}; 30543Qa.removeSensor = function(e) { 30544 var t = e.element.getAttribute(Ag.SizeSensorId); 30545 e.destroy(), XL(t); 30546}; 30547var jm, Jm; 30548Object.defineProperty(li, "__esModule", { value: true }); 30549li.ver = Jm = li.clear = jm = li.bind = void 0; 30550var Dg = Qa; 30551jm = li.bind = function(e, t) { 30552 var a = (0, Dg.getSensor)(e); 30553 return a.bind(t), function() { 30554 a.unbind(t); 30555 }; 30556}; 30557Jm = li.clear = function(e) { 30558 var t = (0, Dg.getSensor)(e); 30559 (0, Dg.removeSensor)(t); 30560}; 30561li.ver = "1.0.3"; 30562function tT(r, e) { 30563 var t = {}; 30564 return e.forEach(function(a) { 30565 t[a] = r[a]; 30566 }), t; 30567} 30568function kp(r) { 30569 return typeof r == "function"; 30570} 30571function G$(r) { 30572 return typeof r == "string"; 30573} 30574var F$ = function(r) { 30575 rT(e, r); 30576 function e(t) { 30577 var a = r.call(this, t) || this; 30578 return a.echarts = t.echarts, a.ele = null, a.isInitialResize = true, a.eventHandlerRefs = {}, a; 30579 } 30580 return e.prototype.componentDidMount = function() { 30581 this.renderNewEcharts(); 30582 }, e.prototype.componentDidUpdate = function(t) { 30583 var a = this.props.shouldSetOption; 30584 if (!(kp(a) && !a(t, this.props))) { 30585 if (!Mi(t.theme, this.props.theme) || !Mi(t.opts, this.props.opts)) { 30586 this.dispose(), this.renderNewEcharts(); 30587 return; 30588 } 30589 var n = this.getEchartsInstance(); 30590 Mi(t.onEvents, this.props.onEvents) || (this.unbindEvents(n), this.bindEvents(n, this.props.onEvents)); 30591 var i = ["option", "notMerge", "replaceMerge", "lazyUpdate", "showLoading", "loadingOption"]; 30592 Mi(tT(this.props, i), tT(t, i)) || this.updateEChartsOption(), (!Mi(t.style, this.props.style) || !Mi(t.className, this.props.className)) && this.resize(); 30593 } 30594 }, e.prototype.componentWillUnmount = function() { 30595 this.dispose(); 30596 }, e.prototype.initEchartsInstance = function() { 30597 return t0(this, void 0, void 0, function() { 30598 var t = this; 30599 return e0(this, function(a) { 30600 return [2, new Promise(function(n) { 30601 t.echarts.init(t.ele, t.props.theme, t.props.opts); 30602 var i = t.getEchartsInstance(); 30603 i.on("finished", function() { 30604 var o = t.ele.clientWidth, s = t.ele.clientHeight; 30605 t.echarts.dispose(t.ele); 30606 var l = ks({ width: o, height: s }, t.props.opts); 30607 n(t.echarts.init(t.ele, t.props.theme, l)); 30608 }); 30609 })]; 30610 }); 30611 }); 30612 }, e.prototype.getEchartsInstance = function() { 30613 return this.echarts.getInstanceByDom(this.ele); 30614 }, e.prototype.dispose = function() { 30615 if (this.ele) {
30616 try { 30617 Jm(this.ele); 30618 } catch (t) { 30619 console.warn(t); 30620 } 30621 this.echarts.dispose(this.ele); 30622 } 30623 }, e.prototype.renderNewEcharts = function() { 30624 return t0(this, void 0, void 0, function() { 30625 var t, a, n, i, o, s, l = this; 30626 return e0(this, function(u) { 30627 switch (u.label) { 30628 case 0: 30629 return t = this.props, a = t.onEvents, n = t.onChartReady, i = t.autoResize, o = i === void 0 ? true : i, [4, this.initEchartsInstance()]; 30630 case 1: 30631 return u.sent(), s = this.updateEChartsOption(), this.bindEvents(s, a || {}), kp(n) && n(s), this.ele && o && jm(this.ele, function() { 30632 l.resize(); 30633 }), [2]; 30634 } 30635 }); 30636 }); 30637 }, e.prototype.bindEvents = function(t, a) { 30638 var n = this, i = function(s, l) { 30639 if (G$(s) && kp(l)) { 30640 var u = function(f) { 30641 l(f, t); 30642 }; 30643 t.on(s, u), n.eventHandlerRefs[s] = u; 30644 } 30645 }; 30646 for (var o in a) Object.prototype.hasOwnProperty.call(a, o) && i(o, a[o]); 30647 }, e.prototype.unbindEvents = function(t) { 30648 for (var a = 0, n = Object.entries(this.eventHandlerRefs); a < n.length; a++) { 30649 var i = n[a], o = i[0], s = i[1]; 30650 t.off(o, s); 30651 } 30652 this.eventHandlerRefs = {}; 30653 }, e.prototype.updateEChartsOption = function() { 30654 var t = this.props, a = t.option, n = t.notMerge, i = n === void 0 ? false : n, o = t.replaceMerge, s = o === void 0 ? null : o, l = t.lazyUpdate, u = l === void 0 ? false : l, f = t.showLoading, h = t.loadingOption, v = h === void 0 ? null : h, c = this.getEchartsInstance(); 30655 return c.setOption(a, { notMerge: i, replaceMerge: s, lazyUpdate: u }), f ? c.showLoading(v) : c.hideLoading(), c; 30656 }, e.prototype.resize = function() { 30657 var t = this.getEchartsInstance(); 30658 if (!this.isInitialResize) try { 30659 t.resize({ width: "auto", height: "auto" }); 30660 } catch (a) { 30661 console.warn(a); 30662 } 30663 this.isInitialResize = false; 30664 }, e.prototype.render = function() { 30665 var t = this, a = this.props, n = a.style, i = a.className, o = i === void 0 ? "" : i; 30666 a.echarts, a.option, a.theme, a.notMerge, a.replaceMerge, a.lazyUpdate, a.showLoading, a.loadingOption, a.opts, a.onChartReady, a.onEvents, a.shouldSetOption, a.autoResize; 30667 var s = d2(a, ["style", "className", "echarts", "option", "theme", "notMerge", "replaceMerge", "lazyUpdate", "showLoading", "loadingOption", "opts", "onChartReady", "onEvents", "shouldSetOption", "autoResize"]), l = ks({ height: 300 }, n); 30668 return ZL.createElement("div", ks({ ref: function(u) { 30669 t.ele = u; 30670 }, style: l, className: "echarts-for-react ".concat(o) }, s)); 30671 }, e; 30672}(Kt.PureComponent), Y$ = function(r) { 30673 rT(e, r); 30674 function e(t) { 30675 var a = r.call(this, t) || this; 30676 return a.echarts = I$, a; 30677 } 30678 return e; 30679}(F$); 30680export { 30681 Y$ as E, 30682 Mg as S 30683};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.